VaporShell.ACMPCA.psm1
# PSM1 Contents function Format-Json { [CmdletBinding()] Param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [String] $Json ) Begin { $cleaner = { param([String]$Line) Process{ [Regex]::Replace( $Line, "\\u(?<Value>[a-zA-Z0-9]{4})", { param($m)([char]([int]::Parse( $m.Groups['Value'].Value, [System.Globalization.NumberStyles]::HexNumber ))).ToString() } ) } } } Process { if ($PSVersionTable.PSVersion.Major -lt 6) { try { $indent = 0; $res = $Json -split '\n' | ForEach-Object { if ($_ -match '[\}\]]') { # This line contains ] or }, decrement the indentation level $indent-- } $line = (' ' * $indent * 2) + $_.TrimStart().Replace(': ', ': ') if ($_ -match '[\{\[]') { # This line contains [ or {, increment the indentation level $indent++ } $cleaner.Invoke($line) } $res -join "`n" } catch { ($Json -split '\n' | ForEach-Object {$cleaner.Invoke($_)}) -join "`n" } } else { ($Json -split '\n' | ForEach-Object {$cleaner.Invoke($_)}) -join "`n" } } } function Get-TrueCount { Param ( [parameter(Mandatory = $false,Position = 0,ValueFromPipeline = $true)] $Array ) Process { if ($array) { if ($array.Count) { $count = $array.Count } else { $count = 1 } } else { $count = 0 } } End { return $count } } function New-VSError { <# .SYNOPSIS Error generator function to use in tandem with $PSCmdlet.ThrowTerminatingError() .PARAMETER Result Allows input of an error from AWS SDK, resulting in the Exception message being parsed out. .PARAMETER String Used to create basic String message errors in the same wrapper #> [cmdletbinding(DefaultParameterSetName="Result")] param( [parameter(Position=0,ParameterSetName="Result")] $Result, [parameter(Position=0,ParameterSetName="String")] $String ) switch ($PSCmdlet.ParameterSetName) { Result { $Exception = "$($result.Exception.InnerException.Message)" } String { $Exception = "$String" } } $e = New-Object "System.Exception" $Exception $errorRecord = New-Object 'System.Management.Automation.ErrorRecord' $e, $null, ([System.Management.Automation.ErrorCategory]::InvalidOperation), $null return $errorRecord } function ResolveS3Endpoint { <# .SYNOPSIS Resolves the S3 endpoint most appropriate for each region. #> Param ( [parameter(Mandatory=$true,Position=0)] [ValidateSet("eu-west-2","ap-south-1","us-east-2","sa-east-1","us-west-1","us-west-2","eu-west-1","ap-southeast-2","ca-central-1","ap-northeast-2","us-east-1","eu-central-1","ap-southeast-1","ap-northeast-1")] [String] $Region ) $endpointMap = @{ "us-east-2" = "s3.us-east-2.amazonaws.com" "us-east-1" = "s3.amazonaws.com" "us-west-1" = "s3-us-west-1.amazonaws.com" "us-west-2" = "s3-us-west-2.amazonaws.com" "ca-central-1" = "s3.ca-central-1.amazonaws.com" "ap-south-1" = "s3.ap-south-1.amazonaws.com" "ap-northeast-2" = "s3.ap-northeast-2.amazonaws.com" "ap-southeast-1" = "s3-ap-southeast-1.amazonaws.com" "ap-southeast-2" = "s3-ap-southeast-2.amazonaws.com" "ap-northeast-1" = "s3-ap-northeast-1.amazonaws.com" "eu-central-1" = "s3.eu-central-1.amazonaws.com" "eu-west-1" = "s3-eu-west-1.amazonaws.com" "eu-west-2" = "s3.eu-west-2.amazonaws.com" "sa-east-1" = "s3-sa-east-1.amazonaws.com" } return $endpointMap[$Region] } function Add-VSACMPCACertificateApiPassthrough { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.ApiPassthrough resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.ApiPassthrough resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-apipassthrough.html .PARAMETER Extensions Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-apipassthrough.html#cfn-acmpca-certificate-apipassthrough-extensions UpdateType: Immutable Type: Extensions .PARAMETER Subject Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-apipassthrough.html#cfn-acmpca-certificate-apipassthrough-subject UpdateType: Immutable Type: Subject .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateApiPassthrough])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $Extensions, [parameter(Mandatory = $false)] $Subject ) Process { $obj = [ACMPCACertificateApiPassthrough]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateApiPassthrough' function Add-VSACMPCACertificateAuthorityAccessDescription { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.AccessDescription resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.AccessDescription resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessdescription.html .PARAMETER AccessMethod Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessdescription.html#cfn-acmpca-certificateauthority-accessdescription-accessmethod UpdateType: Immutable Type: AccessMethod .PARAMETER AccessLocation Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessdescription.html#cfn-acmpca-certificateauthority-accessdescription-accesslocation UpdateType: Immutable Type: GeneralName .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityAccessDescription])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] $AccessMethod, [parameter(Mandatory = $true)] $AccessLocation ) Process { $obj = [ACMPCACertificateAuthorityAccessDescription]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityAccessDescription' function Add-VSACMPCACertificateAuthorityAccessMethod { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.AccessMethod resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.AccessMethod resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessmethod.html .PARAMETER CustomObjectIdentifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessmethod.html#cfn-acmpca-certificateauthority-accessmethod-customobjectidentifier UpdateType: Immutable PrimitiveType: String .PARAMETER AccessMethodType Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessmethod.html#cfn-acmpca-certificateauthority-accessmethod-accessmethodtype UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityAccessMethod])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $CustomObjectIdentifier, [parameter(Mandatory = $false)] [object] $AccessMethodType ) Process { $obj = [ACMPCACertificateAuthorityAccessMethod]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityAccessMethod' function Add-VSACMPCACertificateAuthorityCrlConfiguration { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.CrlConfiguration resource property to the template. Contains configuration information for a certificate revocation list (CRL. Your private certificate authority (CA creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the **Enabled** parameter to true. Your private CA writes CRLs to an S3 bucket that you specify in the **S3BucketName** parameter. You can hide the name of your bucket by specifying a value for the **CustomCname** parameter. Your private CA copies the CNAME or the S3 bucket name to the **CRL Distribution Points** extension of each certificate it issues. Your S3 bucket policy must give write permission to ACM Private CA. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.CrlConfiguration resource property to the template. Contains configuration information for a certificate revocation list (CRL. Your private certificate authority (CA creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the **Enabled** parameter to true. Your private CA writes CRLs to an S3 bucket that you specify in the **S3BucketName** parameter. You can hide the name of your bucket by specifying a value for the **CustomCname** parameter. Your private CA copies the CNAME or the S3 bucket name to the **CRL Distribution Points** extension of each certificate it issues. Your S3 bucket policy must give write permission to ACM Private CA. ACM Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your CRLs: https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#crl-encryption. Your private CA uses the value in the **ExpirationInDays** parameter to calculate the **nextUpdate** field in the CRL. The CRL is refreshed at 1/2 the age of next update or when a certificate is revoked. When a certificate is revoked, it is recorded in the next CRL that is generated and in the next audit report. Only time valid certificates are listed in the CRL. Expired certificates are not included. CRLs contain the following fields: + **Version**: The current version number defined in RFC 5280 is V2. The integer value is 0x1. + **Signature Algorithm**: The name of the algorithm used to sign the CRL. + **Issuer**: The X.500 distinguished name of your private CA that issued the CRL. + **Last Update**: The issue date and time of this CRL. + **Next Update**: The day and time by which the next CRL will be issued. + **Revoked Certificates**: List of revoked certificates. Each list item contains the following information. + **Serial Number**: The serial number, in hexadecimal format, of the revoked certificate. + **Revocation Date**: Date and time the certificate was revoked. + **CRL Entry Extensions**: Optional extensions for the CRL entry. + **X509v3 CRL Reason Code**: Reason the certificate was revoked. + **CRL Extensions**: Optional extensions for the CRL. + **X509v3 Authority Key Identifier**: Identifies the public key associated with the private key used to sign the certificate. + **X509v3 CRL Number:**: Decimal sequence number for the CRL. + **Signature Algorithm**: Algorithm used by your private CA to sign the CRL. + **Signature Value**: Signature computed over the CRL. Certificate revocation lists created by ACM Private CA are DER-encoded. You can use the following OpenSSL command to list a CRL. openssl crl -inform DER -text -in crl_path -noout .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html .PARAMETER Enabled Boolean value that specifies whether certificate revocation lists CRLs are enabled. You can use this value to enable certificate revocation for a new CA when you call the CreateCertificateAuthority: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html action or for an existing CA when you call the UpdateCertificateAuthority: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html action. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-enabled UpdateType: Mutable PrimitiveType: Boolean .PARAMETER ExpirationInDays Number of days until a certificate expires. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-expirationindays UpdateType: Mutable PrimitiveType: Integer .PARAMETER CustomCname Name inserted into the certificate **CRL Distribution Points** extension that enables the use of an alias for the CRL distribution point. Use this value if you don't want the name of your S3 bucket to be public. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-customcname UpdateType: Mutable PrimitiveType: String .PARAMETER S3BucketName Name of the S3 bucket that contains the CRL. If you do not provide a value for the **CustomCname** argument, the name of your S3 bucket is placed into the **CRL Distribution Points** extension of the issued certificate. You can change the name of your bucket by calling the UpdateCertificateAuthority: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html action. You must specify a bucket policy that allows ACM Private CA to write the CRL to your bucket. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-s3bucketname UpdateType: Mutable PrimitiveType: String .PARAMETER S3ObjectAcl *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html#cfn-acmpca-certificateauthority-crlconfiguration-s3objectacl UpdateType: Mutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityCrlConfiguration])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Enabled, [parameter(Mandatory = $false)] [object] $ExpirationInDays, [parameter(Mandatory = $false)] [object] $CustomCname, [parameter(Mandatory = $false)] [object] $S3BucketName, [parameter(Mandatory = $false)] [object] $S3ObjectAcl ) Process { $obj = [ACMPCACertificateAuthorityCrlConfiguration]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityCrlConfiguration' function Add-VSACMPCACertificateAuthorityCsrExtensions { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.CsrExtensions resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.CsrExtensions resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-csrextensions.html .PARAMETER KeyUsage Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-csrextensions.html#cfn-acmpca-certificateauthority-csrextensions-keyusage UpdateType: Immutable Type: KeyUsage .PARAMETER SubjectInformationAccess Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-csrextensions.html#cfn-acmpca-certificateauthority-csrextensions-subjectinformationaccess UpdateType: Immutable Type: List ItemType: AccessDescription .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityCsrExtensions])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $KeyUsage, [parameter(Mandatory = $false)] [object] $SubjectInformationAccess ) Process { $obj = [ACMPCACertificateAuthorityCsrExtensions]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityCsrExtensions' function Add-VSACMPCACertificateAuthorityEdiPartyName { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.EdiPartyName resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.EdiPartyName resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-edipartyname.html .PARAMETER PartyName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-edipartyname.html#cfn-acmpca-certificateauthority-edipartyname-partyname UpdateType: Immutable PrimitiveType: String .PARAMETER NameAssigner Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-edipartyname.html#cfn-acmpca-certificateauthority-edipartyname-nameassigner UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityEdiPartyName])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $PartyName, [parameter(Mandatory = $true)] [object] $NameAssigner ) Process { $obj = [ACMPCACertificateAuthorityEdiPartyName]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityEdiPartyName' function Add-VSACMPCACertificateAuthorityGeneralName { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.GeneralName resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.GeneralName resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html .PARAMETER OtherName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-othername UpdateType: Immutable Type: OtherName .PARAMETER Rfc822Name Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-rfc822name UpdateType: Immutable PrimitiveType: String .PARAMETER DnsName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-dnsname UpdateType: Immutable PrimitiveType: String .PARAMETER DirectoryName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-directoryname UpdateType: Immutable Type: Subject .PARAMETER EdiPartyName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-edipartyname UpdateType: Immutable Type: EdiPartyName .PARAMETER UniformResourceIdentifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-uniformresourceidentifier UpdateType: Immutable PrimitiveType: String .PARAMETER IpAddress Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-ipaddress UpdateType: Immutable PrimitiveType: String .PARAMETER RegisteredId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html#cfn-acmpca-certificateauthority-generalname-registeredid UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityGeneralName])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $OtherName, [parameter(Mandatory = $false)] [object] $Rfc822Name, [parameter(Mandatory = $false)] [object] $DnsName, [parameter(Mandatory = $false)] $DirectoryName, [parameter(Mandatory = $false)] $EdiPartyName, [parameter(Mandatory = $false)] [object] $UniformResourceIdentifier, [parameter(Mandatory = $false)] [object] $IpAddress, [parameter(Mandatory = $false)] [object] $RegisteredId ) Process { $obj = [ACMPCACertificateAuthorityGeneralName]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityGeneralName' function Add-VSACMPCACertificateAuthorityKeyUsage { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.KeyUsage resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.KeyUsage resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html .PARAMETER DigitalSignature Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-digitalsignature UpdateType: Immutable PrimitiveType: Boolean .PARAMETER NonRepudiation Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-nonrepudiation UpdateType: Immutable PrimitiveType: Boolean .PARAMETER KeyEncipherment Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-keyencipherment UpdateType: Immutable PrimitiveType: Boolean .PARAMETER DataEncipherment Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-dataencipherment UpdateType: Immutable PrimitiveType: Boolean .PARAMETER KeyAgreement Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-keyagreement UpdateType: Immutable PrimitiveType: Boolean .PARAMETER KeyCertSign Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-keycertsign UpdateType: Immutable PrimitiveType: Boolean .PARAMETER CRLSign Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-crlsign UpdateType: Immutable PrimitiveType: Boolean .PARAMETER EncipherOnly Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-encipheronly UpdateType: Immutable PrimitiveType: Boolean .PARAMETER DecipherOnly Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html#cfn-acmpca-certificateauthority-keyusage-decipheronly UpdateType: Immutable PrimitiveType: Boolean .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityKeyUsage])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $DigitalSignature, [parameter(Mandatory = $false)] [object] $NonRepudiation, [parameter(Mandatory = $false)] [object] $KeyEncipherment, [parameter(Mandatory = $false)] [object] $DataEncipherment, [parameter(Mandatory = $false)] [object] $KeyAgreement, [parameter(Mandatory = $false)] [object] $KeyCertSign, [parameter(Mandatory = $false)] [object] $CRLSign, [parameter(Mandatory = $false)] [object] $EncipherOnly, [parameter(Mandatory = $false)] [object] $DecipherOnly ) Process { $obj = [ACMPCACertificateAuthorityKeyUsage]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityKeyUsage' function Add-VSACMPCACertificateAuthorityOcspConfiguration { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.OcspConfiguration resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.OcspConfiguration resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-ocspconfiguration.html .PARAMETER Enabled Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-ocspconfiguration.html#cfn-acmpca-certificateauthority-ocspconfiguration-enabled UpdateType: Mutable PrimitiveType: Boolean .PARAMETER OcspCustomCname Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-ocspconfiguration.html#cfn-acmpca-certificateauthority-ocspconfiguration-ocspcustomcname UpdateType: Mutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityOcspConfiguration])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Enabled, [parameter(Mandatory = $false)] [object] $OcspCustomCname ) Process { $obj = [ACMPCACertificateAuthorityOcspConfiguration]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityOcspConfiguration' function Add-VSACMPCACertificateAuthorityOtherName { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.OtherName resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.OtherName resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-othername.html .PARAMETER TypeId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-othername.html#cfn-acmpca-certificateauthority-othername-typeid UpdateType: Immutable PrimitiveType: String .PARAMETER Value Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-othername.html#cfn-acmpca-certificateauthority-othername-value UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityOtherName])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $TypeId, [parameter(Mandatory = $true)] [object] $Value ) Process { $obj = [ACMPCACertificateAuthorityOtherName]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityOtherName' function Add-VSACMPCACertificateAuthorityRevocationConfiguration { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.RevocationConfiguration resource property to the template. Certificate revocation information used by the CreateCertificateAuthority: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html and UpdateCertificateAuthority: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html actions. Your private certificate authority (CA can create and maintain a certificate revocation list (CRL. A CRL contains information about certificates revoked by your CA. For more information, see RevokeCertificate: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RevokeCertificate.html. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.RevocationConfiguration resource property to the template. Certificate revocation information used by the CreateCertificateAuthority: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html and UpdateCertificateAuthority: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html actions. Your private certificate authority (CA can create and maintain a certificate revocation list (CRL. A CRL contains information about certificates revoked by your CA. For more information, see RevokeCertificate: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RevokeCertificate.html. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-revocationconfiguration.html .PARAMETER CrlConfiguration Configuration of the certificate revocation list CRL, if any, maintained by your private CA. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-revocationconfiguration.html#cfn-acmpca-certificateauthority-revocationconfiguration-crlconfiguration UpdateType: Mutable Type: CrlConfiguration .PARAMETER OcspConfiguration *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-revocationconfiguration.html#cfn-acmpca-certificateauthority-revocationconfiguration-ocspconfiguration UpdateType: Mutable Type: OcspConfiguration .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityRevocationConfiguration])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $CrlConfiguration, [parameter(Mandatory = $false)] $OcspConfiguration ) Process { $obj = [ACMPCACertificateAuthorityRevocationConfiguration]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthorityRevocationConfiguration' function Add-VSACMPCACertificateAuthoritySubject { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority.Subject resource property to the template. ASN1 subject for the certificate authority. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority.Subject resource property to the template. ASN1 subject for the certificate authority. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html .PARAMETER Country Two-digit code that specifies the country in which the certificate subject located. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-country UpdateType: Immutable PrimitiveType: String .PARAMETER Organization Legal name of the organization with which the certificate subject is affiliated. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-organization UpdateType: Immutable PrimitiveType: String .PARAMETER OrganizationalUnit A subdivision or unit of the organization such as sales or finance with which the certificate subject is affiliated. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-organizationalunit UpdateType: Immutable PrimitiveType: String .PARAMETER DistinguishedNameQualifier Disambiguating information for the certificate subject. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-distinguishednamequalifier UpdateType: Immutable PrimitiveType: String .PARAMETER State State in which the subject of the certificate is located. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-state UpdateType: Immutable PrimitiveType: String .PARAMETER CommonName Fully qualified domain name FQDN associated with the certificate subject. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-commonname UpdateType: Immutable PrimitiveType: String .PARAMETER SerialNumber The certificate serial number. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-serialnumber UpdateType: Immutable PrimitiveType: String .PARAMETER Locality The locality such as a city or town in which the certificate subject is located. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-locality UpdateType: Immutable PrimitiveType: String .PARAMETER Title A personal title such as Mr. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-title UpdateType: Immutable PrimitiveType: String .PARAMETER Surname Family name. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-surname UpdateType: Immutable PrimitiveType: String .PARAMETER GivenName First name. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-givenname UpdateType: Immutable PrimitiveType: String .PARAMETER Initials Concatenation that typically contains the first letter of the GivenName, the first letter of the middle name if one exists, and the first letter of the SurName. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-initials UpdateType: Immutable PrimitiveType: String .PARAMETER Pseudonym Typically a shortened version of a longer GivenName. For example, Jonathan is often shortened to John. Elizabeth is often shortened to Beth, Liz, or Eliza. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-pseudonym UpdateType: Immutable PrimitiveType: String .PARAMETER GenerationQualifier Typically a qualifier appended to the name of an individual. Examples include Jr. for junior, Sr. for senior, and III for third. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html#cfn-acmpca-certificateauthority-subject-generationqualifier UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthoritySubject])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Country, [parameter(Mandatory = $false)] [object] $Organization, [parameter(Mandatory = $false)] [object] $OrganizationalUnit, [parameter(Mandatory = $false)] [object] $DistinguishedNameQualifier, [parameter(Mandatory = $false)] [object] $State, [parameter(Mandatory = $false)] [object] $CommonName, [parameter(Mandatory = $false)] [object] $SerialNumber, [parameter(Mandatory = $false)] [object] $Locality, [parameter(Mandatory = $false)] [object] $Title, [parameter(Mandatory = $false)] [object] $Surname, [parameter(Mandatory = $false)] [object] $GivenName, [parameter(Mandatory = $false)] [object] $Initials, [parameter(Mandatory = $false)] [object] $Pseudonym, [parameter(Mandatory = $false)] [object] $GenerationQualifier ) Process { $obj = [ACMPCACertificateAuthoritySubject]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateAuthoritySubject' function Add-VSACMPCACertificateEdiPartyName { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.EdiPartyName resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.EdiPartyName resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-edipartyname.html .PARAMETER PartyName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-edipartyname.html#cfn-acmpca-certificate-edipartyname-partyname UpdateType: Immutable PrimitiveType: String .PARAMETER NameAssigner Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-edipartyname.html#cfn-acmpca-certificate-edipartyname-nameassigner UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateEdiPartyName])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $PartyName, [parameter(Mandatory = $true)] [object] $NameAssigner ) Process { $obj = [ACMPCACertificateEdiPartyName]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateEdiPartyName' function Add-VSACMPCACertificateExtendedKeyUsage { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.ExtendedKeyUsage resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.ExtendedKeyUsage resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extendedkeyusage.html .PARAMETER ExtendedKeyUsageType Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extendedkeyusage.html#cfn-acmpca-certificate-extendedkeyusage-extendedkeyusagetype UpdateType: Immutable PrimitiveType: String .PARAMETER ExtendedKeyUsageObjectIdentifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extendedkeyusage.html#cfn-acmpca-certificate-extendedkeyusage-extendedkeyusageobjectidentifier UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateExtendedKeyUsage])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $ExtendedKeyUsageType, [parameter(Mandatory = $false)] [object] $ExtendedKeyUsageObjectIdentifier ) Process { $obj = [ACMPCACertificateExtendedKeyUsage]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateExtendedKeyUsage' function Add-VSACMPCACertificateExtensions { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.Extensions resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.Extensions resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html .PARAMETER CertificatePolicies Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-certificatepolicies UpdateType: Immutable Type: List ItemType: PolicyInformation .PARAMETER ExtendedKeyUsage Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-extendedkeyusage UpdateType: Immutable Type: List ItemType: ExtendedKeyUsage .PARAMETER KeyUsage Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-keyusage UpdateType: Immutable Type: KeyUsage .PARAMETER SubjectAlternativeNames Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-subjectalternativenames UpdateType: Immutable Type: List ItemType: GeneralName .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateExtensions])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $CertificatePolicies, [parameter(Mandatory = $false)] [object] $ExtendedKeyUsage, [parameter(Mandatory = $false)] $KeyUsage, [parameter(Mandatory = $false)] [object] $SubjectAlternativeNames ) Process { $obj = [ACMPCACertificateExtensions]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateExtensions' function Add-VSACMPCACertificateGeneralName { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.GeneralName resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.GeneralName resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html .PARAMETER OtherName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-othername UpdateType: Immutable Type: OtherName .PARAMETER Rfc822Name Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-rfc822name UpdateType: Immutable PrimitiveType: String .PARAMETER DnsName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-dnsname UpdateType: Immutable PrimitiveType: String .PARAMETER DirectoryName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-directoryname UpdateType: Immutable Type: Subject .PARAMETER EdiPartyName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-edipartyname UpdateType: Immutable Type: EdiPartyName .PARAMETER UniformResourceIdentifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-uniformresourceidentifier UpdateType: Immutable PrimitiveType: String .PARAMETER IpAddress Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-ipaddress UpdateType: Immutable PrimitiveType: String .PARAMETER RegisteredId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-generalname.html#cfn-acmpca-certificate-generalname-registeredid UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateGeneralName])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $OtherName, [parameter(Mandatory = $false)] [object] $Rfc822Name, [parameter(Mandatory = $false)] [object] $DnsName, [parameter(Mandatory = $false)] $DirectoryName, [parameter(Mandatory = $false)] $EdiPartyName, [parameter(Mandatory = $false)] [object] $UniformResourceIdentifier, [parameter(Mandatory = $false)] [object] $IpAddress, [parameter(Mandatory = $false)] [object] $RegisteredId ) Process { $obj = [ACMPCACertificateGeneralName]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateGeneralName' function Add-VSACMPCACertificateKeyUsage { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.KeyUsage resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.KeyUsage resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html .PARAMETER DigitalSignature Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-digitalsignature UpdateType: Immutable PrimitiveType: Boolean .PARAMETER NonRepudiation Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-nonrepudiation UpdateType: Immutable PrimitiveType: Boolean .PARAMETER KeyEncipherment Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-keyencipherment UpdateType: Immutable PrimitiveType: Boolean .PARAMETER DataEncipherment Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-dataencipherment UpdateType: Immutable PrimitiveType: Boolean .PARAMETER KeyAgreement Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-keyagreement UpdateType: Immutable PrimitiveType: Boolean .PARAMETER KeyCertSign Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-keycertsign UpdateType: Immutable PrimitiveType: Boolean .PARAMETER CRLSign Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-crlsign UpdateType: Immutable PrimitiveType: Boolean .PARAMETER EncipherOnly Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-encipheronly UpdateType: Immutable PrimitiveType: Boolean .PARAMETER DecipherOnly Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-keyusage.html#cfn-acmpca-certificate-keyusage-decipheronly UpdateType: Immutable PrimitiveType: Boolean .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateKeyUsage])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $DigitalSignature, [parameter(Mandatory = $false)] [object] $NonRepudiation, [parameter(Mandatory = $false)] [object] $KeyEncipherment, [parameter(Mandatory = $false)] [object] $DataEncipherment, [parameter(Mandatory = $false)] [object] $KeyAgreement, [parameter(Mandatory = $false)] [object] $KeyCertSign, [parameter(Mandatory = $false)] [object] $CRLSign, [parameter(Mandatory = $false)] [object] $EncipherOnly, [parameter(Mandatory = $false)] [object] $DecipherOnly ) Process { $obj = [ACMPCACertificateKeyUsage]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateKeyUsage' function Add-VSACMPCACertificateOtherName { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.OtherName resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.OtherName resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-othername.html .PARAMETER TypeId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-othername.html#cfn-acmpca-certificate-othername-typeid UpdateType: Immutable PrimitiveType: String .PARAMETER Value Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-othername.html#cfn-acmpca-certificate-othername-value UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateOtherName])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $TypeId, [parameter(Mandatory = $true)] [object] $Value ) Process { $obj = [ACMPCACertificateOtherName]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateOtherName' function Add-VSACMPCACertificatePolicyInformation { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.PolicyInformation resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.PolicyInformation resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyinformation.html .PARAMETER CertPolicyId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyinformation.html#cfn-acmpca-certificate-policyinformation-certpolicyid UpdateType: Immutable PrimitiveType: String .PARAMETER PolicyQualifiers Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyinformation.html#cfn-acmpca-certificate-policyinformation-policyqualifiers UpdateType: Immutable Type: List ItemType: PolicyQualifierInfo .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificatePolicyInformation])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $CertPolicyId, [parameter(Mandatory = $false)] [object] $PolicyQualifiers ) Process { $obj = [ACMPCACertificatePolicyInformation]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificatePolicyInformation' function Add-VSACMPCACertificatePolicyQualifierInfo { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.PolicyQualifierInfo resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.PolicyQualifierInfo resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyqualifierinfo.html .PARAMETER PolicyQualifierId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyqualifierinfo.html#cfn-acmpca-certificate-policyqualifierinfo-policyqualifierid UpdateType: Immutable PrimitiveType: String .PARAMETER Qualifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-policyqualifierinfo.html#cfn-acmpca-certificate-policyqualifierinfo-qualifier UpdateType: Immutable Type: Qualifier .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificatePolicyQualifierInfo])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $PolicyQualifierId, [parameter(Mandatory = $true)] $Qualifier ) Process { $obj = [ACMPCACertificatePolicyQualifierInfo]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificatePolicyQualifierInfo' function Add-VSACMPCACertificateQualifier { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.Qualifier resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.Qualifier resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-qualifier.html .PARAMETER CpsUri Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-qualifier.html#cfn-acmpca-certificate-qualifier-cpsuri UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateQualifier])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $CpsUri ) Process { $obj = [ACMPCACertificateQualifier]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateQualifier' function Add-VSACMPCACertificateSubject { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.Subject resource property to the template. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.Subject resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html .PARAMETER Country Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-country UpdateType: Immutable PrimitiveType: String .PARAMETER Organization Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-organization UpdateType: Immutable PrimitiveType: String .PARAMETER OrganizationalUnit Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-organizationalunit UpdateType: Immutable PrimitiveType: String .PARAMETER DistinguishedNameQualifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-distinguishednamequalifier UpdateType: Immutable PrimitiveType: String .PARAMETER State Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-state UpdateType: Immutable PrimitiveType: String .PARAMETER CommonName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-commonname UpdateType: Immutable PrimitiveType: String .PARAMETER SerialNumber Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-serialnumber UpdateType: Immutable PrimitiveType: String .PARAMETER Locality Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-locality UpdateType: Immutable PrimitiveType: String .PARAMETER Title Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-title UpdateType: Immutable PrimitiveType: String .PARAMETER Surname Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-surname UpdateType: Immutable PrimitiveType: String .PARAMETER GivenName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-givenname UpdateType: Immutable PrimitiveType: String .PARAMETER Initials Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-initials UpdateType: Immutable PrimitiveType: String .PARAMETER Pseudonym Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-pseudonym UpdateType: Immutable PrimitiveType: String .PARAMETER GenerationQualifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-subject.html#cfn-acmpca-certificate-subject-generationqualifier UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateSubject])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Country, [parameter(Mandatory = $false)] [object] $Organization, [parameter(Mandatory = $false)] [object] $OrganizationalUnit, [parameter(Mandatory = $false)] [object] $DistinguishedNameQualifier, [parameter(Mandatory = $false)] [object] $State, [parameter(Mandatory = $false)] [object] $CommonName, [parameter(Mandatory = $false)] [object] $SerialNumber, [parameter(Mandatory = $false)] [object] $Locality, [parameter(Mandatory = $false)] [object] $Title, [parameter(Mandatory = $false)] [object] $Surname, [parameter(Mandatory = $false)] [object] $GivenName, [parameter(Mandatory = $false)] [object] $Initials, [parameter(Mandatory = $false)] [object] $Pseudonym, [parameter(Mandatory = $false)] [object] $GenerationQualifier ) Process { $obj = [ACMPCACertificateSubject]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateSubject' function Add-VSACMPCACertificateValidity { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate.Validity resource property to the template. The period of time during which a certificate issued by your private certificate authority (CA is valid. The expiration can be absolute (expressed as an explicit date and time or relative (expressed as a period of time after issuance in days, months, or years. For more information, see Validity: https://tools.ietf.org/html/rfc5280#section-4.1.2.5 in RFC 5280. .DESCRIPTION Adds an AWS::ACMPCA::Certificate.Validity resource property to the template. The period of time during which a certificate issued by your private certificate authority (CA is valid. The expiration can be absolute (expressed as an explicit date and time or relative (expressed as a period of time after issuance in days, months, or years. For more information, see Validity: https://tools.ietf.org/html/rfc5280#section-4.1.2.5 in RFC 5280. You can issue a certificate by calling the IssueCertificate: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html action. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-validity.html .PARAMETER Value Time period. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-validity.html#cfn-acmpca-certificate-validity-value UpdateType: Immutable PrimitiveType: Double .PARAMETER Type Determines how *ACM Private CA* interprets the Value parameter, an integer. Supported validity types include those listed below. Type definitions with absolute values include a sample input value and the resulting output. END_DATE: Absolute value, using UTCTime YYMMDDHHMMSS or GeneralizedTime YYYYMMDDHHMMSS format. + Sample input value: 491231235959 UTCTime format + Output date: 12/31/2049 23:59:59 ABSOLUTE: Absolute value, expressed as the number of seconds since the Unix epoch. + Sample input value: 2524608000 + Output date: 01/01/2050 00:00:00 DAYS, MONTHS, YEARS: Relative values, setting expiration as a number of days, months, or years after certificate issuance. Note: When UTCTime is used, if the year field YY is greater than or equal to 50, the year is interpreted as 19YY. If the year field is less than 50, the year is interpreted as 20YY. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-validity.html#cfn-acmpca-certificate-validity-type UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateValidity])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $Value, [parameter(Mandatory = $true)] [object] $Type ) Process { $obj = [ACMPCACertificateValidity]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSACMPCACertificateValidity' function New-VSACMPCACertificate { <# .SYNOPSIS Adds an AWS::ACMPCA::Certificate resource to the template. The AWS::ACMPCA::Certificate resource is used to issue a certificate using your private certificate authority. For more information, see the IssueCertificate: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html action. .DESCRIPTION Adds an AWS::ACMPCA::Certificate resource to the template. The AWS::ACMPCA::Certificate resource is used to issue a certificate using your private certificate authority. For more information, see the IssueCertificate: https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html action. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER ApiPassthrough The issued Base64 PEM-encoded certificate. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-apipassthrough UpdateType: Immutable Type: ApiPassthrough .PARAMETER CertificateAuthorityArn The Amazon Resource Name ARN for the private CA used to issue the certificate. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificateauthorityarn UpdateType: Immutable PrimitiveType: String .PARAMETER CertificateSigningRequest The certificate signing request CSR for the certificate. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificatesigningrequest UpdateType: Immutable PrimitiveType: String .PARAMETER SigningAlgorithm The name of the algorithm that will be used to sign the certificate to be issued. This parameter should not be confused with the SigningAlgorithm parameter used to sign a CSR. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-signingalgorithm UpdateType: Immutable PrimitiveType: String .PARAMETER TemplateArn Specifies a custom configuration template to use when issuing a certificate. If this parameter is not provided, ACM Private CA defaults to the EndEntityCertificate/V1 template. For more information about ACM Private CA templates, see Using Templates: https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-templatearn UpdateType: Immutable PrimitiveType: String .PARAMETER Validity The period of time during which the certificate will be valid. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-validity UpdateType: Immutable Type: Validity .PARAMETER ValidityNotBefore The issued Base64 PEM-encoded certificate. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-validitynotbefore UpdateType: Immutable Type: Validity .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificate])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $false)] $ApiPassthrough, [parameter(Mandatory = $true)] [object] $CertificateAuthorityArn, [parameter(Mandatory = $true)] [object] $CertificateSigningRequest, [parameter(Mandatory = $true)] [object] $SigningAlgorithm, [parameter(Mandatory = $false)] [object] $TemplateArn, [parameter(Mandatory = $true)] $Validity, [parameter(Mandatory = $false)] $ValidityNotBefore, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [ACMPCACertificate]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSACMPCACertificate' function New-VSACMPCACertificateAuthority { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthority resource to the template. Use the AWS::ACMPCA::CertificateAuthority resource to create a private CA. Once the CA exists, you can use the AWS::ACMPCA::Certificate resource to issue a new CA certificate. Alternatively, you can issue a CA certificate using an on-premises CA, and then use the AWS::ACMPCA::CertificateAuthorityActivation resource to import the new CA certificate and activate the CA. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthority resource to the template. Use the AWS::ACMPCA::CertificateAuthority resource to create a private CA. Once the CA exists, you can use the AWS::ACMPCA::Certificate resource to issue a new CA certificate. Alternatively, you can issue a CA certificate using an on-premises CA, and then use the AWS::ACMPCA::CertificateAuthorityActivation resource to import the new CA certificate and activate the CA. **Note** Before removing a AWS::ACMPCA::CertificateAuthority resource from the CloudFormation stack, disable the affected CA. Otherwise, the action will fail. You can disable the CA by removing its associated AWS::ACMPCA::CertificateAuthorityActivation resource from CloudFormation. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Type Type of your private CA. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-type UpdateType: Immutable PrimitiveType: String .PARAMETER KeyAlgorithm Type of the public key algorithm and size, in bits, of the key pair that your CA creates when it issues a certificate. When you create a subordinate CA, you must use a key algorithm supported by the parent CA. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-keyalgorithm UpdateType: Immutable PrimitiveType: String .PARAMETER SigningAlgorithm Name of the algorithm your private CA uses to sign certificate requests. This parameter should not be confused with the SigningAlgorithm parameter used to sign certificates when they are issued. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-signingalgorithm UpdateType: Immutable PrimitiveType: String .PARAMETER Subject Structure that contains X.500 distinguished name information for your private CA. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-subject UpdateType: Immutable Type: Subject .PARAMETER RevocationConfiguration Information about the certificate revocation list CRL created and maintained by your private CA. Certificate revocation information used by the CreateCertificateAuthority and UpdateCertificateAuthority actions. Your certificate authority can create and maintain a certificate revocation list CRL. A CRL contains information about certificates that have been revoked. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-revocationconfiguration UpdateType: Mutable Type: RevocationConfiguration .PARAMETER Tags Key-value pairs that will be attached to the new private CA. You can associate up to 50 tags with a private CA. For information using tags with IAM to manage permissions, see Controlling Access Using IAM Tags: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-tags UpdateType: Mutable Type: List ItemType: Tag .PARAMETER CsrExtensions Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-csrextensions UpdateType: Immutable Type: CsrExtensions .PARAMETER KeyStorageSecurityStandard Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html#cfn-acmpca-certificateauthority-keystoragesecuritystandard UpdateType: Immutable PrimitiveType: String .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthority])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] [object] $Type, [parameter(Mandatory = $true)] [object] $KeyAlgorithm, [parameter(Mandatory = $true)] [object] $SigningAlgorithm, [parameter(Mandatory = $true)] $Subject, [parameter(Mandatory = $false)] $RevocationConfiguration, [TransformTag()] [object] [parameter(Mandatory = $false)] $Tags, [parameter(Mandatory = $false)] $CsrExtensions, [parameter(Mandatory = $false)] [object] $KeyStorageSecurityStandard, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [ACMPCACertificateAuthority]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSACMPCACertificateAuthority' function New-VSACMPCACertificateAuthorityActivation { <# .SYNOPSIS Adds an AWS::ACMPCA::CertificateAuthorityActivation resource to the template. The AWS::ACMPCA::CertificateAuthorityActivation resource creates and installs a CA certificate on a CA. If no status is specified, the AWS::ACMPCA::CertificateAuthorityActivation resource status defaults to ACTIVE. Once the CA has a CA certificate installed, you can use the resource to toggle the CA status field between ACTIVE and DISABLED. .DESCRIPTION Adds an AWS::ACMPCA::CertificateAuthorityActivation resource to the template. The AWS::ACMPCA::CertificateAuthorityActivation resource creates and installs a CA certificate on a CA. If no status is specified, the AWS::ACMPCA::CertificateAuthorityActivation resource status defaults to ACTIVE. Once the CA has a CA certificate installed, you can use the resource to toggle the CA status field between ACTIVE and DISABLED. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER CertificateAuthorityArn The Amazon Resource Name ARN of your private CA. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html#cfn-acmpca-certificateauthorityactivation-certificateauthorityarn UpdateType: Immutable PrimitiveType: String .PARAMETER Certificate The Base64 PEM-encoded certificate authority certificate. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html#cfn-acmpca-certificateauthorityactivation-certificate UpdateType: Mutable PrimitiveType: String .PARAMETER CertificateChain The Base64 PEM-encoded certificate chain that chains up to the root CA certificate that you used to sign your private CA certificate. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html#cfn-acmpca-certificateauthorityactivation-certificatechain UpdateType: Mutable PrimitiveType: String .PARAMETER Status Status of your private CA. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html#cfn-acmpca-certificateauthorityactivation-status UpdateType: Mutable PrimitiveType: String .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCACertificateAuthorityActivation])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] [object] $CertificateAuthorityArn, [parameter(Mandatory = $true)] [object] $Certificate, [parameter(Mandatory = $false)] [object] $CertificateChain, [parameter(Mandatory = $false)] [object] $Status, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [ACMPCACertificateAuthorityActivation]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSACMPCACertificateAuthorityActivation' function New-VSACMPCAPermission { <# .SYNOPSIS Adds an AWS::ACMPCA::Permission resource to the template. .DESCRIPTION Adds an AWS::ACMPCA::Permission resource to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Actions Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html#cfn-acmpca-permission-actions UpdateType: Immutable Type: List PrimitiveItemType: String .PARAMETER CertificateAuthorityArn Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html#cfn-acmpca-permission-certificateauthorityarn UpdateType: Immutable PrimitiveType: String .PARAMETER Principal Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html#cfn-acmpca-permission-principal UpdateType: Immutable PrimitiveType: String .PARAMETER SourceAccount Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html#cfn-acmpca-permission-sourceaccount UpdateType: Immutable PrimitiveType: String .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([ACMPCAPermission])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] $Actions, [parameter(Mandatory = $true)] [object] $CertificateAuthorityArn, [parameter(Mandatory = $true)] [object] $Principal, [parameter(Mandatory = $false)] [object] $SourceAccount, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [ACMPCAPermission]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSACMPCAPermission' |