pspulumiyaml.azurenative.dbformariadb.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionDbformariadbGetServer
{
    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:dbformariadb:getServer -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformariadbGetDatabase
{
    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:dbformariadb:getDatabase -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformariadbGetConfiguration
{
    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:dbformariadb:getConfiguration -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformariadbGetPrivateEndpointConnection
{
    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:dbformariadb:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformariadbGetVirtualNetworkRule
{
    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:dbformariadb:getVirtualNetworkRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbformariadbGetFirewallRule
{
    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:dbformariadb:getFirewallRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeDbformariadbDatabase
{
    [Alias('azure_native_dbformariadb_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:dbformariadb: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 PrivateEndpointProperty
{
    [string] $id
}
function New-AzureNativeTypeDbformariadbPrivateEndpointProperty
{
    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-AzureNativeTypeDbformariadbPrivateLinkServiceConnectionStateProperty
{
    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-AzureNativeDbformariadbPrivateEndpointConnection
{
    [Alias('azure_native_dbformariadb_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:dbformariadb: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
    }
}
function New-AzureNativeDbformariadbFirewallRule
{
    [Alias('azure_native_dbformariadb_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:dbformariadb: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-AzureNativeDbformariadbConfiguration
{
    [Alias('azure_native_dbformariadb_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:dbformariadb: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
    }
}
class Sku
{
    [int] $capacity
    [string] $size
    [string] $family
    [ValidateSet('Basic', 'GeneralPurpose', 'MemoryOptimized')]
    [string] $tier
    [ValidateSet('Basic', 'GeneralPurpose', 'MemoryOptimized')]
    [string] $name
}
function New-AzureNativeTypeDbformariadbSku
{
    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-AzureNativeTypeDbformariadbStorageProfile
{
    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')]
    [object] $sslEnforcement
    [ValidateSet('Enabled', 'Disabled')]
    [string] $publicNetworkAccess
    [ValidateSet('10.2', '10.3')]
    [string] $version
    [ValidateSet('10.2', '10.3')]
    [string] $restorePointInTime
    [ValidateSet('10.2', '10.3')]
    [string] $sourceServerId
    [ValidateSet('TLS1_0', 'TLS1_1', 'TLS1_2', 'TLSEnforcementDisabled')]
    [string] $minimalTlsVersion
    [ValidateSet('TLS1_0', 'TLS1_1', 'TLS1_2', 'TLSEnforcementDisabled')]
    [string] $createMode
    [ValidateSet('TLS1_0', 'TLS1_1', 'TLS1_2', 'TLSEnforcementDisabled')]
    [StorageProfile] $storageProfile
}
function New-AzureNativeTypeDbformariadbServerPropertiesForRestore
{
    param (
        [parameter(mandatory=$False,HelpMessage='Enable ssl enforcement or not when connect to server.)')]
        $sslEnforcement,
        [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='Server version.)')]
        [string]
        [ValidateSet('10.2', '10.3')]
        $version,
        [parameter(mandatory=$False,HelpMessage='Restore point creation time (ISO8601 format), specifying the time to restore from.)')]
        [string]
        $restorePointInTime,
        [parameter(mandatory=$False,HelpMessage='The source server id to restore from.)')]
        [string]
        $sourceServerId,
        [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='The mode to create a new server.
Expected value is ''PointInTimeRestore''.)'
)]
        [string]
        $createMode,
        [parameter(mandatory=$False,HelpMessage='Storage profile of a server.)')]
        [StorageProfile]
        $storageProfile
    )

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDbformariadbVirtualNetworkRule
{
    [Alias('azure_native_dbformariadb_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:dbformariadb: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
    }
}