pspulumiyaml.azurenative.redhatopenshift.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionRedhatopenshiftGetOpenShiftCluster
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the OpenShift cluster resource.)')]
        [string]
        $resourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:redhatopenshift:getOpenShiftCluster -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRedhatopenshiftListOpenShiftClusterCredentials
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the OpenShift cluster resource.)')]
        [string]
        $resourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:redhatopenshift:listOpenShiftClusterCredentials -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRedhatopenshiftListOpenShiftClusterAdminCredentials
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the OpenShift cluster resource.)')]
        [string]
        $resourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:redhatopenshift:listOpenShiftClusterAdminCredentials -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ClusterProfile
{
    [string] $version
    [string] $resourceGroupId
    [string] $domain
    [string] $pullSecret
}
function New-AzureNativeTypeRedhatopenshiftClusterProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='The version of the cluster (immutable).)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The ID of the cluster resource group (immutable).)')]
        [string]
        $resourceGroupId,
        [parameter(mandatory=$False,HelpMessage='The domain for the cluster (immutable).)')]
        [string]
        $domain,
        [parameter(mandatory=$False,HelpMessage='The pull secret for the cluster (immutable).)')]
        [string]
        $pullSecret
    )

    process
    {
        return $([ClusterProfile]$PSBoundParameters)
    }
}
class APIServerProfile
{
    [string] $url
    [string] $ip
    [string] $visibility
}
function New-AzureNativeTypeRedhatopenshiftAPIServerProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='The URL to access the cluster API server (immutable).)')]
        [string]
        $url,
        [parameter(mandatory=$False,HelpMessage='The IP of the cluster API server (immutable).)')]
        [string]
        $ip,
        [parameter(mandatory=$False,HelpMessage='API server visibility (immutable).)')]
        [string]
        $visibility
    )

    process
    {
        return $([APIServerProfile]$PSBoundParameters)
    }
}
class NetworkProfile
{
    [string] $podCidr
    [string] $serviceCidr
}
function New-AzureNativeTypeRedhatopenshiftNetworkProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='The CIDR used for OpenShift/Kubernetes Pods (immutable).)')]
        [string]
        $podCidr,
        [parameter(mandatory=$False,HelpMessage='The CIDR used for OpenShift/Kubernetes Services (immutable).)')]
        [string]
        $serviceCidr
    )

    process
    {
        return $([NetworkProfile]$PSBoundParameters)
    }
}
class MasterProfile
{
    [string] $vmSize
    [string] $subnetId
}
function New-AzureNativeTypeRedhatopenshiftMasterProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='The size of the master VMs (immutable).)')]
        [string]
        $vmSize,
        [parameter(mandatory=$False,HelpMessage='The Azure resource ID of the master subnet (immutable).)')]
        [string]
        $subnetId
    )

    process
    {
        return $([MasterProfile]$PSBoundParameters)
    }
}
class ServicePrincipalProfile
{
    [string] $clientId
    [string] $clientSecret
}
function New-AzureNativeTypeRedhatopenshiftServicePrincipalProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='The client ID used for the cluster (immutable).)')]
        [string]
        $clientId,
        [parameter(mandatory=$False,HelpMessage='The client secret used for the cluster (immutable).)')]
        [string]
        $clientSecret
    )

    process
    {
        return $([ServicePrincipalProfile]$PSBoundParameters)
    }
}
class ConsoleProfile
{
    [string] $url
}
function New-AzureNativeTypeRedhatopenshiftConsoleProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='The URL to access the cluster console (immutable).)')]
        [string]
        $url
    )

    process
    {
        return $([ConsoleProfile]$PSBoundParameters)
    }
}
function New-AzureNativeRedhatopenshiftOpenShiftCluster
{
    [Alias('azure_native_redhatopenshift_openshiftcluster')]
    param (
        [parameter(mandatory=$False,HelpMessage='The cluster provisioning state (immutable).)')]
        [string]
        $provisioningState,
        [parameter(mandatory=$False,HelpMessage='The cluster profile.)')]
        [ClusterProfile]
        $clusterProfile,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the OpenShift cluster resource.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='The cluster worker profiles.)')]
        $workerProfiles,
        [parameter(mandatory=$False,HelpMessage='The cluster API server profile.)')]
        [APIServerProfile]
        $apiserverProfile,
        [parameter(mandatory=$False,HelpMessage='The cluster ingress profiles.)')]
        $ingressProfiles,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The cluster network profile.)')]
        [NetworkProfile]
        $networkProfile,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The cluster master profile.)')]
        [MasterProfile]
        $masterProfile,
        [parameter(mandatory=$False,HelpMessage='The cluster service principal profile.)')]
        [ServicePrincipalProfile]
        $servicePrincipalProfile,
        [parameter(mandatory=$False,HelpMessage='The console profile.)')]
        [ConsoleProfile]
        $consoleProfile,
        [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:redhatopenshift:OpenShiftCluster")

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

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

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

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

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

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

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

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

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

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

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

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

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

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