pspulumiyaml.azurenative.notificationhubs.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionNotificationhubsGetNotificationHubPnsCredentials
{
    param (
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='The notification hub name.)')]
        [string]
        $notificationHubName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["namespaceName"] = $namespaceName
        $arguments["notificationHubName"] = $notificationHubName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:notificationhubs:getNotificationHubPnsCredentials -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionNotificationhubsListNotificationHubKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The connection string of the NotificationHub for the specified authorizationRule.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The notification hub name.)')]
        [string]
        $notificationHubName,
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName
    )

    process
    {
        $arguments = @{}
        $arguments["authorizationRuleName"] = $authorizationRuleName
        $arguments["namespaceName"] = $namespaceName
        $arguments["notificationHubName"] = $notificationHubName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:notificationhubs:listNotificationHubKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionNotificationhubsGetNamespaceAuthorizationRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='Authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName
    )

    process
    {
        $arguments = @{}
        $arguments["authorizationRuleName"] = $authorizationRuleName
        $arguments["namespaceName"] = $namespaceName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:notificationhubs:getNamespaceAuthorizationRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionNotificationhubsGetNotificationHub
{
    param (
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='The notification hub name.)')]
        [string]
        $notificationHubName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["namespaceName"] = $namespaceName
        $arguments["notificationHubName"] = $notificationHubName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:notificationhubs:getNotificationHub -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionNotificationhubsGetNotificationHubAuthorizationRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The notification hub name.)')]
        [string]
        $notificationHubName,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName
    )

    process
    {
        $arguments = @{}
        $arguments["authorizationRuleName"] = $authorizationRuleName
        $arguments["namespaceName"] = $namespaceName
        $arguments["notificationHubName"] = $notificationHubName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:notificationhubs:getNotificationHubAuthorizationRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionNotificationhubsListNamespaceKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The connection string of the namespace for the specified authorizationRule.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName
    )

    process
    {
        $arguments = @{}
        $arguments["authorizationRuleName"] = $authorizationRuleName
        $arguments["namespaceName"] = $namespaceName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:notificationhubs:listNamespaceKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionNotificationhubsGetNamespace
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName
    )

    process
    {
        $arguments = @{}
        $arguments["namespaceName"] = $namespaceName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:notificationhubs:getNamespace -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class GcmCredential
{
    [string] $gcmEndpoint
    [string] $googleApiKey
}
function New-AzureNativeTypeNotificationhubsGcmCredential
{
    param (
        [parameter(mandatory=$False,HelpMessage='The FCM legacy endpoint. Default value is ''https://fcm.googleapis.com/fcm/send'')')]
        [string]
        $gcmEndpoint,
        [parameter(mandatory=$False,HelpMessage='The Google API key.)')]
        [string]
        $googleApiKey
    )

    process
    {
        return $([GcmCredential]$PSBoundParameters)
    }
}
class MpnsCredential
{
    [string] $thumbprint
    [string] $certificateKey
    [string] $mpnsCertificate
}
function New-AzureNativeTypeNotificationhubsMpnsCredential
{
    param (
        [parameter(mandatory=$False,HelpMessage='The MPNS certificate Thumbprint)')]
        [string]
        $thumbprint,
        [parameter(mandatory=$False,HelpMessage='The certificate key for this credential.)')]
        [string]
        $certificateKey,
        [parameter(mandatory=$False,HelpMessage='The MPNS certificate.)')]
        [string]
        $mpnsCertificate
    )

    process
    {
        return $([MpnsCredential]$PSBoundParameters)
    }
}
class Sku
{
    [string] $size
    [string] $family
    [string] $tier
    [ArgumentCompletions('Free', 'Basic', 'Standard')]
    [string] $name
    [int] $capacity
}
function New-AzureNativeTypeNotificationhubsSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The Sku size)')]
        [string]
        $size,
        [parameter(mandatory=$False,HelpMessage='The Sku Family)')]
        [string]
        $family,
        [parameter(mandatory=$False,HelpMessage='The tier of particular sku)')]
        [string]
        $tier,
        [parameter(mandatory=$False,HelpMessage='Name of the notification hub sku)')]
        [string]
        [ValidateSet('Free', 'Basic', 'Standard')]
        $name,
        [parameter(mandatory=$False,HelpMessage='The capacity of the resource)')]
        [int]
        $capacity
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
class BaiduCredential
{
    [string] $baiduApiKey
    [string] $baiduSecretKey
    [string] $baiduEndPoint
}
function New-AzureNativeTypeNotificationhubsBaiduCredential
{
    param (
        [parameter(mandatory=$False,HelpMessage='Baidu Api Key.)')]
        [string]
        $baiduApiKey,
        [parameter(mandatory=$False,HelpMessage='Baidu Secret Key)')]
        [string]
        $baiduSecretKey,
        [parameter(mandatory=$False,HelpMessage='Baidu Endpoint.)')]
        [string]
        $baiduEndPoint
    )

    process
    {
        return $([BaiduCredential]$PSBoundParameters)
    }
}
class ApnsCredential
{
    [string] $apnsCertificate
    [string] $appId
    [string] $appName
    [string] $certificateKey
    [string] $endpoint
    [string] $keyId
    [string] $token
    [string] $thumbprint
}
function New-AzureNativeTypeNotificationhubsApnsCredential
{
    param (
        [parameter(mandatory=$False,HelpMessage='The APNS certificate. Specify if using Certificate Authentication Mode.)')]
        [string]
        $apnsCertificate,
        [parameter(mandatory=$False,HelpMessage='The issuer (iss) registered claim key. The value is a 10-character TeamId, obtained from your developer account. Specify if using Token Authentication Mode.)')]
        [string]
        $appId,
        [parameter(mandatory=$False,HelpMessage='The name of the application or BundleId. Specify if using Token Authentication Mode.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The APNS certificate password if it exists.)')]
        [string]
        $certificateKey,
        [parameter(mandatory=$False,HelpMessage='The APNS endpoint of this credential. If using Certificate Authentication Mode and Sandbox specify ''gateway.sandbox.push.apple.com''. If using Certificate Authentication Mode and Production specify ''gateway.push.apple.com''. If using Token Authentication Mode and Sandbox specify ''https://api.development.push.apple.com:443/3/device''. If using Token Authentication Mode and Production specify ''https://api.push.apple.com:443/3/device''.)')]
        [string]
        $endpoint,
        [parameter(mandatory=$False,HelpMessage='A 10-character key identifier (kid) key, obtained from your developer account. Specify if using Token Authentication Mode.)')]
        [string]
        $keyId,
        [parameter(mandatory=$False,HelpMessage='Provider Authentication Token, obtained through your developer account. Specify if using Token Authentication Mode.)')]
        [string]
        $token,
        [parameter(mandatory=$False,HelpMessage='The APNS certificate thumbprint. Specify if using Certificate Authentication Mode.)')]
        [string]
        $thumbprint
    )

    process
    {
        return $([ApnsCredential]$PSBoundParameters)
    }
}
class AdmCredential
{
    [string] $clientSecret
    [string] $clientId
    [string] $authTokenUrl
}
function New-AzureNativeTypeNotificationhubsAdmCredential
{
    param (
        [parameter(mandatory=$False,HelpMessage='The credential secret access key.)')]
        [string]
        $clientSecret,
        [parameter(mandatory=$False,HelpMessage='The client identifier.)')]
        [string]
        $clientId,
        [parameter(mandatory=$False,HelpMessage='The URL of the authorization token.)')]
        [string]
        $authTokenUrl
    )

    process
    {
        return $([AdmCredential]$PSBoundParameters)
    }
}
class WnsCredential
{
    [string] $packageSid
    [string] $windowsLiveEndpoint
    [string] $secretKey
}
function New-AzureNativeTypeNotificationhubsWnsCredential
{
    param (
        [parameter(mandatory=$False,HelpMessage='The package ID for this credential.)')]
        [string]
        $packageSid,
        [parameter(mandatory=$False,HelpMessage='The Windows Live endpoint.)')]
        [string]
        $windowsLiveEndpoint,
        [parameter(mandatory=$False,HelpMessage='The secret key.)')]
        [string]
        $secretKey
    )

    process
    {
        return $([WnsCredential]$PSBoundParameters)
    }
}
function New-AzureNativeNotificationhubsNotificationHub
{
    [Alias('azure_native_notificationhubs_notificationhub')]
    param (
        [parameter(mandatory=$False,HelpMessage='The GcmCredential of the created NotificationHub)')]
        [GcmCredential]
        $gcmCredential,
        [parameter(mandatory=$False,HelpMessage='The AuthorizationRules of the created NotificationHub)')]
        $authorizationRules,
        [parameter(mandatory=$False,HelpMessage='The notification hub name.)')]
        [string]
        $notificationHubName,
        [parameter(mandatory=$False,HelpMessage='The NotificationHub name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The MpnsCredential of the created NotificationHub)')]
        [MpnsCredential]
        $mpnsCredential,
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='The sku of the created namespace)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The BaiduCredential of the created NotificationHub)')]
        [BaiduCredential]
        $baiduCredential,
        [parameter(mandatory=$False,HelpMessage='Resource location)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The RegistrationTtl of the created NotificationHub)')]
        [string]
        $registrationTtl,
        [parameter(mandatory=$False,HelpMessage='The ApnsCredential of the created NotificationHub)')]
        [ApnsCredential]
        $apnsCredential,
        [parameter(mandatory=$False,HelpMessage='The AdmCredential of the created NotificationHub)')]
        [AdmCredential]
        $admCredential,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The WnsCredential of the created NotificationHub)')]
        [WnsCredential]
        $wnsCredential,
        [parameter(mandatory=$False,HelpMessage='Resource tags)')]
        [hashtable]
        $tags,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:notificationhubs:NotificationHub")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["namespaceName"] = $namespaceName
        $resource.properties["resourceGroupName"] = $resourceGroupName

        if($PSBoundParameters.Keys -icontains 'gcmCredential')
        {
            $resource.properties["gcmCredential"] = $gcmCredential
        }

        if($PSBoundParameters.Keys -icontains 'authorizationRules')
        {
            $resource.properties["authorizationRules"] = $authorizationRules
        }

        if($PSBoundParameters.Keys -icontains 'notificationHubName')
        {
            $resource.properties["notificationHubName"] = $notificationHubName
        }

        if($PSBoundParameters.Keys -icontains 'name')
        {
            $resource.properties["name"] = $name
        }

        if($PSBoundParameters.Keys -icontains 'mpnsCredential')
        {
            $resource.properties["mpnsCredential"] = $mpnsCredential
        }

        if($PSBoundParameters.Keys -icontains 'sku')
        {
            $resource.properties["sku"] = $sku
        }

        if($PSBoundParameters.Keys -icontains 'baiduCredential')
        {
            $resource.properties["baiduCredential"] = $baiduCredential
        }

        if($PSBoundParameters.Keys -icontains 'location')
        {
            $resource.properties["location"] = $location
        }

        if($PSBoundParameters.Keys -icontains 'registrationTtl')
        {
            $resource.properties["registrationTtl"] = $registrationTtl
        }

        if($PSBoundParameters.Keys -icontains 'apnsCredential')
        {
            $resource.properties["apnsCredential"] = $apnsCredential
        }

        if($PSBoundParameters.Keys -icontains 'admCredential')
        {
            $resource.properties["admCredential"] = $admCredential
        }

        if($PSBoundParameters.Keys -icontains 'wnsCredential')
        {
            $resource.properties["wnsCredential"] = $wnsCredential
        }

        if($PSBoundParameters.Keys -icontains 'tags')
        {
            $resource.properties["tags"] = $tags
        }

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeNotificationhubsNamespace
{
    [Alias('azure_native_notificationhubs_namespace')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the namespace.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The Id of the Azure subscription associated with the namespace.)')]
        [string]
        $subscriptionId,
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='Specifies the targeted region in which the namespace should be created. It can be any of the following values: Australia East, Australia Southeast, Central US, East US, East US 2, West US, North Central US, South Central US, East Asia, Southeast Asia, Brazil South, Japan East, Japan West, North Europe, West Europe)')]
        [string]
        $region,
        [parameter(mandatory=$False,HelpMessage='Resource location)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Resource tags)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Whether or not the namespace is set as Critical.)')]
        [bool]
        $critical,
        [parameter(mandatory=$False,HelpMessage='Data center for the namespace)')]
        [string]
        $dataCenter,
        [parameter(mandatory=$False,HelpMessage='The time the namespace was created.)')]
        [string]
        $createdAt,
        [parameter(mandatory=$False,HelpMessage='The time the namespace was updated.)')]
        [string]
        $updatedAt,
        [parameter(mandatory=$False,HelpMessage='Status of the namespace. It can be any of these values:1 = Created/Active2 = Creating3 = Suspended4 = Deleting)')]
        [string]
        $status,
        [parameter(mandatory=$False,HelpMessage='Endpoint you can use to perform NotificationHub operations.)')]
        [string]
        $serviceBusEndpoint,
        [parameter(mandatory=$False,HelpMessage='The namespace type.)')]
        $namespaceType,
        [parameter(mandatory=$False,HelpMessage='Whether or not the namespace is currently enabled.)')]
        [bool]
        $enabled,
        [parameter(mandatory=$False,HelpMessage='The sku of the created namespace)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='ScaleUnit where the namespace gets created)')]
        [string]
        $scaleUnit,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Provisioning state of the Namespace.)')]
        [string]
        $provisioningState,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:notificationhubs:Namespace")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["resourceGroupName"] = $resourceGroupName

        if($PSBoundParameters.Keys -icontains 'name')
        {
            $resource.properties["name"] = $name
        }

        if($PSBoundParameters.Keys -icontains 'subscriptionId')
        {
            $resource.properties["subscriptionId"] = $subscriptionId
        }

        if($PSBoundParameters.Keys -icontains 'namespaceName')
        {
            $resource.properties["namespaceName"] = $namespaceName
        }

        if($PSBoundParameters.Keys -icontains 'region')
        {
            $resource.properties["region"] = $region
        }

        if($PSBoundParameters.Keys -icontains 'location')
        {
            $resource.properties["location"] = $location
        }

        if($PSBoundParameters.Keys -icontains 'tags')
        {
            $resource.properties["tags"] = $tags
        }

        if($PSBoundParameters.Keys -icontains 'critical')
        {
            $resource.properties["critical"] = $critical
        }

        if($PSBoundParameters.Keys -icontains 'dataCenter')
        {
            $resource.properties["dataCenter"] = $dataCenter
        }

        if($PSBoundParameters.Keys -icontains 'createdAt')
        {
            $resource.properties["createdAt"] = $createdAt
        }

        if($PSBoundParameters.Keys -icontains 'updatedAt')
        {
            $resource.properties["updatedAt"] = $updatedAt
        }

        if($PSBoundParameters.Keys -icontains 'status')
        {
            $resource.properties["status"] = $status
        }

        if($PSBoundParameters.Keys -icontains 'serviceBusEndpoint')
        {
            $resource.properties["serviceBusEndpoint"] = $serviceBusEndpoint
        }

        if($PSBoundParameters.Keys -icontains 'namespaceType')
        {
            $resource.properties["namespaceType"] = $namespaceType
        }

        if($PSBoundParameters.Keys -icontains 'enabled')
        {
            $resource.properties["enabled"] = $enabled
        }

        if($PSBoundParameters.Keys -icontains 'sku')
        {
            $resource.properties["sku"] = $sku
        }

        if($PSBoundParameters.Keys -icontains 'scaleUnit')
        {
            $resource.properties["scaleUnit"] = $scaleUnit
        }

        if($PSBoundParameters.Keys -icontains 'provisioningState')
        {
            $resource.properties["provisioningState"] = $provisioningState
        }

        $global:pulumiresources += $resource
        return $resource
    }
}
class SharedAccessAuthorizationRuleProperties
{
    [ArgumentCompletions('Manage', 'Send', 'Listen')]
    [string] $rights
}
function New-AzureNativeTypeNotificationhubsSharedAccessAuthorizationRuleProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The rights associated with the rule.)')]
        $rights
    )

    process
    {
        return $([SharedAccessAuthorizationRuleProperties]$PSBoundParameters)
    }
}
function New-AzureNativeNotificationhubsNotificationHubAuthorizationRule
{
    [Alias('azure_native_notificationhubs_notificationhubauthorizationrule')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Properties of the Namespace AuthorizationRules.)')]
        [SharedAccessAuthorizationRuleProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Authorization Rule Name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The notification hub name.)')]
        [string]
        $notificationHubName,
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:notificationhubs:NotificationHubAuthorizationRule")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["namespaceName"] = $namespaceName
        $resource.properties["notificationHubName"] = $notificationHubName
        $resource.properties["properties"] = $properties
        $resource.properties["resourceGroupName"] = $resourceGroupName

        if($PSBoundParameters.Keys -icontains 'authorizationRuleName')
        {
            $resource.properties["authorizationRuleName"] = $authorizationRuleName
        }

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeNotificationhubsNamespaceAuthorizationRule
{
    [Alias('azure_native_notificationhubs_namespaceauthorizationrule')]
    param (
        [parameter(mandatory=$False,HelpMessage='Properties of the Namespace AuthorizationRules.)')]
        [SharedAccessAuthorizationRuleProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Authorization Rule Name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The namespace name.)')]
        [string]
        $namespaceName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:notificationhubs:NamespaceAuthorizationRule")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["namespaceName"] = $namespaceName
        $resource.properties["properties"] = $properties
        $resource.properties["resourceGroupName"] = $resourceGroupName

        if($PSBoundParameters.Keys -icontains 'authorizationRuleName')
        {
            $resource.properties["authorizationRuleName"] = $authorizationRuleName
        }

        $global:pulumiresources += $resource
        return $resource
    }
}