pspulumiyaml.azurenative.kubernetes.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionKubernetesListConnectedClusterUserCredential
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Kubernetes cluster on which get is called.)')]
        [string]
        $clusterName,
        [parameter(mandatory=$False,HelpMessage='The mode of client authentication.)')]
        [string]
        [ValidateSet('Token', 'AAD')]
        $authenticationMethod,
        [parameter(mandatory=$False,HelpMessage='Boolean value to indicate whether the request is for client side proxy or not)')]
        [bool]
        $clientProxy,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:kubernetes:listConnectedClusterUserCredential -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionKubernetesGetConnectedCluster
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Kubernetes cluster on which get is called.)')]
        [string]
        $clusterName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:kubernetes:getConnectedCluster -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionKubernetesListConnectedClusterUserCredentials
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Kubernetes cluster on which get is called.)')]
        [string]
        $clusterName,
        [parameter(mandatory=$False,HelpMessage='The mode of client authentication.)')]
        [string]
        [ValidateSet('Token', 'AAD')]
        $authenticationMethod,
        [parameter(mandatory=$False,HelpMessage='Boolean value to indicate whether the request is for client side proxy or not)')]
        [bool]
        $clientProxy,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:kubernetes:listConnectedClusterUserCredentials -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ConnectedClusterIdentity
{
    [ArgumentCompletions('None', 'SystemAssigned')]
    [object] $type
}
function New-AzureNativeTypeKubernetesConnectedClusterIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of identity used for the connected cluster. The type ''SystemAssigned, includes a system created identity. The type ''None'' means no identity is assigned to the connected cluster.)')]
        $type
    )

    process
    {
        return $([ConnectedClusterIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeKubernetesConnectedCluster
{
    [Alias('azure_native_kubernetes_connectedcluster')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The identity of the connected cluster.)')]
        [ConnectedClusterIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Provisioning state of the connected cluster resource.)')]
        [string]
        [ValidateSet('Succeeded', 'Failed', 'Canceled', 'Provisioning', 'Updating', 'Deleting', 'Accepted')]
        $provisioningState,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure.)')]
        [string]
        $agentPublicKeyCertificate,
        [parameter(mandatory=$False,HelpMessage='The Kubernetes distribution running on this connected cluster.)')]
        [string]
        $distribution,
        [parameter(mandatory=$False,HelpMessage='The infrastructure on which the Kubernetes cluster represented by this connected cluster is running on.)')]
        [string]
        $infrastructure,
        [parameter(mandatory=$False,HelpMessage='The name of the Kubernetes cluster on which get is called.)')]
        [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:kubernetes:ConnectedCluster")

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

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

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

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

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

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

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

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