pspulumiyaml.azurenative.appplatform.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionAppplatformGetBuildServiceBuilder
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the builder resource.)')]
        [string]
        $builderName,
        [parameter(mandatory=$False,HelpMessage='The name of the build service resource.)')]
        [string]
        $buildServiceName
    )

    process
    {
        $arguments = @{}
        $arguments["buildServiceName"] = $buildServiceName
        $arguments["builderName"] = $builderName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getBuildServiceBuilder -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetGatewayRouteConfig
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of Spring Cloud Gateway.)')]
        [string]
        $gatewayName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Spring Cloud Gateway route config.)')]
        [string]
        $routeConfigName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["gatewayName"] = $gatewayName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["routeConfigName"] = $routeConfigName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getGatewayRouteConfig -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetCertificate
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the certificate resource.)')]
        [string]
        $certificateName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["certificateName"] = $certificateName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getCertificate -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetDeploymentLogFileUrl
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Deployment resource.)')]
        [string]
        $deploymentName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["appName"] = $appName
        $arguments["deploymentName"] = $deploymentName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getDeploymentLogFileUrl -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformListServiceTestKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:listServiceTestKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetApiPortalCustomDomain
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the API portal custom domain.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of API portal.)')]
        [string]
        $apiPortalName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getApiPortalCustomDomain -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetConfigurationService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of Application Configuration Service.)')]
        [string]
        $configurationServiceName
    )

    process
    {
        $arguments = @{}
        $arguments["configurationServiceName"] = $configurationServiceName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getConfigurationService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetGateway
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of Spring Cloud Gateway.)')]
        [string]
        $gatewayName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["gatewayName"] = $gatewayName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getGateway -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetDeployment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Deployment resource.)')]
        [string]
        $deploymentName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["appName"] = $appName
        $arguments["deploymentName"] = $deploymentName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getDeployment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetBuildServiceBuildResultLog
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the build resource.)')]
        [string]
        $buildName,
        [parameter(mandatory=$False,HelpMessage='The name of the build result resource.)')]
        [string]
        $buildResultName,
        [parameter(mandatory=$False,HelpMessage='The name of the build service resource.)')]
        [string]
        $buildServiceName
    )

    process
    {
        $arguments = @{}
        $arguments["buildName"] = $buildName
        $arguments["buildResultName"] = $buildResultName
        $arguments["buildServiceName"] = $buildServiceName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getBuildServiceBuildResultLog -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetApp
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Indicates whether sync status)')]
        [string]
        $syncStatus,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["appName"] = $appName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getApp -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetGatewayCustomDomain
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Spring Cloud Gateway custom domain.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of Spring Cloud Gateway.)')]
        [string]
        $gatewayName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getGatewayCustomDomain -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetApiPortal
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of API portal.)')]
        [string]
        $apiPortalName
    )

    process
    {
        $arguments = @{}
        $arguments["apiPortalName"] = $apiPortalName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getApiPortal -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetBinding
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Binding resource.)')]
        [string]
        $bindingName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["appName"] = $appName
        $arguments["bindingName"] = $bindingName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getBinding -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetBuildServiceResourceUploadUrl
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the build service resource.)')]
        [string]
        $buildServiceName
    )

    process
    {
        $arguments = @{}
        $arguments["buildServiceName"] = $buildServiceName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getBuildServiceResourceUploadUrl -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetBuildpackBinding
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Buildpack Binding Name)')]
        [string]
        $buildpackBindingName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the builder resource.)')]
        [string]
        $builderName,
        [parameter(mandatory=$False,HelpMessage='The name of the build service resource.)')]
        [string]
        $buildServiceName
    )

    process
    {
        $arguments = @{}
        $arguments["buildServiceName"] = $buildServiceName
        $arguments["builderName"] = $builderName
        $arguments["buildpackBindingName"] = $buildpackBindingName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getBuildpackBinding -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetStorage
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the storage resource.)')]
        [string]
        $storageName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName
        $arguments["storageName"] = $storageName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getStorage -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetCustomDomain
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The name of the custom domain resource.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getCustomDomain -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetAppResourceUploadUrl
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["appName"] = $appName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getAppResourceUploadUrl -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppplatformGetServiceRegistry
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of Service Registry.)')]
        [string]
        $serviceRegistryName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serviceName"] = $serviceName
        $arguments["serviceRegistryName"] = $serviceRegistryName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appplatform:getServiceRegistry -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class BuildpackBindingLaunchProperties
{
    [object] $properties
    [object] $secrets
}
function New-AzureNativeTypeAppplatformBuildpackBindingLaunchProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Non-sensitive properties for launchProperties)')]
        [hashtable]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Sensitive properties for launchProperties)')]
        [hashtable]
        $secrets
    )

    process
    {
        return $([BuildpackBindingLaunchProperties]$PSBoundParameters)
    }
}
class BuildpackBindingProperties
{
    [ArgumentCompletions('ApplicationInsights', 'ApacheSkyWalking', 'AppDynamics', 'Dynatrace', 'NewRelic', 'ElasticAPM')]
    [string] $bindingType
    [BuildpackBindingLaunchProperties] $launchProperties
}
function New-AzureNativeTypeAppplatformBuildpackBindingProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Buildpack Binding Type)')]
        [string]
        [ValidateSet('ApplicationInsights', 'ApacheSkyWalking', 'AppDynamics', 'Dynatrace', 'NewRelic', 'ElasticAPM')]
        $bindingType,
        [parameter(mandatory=$False,HelpMessage='The object describes the buildpack binding launch properties)')]
        [BuildpackBindingLaunchProperties]
        $launchProperties
    )

    process
    {
        return $([BuildpackBindingProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformBuildpackBinding
{
    [Alias('azure_native_appplatform_buildpackbinding')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Properties of a buildpack binding)')]
        [BuildpackBindingProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the builder resource.)')]
        [string]
        $builderName,
        [parameter(mandatory=$False,HelpMessage='The name of the build service resource.)')]
        [string]
        $buildServiceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Buildpack Binding Name)')]
        [string]
        $buildpackBindingName,
        [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:appplatform:BuildpackBinding")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class BuildpackProperties
{
    [string] $id
}
function New-AzureNativeTypeAppplatformBuildpackProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Id of the buildpack)')]
        [string]
        $id
    )

    process
    {
        return $([BuildpackProperties]$PSBoundParameters)
    }
}
class BuildpacksGroupProperties
{
    [string] $name
    [BuildpackProperties[]] $buildpacks
}
function New-AzureNativeTypeAppplatformBuildpacksGroupProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Buildpack group name)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Buildpacks in the buildpack group)')]
        $buildpacks
    )

    process
    {
        return $([BuildpacksGroupProperties]$PSBoundParameters)
    }
}
class StackProperties
{
    [string] $version
    [string] $id
}
function New-AzureNativeTypeAppplatformStackProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Version of the ClusterStack)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='Id of the ClusterStack.)')]
        [string]
        $id
    )

    process
    {
        return $([StackProperties]$PSBoundParameters)
    }
}
class BuilderProperties
{
    [BuildpacksGroupProperties[]] $buildpackGroups
    [StackProperties] $stack
}
function New-AzureNativeTypeAppplatformBuilderProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Builder buildpack groups.)')]
        $buildpackGroups,
        [parameter(mandatory=$False,HelpMessage='Builder cluster stack property.)')]
        [StackProperties]
        $stack
    )

    process
    {
        return $([BuilderProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformBuildServiceBuilder
{
    [Alias('azure_native_appplatform_buildservicebuilder')]
    param (
        [parameter(mandatory=$False,HelpMessage='Property of the Builder resource.)')]
        [BuilderProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the builder resource.)')]
        [string]
        $builderName,
        [parameter(mandatory=$False,HelpMessage='The name of the build service resource.)')]
        [string]
        $buildServiceName,
        [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:appplatform:BuildServiceBuilder")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class NetworkProfile
{
    [string] $serviceRuntimeNetworkResourceGroup
    [string] $serviceCidr
    [string] $appNetworkResourceGroup
    [string] $appSubnetId
    [string] $serviceRuntimeSubnetId
}
function New-AzureNativeTypeAppplatformNetworkProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group containing network resources of Azure Spring Cloud Service Runtime)')]
        [string]
        $serviceRuntimeNetworkResourceGroup,
        [parameter(mandatory=$False,HelpMessage='Azure Spring Cloud service reserved CIDR)')]
        [string]
        $serviceCidr,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group containing network resources of Azure Spring Cloud Apps)')]
        [string]
        $appNetworkResourceGroup,
        [parameter(mandatory=$False,HelpMessage='Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps)')]
        [string]
        $appSubnetId,
        [parameter(mandatory=$False,HelpMessage='Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime)')]
        [string]
        $serviceRuntimeSubnetId
    )

    process
    {
        return $([NetworkProfile]$PSBoundParameters)
    }
}
class ClusterResourceProperties
{
    [NetworkProfile] $networkProfile
}
function New-AzureNativeTypeAppplatformClusterResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Network profile of the Service)')]
        [NetworkProfile]
        $networkProfile
    )

    process
    {
        return $([ClusterResourceProperties]$PSBoundParameters)
    }
}
class Sku
{
    [string] $tier
    [string] $name
    [int] $capacity
}
function New-AzureNativeTypeAppplatformSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='Tier of the Sku)')]
        [string]
        $tier,
        [parameter(mandatory=$False,HelpMessage='Name of the Sku)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Current capacity of the target resource)')]
        [int]
        $capacity
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformService
{
    [Alias('azure_native_appplatform_service')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Tags of the service which is a list of key value pairs that describe the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Properties of the Service resource)')]
        [ClusterResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Sku of the Service resource)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The GEO location of the resource.)')]
        [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:appplatform:Service")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ManagedIdentityProperties
{
    [ArgumentCompletions('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')]
    [string] $type
    [string] $principalId
    [string] $tenantId
}
function New-AzureNativeTypeAppplatformManagedIdentityProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Type of the managed identity)')]
        [string]
        [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Principal Id)')]
        [string]
        $principalId,
        [parameter(mandatory=$False,HelpMessage='Tenant Id)')]
        [string]
        $tenantId
    )

    process
    {
        return $([ManagedIdentityProperties]$PSBoundParameters)
    }
}
class TemporaryDisk
{
    [string] $mountPath
    [int] $sizeInGB
}
function New-AzureNativeTypeAppplatformTemporaryDisk
{
    param (
        [parameter(mandatory=$False,HelpMessage='Mount path of the temporary disk)')]
        [string]
        $mountPath,
        [parameter(mandatory=$False,HelpMessage='Size of the temporary disk in GB)')]
        [int]
        $sizeInGB
    )

    process
    {
        return $([TemporaryDisk]$PSBoundParameters)
    }
}
class PersistentDisk
{
    [string] $mountPath
    [int] $sizeInGB
}
function New-AzureNativeTypeAppplatformPersistentDisk
{
    param (
        [parameter(mandatory=$False,HelpMessage='Mount path of the persistent disk)')]
        [string]
        $mountPath,
        [parameter(mandatory=$False,HelpMessage='Size of the persistent disk in GB)')]
        [int]
        $sizeInGB
    )

    process
    {
        return $([PersistentDisk]$PSBoundParameters)
    }
}
class AppResourceProperties
{
    [string] $fqdn
    [string] $activeDeploymentName
    [bool] $public
    [TemporaryDisk] $temporaryDisk
    [PersistentDisk] $persistentDisk
    [bool] $httpsOnly
}
function New-AzureNativeTypeAppplatformAppResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Fully qualified dns Name.)')]
        [string]
        $fqdn,
        [parameter(mandatory=$False,HelpMessage='Name of the active deployment of the App)')]
        [string]
        $activeDeploymentName,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the App exposes public endpoint)')]
        [bool]
        $public,
        [parameter(mandatory=$False,HelpMessage='Temporary disk settings)')]
        [TemporaryDisk]
        $temporaryDisk,
        [parameter(mandatory=$False,HelpMessage='Persistent disk settings)')]
        [PersistentDisk]
        $persistentDisk,
        [parameter(mandatory=$False,HelpMessage='Indicate if only https is allowed.)')]
        [bool]
        $httpsOnly
    )

    process
    {
        return $([AppResourceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformApp
{
    [Alias('azure_native_appplatform_app')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The Managed Identity type of the app resource)')]
        [ManagedIdentityProperties]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Properties of the App resource)')]
        [AppResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The GEO location of the application, always the same with its parent resource)')]
        [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:appplatform:App")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class SsoProperties
{
    [string] $issuerUri
    [string[]] $scope
    [string] $clientId
    [string] $clientSecret
}
function New-AzureNativeTypeAppplatformSsoProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The URI of Issuer Identifier)')]
        [string]
        $issuerUri,
        [parameter(mandatory=$False,HelpMessage='It defines the specific actions applications can be allowed to do on a user''s behalf)')]
        [string[]]
        $scope,
        [parameter(mandatory=$False,HelpMessage='The public identifier for the application)')]
        [string]
        $clientId,
        [parameter(mandatory=$False,HelpMessage='The secret known only to the application and the authorization server)')]
        [string]
        $clientSecret
    )

    process
    {
        return $([SsoProperties]$PSBoundParameters)
    }
}
class ApiPortalProperties
{
    [bool] $httpsOnly
    [string[]] $gatewayIds
    [string[]] $sourceUrls
    [bool] $public
    [SsoProperties] $ssoProperties
}
function New-AzureNativeTypeAppplatformApiPortalProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Indicate if only https is allowed.)')]
        [bool]
        $httpsOnly,
        [parameter(mandatory=$False,HelpMessage='The array of resource Ids of gateway to integrate with API portal.)')]
        [string[]]
        $gatewayIds,
        [parameter(mandatory=$False,HelpMessage='Collection of OpenAPI source URL locations.)')]
        [string[]]
        $sourceUrls,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the API portal exposes endpoint.)')]
        [bool]
        $public,
        [parameter(mandatory=$False,HelpMessage='Single sign-on related configuration)')]
        [SsoProperties]
        $ssoProperties
    )

    process
    {
        return $([ApiPortalProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformApiPortal
{
    [Alias('azure_native_appplatform_apiportal')]
    param (
        [parameter(mandatory=$False,HelpMessage='API portal properties payload)')]
        [ApiPortalProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Sku of the API portal resource)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The name of API portal.)')]
        [string]
        $apiPortalName,
        [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:appplatform:ApiPortal")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class DeploymentSettings
{
    [string] $netCoreMainEntryPath
    [int] $memoryInGB
    [ArgumentCompletions('Java_8', 'Java_11', 'NetCore_31')]
    [string] $runtimeVersion
    [object] $environmentVariables
    [string] $jvmOptions
    [int] $cpu
}
function New-AzureNativeTypeAppplatformDeploymentSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='The path to the .NET executable relative to zip root)')]
        [string]
        $netCoreMainEntryPath,
        [parameter(mandatory=$False,HelpMessage='Required Memory size in GB, basic tier should be in range (1, 2), standard tier should be in range (1, 8))')]
        [int]
        $memoryInGB,
        [parameter(mandatory=$False,HelpMessage='Runtime version)')]
        [string]
        [ValidateSet('Java_8', 'Java_11', 'NetCore_31')]
        $runtimeVersion,
        [parameter(mandatory=$False,HelpMessage='Collection of environment variables)')]
        [hashtable]
        $environmentVariables,
        [parameter(mandatory=$False,HelpMessage='JVM parameter)')]
        [string]
        $jvmOptions,
        [parameter(mandatory=$False,HelpMessage='Required CPU, basic tier should be 1, standard tier should be in range (1, 4))')]
        [int]
        $cpu
    )

    process
    {
        return $([DeploymentSettings]$PSBoundParameters)
    }
}
class UserSourceInfo
{
    [ArgumentCompletions('Jar', 'NetCoreZip', 'Source')]
    [string] $type
    [string] $version
    [string] $artifactSelector
    [string] $relativePath
}
function New-AzureNativeTypeAppplatformUserSourceInfo
{
    param (
        [parameter(mandatory=$False,HelpMessage='Type of the source uploaded)')]
        [string]
        [ValidateSet('Jar', 'NetCoreZip', 'Source')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Version of the source)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='Selector for the artifact to be used for the deployment for multi-module projects. This should be
the relative path to the target module/project.)'
)]
        [string]
        $artifactSelector,
        [parameter(mandatory=$False,HelpMessage='Relative path of the storage which stores the source)')]
        [string]
        $relativePath
    )

    process
    {
        return $([UserSourceInfo]$PSBoundParameters)
    }
}
class DeploymentResourceProperties
{
    [DeploymentSettings] $deploymentSettings
    [UserSourceInfo] $source
}
function New-AzureNativeTypeAppplatformDeploymentResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Deployment settings of the Deployment)')]
        [DeploymentSettings]
        $deploymentSettings,
        [parameter(mandatory=$False,HelpMessage='Uploaded source information of the deployment.)')]
        [UserSourceInfo]
        $source
    )

    process
    {
        return $([DeploymentResourceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformDeployment
{
    [Alias('azure_native_appplatform_deployment')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='The name of the Deployment resource.)')]
        [string]
        $deploymentName,
        [parameter(mandatory=$False,HelpMessage='Properties of the Deployment resource)')]
        [DeploymentResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Sku of the Deployment resource)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [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:appplatform:Deployment")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class StorageAccount
{
    [string] $accountKey
    [string] $storageType
    [string] $accountName
}
function New-AzureNativeTypeAppplatformStorageAccount
{
    param (
        [parameter(mandatory=$False,HelpMessage='The account key of the Azure Storage Account.)')]
        [string]
        $accountKey,
        [parameter(mandatory=$False,HelpMessage='The type of the storage.
Expected value is ''StorageAccount''.)'
)]
        [string]
        $storageType,
        [parameter(mandatory=$False,HelpMessage='The account name of the Azure Storage Account.)')]
        [string]
        $accountName
    )

    process
    {
        return $([StorageAccount]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformStorage
{
    [Alias('azure_native_appplatform_storage')]
    param (
        [parameter(mandatory=$False,HelpMessage='Properties of the storage resource payload.)')]
        [StorageAccount]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the storage resource.)')]
        [string]
        $storageName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [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:appplatform:Storage")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class CustomDomainProperties
{
    [string] $thumbprint
    [string] $certName
}
function New-AzureNativeTypeAppplatformCustomDomainProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The thumbprint of bound certificate.)')]
        [string]
        $thumbprint,
        [parameter(mandatory=$False,HelpMessage='The bound certificate name of domain.)')]
        [string]
        $certName
    )

    process
    {
        return $([CustomDomainProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformCustomDomain
{
    [Alias('azure_native_appplatform_customdomain')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='Properties of the custom domain resource.)')]
        [CustomDomainProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the custom domain resource.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [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:appplatform:CustomDomain")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class GatewayApiRoute
{
    [bool] $tokenRelay
    [string[]] $predicates
    [int] $order
    [string] $title
    [string[]] $filters
    [string[]] $tags
    [string] $description
    [bool] $ssoEnabled
    [string] $uri
}
function New-AzureNativeTypeAppplatformGatewayApiRoute
{
    param (
        [parameter(mandatory=$False,HelpMessage='Pass currently-authenticated user''s identity token to application service, default is ''false'')')]
        [bool]
        $tokenRelay,
        [parameter(mandatory=$False,HelpMessage='A number of conditions to evaluate a route for each request. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request.)')]
        [string[]]
        $predicates,
        [parameter(mandatory=$False,HelpMessage='Route processing order.)')]
        [int]
        $order,
        [parameter(mandatory=$False,HelpMessage='A title, will be applied to methods in the generated OpenAPI documentation.)')]
        [string]
        $title,
        [parameter(mandatory=$False,HelpMessage='To modify the request before sending it to the target endpoint, or the received response.)')]
        [string[]]
        $filters,
        [parameter(mandatory=$False,HelpMessage='Classification tags, will be applied to methods in the generated OpenAPI documentation.)')]
        [string[]]
        $tags,
        [parameter(mandatory=$False,HelpMessage='A description, will be applied to methods in the generated OpenAPI documentation.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Enable sso validation.)')]
        [bool]
        $ssoEnabled,
        [parameter(mandatory=$False,HelpMessage='Full uri, will override `appName`.)')]
        [string]
        $uri
    )

    process
    {
        return $([GatewayApiRoute]$PSBoundParameters)
    }
}
class GatewayRouteConfigProperties
{
    [GatewayApiRoute[]] $routes
    [string] $appResourceId
}
function New-AzureNativeTypeAppplatformGatewayRouteConfigProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Array of API routes, each route contains properties such as `title`, `uri`, `ssoEnabled`, `predicates`, `filters`.)')]
        $routes,
        [parameter(mandatory=$False,HelpMessage='The resource Id of the Azure Spring Cloud app, required unless route defines `uri`.)')]
        [string]
        $appResourceId
    )

    process
    {
        return $([GatewayRouteConfigProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformGatewayRouteConfig
{
    [Alias('azure_native_appplatform_gatewayrouteconfig')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of Spring Cloud Gateway.)')]
        [string]
        $gatewayName,
        [parameter(mandatory=$False,HelpMessage='API route config of the Spring Cloud Gateway)')]
        [GatewayRouteConfigProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Spring Cloud Gateway route config.)')]
        [string]
        $routeConfigName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [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:appplatform:GatewayRouteConfig")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ApiPortalCustomDomainProperties
{
    [string] $thumbprint
}
function New-AzureNativeTypeAppplatformApiPortalCustomDomainProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The thumbprint of bound certificate.)')]
        [string]
        $thumbprint
    )

    process
    {
        return $([ApiPortalCustomDomainProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformApiPortalCustomDomain
{
    [Alias('azure_native_appplatform_apiportalcustomdomain')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the API portal custom domain.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage='The properties of custom domain for API portal)')]
        [ApiPortalCustomDomainProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of API portal.)')]
        [string]
        $apiPortalName,
        [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:appplatform:ApiPortalCustomDomain")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class GatewayCorsProperties
{
    [int] $maxAge
    [bool] $allowCredentials
    [string[]] $exposedHeaders
    [string[]] $allowedHeaders
    [string[]] $allowedOrigins
    [string[]] $allowedMethods
}
function New-AzureNativeTypeAppplatformGatewayCorsProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='How long, in seconds, the response from a pre-flight request can be cached by clients.)')]
        [int]
        $maxAge,
        [parameter(mandatory=$False,HelpMessage='Whether user credentials are supported on cross-site requests. Valid values: `true`, `false`.)')]
        [bool]
        $allowCredentials,
        [parameter(mandatory=$False,HelpMessage='HTTP response headers to expose for cross-site requests.)')]
        [string[]]
        $exposedHeaders,
        [parameter(mandatory=$False,HelpMessage='Allowed headers in cross-site requests. The special value `*` allows actual requests to send any header.)')]
        [string[]]
        $allowedHeaders,
        [parameter(mandatory=$False,HelpMessage='Allowed origins to make cross-site requests. The special value `*` allows all domains.)')]
        [string[]]
        $allowedOrigins,
        [parameter(mandatory=$False,HelpMessage='Allowed HTTP methods on cross-site requests. The special value `*` allows all methods. If not set, `GET` and `HEAD` are allowed by default.)')]
        [string[]]
        $allowedMethods
    )

    process
    {
        return $([GatewayCorsProperties]$PSBoundParameters)
    }
}
class GatewayApiMetadataProperties
{
    [string] $title
    [string] $serverUrl
    [string] $description
    [string] $version
    [string] $documentation
}
function New-AzureNativeTypeAppplatformGatewayApiMetadataProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Title describing the context of the APIs available on the Gateway instance (default: `Spring Cloud Gateway for K8S`))')]
        [string]
        $title,
        [parameter(mandatory=$False,HelpMessage='Base URL that API consumers will use to access APIs on the Gateway instance.)')]
        [string]
        $serverUrl,
        [parameter(mandatory=$False,HelpMessage='Detailed description of the APIs available on the Gateway instance (default: `Generated OpenAPI 3 document that describes the API routes configured.`))')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Version of APIs available on this Gateway instance (default: `unspecified`).)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='Location of additional documentation for the APIs available on the Gateway instance)')]
        [string]
        $documentation
    )

    process
    {
        return $([GatewayApiMetadataProperties]$PSBoundParameters)
    }
}
class GatewayResourceRequests
{
    [string] $cpu
    [string] $memory
}
function New-AzureNativeTypeAppplatformGatewayResourceRequests
{
    param (
        [parameter(mandatory=$False,HelpMessage='Cpu allocated to each Spring Cloud Gateway instance.)')]
        [string]
        $cpu,
        [parameter(mandatory=$False,HelpMessage='Memory allocated to each Spring Cloud Gateway instance.)')]
        [string]
        $memory
    )

    process
    {
        return $([GatewayResourceRequests]$PSBoundParameters)
    }
}
class GatewayProperties
{
    [SsoProperties] $ssoProperties
    [bool] $public
    [GatewayCorsProperties] $corsProperties
    [GatewayApiMetadataProperties] $apiMetadataProperties
    [GatewayResourceRequests] $resourceRequests
    [bool] $httpsOnly
}
function New-AzureNativeTypeAppplatformGatewayProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Single sign-on related configuration)')]
        [SsoProperties]
        $ssoProperties,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the Spring Cloud Gateway exposes endpoint.)')]
        [bool]
        $public,
        [parameter(mandatory=$False,HelpMessage='Cross-Origin Resource Sharing property)')]
        [GatewayCorsProperties]
        $corsProperties,
        [parameter(mandatory=$False,HelpMessage='API metadata property for Spring Cloud Gateway)')]
        [GatewayApiMetadataProperties]
        $apiMetadataProperties,
        [parameter(mandatory=$False,HelpMessage='The requested resource quantity for required CPU and Memory.)')]
        [GatewayResourceRequests]
        $resourceRequests,
        [parameter(mandatory=$False,HelpMessage='Indicate if only https is allowed.)')]
        [bool]
        $httpsOnly
    )

    process
    {
        return $([GatewayProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformGateway
{
    [Alias('azure_native_appplatform_gateway')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of Spring Cloud Gateway.)')]
        [string]
        $gatewayName,
        [parameter(mandatory=$False,HelpMessage='Spring Cloud Gateway properties payload)')]
        [GatewayProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='Sku of the Spring Cloud Gateway resource)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [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:appplatform:Gateway")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class BindingResourceProperties
{
    [string] $key
    [object] $bindingParameters
    [string] $resourceId
}
function New-AzureNativeTypeAppplatformBindingResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The key of the bound resource)')]
        [string]
        $key,
        [parameter(mandatory=$False,HelpMessage='Binding parameters of the Binding resource)')]
        [object]
        $bindingParameters,
        [parameter(mandatory=$False,HelpMessage='The Azure resource id of the bound resource)')]
        [string]
        $resourceId
    )

    process
    {
        return $([BindingResourceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformBinding
{
    [Alias('azure_native_appplatform_binding')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the App resource.)')]
        [string]
        $appName,
        [parameter(mandatory=$False,HelpMessage='Properties of the Binding resource)')]
        [BindingResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the Binding resource.)')]
        [string]
        $bindingName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [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:appplatform:Binding")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class GatewayCustomDomainProperties
{
    [string] $thumbprint
}
function New-AzureNativeTypeAppplatformGatewayCustomDomainProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The thumbprint of bound certificate.)')]
        [string]
        $thumbprint
    )

    process
    {
        return $([GatewayCustomDomainProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformGatewayCustomDomain
{
    [Alias('azure_native_appplatform_gatewaycustomdomain')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Spring Cloud Gateway custom domain.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage='The properties of custom domain for Spring Cloud Gateway)')]
        [GatewayCustomDomainProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of Spring Cloud Gateway.)')]
        [string]
        $gatewayName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [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:appplatform:GatewayCustomDomain")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ConfigurationServiceGitRepository
{
    [string] $privateKey
    [string] $name
    [string] $password
    [string[]] $searchPaths
    [string] $hostKeyAlgorithm
    [string] $label
    [string] $hostKey
    [bool] $strictHostKeyChecking
    [string] $username
    [string[]] $patterns
    [string] $uri
}
function New-AzureNativeTypeAppplatformConfigurationServiceGitRepository
{
    param (
        [parameter(mandatory=$False,HelpMessage='Private sshKey algorithm of git repository.)')]
        [string]
        $privateKey,
        [parameter(mandatory=$False,HelpMessage='Name of the repository)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Password of git repository basic auth.)')]
        [string]
        $password,
        [parameter(mandatory=$False,HelpMessage='Searching path of the repository)')]
        [string[]]
        $searchPaths,
        [parameter(mandatory=$False,HelpMessage='SshKey algorithm of git repository.)')]
        [string]
        $hostKeyAlgorithm,
        [parameter(mandatory=$False,HelpMessage='Label of the repository)')]
        [string]
        $label,
        [parameter(mandatory=$False,HelpMessage='Public sshKey of git repository.)')]
        [string]
        $hostKey,
        [parameter(mandatory=$False,HelpMessage='Strict host key checking or not.)')]
        [bool]
        $strictHostKeyChecking,
        [parameter(mandatory=$False,HelpMessage='Username of git repository basic auth.)')]
        [string]
        $username,
        [parameter(mandatory=$False,HelpMessage='Collection of patterns of the repository)')]
        [string[]]
        $patterns,
        [parameter(mandatory=$False,HelpMessage='URI of the repository)')]
        [string]
        $uri
    )

    process
    {
        return $([ConfigurationServiceGitRepository]$PSBoundParameters)
    }
}
class ConfigurationServiceGitProperty
{
    [ConfigurationServiceGitRepository[]] $repositories
}
function New-AzureNativeTypeAppplatformConfigurationServiceGitProperty
{
    param (
        [parameter(mandatory=$False,HelpMessage='Repositories of Application Configuration Service git property.)')]
        $repositories
    )

    process
    {
        return $([ConfigurationServiceGitProperty]$PSBoundParameters)
    }
}
class ConfigurationServiceSettings
{
    [ConfigurationServiceGitProperty] $gitProperty
}
function New-AzureNativeTypeAppplatformConfigurationServiceSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='Property of git environment.)')]
        [ConfigurationServiceGitProperty]
        $gitProperty
    )

    process
    {
        return $([ConfigurationServiceSettings]$PSBoundParameters)
    }
}
class ConfigurationServiceProperties
{
    [ConfigurationServiceSettings] $settings
}
function New-AzureNativeTypeAppplatformConfigurationServiceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The settings of Application Configuration Service.)')]
        [ConfigurationServiceSettings]
        $settings
    )

    process
    {
        return $([ConfigurationServiceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformConfigurationService
{
    [Alias('azure_native_appplatform_configurationservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='Application Configuration Service properties payload)')]
        [ConfigurationServiceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of Application Configuration Service.)')]
        [string]
        $configurationServiceName,
        [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:appplatform:ConfigurationService")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class CertificateProperties
{
    [string] $certVersion
    [string] $vaultUri
    [string] $keyVaultCertName
}
function New-AzureNativeTypeAppplatformCertificateProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The certificate version of key vault.)')]
        [string]
        $certVersion,
        [parameter(mandatory=$False,HelpMessage='The vault uri of user key vault.)')]
        [string]
        $vaultUri,
        [parameter(mandatory=$False,HelpMessage='The certificate name of key vault.)')]
        [string]
        $keyVaultCertName
    )

    process
    {
        return $([CertificateProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAppplatformCertificate
{
    [Alias('azure_native_appplatform_certificate')]
    param (
        [parameter(mandatory=$False,HelpMessage='Properties of the certificate resource payload.)')]
        [CertificateProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the certificate resource.)')]
        [string]
        $certificateName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [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:appplatform:Certificate")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeAppplatformServiceRegistry
{
    [Alias('azure_native_appplatform_serviceregistry')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of Service Registry.)')]
        [string]
        $serviceRegistryName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [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:appplatform:ServiceRegistry")

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

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

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