pspulumiyaml.azurenative.devspaces.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionDevspacesGetController
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Resource group to which the resource belongs.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:devspaces:getController -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDevspacesListControllerConnectionDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='Resource ID of the target container host mapped to the Azure Dev Spaces Controller.)')]
        [string]
        $targetContainerHostResourceId,
        [parameter(mandatory=$False,HelpMessage='Name of the resource.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Resource group to which the resource belongs.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["name"] = $name
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["targetContainerHostResourceId"] = $targetContainerHostResourceId

        $functionObject = Invoke-PulumiFunction -Name azure-native:devspaces:listControllerConnectionDetails -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class Sku
{
    [ArgumentCompletions('S1')]
    [string] $name
    [ArgumentCompletions('Standard')]
    [string] $tier
}
function New-AzureNativeTypeDevspacesSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the SKU for Azure Dev Spaces Controller.)')]
        [string]
        [ValidateSet('S1')]
        $name,
        [parameter(mandatory=$False,HelpMessage='The tier of the SKU for Azure Dev Spaces Controller.)')]
        [string]
        [ValidateSet('Standard')]
        $tier
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
function New-AzureNativeDevspacesController
{
    [Alias('azure_native_devspaces_controller')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource group to which the resource belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Tags for the Azure resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Resource ID of the target container host)')]
        [string]
        $targetContainerHostResourceId,
        [parameter(mandatory=$False,HelpMessage='Credentials of the target container host (base64).)')]
        [string]
        $targetContainerHostCredentialsBase64,
        [parameter(mandatory=$False,HelpMessage='Name of the resource.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Model representing SKU for Azure Dev Spaces Controller.)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Region where the Azure resource is located.)')]
        [string]
        $location,
        [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:devspaces:Controller")

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

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

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

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

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