pspulumiyaml.azurenative.dbforpostgresql.psm1

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

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbforpostgresql:getFirewallRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbforpostgresqlGetVirtualNetworkRule
{
    param (
        [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=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbforpostgresql:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbforpostgresqlGetDatabase
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the database.)')]
        [string]
        $databaseName,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbforpostgresql:getDatabase -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbforpostgresqlGetServerSecurityAlertPolicy
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the security alert policy.)')]
        [string]
        $securityAlertPolicyName,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbforpostgresql:getServerSecurityAlertPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbforpostgresqlGetServer
{
    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:dbforpostgresql:getServer -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDbforpostgresqlGetServerKey
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the PostgreSQL Server key to be retrieved.)')]
        [string]
        $keyName,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:dbforpostgresql:getServerKey -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeDbforpostgresqlDatabase
{
    [Alias('azure_native_dbforpostgresql_database')]
    param (
        [parameter(mandatory=$False,HelpMessage='The collation of the database.)')]
        [string]
        $collation,
        [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 name of the resource group. The name is case insensitive.)')]
        [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:dbforpostgresql:Database")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDbforpostgresqlServerKey
{
    [Alias('azure_native_dbforpostgresql_serverkey')]
    param (
        [parameter(mandatory=$False,HelpMessage='The URI of the key.)')]
        [string]
        $uri,
        [parameter(mandatory=$False,HelpMessage='The name of the PostgreSQL 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=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [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:dbforpostgresql:ServerKey")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $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-AzureNativeDbforpostgresqlServerSecurityAlertPolicy
{
    [Alias('azure_native_dbforpostgresql_serversecurityalertpolicy')]
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.)')]
        [string]
        $storageEndpoint,
        [parameter(mandatory=$False,HelpMessage='Specifies the identifier key of the Threat Detection audit storage account.)')]
        [string]
        $storageAccountAccessKey,
        [parameter(mandatory=$False,HelpMessage='Specifies the state of the policy, whether it is enabled or disabled.)')]
        $state,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [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 threat detection policy.)')]
        [string]
        $securityAlertPolicyName,
        [parameter(mandatory=$False,HelpMessage='Specifies the number of days to keep in the Threat Detection audit logs.)')]
        [int]
        $retentionDays,
        [parameter(mandatory=$False,HelpMessage='Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly)')]
        [string[]]
        $disabledAlerts,
        [parameter(mandatory=$False,HelpMessage='Specifies that the alert is sent to the account administrators.)')]
        [bool]
        $emailAccountAdmins,
        [parameter(mandatory=$False,HelpMessage='Specifies an array of e-mail addresses to which the alert is sent.)')]
        [string[]]
        $emailAddresses,
        [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:dbforpostgresql:ServerSecurityAlertPolicy")

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateLinkServiceConnectionStateProperty
{
    [string] $status
    [string] $description
}
function New-AzureNativeTypeDbforpostgresqlPrivateLinkServiceConnectionStateProperty
{
    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)
    }
}
class PrivateEndpointProperty
{
    [string] $id
}
function New-AzureNativeTypeDbforpostgresqlPrivateEndpointProperty
{
    param (
        [parameter(mandatory=$False,HelpMessage='Resource id of the private endpoint.)')]
        [string]
        $id
    )

    process
    {
        return $([PrivateEndpointProperty]$PSBoundParameters)
    }
}
function New-AzureNativeDbforpostgresqlPrivateEndpointConnection
{
    [Alias('azure_native_dbforpostgresql_privateendpointconnection')]
    param (
        [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=$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,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:dbforpostgresql:PrivateEndpointConnection")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ResourceIdentity
{
    [ArgumentCompletions('SystemAssigned')]
    [string] $type
}
function New-AzureNativeTypeDbforpostgresqlResourceIdentity
{
    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)
    }
}
class StorageProfile
{
    [int] $backupRetentionDays
    [ArgumentCompletions('Enabled', 'Disabled')]
    [string] $storageAutogrow
    [int] $storageMB
    [ArgumentCompletions('Enabled', 'Disabled')]
    [string] $geoRedundantBackup
}
function New-AzureNativeTypeDbforpostgresqlStorageProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='Backup retention days for the server.)')]
        [int]
        $backupRetentionDays,
        [parameter(mandatory=$False,HelpMessage='Enable Storage Auto Grow.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $storageAutogrow,
        [parameter(mandatory=$False,HelpMessage='Max storage allowed for a server.)')]
        [int]
        $storageMB,
        [parameter(mandatory=$False,HelpMessage='Enable Geo-redundant or not for server backup.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $geoRedundantBackup
    )

    process
    {
        return $([StorageProfile]$PSBoundParameters)
    }
}
class ServerPropertiesForRestore
{
    [ArgumentCompletions('Enabled', 'Disabled')]
    [string] $publicNetworkAccess
    [string] $sourceServerId
    [ArgumentCompletions('Enabled', 'Disabled')]
    [object] $sslEnforcement
    [string] $createMode
    [ArgumentCompletions('Enabled', 'Disabled')]
    [string] $infrastructureEncryption
    [string] $restorePointInTime
    [StorageProfile] $storageProfile
    [ArgumentCompletions('TLS1_0', 'TLS1_1', 'TLS1_2', 'TLSEnforcementDisabled')]
    [string] $minimalTlsVersion
    [ArgumentCompletions('9.5', '9.6', '10', '10.0', '10.2', '11')]
    [string] $version
}
function New-AzureNativeTypeDbforpostgresqlServerPropertiesForRestore
{
    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='The source server id to restore from.)')]
        [string]
        $sourceServerId,
        [parameter(mandatory=$False,HelpMessage='Enable ssl enforcement or not when connect to server.)')]
        $sslEnforcement,
        [parameter(mandatory=$False,HelpMessage='The mode to create a new server.
Expected value is ''PointInTimeRestore''.)'
)]
        [string]
        $createMode,
        [parameter(mandatory=$False,HelpMessage='Status showing whether the server enabled infrastructure encryption.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $infrastructureEncryption,
        [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,
        [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('9.5', '9.6', '10', '10.0', '10.2', '11')]
        $version
    )

    process
    {
        return $([ServerPropertiesForRestore]$PSBoundParameters)
    }
}
class Sku
{
    [string] $size
    [string] $family
    [ArgumentCompletions('Basic', 'GeneralPurpose', 'MemoryOptimized')]
    [string] $tier
    [string] $name
    [int] $capacity
}
function New-AzureNativeTypeDbforpostgresqlSku
{
    param (
        [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,
        [parameter(mandatory=$False,HelpMessage='The scale up/out capacity, representing server''s compute units.)')]
        [int]
        $capacity
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
function New-AzureNativeDbforpostgresqlServer
{
    [Alias('azure_native_dbforpostgresql_server')]
    param (
        [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='Properties of the server.)')]
        [ServerPropertiesForRestore]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [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='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,
        [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')]
        [object]
        $DependsOn
    )

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

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

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

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

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

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $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-AzureNativeDbforpostgresqlConfiguration
{
    [Alias('azure_native_dbforpostgresql_configuration')]
    param (
        [parameter(mandatory=$False,HelpMessage='Value of the configuration.)')]
        [string]
        $value,
        [parameter(mandatory=$False,HelpMessage='The name of the server configuration.)')]
        [string]
        $configurationName,
        [parameter(mandatory=$False,HelpMessage='The name of the server.)')]
        [string]
        $serverName,
        [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,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:dbforpostgresql:Configuration")

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

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

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

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

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

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $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
    }
}
function New-AzureNativeDbforpostgresqlFirewallRule
{
    [Alias('azure_native_dbforpostgresql_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 server.)')]
        [string]
        $serverName,
        [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,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:dbforpostgresql:FirewallRule")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $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
    }
}