pspulumiyaml.azurenative.dbformysql.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionDbformysqlGetFirewallRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the server firewall rule.)')]
        [string]
        $firewallRuleName,
        [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 server.)')]
        [string]
        $serverName
    )

    process
    {
        $arguments = @{}
        $arguments["firewallRuleName"] = $firewallRuleName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serverName"] = $serverName

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getFirewallRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformysqlGetGetPrivateDnsZoneSuffixExecute
{
    param (
    )

    process
    {
        $arguments = @{}

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getGetPrivateDnsZoneSuffixExecute -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformysqlGetDatabase
{
    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 database.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName
    )

    process
    {
        $arguments = @{}
        $arguments["databaseName"] = $databaseName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serverName"] = $serverName

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getDatabase -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformysqlGetConfiguration
{
    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 server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the server configuration.)')]
        [string]
        $configurationName
    )

    process
    {
        $arguments = @{}
        $arguments["configurationName"] = $configurationName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serverName"] = $serverName

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getConfiguration -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformysqlGetVirtualNetworkRule
{
    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 server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the virtual network rule.)')]
        [string]
        $virtualNetworkRuleName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serverName"] = $serverName
        $arguments["virtualNetworkRuleName"] = $virtualNetworkRuleName

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getVirtualNetworkRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformysqlGetServer
{
    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 server.)')]
        [string]
        $serverName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getServer -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformysqlGetServerKey
{
    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 MySQL Server key to be retrieved.)')]
        [string]
        $keyName,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName
    )

    process
    {
        $arguments = @{}
        $arguments["keyName"] = $keyName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serverName"] = $serverName

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getServerKey -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformysqlGetServerAdministrator
{
    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 server.)')]
        [string]
        $serverName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getServerAdministrator -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformysqlGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection.)')]
        [string]
        $privateEndpointConnectionName,
        [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 server.)')]
        [string]
        $serverName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbformysql:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeDbformysqlServerKey
{
    [Alias('azure_native_dbformysql_serverkey')]
    param (
        [parameter(mandatory=$False,HelpMessage='The URI of the key.)')]
        [string]
        $uri,
        [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 MySQL Server key to be operated on (updated or created).)')]
        [string]
        $keyName,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The key type like ''AzureKeyVault''.)')]
        [string]
        [ValidateSet('AzureKeyVault')]
        $serverKeyType,
        [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:dbformysql:ServerKey")

        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["serverKeyType"] = $serverKeyType
        $resource.properties["serverName"] = $serverName

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDbformysqlConfiguration
{
    [Alias('azure_native_dbformysql_configuration')]
    param (
        [parameter(mandatory=$False,HelpMessage='Value of the configuration.)')]
        [string]
        $value,
        [parameter(mandatory=$False,HelpMessage='Source of the configuration.)')]
        [string]
        $source,
        [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 server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the server configuration.)')]
        [string]
        $configurationName,
        [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:dbformysql:Configuration")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDbformysqlFirewallRule
{
    [Alias('azure_native_dbformysql_firewallrule')]
    param (
        [parameter(mandatory=$False,HelpMessage='The start IP address of the server firewall rule. Must be IPv4 format.)')]
        [string]
        $startIpAddress,
        [parameter(mandatory=$False,HelpMessage='The end IP address of the server firewall rule. Must be IPv4 format.)')]
        [string]
        $endIpAddress,
        [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 server firewall rule.)')]
        [string]
        $firewallRuleName,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [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:dbformysql:FirewallRule")

        $resource.properties["endIpAddress"] = $endIpAddress
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["serverName"] = $serverName
        $resource.properties["startIpAddress"] = $startIpAddress

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDbformysqlDatabase
{
    [Alias('azure_native_dbformysql_database')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The charset of the database.)')]
        [string]
        $charset,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the database.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The collation of the database.)')]
        [string]
        $collation,
        [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:dbformysql:Database")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class Sku
{
    [int] $capacity
    [string] $size
    [string] $family
    [ValidateSet('Basic', 'GeneralPurpose', 'MemoryOptimized')]
    [string] $tier
    [ValidateSet('Basic', 'GeneralPurpose', 'MemoryOptimized')]
    [string] $name
}
function New-AzureNativeTypeDbformysqlSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The scale up/out capacity, representing server''s compute units.)')]
        [int]
        $capacity,
        [parameter(mandatory=$False,HelpMessage='The size code, to be interpreted by resource as appropriate.)')]
        [string]
        $size,
        [parameter(mandatory=$False,HelpMessage='The family of hardware.)')]
        [string]
        $family,
        [parameter(mandatory=$False,HelpMessage='The tier of the particular SKU, e.g. Basic.)')]
        [string]
        [ValidateSet('Basic', 'GeneralPurpose', 'MemoryOptimized')]
        $tier,
        [parameter(mandatory=$False,HelpMessage='The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.)')]
        [string]
        $name
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
class StorageProfile
{
    [ValidateSet('Enabled', 'Disabled')]
    [string] $geoRedundantBackup
    [ValidateSet('Enabled', 'Disabled')]
    [int] $backupRetentionDays
    [ValidateSet('Enabled', 'Disabled')]
    [int] $storageMB
    [ValidateSet('Enabled', 'Disabled')]
    [string] $storageAutogrow
}
function New-AzureNativeTypeDbformysqlStorageProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='Enable Geo-redundant or not for server backup.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $geoRedundantBackup,
        [parameter(mandatory=$False,HelpMessage='Backup retention days for the server.)')]
        [int]
        $backupRetentionDays,
        [parameter(mandatory=$False,HelpMessage='Max storage allowed for a server.)')]
        [int]
        $storageMB,
        [parameter(mandatory=$False,HelpMessage='Enable Storage Auto Grow.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $storageAutogrow
    )

    process
    {
        return $([StorageProfile]$PSBoundParameters)
    }
}
class ServerPropertiesForRestore
{
    [ValidateSet('Enabled', 'Disabled')]
    [string] $publicNetworkAccess
    [ValidateSet('Enabled', 'Disabled')]
    [object] $sslEnforcement
    [ValidateSet('TLS1_0', 'TLS1_1', 'TLS1_2', 'TLSEnforcementDisabled')]
    [string] $minimalTlsVersion
    [ValidateSet('5.6', '5.7', '8.0')]
    [string] $version
    [ValidateSet('Enabled', 'Disabled')]
    [string] $infrastructureEncryption
    [ValidateSet('Enabled', 'Disabled')]
    [string] $sourceServerId
    [ValidateSet('Enabled', 'Disabled')]
    [string] $createMode
    [ValidateSet('Enabled', 'Disabled')]
    [string] $restorePointInTime
    [ValidateSet('Enabled', 'Disabled')]
    [StorageProfile] $storageProfile
}
function New-AzureNativeTypeDbformysqlServerPropertiesForRestore
{
    param (
        [parameter(mandatory=$False,HelpMessage='Whether or not public network access is allowed for this server. Value is optional but if passed in, must be ''Enabled'' or ''Disabled'')')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $publicNetworkAccess,
        [parameter(mandatory=$False,HelpMessage='Enable ssl enforcement or not when connect to server.)')]
        $sslEnforcement,
        [parameter(mandatory=$False,HelpMessage='Enforce a minimal Tls version for the server.)')]
        [string]
        [ValidateSet('TLS1_0', 'TLS1_1', 'TLS1_2', 'TLSEnforcementDisabled')]
        $minimalTlsVersion,
        [parameter(mandatory=$False,HelpMessage='Server version.)')]
        [string]
        [ValidateSet('5.6', '5.7', '8.0')]
        $version,
        [parameter(mandatory=$False,HelpMessage='Status showing whether the server enabled infrastructure encryption.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $infrastructureEncryption,
        [parameter(mandatory=$False,HelpMessage='The source server id to restore from.)')]
        [string]
        $sourceServerId,
        [parameter(mandatory=$False,HelpMessage='The mode to create a new server.
Expected value is ''PointInTimeRestore''.)'
)]
        [string]
        $createMode,
        [parameter(mandatory=$False,HelpMessage='Restore point creation time (ISO8601 format), specifying the time to restore from.)')]
        [string]
        $restorePointInTime,
        [parameter(mandatory=$False,HelpMessage='Storage profile of a server.)')]
        [StorageProfile]
        $storageProfile
    )

    process
    {
        return $([ServerPropertiesForRestore]$PSBoundParameters)
    }
}
class ResourceIdentity
{
    [ValidateSet('SystemAssigned')]
    [string] $type
}
function New-AzureNativeTypeDbformysqlResourceIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The identity type. Set this to ''SystemAssigned'' in order to automatically create and assign an Azure Active Directory principal for the resource.)')]
        [string]
        [ValidateSet('SystemAssigned')]
        $type
    )

    process
    {
        return $([ResourceIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeDbformysqlServer
{
    [Alias('azure_native_dbformysql_server')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The SKU (pricing tier) of the server.)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Properties of the server.)')]
        [ServerPropertiesForRestore]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Application-specific metadata in the form of key-value pairs.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The Azure Active Directory identity of the server.)')]
        [ResourceIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The location the resource resides in.)')]
        [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:dbformysql:Server")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDbformysqlVirtualNetworkRule
{
    [Alias('azure_native_dbformysql_virtualnetworkrule')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Create firewall rule before the virtual network has vnet service endpoint enabled.)')]
        [bool]
        $ignoreMissingVnetServiceEndpoint,
        [parameter(mandatory=$False,HelpMessage='The ARM resource id of the virtual network subnet.)')]
        [string]
        $virtualNetworkSubnetId,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the virtual network rule.)')]
        [string]
        $virtualNetworkRuleName,
        [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:dbformysql:VirtualNetworkRule")

        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["serverName"] = $serverName
        $resource.properties["virtualNetworkSubnetId"] = $virtualNetworkSubnetId

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDbformysqlServerAdministrator
{
    [Alias('azure_native_dbformysql_serveradministrator')]
    param (
        [parameter(mandatory=$False,HelpMessage='The server administrator login account name.)')]
        [string]
        $login,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The server administrator Sid (Secure ID).)')]
        [string]
        $sid,
        [parameter(mandatory=$False,HelpMessage='The type of administrator.)')]
        [string]
        [ValidateSet('ActiveDirectory')]
        $administratorType,
        [parameter(mandatory=$False,HelpMessage='The server Active Directory Administrator tenant id.)')]
        [string]
        $tenantId,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [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:dbformysql:ServerAdministrator")

        $resource.properties["administratorType"] = $administratorType
        $resource.properties["login"] = $login
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["serverName"] = $serverName
        $resource.properties["sid"] = $sid
        $resource.properties["tenantId"] = $tenantId

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateEndpointProperty
{
    [string] $id
}
function New-AzureNativeTypeDbformysqlPrivateEndpointProperty
{
    param (
        [parameter(mandatory=$False,HelpMessage='Resource id of the private endpoint.)')]
        [string]
        $id
    )

    process
    {
        return $([PrivateEndpointProperty]$PSBoundParameters)
    }
}
class PrivateLinkServiceConnectionStateProperty
{
    [string] $status
    [string] $description
}
function New-AzureNativeTypeDbformysqlPrivateLinkServiceConnectionStateProperty
{
    param (
        [parameter(mandatory=$False,HelpMessage='The private link service connection status.)')]
        [string]
        $status,
        [parameter(mandatory=$False,HelpMessage='The private link service connection description.)')]
        [string]
        $description
    )

    process
    {
        return $([PrivateLinkServiceConnectionStateProperty]$PSBoundParameters)
    }
}
function New-AzureNativeDbformysqlPrivateEndpointConnection
{
    [Alias('azure_native_dbformysql_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='Private endpoint which the connection belongs to.)')]
        [PrivateEndpointProperty]
        $privateEndpoint,
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Connection state of the private endpoint connection.)')]
        [PrivateLinkServiceConnectionStateProperty]
        $privateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [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:dbformysql:PrivateEndpointConnection")

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

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

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

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

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