pspulumiyaml.azurenative.relay.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionRelayListNamespaceKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [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:relay:listNamespaceKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayGetWCFRelay
{
    param (
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The relay name.)')]
        [string]
        $relayName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:relay:getWCFRelay -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayGetNamespace
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [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:relay:getNamespace -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayGetNamespaceAuthorizationRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [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:relay:getNamespaceAuthorizationRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayGetWCFRelayAuthorizationRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The relay name.)')]
        [string]
        $relayName,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:relay:getWCFRelayAuthorizationRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='The PrivateEndpointConnection name.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:relay:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayGetHybridConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The hybrid connection name.)')]
        [string]
        $hybridConnectionName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:relay:getHybridConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayListWCFRelayKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The relay name.)')]
        [string]
        $relayName,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:relay:listWCFRelayKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayGetHybridConnectionAuthorizationRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The hybrid connection name.)')]
        [string]
        $hybridConnectionName,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:relay:getHybridConnectionAuthorizationRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRelayListHybridConnectionKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The hybrid connection name.)')]
        [string]
        $hybridConnectionName,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:relay:listHybridConnectionKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeRelayHybridConnectionAuthorizationRule
{
    [Alias('azure_native_relay_hybridconnectionauthorizationrule')]
    param (
        [parameter(mandatory=$False,HelpMessage='The rights associated with the rule.)')]
        $rights,
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The hybrid connection name.)')]
        [string]
        $hybridConnectionName,
        [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:relay:HybridConnectionAuthorizationRule")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class Sku
{
    [ArgumentCompletions('Standard')]
    [object] $name
    [ArgumentCompletions('Standard')]
    [object] $tier
}
function New-AzureNativeTypeRelaySku
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of this SKU.)')]
        $name,
        [parameter(mandatory=$False,HelpMessage='The tier of this SKU.)')]
        $tier
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
function New-AzureNativeRelayNamespace
{
    [Alias('azure_native_relay_namespace')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='SKU of the namespace.)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [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:relay: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 'location')
        {
            $resource.properties["location"] = $location
        }

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeRelayWCFRelay
{
    [Alias('azure_native_relay_wcfrelay')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The relay name.)')]
        [string]
        $relayName,
        [parameter(mandatory=$False,HelpMessage='WCF relay type.)')]
        $relayType,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='The usermetadata is a placeholder to store user-defined string data for the WCF Relay endpoint. For example, it can be used to store descriptive data, such as list of teams and their contact information. Also, user-defined configuration settings can be stored.)')]
        [string]
        $userMetadata,
        [parameter(mandatory=$False,HelpMessage='Returns true if client authorization is needed for this relay; otherwise, false.)')]
        [bool]
        $requiresClientAuthorization,
        [parameter(mandatory=$False,HelpMessage='Returns true if transport security is needed for this relay; otherwise, false.)')]
        [bool]
        $requiresTransportSecurity,
        [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:relay:WCFRelay")

        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 'relayName')
        {
            $resource.properties["relayName"] = $relayName
        }

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateLinkServiceConnectionState
{
    [ArgumentCompletions('Pending', 'Approved', 'Rejected', 'Disconnected')]
    [string] $status
    [string] $description
    [string] $actionRequired
}
function New-AzureNativeTypeRelayPrivateLinkServiceConnectionState
{
    param (
        [parameter(mandatory=$False,HelpMessage='Indicates whether the connection has been approved, rejected or removed by the Relay Namespace owner.)')]
        [string]
        [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')]
        $status,
        [parameter(mandatory=$False,HelpMessage='The reason for approval or rejection.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='A message indicating if changes on the service provider require any updates on the consumer.)')]
        [string]
        $actionRequired
    )

    process
    {
        return $([PrivateLinkServiceConnectionState]$PSBoundParameters)
    }
}
class PrivateEndpoint
{
    [string] $id
}
function New-AzureNativeTypeRelayPrivateEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='Full identifier of the private endpoint resource.)')]
        [string]
        $id
    )

    process
    {
        return $([PrivateEndpoint]$PSBoundParameters)
    }
}
function New-AzureNativeRelayPrivateEndpointConnection
{
    [Alias('azure_native_relay_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Approval state of the private link connection.)')]
        [PrivateLinkServiceConnectionState]
        $privateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='The namespace name)')]
        [string]
        $namespaceName,
        [parameter(mandatory=$False,HelpMessage='The PrivateEndpointConnection name.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Properties of the private endpoint object.)')]
        [PrivateEndpoint]
        $privateEndpoint,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [string]
        $location,
        [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:relay:PrivateEndpointConnection")

        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 'privateLinkServiceConnectionState')
        {
            $resource.properties["privateLinkServiceConnectionState"] = $privateLinkServiceConnectionState
        }

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeRelayHybridConnection
{
    [Alias('azure_native_relay_hybridconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='Returns true if client authorization is needed for this hybrid connection; otherwise, false.)')]
        [bool]
        $requiresClientAuthorization,
        [parameter(mandatory=$False,HelpMessage='The hybrid connection name.)')]
        [string]
        $hybridConnectionName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The usermetadata is a placeholder to store user-defined string data for the hybrid connection endpoint. For example, it can be used to store descriptive data, such as a list of teams and their contact information. Also, user-defined configuration settings can be stored.)')]
        [string]
        $userMetadata,
        [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:relay:HybridConnection")

        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 'requiresClientAuthorization')
        {
            $resource.properties["requiresClientAuthorization"] = $requiresClientAuthorization
        }

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeRelayNamespaceAuthorizationRule
{
    [Alias('azure_native_relay_namespaceauthorizationrule')]
    param (
        [parameter(mandatory=$False,HelpMessage='The rights associated with the rule.)')]
        $rights,
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [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:relay:NamespaceAuthorizationRule")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeRelayWCFRelayAuthorizationRule
{
    [Alias('azure_native_relay_wcfrelayauthorizationrule')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the Resource group within the Azure subscription.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The authorization rule name.)')]
        [string]
        $authorizationRuleName,
        [parameter(mandatory=$False,HelpMessage='The relay name.)')]
        [string]
        $relayName,
        [parameter(mandatory=$False,HelpMessage='The rights associated with the rule.)')]
        $rights,
        [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:relay:WCFRelayAuthorizationRule")

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

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

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