pspulumiyaml.azurenative.testbase.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionTestbaseGetTestResultDownloadURL
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The Test Result Name. It equals to {osName}-{TestResultId} string.)')]
        [string]
        $testResultName
    )

    process
    {
        $arguments = @{}
        $arguments["packageName"] = $packageName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["testBaseAccountName"] = $testBaseAccountName
        $arguments["testResultName"] = $testResultName

        $functionObject = Invoke-PulumiFunction -Name azure-native:testbase:getTestResultDownloadURL -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionTestbaseGetPackage
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName
    )

    process
    {
        $arguments = @{}
        $arguments["packageName"] = $packageName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["testBaseAccountName"] = $testBaseAccountName

        $functionObject = Invoke-PulumiFunction -Name azure-native:testbase:getPackage -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionTestbaseGetPackageDownloadURL
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName
    )

    process
    {
        $arguments = @{}
        $arguments["packageName"] = $packageName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["testBaseAccountName"] = $testBaseAccountName

        $functionObject = Invoke-PulumiFunction -Name azure-native:testbase:getPackageDownloadURL -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionTestbaseGetTestResultVideoDownloadURL
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The Test Result Name. It equals to {osName}-{TestResultId} string.)')]
        [string]
        $testResultName
    )

    process
    {
        $arguments = @{}
        $arguments["packageName"] = $packageName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["testBaseAccountName"] = $testBaseAccountName
        $arguments["testResultName"] = $testResultName

        $functionObject = Invoke-PulumiFunction -Name azure-native:testbase:getTestResultVideoDownloadURL -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionTestbaseGetTestBaseAccount
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:testbase:getTestBaseAccount -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionTestbaseGetFavoriteProcess
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The resource name of a favorite process in a package. If the process name contains characters that are not allowed in Azure Resource Name, we use ''actualProcessName'' in request body to submit the name.)')]
        [string]
        $favoriteProcessResourceName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName
    )

    process
    {
        $arguments = @{}
        $arguments["favoriteProcessResourceName"] = $favoriteProcessResourceName
        $arguments["packageName"] = $packageName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["testBaseAccountName"] = $testBaseAccountName

        $functionObject = Invoke-PulumiFunction -Name azure-native:testbase:getFavoriteProcess -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionTestbaseGetTestBaseAccountFileUploadUrl
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The custom file name of the uploaded blob.)')]
        [string]
        $blobName
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:testbase:getTestBaseAccountFileUploadUrl -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionTestbaseGetCustomerEvent
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Customer event.)')]
        [string]
        $customerEventName
    )

    process
    {
        $arguments = @{}
        $arguments["customerEventName"] = $customerEventName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["testBaseAccountName"] = $testBaseAccountName

        $functionObject = Invoke-PulumiFunction -Name azure-native:testbase:getCustomerEvent -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeTestbasePackage
{
    [Alias('azure_native_testbase_package')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The flighting ring for feature update.)')]
        [string]
        $flightingRing,
        [parameter(mandatory=$False,HelpMessage='The file path of the package.)')]
        [string]
        $blobPath,
        [parameter(mandatory=$False,HelpMessage='Specifies the target OSs of specific OS Update types.)')]
        $targetOSList,
        [parameter(mandatory=$False,HelpMessage='Application version)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The detailed test information.)')]
        $tests,
        [parameter(mandatory=$False,HelpMessage='Application name)')]
        [string]
        $applicationName,
        [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [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
    )

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

        $resource.properties["applicationName"] = $applicationName
        $resource.properties["blobPath"] = $blobPath
        $resource.properties["flightingRing"] = $flightingRing
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["targetOSList"] = $targetOSList
        $resource.properties["testBaseAccountName"] = $testBaseAccountName
        $resource.properties["tests"] = $tests
        $resource.properties["version"] = $version

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeTestbaseCustomerEvent
{
    [Alias('azure_native_testbase_customerevent')]
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the event subscribed to.)')]
        [string]
        $eventName,
        [parameter(mandatory=$False,HelpMessage='The notification event receivers.)')]
        $receivers,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Customer event.)')]
        [string]
        $customerEventName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

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

        $resource.properties["eventName"] = $eventName
        $resource.properties["receivers"] = $receivers
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["testBaseAccountName"] = $testBaseAccountName

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class TestBaseAccountSKU
{
    [string] $resourceType
    [string[]] $locations
    [ValidateSet('Standard')]
    [string] $tier
    [ValidateSet('Standard')]
    [string] $name
}
function New-AzureNativeTypeTestbaseTestBaseAccountSKU
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of resource the SKU applies to.)')]
        [string]
        $resourceType,
        [parameter(mandatory=$False,HelpMessage='The locations that the SKU is available.)')]
        [string[]]
        $locations,
        [parameter(mandatory=$False,HelpMessage='The tier of this particular SKU.)')]
        [string]
        [ValidateSet('Standard')]
        $tier,
        [parameter(mandatory=$False,HelpMessage='The name of the SKU. This is typically a letter + number code, such as B0 or S0.)')]
        [string]
        $name
    )

    process
    {
        return $([TestBaseAccountSKU]$PSBoundParameters)
    }
}
function New-AzureNativeTestbaseTestBaseAccount
{
    [Alias('azure_native_testbase_testbaseaccount')]
    param (
        [parameter(mandatory=$False,HelpMessage='The SKU of the Test Base Account.)')]
        [TestBaseAccountSKU]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The flag indicating if we would like to restore the Test Base Accounts which were soft deleted before.)')]
        [bool]
        $restore,
        [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
    )

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeTestbaseFavoriteProcess
{
    [Alias('azure_native_testbase_favoriteprocess')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The resource name of a favorite process in a package. If the process name contains characters that are not allowed in Azure Resource Name, we use ''actualProcessName'' in request body to submit the name.)')]
        [string]
        $favoriteProcessResourceName,
        [parameter(mandatory=$False,HelpMessage='The actual name of the favorite process. It will be equal to resource name except for the scenario that the process name contains characters that are not allowed in the resource name.)')]
        [string]
        $actualProcessName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

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

        $resource.properties["actualProcessName"] = $actualProcessName
        $resource.properties["packageName"] = $packageName
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["testBaseAccountName"] = $testBaseAccountName

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

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