pspulumiyaml.azurenative.hybridcompute.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionHybridcomputeGetMachineExtension
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the machine extension.)')]
        [string]
        $extensionName,
        [parameter(mandatory=$False,HelpMessage='The name of the machine containing the extension.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:hybridcompute:getMachineExtension -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionHybridcomputeGetPrivateLinkScope
{
    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 Azure Arc PrivateLinkScope resource.)')]
        [string]
        $scopeName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:hybridcompute:getPrivateLinkScope -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionHybridcomputeGetMachine
{
    param (
        [parameter(mandatory=$False,HelpMessage='The expand expression to apply on the operation.)')]
        [string]
        $expand,
        [parameter(mandatory=$False,HelpMessage='The name of the hybrid machine.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName
    )

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

        if($PSBoundParameters.Keys -icontains 'expand')
        {
            $arguments["expand"] = $expand
        }

        $functionObject = Invoke-PulumiFunction -Name azure-native:hybridcompute:getMachine -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionHybridcomputeGetPrivateLinkScopedResource
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Arc PrivateLinkScope resource.)')]
        [string]
        $scopeName,
        [parameter(mandatory=$False,HelpMessage='The name of the scoped resource object.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:hybridcompute:getPrivateLinkScopedResource -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionHybridcomputeGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Arc PrivateLinkScope resource.)')]
        [string]
        $scopeName,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["privateEndpointConnectionName"] = $privateEndpointConnectionName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["scopeName"] = $scopeName

        $functionObject = Invoke-PulumiFunction -Name azure-native:hybridcompute:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class LocationData
{
    [string] $city
    [string] $countryOrRegion
    [string] $district
    [string] $name
}
function New-AzureNativeTypeHybridcomputeLocationData
{
    param (
        [parameter(mandatory=$False,HelpMessage='The city or locality where the resource is located.)')]
        [string]
        $city,
        [parameter(mandatory=$False,HelpMessage='The country or region where the resource is located)')]
        [string]
        $countryOrRegion,
        [parameter(mandatory=$False,HelpMessage='The district, state, or province where the resource is located.)')]
        [string]
        $district,
        [parameter(mandatory=$False,HelpMessage='A canonical name for the geographic or physical location.)')]
        [string]
        $name
    )

    process
    {
        return $([LocationData]$PSBoundParameters)
    }
}
class MachineIdentity
{
    [string] $type
}
function New-AzureNativeTypeHybridcomputeMachineIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The identity type.)')]
        [string]
        $type
    )

    process
    {
        return $([MachineIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeHybridcomputeMachine
{
    [Alias('azure_native_hybridcompute_machine')]
    param (
        [parameter(mandatory=$False,HelpMessage='Metadata pertaining to the geographic location of the resource.)')]
        [LocationData]
        $locationData,
        [parameter(mandatory=$False,HelpMessage='The name of the hybrid machine.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Public Key that the client provides to be used during initial resource onboarding)')]
        [string]
        $clientPublicKey,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage=')')]
        [MachineIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Specifies the hybrid machine unique ID.)')]
        [string]
        $vmId,
        [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:hybridcompute:Machine")

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeHybridcomputePrivateLinkScopedResource
{
    [Alias('azure_native_hybridcompute_privatelinkscopedresource')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Arc PrivateLinkScope resource.)')]
        [string]
        $scopeName,
        [parameter(mandatory=$False,HelpMessage='The name of the scoped resource object.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The resource id of the scoped Azure monitor resource.)')]
        [string]
        $linkedResourceId,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [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:hybridcompute:PrivateLinkScopedResource")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateLinkServiceConnectionStateProperty
{
    [string] $status
    [string] $description
}
function New-AzureNativeTypeHybridcomputePrivateLinkServiceConnectionStateProperty
{
    param (
        [parameter(mandatory=$False,HelpMessage='The private link service connection status.)')]
        [string]
        $status,
        [parameter(mandatory=$False,HelpMessage='The private link service connection description.)')]
        [string]
        $description
    )

    process
    {
        return $([PrivateLinkServiceConnectionStateProperty]$PSBoundParameters)
    }
}
class PrivateEndpointProperty
{
    [string] $id
}
function New-AzureNativeTypeHybridcomputePrivateEndpointProperty
{
    param (
        [parameter(mandatory=$False,HelpMessage='Resource id of the private endpoint.)')]
        [string]
        $id
    )

    process
    {
        return $([PrivateEndpointProperty]$PSBoundParameters)
    }
}
class PrivateEndpointConnectionProperties
{
    [PrivateLinkServiceConnectionStateProperty] $privateLinkServiceConnectionState
    [PrivateEndpointProperty] $privateEndpoint
}
function New-AzureNativeTypeHybridcomputePrivateEndpointConnectionProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Connection state of the private endpoint connection.)')]
        [PrivateLinkServiceConnectionStateProperty]
        $privateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='Private endpoint which the connection belongs to.)')]
        [PrivateEndpointProperty]
        $privateEndpoint
    )

    process
    {
        return $([PrivateEndpointConnectionProperties]$PSBoundParameters)
    }
}
function New-AzureNativeHybridcomputePrivateEndpointConnection
{
    [Alias('azure_native_hybridcompute_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource properties.)')]
        [PrivateEndpointConnectionProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Arc PrivateLinkScope resource.)')]
        [string]
        $scopeName,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [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:hybridcompute:PrivateEndpointConnection")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class HybridComputePrivateLinkScopeProperties
{
    [ArgumentCompletions('Enabled', 'Disabled')]
    [string] $publicNetworkAccess
}
function New-AzureNativeTypeHybridcomputeHybridComputePrivateLinkScopeProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $publicNetworkAccess
    )

    process
    {
        return $([HybridComputePrivateLinkScopeProperties]$PSBoundParameters)
    }
}
function New-AzureNativeHybridcomputePrivateLinkScope
{
    [Alias('azure_native_hybridcompute_privatelinkscope')]
    param (
        [parameter(mandatory=$False,HelpMessage='Resource location)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Properties that define a Azure Arc PrivateLinkScope resource.)')]
        [HybridComputePrivateLinkScopeProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Arc PrivateLinkScope resource.)')]
        [string]
        $scopeName,
        [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,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:hybridcompute:PrivateLinkScope")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeHybridcomputeMachineExtension
{
    [Alias('azure_native_hybridcompute_machineextension')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the machine extension.)')]
        [string]
        $extensionName,
        [parameter(mandatory=$False,HelpMessage='How the extension handler should be forced to update even if the extension configuration has not changed.)')]
        [string]
        $forceUpdateTag,
        [parameter(mandatory=$False,HelpMessage='The name of the machine where the extension should be created or updated.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The name of the extension handler publisher.)')]
        [string]
        $publisher,
        [parameter(mandatory=$False,HelpMessage='The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.)')]
        $protectedSettings,
        [parameter(mandatory=$False,HelpMessage='Specifies the type of the extension; an example is "CustomScriptExtension".)')]
        [string]
        $type,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Specifies the version of the script handler.)')]
        [string]
        $typeHandlerVersion,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.)')]
        [bool]
        $autoUpgradeMinorVersion,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Json formatted public settings for the extension.)')]
        $settings,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [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:hybridcompute:MachineExtension")

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

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

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

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

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

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

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

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

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

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

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

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