pspulumiyaml.azurenative.deploymentmanager.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionDeploymentmanagerGetStep
{
    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 deployment step.)')]
        [string]
        $stepName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:deploymentmanager:getStep -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDeploymentmanagerGetRollout
{
    param (
        [parameter(mandatory=$False,HelpMessage='The rollout name.)')]
        [string]
        $rolloutName,
        [parameter(mandatory=$False,HelpMessage='Rollout retry attempt ordinal to get the result of. If not specified, result of the latest attempt will be returned.)')]
        [int]
        $retryAttempt,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:deploymentmanager:getRollout -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDeploymentmanagerGetServiceTopology
{
    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 service topology .)')]
        [string]
        $serviceTopologyName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:deploymentmanager:getServiceTopology -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDeploymentmanagerGetArtifactSource
{
    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 artifact source.)')]
        [string]
        $artifactSourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:deploymentmanager:getArtifactSource -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDeploymentmanagerGetService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the service topology .)')]
        [string]
        $serviceTopologyName,
        [parameter(mandatory=$False,HelpMessage='The name of the service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:deploymentmanager:getService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDeploymentmanagerGetServiceUnit
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the service topology .)')]
        [string]
        $serviceTopologyName,
        [parameter(mandatory=$False,HelpMessage='The name of the service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The name of the service unit resource.)')]
        [string]
        $serviceUnitName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:deploymentmanager:getServiceUnit -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class Identity
{
    [string[]] $identityIds
    [string] $type
}
function New-AzureNativeTypeDeploymentmanagerIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The list of identities.)')]
        [string[]]
        $identityIds,
        [parameter(mandatory=$False,HelpMessage='The identity type.)')]
        [string]
        $type
    )

    process
    {
        return $([Identity]$PSBoundParameters)
    }
}
function New-AzureNativeDeploymentmanagerRollout
{
    [Alias('azure_native_deploymentmanager_rollout')]
    param (
        [parameter(mandatory=$False,HelpMessage='The resource Id of the service topology from which service units are being referenced in step groups to be deployed.)')]
        [string]
        $targetServiceTopologyId,
        [parameter(mandatory=$False,HelpMessage='The version of the build being deployed.)')]
        [string]
        $buildVersion,
        [parameter(mandatory=$False,HelpMessage='Identity for the resource.)')]
        [Identity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The list of step groups that define the orchestration.)')]
        $stepGroups,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The rollout name.)')]
        [string]
        $rolloutName,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The reference to the artifact source resource Id where the payload is located.)')]
        [string]
        $artifactSourceId,
        [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:deploymentmanager:Rollout")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDeploymentmanagerService
{
    [Alias('azure_native_deploymentmanager_service')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The Azure location to which the resources in the service belong to or should be deployed to.)')]
        [string]
        $targetLocation,
        [parameter(mandatory=$False,HelpMessage='The subscription to which the resources in the service belong to or should be deployed to.)')]
        [string]
        $targetSubscriptionId,
        [parameter(mandatory=$False,HelpMessage='The name of the service topology .)')]
        [string]
        $serviceTopologyName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [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:deploymentmanager:Service")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class WaitStepAttributes
{
    [string] $duration
}
function New-AzureNativeTypeDeploymentmanagerWaitStepAttributes
{
    param (
        [parameter(mandatory=$False,HelpMessage='The duration in ISO 8601 format of how long the wait should be.)')]
        [string]
        $duration
    )

    process
    {
        return $([WaitStepAttributes]$PSBoundParameters)
    }
}
class WaitStepProperties
{
    [string] $stepType
    [WaitStepAttributes] $attributes
}
function New-AzureNativeTypeDeploymentmanagerWaitStepProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of step.
Expected value is ''Wait''.)'
)]
        [string]
        $stepType,
        [parameter(mandatory=$False,HelpMessage='The Wait attributes)')]
        [WaitStepAttributes]
        $attributes
    )

    process
    {
        return $([WaitStepProperties]$PSBoundParameters)
    }
}
function New-AzureNativeDeploymentmanagerStep
{
    [Alias('azure_native_deploymentmanager_step')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The properties that define the step.)')]
        [WaitStepProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the deployment step.)')]
        [string]
        $stepName,
        [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:deploymentmanager:Step")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeDeploymentmanagerServiceTopology
{
    [Alias('azure_native_deploymentmanager_servicetopology')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the service topology .)')]
        [string]
        $serviceTopologyName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The resource Id of the artifact source that contains the artifacts that can be referenced in the service units.)')]
        [string]
        $artifactSourceId,
        [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:deploymentmanager:ServiceTopology")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ServiceUnitArtifacts
{
    [string] $parametersArtifactSourceRelativePath
    [string] $templateArtifactSourceRelativePath
    [string] $parametersUri
    [string] $templateUri
}
function New-AzureNativeTypeDeploymentmanagerServiceUnitArtifacts
{
    param (
        [parameter(mandatory=$False,HelpMessage='The path to the ARM parameters file relative to the artifact source.)')]
        [string]
        $parametersArtifactSourceRelativePath,
        [parameter(mandatory=$False,HelpMessage='The path to the ARM template file relative to the artifact source.)')]
        [string]
        $templateArtifactSourceRelativePath,
        [parameter(mandatory=$False,HelpMessage='The full URI of the ARM parameters file with the SAS token.)')]
        [string]
        $parametersUri,
        [parameter(mandatory=$False,HelpMessage='The full URI of the ARM template file with the SAS token.)')]
        [string]
        $templateUri
    )

    process
    {
        return $([ServiceUnitArtifacts]$PSBoundParameters)
    }
}
function New-AzureNativeDeploymentmanagerServiceUnit
{
    [Alias('azure_native_deploymentmanager_serviceunit')]
    param (
        [parameter(mandatory=$False,HelpMessage='The artifacts for the service unit.)')]
        [ServiceUnitArtifacts]
        $artifacts,
        [parameter(mandatory=$False,HelpMessage='Describes the type of ARM deployment to be performed on the resource.)')]
        $deploymentMode,
        [parameter(mandatory=$False,HelpMessage='The Azure Resource Group to which the resources in the service unit belong to or should be deployed to.)')]
        [string]
        $targetResourceGroup,
        [parameter(mandatory=$False,HelpMessage='The name of the service unit resource.)')]
        [string]
        $serviceUnitName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the service resource.)')]
        [string]
        $serviceName,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the service topology .)')]
        [string]
        $serviceTopologyName,
        [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:deploymentmanager:ServiceUnit")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class SasAuthentication
{
    [string] $sasUri
    [string] $type
}
function New-AzureNativeTypeDeploymentmanagerSasAuthentication
{
    param (
        [parameter(mandatory=$False,HelpMessage='The SAS URI to the Azure Storage blob container. Any offset from the root of the container to where the artifacts are located can be defined in the artifactRoot.)')]
        [string]
        $sasUri,
        [parameter(mandatory=$False,HelpMessage='The authentication type
Expected value is ''Sas''.)'
)]
        [string]
        $type
    )

    process
    {
        return $([SasAuthentication]$PSBoundParameters)
    }
}
function New-AzureNativeDeploymentmanagerArtifactSource
{
    [Alias('azure_native_deploymentmanager_artifactsource')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the artifact source.)')]
        [string]
        $artifactSourceName,
        [parameter(mandatory=$False,HelpMessage='The type of artifact source used.)')]
        [string]
        $sourceType,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The path from the location that the ''authentication'' property [say, a SAS URI to the blob container] refers to, to the location of the artifacts. This can be used to differentiate different versions of the artifacts. Or, different types of artifacts like binaries or templates. The location referenced by the authentication property concatenated with this optional artifactRoot path forms the artifact source location where the artifacts are expected to be found.)')]
        [string]
        $artifactRoot,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The authentication method to use to access the artifact source.)')]
        [SasAuthentication]
        $authentication,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [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:deploymentmanager:ArtifactSource")

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

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

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

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

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

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