pspulumiyaml.azurenative.domainregistration.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionDomainregistrationListTopLevelDomainAgreements
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the top-level domain.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='If <code>true</code>, then the list of agreements will include agreements for domain transfer as well; otherwise, <code>false</code>.)')]
        [bool]
        $forTransfer,
        [parameter(mandatory=$False,HelpMessage='If <code>true</code>, then the list of agreements will include agreements for domain privacy as well; otherwise, <code>false</code>.)')]
        [bool]
        $includePrivacy
    )

    process
    {
        $arguments = @{}
        $arguments["name"] = $name

        if($PSBoundParameters.Keys -icontains 'forTransfer')
        {
            $arguments["forTransfer"] = $forTransfer
        }

        if($PSBoundParameters.Keys -icontains 'includePrivacy')
        {
            $arguments["includePrivacy"] = $includePrivacy
        }

        $functionObject = Invoke-PulumiFunction -Name azure-native:domainregistration:listTopLevelDomainAgreements -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDomainregistrationGetDomainOwnershipIdentifier
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group to which the resource belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of identifier.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of domain.)')]
        [string]
        $domainName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:domainregistration:getDomainOwnershipIdentifier -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDomainregistrationGetDomain
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group to which the resource belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the domain.)')]
        [string]
        $domainName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:domainregistration:getDomain -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDomainregistrationListDomainRecommendations
{
    param (
        [parameter(mandatory=$False,HelpMessage='Maximum number of recommendations.)')]
        [int]
        $maxDomainRecommendations,
        [parameter(mandatory=$False,HelpMessage='Keywords to be used for generating domain recommendations.)')]
        [string]
        $keywords
    )

    process
    {
        $arguments = @{}

        if($PSBoundParameters.Keys -icontains 'maxDomainRecommendations')
        {
            $arguments["maxDomainRecommendations"] = $maxDomainRecommendations
        }

        if($PSBoundParameters.Keys -icontains 'keywords')
        {
            $arguments["keywords"] = $keywords
        }

        $functionObject = Invoke-PulumiFunction -Name azure-native:domainregistration:listDomainRecommendations -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeDomainregistrationDomainOwnershipIdentifier
{
    [Alias('azure_native_domainregistration_domainownershipidentifier')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group to which the resource belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of identifier.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Name of domain.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage='Ownership Id.)')]
        [string]
        $ownershipId,
        [parameter(mandatory=$False,HelpMessage='Kind of resource.)')]
        [string]
        $kind,
        [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:domainregistration:DomainOwnershipIdentifier")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class Address
{
    [string] $address1
    [string] $postalCode
    [string] $country
    [string] $city
    [string] $state
    [string] $address2
}
function New-AzureNativeTypeDomainregistrationAddress
{
    param (
        [parameter(mandatory=$False,HelpMessage='First line of an Address.)')]
        [string]
        $address1,
        [parameter(mandatory=$False,HelpMessage='The postal code for the address.)')]
        [string]
        $postalCode,
        [parameter(mandatory=$False,HelpMessage='The country for the address.)')]
        [string]
        $country,
        [parameter(mandatory=$False,HelpMessage='The city for the address.)')]
        [string]
        $city,
        [parameter(mandatory=$False,HelpMessage='The state or province for the address.)')]
        [string]
        $state,
        [parameter(mandatory=$False,HelpMessage='The second line of the Address. Optional.)')]
        [string]
        $address2
    )

    process
    {
        return $([Address]$PSBoundParameters)
    }
}
class Contact
{
    [Address] $addressMailing
    [string] $email
    [string] $phone
    [string] $nameLast
    [string] $nameMiddle
    [string] $fax
    [string] $jobTitle
    [string] $nameFirst
    [string] $organization
}
function New-AzureNativeTypeDomainregistrationContact
{
    param (
        [parameter(mandatory=$False,HelpMessage='Mailing address.)')]
        [Address]
        $addressMailing,
        [parameter(mandatory=$False,HelpMessage='Email address.)')]
        [string]
        $email,
        [parameter(mandatory=$False,HelpMessage='Phone number.)')]
        [string]
        $phone,
        [parameter(mandatory=$False,HelpMessage='Last name.)')]
        [string]
        $nameLast,
        [parameter(mandatory=$False,HelpMessage='Middle name.)')]
        [string]
        $nameMiddle,
        [parameter(mandatory=$False,HelpMessage='Fax number.)')]
        [string]
        $fax,
        [parameter(mandatory=$False,HelpMessage='Job title.)')]
        [string]
        $jobTitle,
        [parameter(mandatory=$False,HelpMessage='First name.)')]
        [string]
        $nameFirst,
        [parameter(mandatory=$False,HelpMessage='Organization contact belongs to.)')]
        [string]
        $organization
    )

    process
    {
        return $([Contact]$PSBoundParameters)
    }
}
class DomainPurchaseConsent
{
    [string] $agreedBy
    [string] $agreedAt
    [string[]] $agreementKeys
}
function New-AzureNativeTypeDomainregistrationDomainPurchaseConsent
{
    param (
        [parameter(mandatory=$False,HelpMessage='Client IP address.)')]
        [string]
        $agreedBy,
        [parameter(mandatory=$False,HelpMessage='Timestamp when the agreements were accepted.)')]
        [string]
        $agreedAt,
        [parameter(mandatory=$False,HelpMessage='List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under <code>TopLevelDomain</code> resource.)')]
        [string[]]
        $agreementKeys
    )

    process
    {
        return $([DomainPurchaseConsent]$PSBoundParameters)
    }
}
function New-AzureNativeDomainregistrationDomain
{
    [Alias('azure_native_domainregistration_domain')]
    param (
        [parameter(mandatory=$False,HelpMessage='Technical contact.)')]
        [Contact]
        $contactTech,
        [parameter(mandatory=$False,HelpMessage='Legal agreement consent.)')]
        [DomainPurchaseConsent]
        $consent,
        [parameter(mandatory=$False,HelpMessage='Azure DNS Zone to use)')]
        [string]
        $dnsZoneId,
        [parameter(mandatory=$False,HelpMessage='Current DNS type)')]
        $dnsType,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group to which the resource belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Billing contact.)')]
        [Contact]
        $contactBilling,
        [parameter(mandatory=$False,HelpMessage='<code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>.)')]
        [bool]
        $autoRenew,
        [parameter(mandatory=$False,HelpMessage='Resource Location.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Target DNS type (would be used for migration))')]
        $targetDnsType,
        [parameter(mandatory=$False,HelpMessage='Registrant contact.)')]
        [Contact]
        $contactRegistrant,
        [parameter(mandatory=$False,HelpMessage='Kind of resource.)')]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='<code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>.)')]
        [bool]
        $privacy,
        [parameter(mandatory=$False,HelpMessage='Administrative contact.)')]
        [Contact]
        $contactAdmin,
        [parameter(mandatory=$False,HelpMessage='Name of the domain.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $authCode,
        [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:domainregistration:Domain")

        $resource.properties["consent"] = $consent
        $resource.properties["contactAdmin"] = $contactAdmin
        $resource.properties["contactBilling"] = $contactBilling
        $resource.properties["contactRegistrant"] = $contactRegistrant
        $resource.properties["contactTech"] = $contactTech
        $resource.properties["resourceGroupName"] = $resourceGroupName

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

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

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

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

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

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

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

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

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

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

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