pspulumiyaml.azurenative.attestation.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionAttestationGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection associated with the Azure resource)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the attestation provider.)')]
        [string]
        $providerName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:attestation:getAttestationProvider -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class PrivateLinkServiceConnectionState
{
    [string] $actionsRequired
    [string] $description
    [ArgumentCompletions('Pending', 'Approved', 'Rejected')]
    [string] $status
}
function New-AzureNativeTypeAttestationPrivateLinkServiceConnectionState
{
    param (
        [parameter(mandatory=$False,HelpMessage='A message indicating if changes on the service provider require any updates on the consumer.)')]
        [string]
        $actionsRequired,
        [parameter(mandatory=$False,HelpMessage='The reason for approval/rejection of the connection.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.)')]
        [string]
        [ValidateSet('Pending', 'Approved', 'Rejected')]
        $status
    )

    process
    {
        return $([PrivateLinkServiceConnectionState]$PSBoundParameters)
    }
}
function New-AzureNativeAttestationPrivateEndpointConnection
{
    [Alias('azure_native_attestation_privateendpointconnection')]
    param (
        [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 name of the private endpoint connection associated with the Azure resource)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the attestation provider.)')]
        [string]
        $providerName,
        [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:attestation:PrivateEndpointConnection")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class JSONWebKey
{
    [string] $k
    [string] $y
    [string] $q
    [string] $alg
    [string] $kid
    [string] $e
    [string] $kty
    [string] $use
    [string] $qi
    [string] $dq
    [string] $dp
    [string[]] $x5c
    [string] $d
    [string] $p
    [string] $x
    [string] $n
    [string] $crv
}
function New-AzureNativeTypeAttestationJSONWebKey
{
    param (
        [parameter(mandatory=$False,HelpMessage='Symmetric key)')]
        [string]
        $k,
        [parameter(mandatory=$False,HelpMessage='Y coordinate for the Elliptic Curve point)')]
        [string]
        $y,
        [parameter(mandatory=$False,HelpMessage='RSA secret prime, with p < q)')]
        [string]
        $q,
        [parameter(mandatory=$False,HelpMessage='The "alg" (algorithm) parameter identifies the algorithm intended for
use with the key. The values used should either be registered in the
IANA "JSON Web Signature and Encryption Algorithms" registry
established by [JWA] or be a value that contains a Collision-
Resistant Name.)'
)]
        [string]
        $alg,
        [parameter(mandatory=$False,HelpMessage='The "kid" (key ID) parameter is used to match a specific key. This
is used, for instance, to choose among a set of keys within a JWK Set
during key rollover. The structure of the "kid" value is
unspecified. When "kid" values are used within a JWK Set, different
keys within the JWK Set SHOULD use distinct "kid" values. (One
example in which different keys might use the same "kid" value is if
they have different "kty" (key type) values but are considered to be
equivalent alternatives by the application using them.) The "kid"
value is a case-sensitive string.)'
)]
        [string]
        $kid,
        [parameter(mandatory=$False,HelpMessage='RSA public exponent, in Base64)')]
        [string]
        $e,
        [parameter(mandatory=$False,HelpMessage='The "kty" (key type) parameter identifies the cryptographic algorithm
family used with the key, such as "RSA" or "EC". "kty" values should
either be registered in the IANA "JSON Web Key Types" registry
established by [JWA] or be a value that contains a Collision-
Resistant Name. The "kty" value is a case-sensitive string.)'
)]
        [string]
        $kty,
        [parameter(mandatory=$False,HelpMessage='Use ("public key use") identifies the intended use of
the public key. The "use" parameter is employed to indicate whether
a public key is used for encrypting data or verifying the signature
on data. Values are commonly "sig" (signature) or "enc" (encryption).)'
)]
        [string]
        $use,
        [parameter(mandatory=$False,HelpMessage='RSA Private Key Parameter)')]
        [string]
        $qi,
        [parameter(mandatory=$False,HelpMessage='RSA Private Key Parameter)')]
        [string]
        $dq,
        [parameter(mandatory=$False,HelpMessage='RSA Private Key Parameter)')]
        [string]
        $dp,
        [parameter(mandatory=$False,HelpMessage='The "x5c" (X.509 certificate chain) parameter contains a chain of one
or more PKIX certificates [RFC5280]. The certificate chain is
represented as a JSON array of certificate value strings. Each
string in the array is a base64-encoded (Section 4 of [RFC4648] --
not base64url-encoded) DER [ITU.X690.1994] PKIX certificate value.
The PKIX certificate containing the key value MUST be the first
certificate.)'
)]
        [string[]]
        $x5c,
        [parameter(mandatory=$False,HelpMessage='RSA private exponent or ECC private key)')]
        [string]
        $d,
        [parameter(mandatory=$False,HelpMessage='RSA secret prime)')]
        [string]
        $p,
        [parameter(mandatory=$False,HelpMessage='X coordinate for the Elliptic Curve point)')]
        [string]
        $x,
        [parameter(mandatory=$False,HelpMessage='RSA modulus, in Base64)')]
        [string]
        $n,
        [parameter(mandatory=$False,HelpMessage='The "crv" (curve) parameter identifies the curve type)')]
        [string]
        $crv
    )

    process
    {
        return $([JSONWebKey]$PSBoundParameters)
    }
}
class JSONWebKeySet
{
    [JSONWebKey[]] $keys
}
function New-AzureNativeTypeAttestationJSONWebKeySet
{
    param (
        [parameter(mandatory=$False,HelpMessage='The value of the "keys" parameter is an array of JWK values. By
default, the order of the JWK values within the array does not imply
an order of preference among them, although applications of JWK Sets
can choose to assign a meaning to the order for their purposes, if
desired.)'
)]
        $keys
    )

    process
    {
        return $([JSONWebKeySet]$PSBoundParameters)
    }
}
class AttestationServiceCreationSpecificParams
{
    [JSONWebKeySet] $policySigningCertificates
}
function New-AzureNativeTypeAttestationAttestationServiceCreationSpecificParams
{
    param (
        [parameter(mandatory=$False,HelpMessage='JSON Web Key Set defining a set of X.509 Certificates that will represent the parent certificate for the signing certificate used for policy operations)')]
        [JSONWebKeySet]
        $policySigningCertificates
    )

    process
    {
        return $([AttestationServiceCreationSpecificParams]$PSBoundParameters)
    }
}
function New-AzureNativeAttestationAttestationProvider
{
    [Alias('azure_native_attestation_attestationprovider')]
    param (
        [parameter(mandatory=$False,HelpMessage='The supported Azure location where the attestation provider should be created.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Properties of the attestation provider)')]
        [AttestationServiceCreationSpecificParams]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The tags that will be assigned to the attestation provider.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Name of the attestation provider.)')]
        [string]
        $providerName,
        [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:attestation:AttestationProvider")

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

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

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

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

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