pspulumiyaml.azurenative.testbase.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionTestbaseGetBillingHubServiceFreeHourBalance
{
    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 Account.)')]
        [string]
        $testBaseAccountName
    )

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

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

    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 custom file name of the uploaded blob.)')]
        [string]
        $blobName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName
    )

    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-AzureNativeFunctionTestbaseGetTestResultVideoDownloadURL
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The Test Result Name. It equals to TestResult-{TestResultId} string.)')]
        [string]
        $testResultName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName
    )

    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 name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName
    )

    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-AzureNativeFunctionTestbaseGetPackage
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName
    )

    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 resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName
    )

    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-AzureNativeFunctionTestbaseGetTestResultDownloadURL
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The Test Result Name. It equals to TestResult-{TestResultId} string.)')]
        [string]
        $testResultName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName
    )

    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-AzureNativeFunctionTestbaseGetCustomerEvent
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Customer event.)')]
        [string]
        $customerEventName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName
    )

    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 Invoke-AzureNativeFunctionTestbaseGetBillingHubServiceUsage
{
    param (
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $startTimeStamp,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage=')')]
        [int]
        $pageSize,
        [parameter(mandatory=$False,HelpMessage=')')]
        [string]
        $endTimeStamp,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage=')')]
        [int]
        $pageIndex
    )

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

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

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

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

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

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

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

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

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

        $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 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=$False,HelpMessage='The name of the resource group that contains the resource.)')]
        [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:testbase:CustomerEvent")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $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
    [string] $name
    [ArgumentCompletions('Standard')]
    [string] $tier
}
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 name of the SKU. This is typically a letter + number code, such as B0 or S0.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The tier of this particular SKU.)')]
        [string]
        [ValidateSet('Standard')]
        $tier
    )

    process
    {
        return $([TestBaseAccountSKU]$PSBoundParameters)
    }
}
function New-AzureNativeTestbaseTestBaseAccount
{
    [Alias('azure_native_testbase_testbaseaccount')]
    param (
        [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 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 SKU of the Test Base Account.)')]
        [TestBaseAccountSKU]
        $sku,
        [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:testbase:TestBaseAccount")

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

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

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

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

        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 resource name of the Test Base Account.)')]
        [string]
        $testBaseAccountName,
        [parameter(mandatory=$False,HelpMessage='The resource name of the Test Base Package.)')]
        [string]
        $packageName,
        [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 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 name of the resource group that contains the resource.)')]
        [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:testbase:FavoriteProcess")

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