pspulumiyaml.azurenative.machinelearningcompute.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionMachinelearningcomputeGetOperationalizationCluster
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which the cluster is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the cluster.)')]
        [string]
        $clusterName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningcompute:getOperationalizationCluster -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionMachinelearningcomputeListOperationalizationClusterKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which the cluster is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the cluster.)')]
        [string]
        $clusterName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:machinelearningcompute:listOperationalizationClusterKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ServicePrincipalProperties
{
    [string] $secret
    [string] $clientId
}
function New-AzureNativeTypeMachinelearningcomputeServicePrincipalProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The service principal secret. This is not returned in response of GET/PUT on the resource. To see this please call listKeys.)')]
        [string]
        $secret,
        [parameter(mandatory=$False,HelpMessage='The service principal client ID)')]
        [string]
        $clientId
    )

    process
    {
        return $([ServicePrincipalProperties]$PSBoundParameters)
    }
}
class KubernetesClusterProperties
{
    [ServicePrincipalProperties] $servicePrincipal
}
function New-AzureNativeTypeMachinelearningcomputeKubernetesClusterProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The Azure Service Principal used by Kubernetes)')]
        [ServicePrincipalProperties]
        $servicePrincipal
    )

    process
    {
        return $([KubernetesClusterProperties]$PSBoundParameters)
    }
}
class SystemService
{
    [ValidateSet('None', 'ScoringFrontEnd', 'BatchFrontEnd')]
    [string] $systemServiceType
}
function New-AzureNativeTypeMachinelearningcomputeSystemService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The system service type)')]
        [string]
        [ValidateSet('None', 'ScoringFrontEnd', 'BatchFrontEnd')]
        $systemServiceType
    )

    process
    {
        return $([SystemService]$PSBoundParameters)
    }
}
class AcsClusterProperties
{
    [KubernetesClusterProperties] $orchestratorProperties
    [int] $masterCount
    [ValidateSet('Standard_A0', 'Standard_A1', 'Standard_A2', 'Standard_A3', 'Standard_A4', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A9', 'Standard_A10', 'Standard_A11', 'Standard_D1', 'Standard_D2', 'Standard_D3', 'Standard_D4', 'Standard_D11', 'Standard_D12', 'Standard_D13', 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2', 'Standard_D3_v2', 'Standard_D4_v2', 'Standard_D5_v2', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_DS1', 'Standard_DS2', 'Standard_DS3', 'Standard_DS4', 'Standard_DS11', 'Standard_DS12', 'Standard_DS13', 'Standard_DS14', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5')]
    [string] $agentVmSize
    [ValidateSet('Standard_A0', 'Standard_A1', 'Standard_A2', 'Standard_A3', 'Standard_A4', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A9', 'Standard_A10', 'Standard_A11', 'Standard_D1', 'Standard_D2', 'Standard_D3', 'Standard_D4', 'Standard_D11', 'Standard_D12', 'Standard_D13', 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2', 'Standard_D3_v2', 'Standard_D4_v2', 'Standard_D5_v2', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_DS1', 'Standard_DS2', 'Standard_DS3', 'Standard_DS4', 'Standard_DS11', 'Standard_DS12', 'Standard_DS13', 'Standard_DS14', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5')]
    [int] $agentCount
    [ValidateSet('Kubernetes', 'None')]
    [string] $orchestratorType
    [ValidateSet('Kubernetes', 'None')]
    [SystemService[]] $systemServices
}
function New-AzureNativeTypeMachinelearningcomputeAcsClusterProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Orchestrator specific properties)')]
        [KubernetesClusterProperties]
        $orchestratorProperties,
        [parameter(mandatory=$False,HelpMessage='The number of master nodes in the container service.)')]
        [int]
        $masterCount,
        [parameter(mandatory=$False,HelpMessage='The Azure VM size of the agent VM nodes. This cannot be changed once the cluster is created. This list is non exhaustive; refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes for the possible VM sizes.)')]
        [string]
        [ValidateSet('Standard_A0', 'Standard_A1', 'Standard_A2', 'Standard_A3', 'Standard_A4', 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A9', 'Standard_A10', 'Standard_A11', 'Standard_D1', 'Standard_D2', 'Standard_D3', 'Standard_D4', 'Standard_D11', 'Standard_D12', 'Standard_D13', 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2', 'Standard_D3_v2', 'Standard_D4_v2', 'Standard_D5_v2', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', 'Standard_DS1', 'Standard_DS2', 'Standard_DS3', 'Standard_DS4', 'Standard_DS11', 'Standard_DS12', 'Standard_DS13', 'Standard_DS14', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', 'Standard_GS5')]
        $agentVmSize,
        [parameter(mandatory=$False,HelpMessage='The number of agent nodes in the Container Service. This can be changed to scale the cluster.)')]
        [int]
        $agentCount,
        [parameter(mandatory=$False,HelpMessage='Type of orchestrator. It cannot be changed once the cluster is created.)')]
        [string]
        [ValidateSet('Kubernetes', 'None')]
        $orchestratorType,
        [parameter(mandatory=$False,HelpMessage='The system services deployed to the cluster)')]
        $systemServices
    )

    process
    {
        return $([AcsClusterProperties]$PSBoundParameters)
    }
}
class AutoScaleConfiguration
{
    [int] $maxReplicas
    [int] $targetUtilization
    [int] $minReplicas
    [int] $refreshPeriodInSeconds
    [ValidateSet('Enabled', 'Disabled')]
    [string] $status
}
function New-AzureNativeTypeMachinelearningcomputeAutoScaleConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The maximum number of replicas for each service.)')]
        [int]
        $maxReplicas,
        [parameter(mandatory=$False,HelpMessage='The target utilization.)')]
        [int]
        $targetUtilization,
        [parameter(mandatory=$False,HelpMessage='The minimum number of replicas for each service.)')]
        [int]
        $minReplicas,
        [parameter(mandatory=$False,HelpMessage='Refresh period in seconds.)')]
        [int]
        $refreshPeriodInSeconds,
        [parameter(mandatory=$False,HelpMessage='If auto-scale is enabled for all services. Each service can turn it off individually.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $status
    )

    process
    {
        return $([AutoScaleConfiguration]$PSBoundParameters)
    }
}
class SslConfiguration
{
    [string] $key
    [string] $cert
    [ValidateSet('Enabled', 'Disabled')]
    [string] $status
    [ValidateSet('Enabled', 'Disabled')]
    [string] $cname
}
function New-AzureNativeTypeMachinelearningcomputeSslConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The SSL key data in PEM format. This is not returned in response of GET/PUT on the resource. To see this please call listKeys API.)')]
        [string]
        $key,
        [parameter(mandatory=$False,HelpMessage='The SSL cert data in PEM format.)')]
        [string]
        $cert,
        [parameter(mandatory=$False,HelpMessage='SSL status. Allowed values are Enabled and Disabled.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $status,
        [parameter(mandatory=$False,HelpMessage='The CName of the certificate.)')]
        [string]
        $cname
    )

    process
    {
        return $([SslConfiguration]$PSBoundParameters)
    }
}
class ServiceAuthConfiguration
{
    [string] $secondaryAuthKeyHash
    [string] $primaryAuthKeyHash
}
function New-AzureNativeTypeMachinelearningcomputeServiceAuthConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The secondary auth key hash. This is not returned in response of GET/PUT on the resource.. To see this please call listKeys API.)')]
        [string]
        $secondaryAuthKeyHash,
        [parameter(mandatory=$False,HelpMessage='The primary auth key hash. This is not returned in response of GET/PUT on the resource.. To see this please call listKeys API.)')]
        [string]
        $primaryAuthKeyHash
    )

    process
    {
        return $([ServiceAuthConfiguration]$PSBoundParameters)
    }
}
class GlobalServiceConfiguration
{
    [AutoScaleConfiguration] $autoScale
    [SslConfiguration] $ssl
    [string] $etag
    [ServiceAuthConfiguration] $serviceAuth
}
function New-AzureNativeTypeMachinelearningcomputeGlobalServiceConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The auto-scale configuration)')]
        [AutoScaleConfiguration]
        $autoScale,
        [parameter(mandatory=$False,HelpMessage='The SSL configuration properties)')]
        [SslConfiguration]
        $ssl,
        [parameter(mandatory=$False,HelpMessage='The configuration ETag for updates.)')]
        [string]
        $etag,
        [parameter(mandatory=$False,HelpMessage='Optional global authorization keys for all user services deployed in cluster. These are used if the service does not have auth keys.)')]
        [ServiceAuthConfiguration]
        $serviceAuth
    )

    process
    {
        return $([GlobalServiceConfiguration]$PSBoundParameters)
    }
}
class AppInsightsProperties
{
    [string] $resourceId
}
function New-AzureNativeTypeMachinelearningcomputeAppInsightsProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the App Insights.)')]
        [string]
        $resourceId
    )

    process
    {
        return $([AppInsightsProperties]$PSBoundParameters)
    }
}
class StorageAccountProperties
{
    [string] $resourceId
}
function New-AzureNativeTypeMachinelearningcomputeStorageAccountProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the Azure Storage Account to store CLI specific files. If not provided one will be created. This cannot be changed once the cluster is created.)')]
        [string]
        $resourceId
    )

    process
    {
        return $([StorageAccountProperties]$PSBoundParameters)
    }
}
class ContainerRegistryProperties
{
    [string] $resourceId
}
function New-AzureNativeTypeMachinelearningcomputeContainerRegistryProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='ARM resource ID of the Azure Container Registry used to store Docker images for web services in the cluster. If not provided one will be created. This cannot be changed once the cluster is created.)')]
        [string]
        $resourceId
    )

    process
    {
        return $([ContainerRegistryProperties]$PSBoundParameters)
    }
}
function New-AzureNativeMachinelearningcomputeOperationalizationCluster
{
    [Alias('azure_native_machinelearningcompute_operationalizationcluster')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which the cluster is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Specifies the location of the resource.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Parameters for the Azure Container Service cluster.)')]
        [AcsClusterProperties]
        $containerService,
        [parameter(mandatory=$False,HelpMessage='The cluster type.)')]
        [string]
        [ValidateSet('ACS', 'Local')]
        $clusterType,
        [parameter(mandatory=$False,HelpMessage='The name of the cluster.)')]
        [string]
        $clusterName,
        [parameter(mandatory=$False,HelpMessage='Contains global configuration for the web services in the cluster.)')]
        [GlobalServiceConfiguration]
        $globalServiceConfiguration,
        [parameter(mandatory=$False,HelpMessage='AppInsights configuration.)')]
        [AppInsightsProperties]
        $appInsights,
        [parameter(mandatory=$False,HelpMessage='Contains resource tags defined as key/value pairs.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The description of the cluster.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Storage Account properties.)')]
        [StorageAccountProperties]
        $storageAccount,
        [parameter(mandatory=$False,HelpMessage='Container Registry properties.)')]
        [ContainerRegistryProperties]
        $containerRegistry,
        [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:machinelearningcompute:OperationalizationCluster")

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

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

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

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

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

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

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

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

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

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

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