pspulumiyaml.azurenative.machinelearningcompute.psm1

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

    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='The name of the cluster.)')]
        [string]
        $clusterName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group in which the cluster is located.)')]
        [string]
        $resourceGroupName
    )

    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 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 ServicePrincipalProperties
{
    [string] $clientId
    [string] $secret
}
function New-AzureNativeTypeMachinelearningcomputeServicePrincipalProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The service principal client ID)')]
        [string]
        $clientId,
        [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
    )

    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
{
    [ArgumentCompletions('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
{
    [int] $agentCount
    [int] $masterCount
    [KubernetesClusterProperties] $orchestratorProperties
    [ArgumentCompletions('Kubernetes', 'None')]
    [string] $orchestratorType
    [SystemService[]] $systemServices
    [ArgumentCompletions('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
}
function New-AzureNativeTypeMachinelearningcomputeAcsClusterProperties
{
    param (
        [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='The number of master nodes in the container service.)')]
        [int]
        $masterCount,
        [parameter(mandatory=$False,HelpMessage='Orchestrator specific properties)')]
        [KubernetesClusterProperties]
        $orchestratorProperties,
        [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,
        [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
    )

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

    process
    {
        return $([AutoScaleConfiguration]$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 SslConfiguration
{
    [ArgumentCompletions('Enabled', 'Disabled')]
    [string] $status
    [string] $key
    [string] $cname
    [string] $cert
}
function New-AzureNativeTypeMachinelearningcomputeSslConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='SSL status. Allowed values are Enabled and Disabled.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $status,
        [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 CName of the certificate.)')]
        [string]
        $cname,
        [parameter(mandatory=$False,HelpMessage='The SSL cert data in PEM format.)')]
        [string]
        $cert
    )

    process
    {
        return $([SslConfiguration]$PSBoundParameters)
    }
}
class GlobalServiceConfiguration
{
    [AutoScaleConfiguration] $autoScale
    [ServiceAuthConfiguration] $serviceAuth
    [SslConfiguration] $ssl
    [string] $etag
}
function New-AzureNativeTypeMachinelearningcomputeGlobalServiceConfiguration
{
    param (
        [parameter(mandatory=$False,HelpMessage='The auto-scale configuration)')]
        [AutoScaleConfiguration]
        $autoScale,
        [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,
        [parameter(mandatory=$False,HelpMessage='The SSL configuration properties)')]
        [SslConfiguration]
        $ssl,
        [parameter(mandatory=$False,HelpMessage='The configuration ETag for updates.)')]
        [string]
        $etag
    )

    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 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='Storage Account properties.)')]
        [StorageAccountProperties]
        $storageAccount,
        [parameter(mandatory=$False,HelpMessage='The description of the cluster.)')]
        [string]
        $description,
        [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='Name of the resource group in which the cluster is located.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Contains global configuration for the web services in the cluster.)')]
        [GlobalServiceConfiguration]
        $globalServiceConfiguration,
        [parameter(mandatory=$False,HelpMessage='Contains resource tags defined as key/value pairs.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='AppInsights configuration.)')]
        [AppInsightsProperties]
        $appInsights,
        [parameter(mandatory=$False,HelpMessage='Container Registry properties.)')]
        [ContainerRegistryProperties]
        $containerRegistry,
        [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,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:machinelearningcompute:OperationalizationCluster")

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

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

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

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

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

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

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

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

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

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

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