pspulumiyaml.azurenative.communication.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionCommunicationListCommunicationServiceKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the CommunicationService resource.)')]
        [string]
        $communicationServiceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:communication:listCommunicationServiceKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionCommunicationGetDomain
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the EmailService resource.)')]
        [string]
        $emailServiceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Domains resource.)')]
        [string]
        $domainName
    )

    process
    {
        $arguments = @{}
        $arguments["domainName"] = $domainName
        $arguments["emailServiceName"] = $emailServiceName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:communication:getDomain -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionCommunicationGetEmailService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the EmailService resource.)')]
        [string]
        $emailServiceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:communication:getEmailService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionCommunicationGetCommunicationService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the CommunicationService resource.)')]
        [string]
        $communicationServiceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:communication:getCommunicationService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeCommunicationDomain
{
    [Alias('azure_native_communication_domain')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Describes whether user engagement tracking is enabled or disabled.)')]
        [string]
        [ValidateSet('Disabled', 'Enabled')]
        $userEngagementTracking,
        [parameter(mandatory=$False,HelpMessage='Describes how a Domains resource is being managed.)')]
        [string]
        [ValidateSet('AzureManaged', 'CustomerManaged', 'CustomerManagedInExchangeOnline')]
        $domainManagement,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Collection of valid sender usernames. This is a key-value pair where key=username and value=display name.)')]
        [hashtable]
        $validSenderUsernames,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the EmailService resource.)')]
        [string]
        $emailServiceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Domains resource.)')]
        [string]
        $domainName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

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

        $resource.properties["domainManagement"] = $domainManagement
        $resource.properties["emailServiceName"] = $emailServiceName
        $resource.properties["resourceGroupName"] = $resourceGroupName

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeCommunicationCommunicationService
{
    [Alias('azure_native_communication_communicationservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The Azure location where the CommunicationService is running.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the CommunicationService resource.)')]
        [string]
        $communicationServiceName,
        [parameter(mandatory=$False,HelpMessage='Tags of the service which is a list of key value pairs that describe the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The location where the communication service stores its data at rest.)')]
        [string]
        $dataLocation,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

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

        $resource.properties["dataLocation"] = $dataLocation
        $resource.properties["resourceGroupName"] = $resourceGroupName

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeCommunicationEmailService
{
    [Alias('azure_native_communication_emailservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the EmailService resource.)')]
        [string]
        $emailServiceName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The location where the email service stores its data at rest.)')]
        [string]
        $dataLocation,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

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

        $resource.properties["dataLocation"] = $dataLocation
        $resource.properties["resourceGroupName"] = $resourceGroupName

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

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

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

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