pspulumiyaml.azurenative.vmwarecloudsimple.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionVmwarecloudsimpleGetDedicatedCloudNode
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='dedicated cloud node name)')]
        [string]
        $dedicatedCloudNodeName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:vmwarecloudsimple:getDedicatedCloudNode -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionVmwarecloudsimpleGetDedicatedCloudService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='dedicated cloud Service name)')]
        [string]
        $dedicatedCloudServiceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:vmwarecloudsimple:getDedicatedCloudService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionVmwarecloudsimpleGetVirtualMachine
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='virtual machine name)')]
        [string]
        $virtualMachineName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:vmwarecloudsimple:getVirtualMachine -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class GuestOSCustomization
{
    [string] $username
    [string] $policyId
    [string] $hostName
    [string[]] $dnsServers
    [string] $password
}
function New-AzureNativeTypeVmwarecloudsimpleGuestOSCustomization
{
    param (
        [parameter(mandatory=$False,HelpMessage='Username for login)')]
        [string]
        $username,
        [parameter(mandatory=$False,HelpMessage='id of customization policy)')]
        [string]
        $policyId,
        [parameter(mandatory=$False,HelpMessage='Virtual Machine hostname)')]
        [string]
        $hostName,
        [parameter(mandatory=$False,HelpMessage='List of dns servers to use)')]
        [string[]]
        $dnsServers,
        [parameter(mandatory=$False,HelpMessage='Password for login)')]
        [string]
        $password
    )

    process
    {
        return $([GuestOSCustomization]$PSBoundParameters)
    }
}
class ResourcePool
{
    [string] $id
}
function New-AzureNativeTypeVmwarecloudsimpleResourcePool
{
    param (
        [parameter(mandatory=$False,HelpMessage='resource pool id (privateCloudId:vsphereId))')]
        [string]
        $id
    )

    process
    {
        return $([ResourcePool]$PSBoundParameters)
    }
}
function New-AzureNativeVmwarecloudsimpleVirtualMachine
{
    [Alias('azure_native_vmwarecloudsimple_virtualmachine')]
    param (
        [parameter(mandatory=$False,HelpMessage='The list of Virtual NICs)')]
        $nics,
        [parameter(mandatory=$False,HelpMessage='Virtual machine properties)')]
        [GuestOSCustomization]
        $customization,
        [parameter(mandatory=$False,HelpMessage='Password for login. Deprecated - use customization property)')]
        [string]
        $password,
        [parameter(mandatory=$False,HelpMessage='Username for login. Deprecated - use customization property)')]
        [string]
        $username,
        [parameter(mandatory=$False,HelpMessage='The list of tags)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Virtual Machine Template Id)')]
        [string]
        $templateId,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='virtual machine name)')]
        [string]
        $virtualMachineName,
        [parameter(mandatory=$False,HelpMessage='Expose Guest OS or not)')]
        [bool]
        $exposeToGuestVM,
        [parameter(mandatory=$False,HelpMessage='The list of Virtual Disks)')]
        $disks,
        [parameter(mandatory=$False,HelpMessage='The list of Virtual VSphere Networks)')]
        [string[]]
        $vSphereNetworks,
        [parameter(mandatory=$False,HelpMessage='Azure region)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The amount of memory)')]
        [int]
        $amountOfRam,
        [parameter(mandatory=$False,HelpMessage='The number of CPU cores)')]
        [int]
        $numberOfCores,
        [parameter(mandatory=$False,HelpMessage='Virtual Machines Resource Pool)')]
        [ResourcePool]
        $resourcePool,
        [parameter(mandatory=$False,HelpMessage='Private Cloud Id)')]
        [string]
        $privateCloudId,
        [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:vmwarecloudsimple:VirtualMachine")

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

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

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class Sku
{
    [string] $description
    [string] $family
    [string] $tier
    [string] $name
    [string] $capacity
}
function New-AzureNativeTypeVmwarecloudsimpleSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='dedicatedCloudNode example: 8 x Ten-Core Intel® Xeon® Processor E5-2640 v4 2.40GHz 25MB Cache (90W); 12 x 64GB PC4-19200 2400MHz DDR4 ECC Registered DIMM, ...)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='If the service has different generations of hardware, for the same SKU, then that can be captured here)')]
        [string]
        $family,
        [parameter(mandatory=$False,HelpMessage='The tier of the SKU)')]
        [string]
        $tier,
        [parameter(mandatory=$False,HelpMessage='The name of the SKU for VMWare CloudSimple Node)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The capacity of the SKU)')]
        [string]
        $capacity
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
function New-AzureNativeVmwarecloudsimpleDedicatedCloudNode
{
    [Alias('azure_native_vmwarecloudsimple_dedicatedcloudnode')]
    param (
        [parameter(mandatory=$False,HelpMessage='count of nodes to create)')]
        [int]
        $nodesCount,
        [parameter(mandatory=$False,HelpMessage='dedicated cloud node name)')]
        [string]
        $dedicatedCloudNodeName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='purchase id)')]
        [string]
        $purchaseId,
        [parameter(mandatory=$False,HelpMessage='Dedicated Cloud Nodes SKU)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Dedicated Cloud Nodes tags)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Placement Group id, e.g. "n1")')]
        [string]
        $placementGroupId,
        [parameter(mandatory=$False,HelpMessage='SKU''s name)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Azure region)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='SKU''s id)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='Availability Zone id, e.g. "az1")')]
        [string]
        $availabilityZoneId,
        [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:vmwarecloudsimple:DedicatedCloudNode")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeVmwarecloudsimpleDedicatedCloudService
{
    [Alias('azure_native_vmwarecloudsimple_dedicatedcloudservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='dedicated cloud Service name)')]
        [string]
        $dedicatedCloudServiceName,
        [parameter(mandatory=$False,HelpMessage='The list of tags)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='gateway Subnet for the account. It will collect the subnet address and always treat it as /28)')]
        [string]
        $gatewaySubnet,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Azure region)')]
        [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:vmwarecloudsimple:DedicatedCloudService")

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

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

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

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

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