pspulumiyaml.azurenative.resourceconnector.psm1

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

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:resourceconnector:getAppliance -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class Identity
{
    [ValidateSet('SystemAssigned', 'None')]
    [string] $type
}
function New-AzureNativeTypeResourceconnectorIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The identity type.)')]
        [string]
        [ValidateSet('SystemAssigned', 'None')]
        $type
    )

    process
    {
        return $([Identity]$PSBoundParameters)
    }
}
class AppliancePropertiesInfrastructureConfig
{
    [ValidateSet('VMWare', 'HCI', 'SCVMM')]
    [string] $provider
}
function New-AzureNativeTypeResourceconnectorAppliancePropertiesInfrastructureConfig
{
    param (
        [parameter(mandatory=$False,HelpMessage='Information about the connected appliance.)')]
        [string]
        [ValidateSet('VMWare', 'HCI', 'SCVMM')]
        $provider
    )

    process
    {
        return $([AppliancePropertiesInfrastructureConfig]$PSBoundParameters)
    }
}
function New-AzureNativeResourceconnectorAppliance
{
    [Alias('azure_native_resourceconnector_appliance')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Certificates pair used to download MSI certificate from HIS)')]
        [string]
        $publicKey,
        [parameter(mandatory=$False,HelpMessage='Represents a supported Fabric/Infra. (AKSEdge etc...).)')]
        [string]
        [ValidateSet('AKSEdge')]
        $distro,
        [parameter(mandatory=$False,HelpMessage='Identity for the resource.)')]
        [Identity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Contains infrastructure information about the Appliance)')]
        [AppliancePropertiesInfrastructureConfig]
        $infrastructureConfig,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Appliances name.)')]
        [string]
        $resourceName,
        [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:resourceconnector:Appliance")

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

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

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

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

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

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

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

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

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