pspulumiyaml.azurenative.appconfiguration.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionAppconfigurationGetKeyValue
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the configuration store.)')]
        [string]
        $configStoreName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the container registry belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Identifier of key and label combination. Key and label are joined by $ character. Label is optional.)')]
        [string]
        $keyValueName
    )

    process
    {
        $arguments = @{}
        $arguments["configStoreName"] = $configStoreName
        $arguments["keyValueName"] = $keyValueName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:appconfiguration:getKeyValue -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppconfigurationGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the configuration store.)')]
        [string]
        $configStoreName,
        [parameter(mandatory=$False,HelpMessage='Private endpoint connection name)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the container registry belongs.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appconfiguration:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppconfigurationListConfigurationStoreKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the configuration store.)')]
        [string]
        $configStoreName,
        [parameter(mandatory=$False,HelpMessage='A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.)')]
        [string]
        $skipToken,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the container registry belongs.)')]
        [string]
        $resourceGroupName
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appconfiguration:listConfigurationStoreKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppconfigurationGetConfigurationStore
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the container registry belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the configuration store.)')]
        [string]
        $configStoreName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appconfiguration:getConfigurationStore -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAppconfigurationListConfigurationStoreKeyValue
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the configuration store.)')]
        [string]
        $configStoreName,
        [parameter(mandatory=$False,HelpMessage='The label of the key.)')]
        [string]
        $label,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the container registry belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The key to retrieve.)')]
        [string]
        $key
    )

    process
    {
        $arguments = @{}
        $arguments["configStoreName"] = $configStoreName
        $arguments["key"] = $key
        $arguments["resourceGroupName"] = $resourceGroupName

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:appconfiguration:listConfigurationStoreKeyValue -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class Sku
{
    [string] $name
}
function New-AzureNativeTypeAppconfigurationSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='The SKU name of the configuration store.)')]
        [string]
        $name
    )

    process
    {
        return $([Sku]$PSBoundParameters)
    }
}
class KeyVaultProperties
{
    [string] $identityClientId
    [string] $keyIdentifier
}
function New-AzureNativeTypeAppconfigurationKeyVaultProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The client id of the identity which will be used to access key vault.)')]
        [string]
        $identityClientId,
        [parameter(mandatory=$False,HelpMessage='The URI of the key vault key used to encrypt data.)')]
        [string]
        $keyIdentifier
    )

    process
    {
        return $([KeyVaultProperties]$PSBoundParameters)
    }
}
class EncryptionProperties
{
    [KeyVaultProperties] $keyVaultProperties
}
function New-AzureNativeTypeAppconfigurationEncryptionProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Key vault properties.)')]
        [KeyVaultProperties]
        $keyVaultProperties
    )

    process
    {
        return $([EncryptionProperties]$PSBoundParameters)
    }
}
class ResourceIdentity
{
    [ArgumentCompletions('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned')]
    [string] $type
    [object] $userAssignedIdentities
}
function New-AzureNativeTypeAppconfigurationResourceIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of managed identity used. The type ''SystemAssigned, UserAssigned'' includes both an implicitly created identity and a set of user-assigned identities. The type ''None'' will remove any identities.)')]
        [string]
        [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned')]
        $type,
        [parameter(mandatory=$False,HelpMessage='The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: ''/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}''.)')]
        [object]
        $userAssignedIdentities
    )

    process
    {
        return $([ResourceIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeAppconfigurationConfigurationStore
{
    [Alias('azure_native_appconfiguration_configurationstore')]
    param (
        [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Control permission for data plane traffic coming from public networks while private endpoint is enabled.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $publicNetworkAccess,
        [parameter(mandatory=$False,HelpMessage='The sku of the configuration store.)')]
        [Sku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='The location of the resource. This cannot be changed after the resource is created.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The encryption settings of the configuration store.)')]
        [EncryptionProperties]
        $encryption,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the container registry belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The managed identity information, if configured.)')]
        [ResourceIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The name of the configuration store.)')]
        [string]
        $configStoreName,
        [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:appconfiguration:ConfigurationStore")

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateLinkServiceConnectionState
{
    [ArgumentCompletions('Pending', 'Approved', 'Rejected', 'Disconnected')]
    [string] $status
    [string] $description
}
function New-AzureNativeTypeAppconfigurationPrivateLinkServiceConnectionState
{
    param (
        [parameter(mandatory=$False,HelpMessage='The private link service connection status.)')]
        [string]
        [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')]
        $status,
        [parameter(mandatory=$False,HelpMessage='The private link service connection description.)')]
        [string]
        $description
    )

    process
    {
        return $([PrivateLinkServiceConnectionState]$PSBoundParameters)
    }
}
class PrivateEndpoint
{
    [string] $id
}
function New-AzureNativeTypeAppconfigurationPrivateEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource Id for private endpoint)')]
        [string]
        $id
    )

    process
    {
        return $([PrivateEndpoint]$PSBoundParameters)
    }
}
function New-AzureNativeAppconfigurationPrivateEndpointConnection
{
    [Alias('azure_native_appconfiguration_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the configuration store.)')]
        [string]
        $configStoreName,
        [parameter(mandatory=$False,HelpMessage='A collection of information about the state of the connection between service consumer and provider.)')]
        [PrivateLinkServiceConnectionState]
        $privateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='The resource of private endpoint.)')]
        [PrivateEndpoint]
        $privateEndpoint,
        [parameter(mandatory=$False,HelpMessage='Private endpoint connection name)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the container registry belongs.)')]
        [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:appconfiguration:PrivateEndpointConnection")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeAppconfigurationKeyValue
{
    [Alias('azure_native_appconfiguration_keyvalue')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group to which the container registry belongs.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The value of the key-value.)')]
        [string]
        $value,
        [parameter(mandatory=$False,HelpMessage='The content type of the key-value''s value.
Providing a proper content-type can enable transformations of values when they are retrieved by applications.)'
)]
        [string]
        $contentType,
        [parameter(mandatory=$False,HelpMessage='The name of the configuration store.)')]
        [string]
        $configStoreName,
        [parameter(mandatory=$False,HelpMessage='Identifier of key and label combination. Key and label are joined by $ character. Label is optional.)')]
        [string]
        $keyValueName,
        [parameter(mandatory=$False,HelpMessage='A dictionary of tags that can help identify what a key-value may be applicable for.)')]
        [hashtable]
        $tags,
        [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:appconfiguration:KeyValue")

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

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

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

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

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

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