VaporShell.ACMPCA.Classes.ps1

using namespace System
using namespace System.Collections
using namespace System.Collections.Generic
using namespace System.IO
using namespace System.Management.Automation
[CmdletBinding()]
Param()

Write-Verbose "Importing class 'ACMPCACertificateAuthorityRevocationConfiguration'"

class ACMPCACertificateAuthorityRevocationConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityRevocationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-revocationconfiguration.html'

    hidden [object] $_crlConfiguration

    [ACMPCACertificateAuthorityCrlConfiguration] $CrlConfiguration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CrlConfiguration -Value {
            $this._crlConfiguration
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityCrlConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._crlConfiguration = $value
        }
    }

    ACMPCACertificateAuthorityRevocationConfiguration() : base() {}
    ACMPCACertificateAuthorityRevocationConfiguration([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityRevocationConfiguration([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityKeyUsage'"

class ACMPCACertificateAuthorityKeyUsage : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityKeyUsage'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-keyusage.html'

    hidden [object] $_digitalSignature
    hidden [object] $_nonRepudiation
    hidden [object] $_keyEncipherment
    hidden [object] $_dataEncipherment
    hidden [object] $_keyAgreement
    hidden [object] $_keyCertSign
    hidden [object] $_cRLSign
    hidden [object] $_encipherOnly
    hidden [object] $_decipherOnly

    [bool] $DigitalSignature
    [bool] $NonRepudiation
    [bool] $KeyEncipherment
    [bool] $DataEncipherment
    [bool] $KeyAgreement
    [bool] $KeyCertSign
    [bool] $CRLSign
    [bool] $EncipherOnly
    [bool] $DecipherOnly

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DigitalSignature -Value {
            $this._digitalSignature
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._digitalSignature = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NonRepudiation -Value {
            $this._nonRepudiation
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._nonRepudiation = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyEncipherment -Value {
            $this._keyEncipherment
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._keyEncipherment = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DataEncipherment -Value {
            $this._dataEncipherment
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dataEncipherment = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyAgreement -Value {
            $this._keyAgreement
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._keyAgreement = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyCertSign -Value {
            $this._keyCertSign
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._keyCertSign = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CRLSign -Value {
            $this._cRLSign
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cRLSign = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EncipherOnly -Value {
            $this._encipherOnly
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._encipherOnly = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DecipherOnly -Value {
            $this._decipherOnly
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._decipherOnly = $value
        }
    }

    ACMPCACertificateAuthorityKeyUsage() : base() {}
    ACMPCACertificateAuthorityKeyUsage([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityKeyUsage([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityCsrExtensions'"

class ACMPCACertificateAuthorityCsrExtensions : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityCsrExtensions'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-csrextensions.html'

    hidden [object] $_keyUsage
    hidden [object] $_subjectInformationAccess

    [ACMPCACertificateAuthorityKeyUsage] $KeyUsage
    [ACMPCACertificateAuthoritySubjectInformationAccess] $SubjectInformationAccess

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyUsage -Value {
            $this._keyUsage
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityKeyUsage], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._keyUsage = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubjectInformationAccess -Value {
            $this._subjectInformationAccess
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthoritySubjectInformationAccess], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._subjectInformationAccess = $value
        }
    }

    ACMPCACertificateAuthorityCsrExtensions() : base() {}
    ACMPCACertificateAuthorityCsrExtensions([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityCsrExtensions([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityAccessDescription'"

class ACMPCACertificateAuthorityAccessDescription : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityAccessDescription'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessdescription.html'

    hidden [object] $_accessMethod
    hidden [object] $_accessLocation

    [ACMPCACertificateAuthorityAccessMethod] $AccessMethod
    [ACMPCACertificateAuthorityGeneralName] $AccessLocation

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessMethod -Value {
            $this._accessMethod
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityAccessMethod], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessMethod = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessLocation -Value {
            $this._accessLocation
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityGeneralName], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessLocation = $value
        }
    }

    ACMPCACertificateAuthorityAccessDescription() : base() {}
    ACMPCACertificateAuthorityAccessDescription([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityAccessDescription([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthoritySubjectInformationAccess'"

class ACMPCACertificateAuthoritySubjectInformationAccess : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthoritySubjectInformationAccess'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subjectinformationaccess.html'

    hidden [object] $_subjectInformationAccess

    [ACMPCACertificateAuthorityAccessDescription[]] $SubjectInformationAccess

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubjectInformationAccess -Value {
            $this._subjectInformationAccess
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityAccessDescription], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._subjectInformationAccess = $value
        }
    }

    ACMPCACertificateAuthoritySubjectInformationAccess() : base() {}
    ACMPCACertificateAuthoritySubjectInformationAccess([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthoritySubjectInformationAccess([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityEdiPartyName'"

class ACMPCACertificateAuthorityEdiPartyName : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityEdiPartyName'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-edipartyname.html'

    hidden [object] $_partyName
    hidden [object] $_nameAssigner

    [string] $PartyName
    [string] $NameAssigner

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name PartyName -Value {
            $this._partyName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._partyName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NameAssigner -Value {
            $this._nameAssigner
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._nameAssigner = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ACMPCACertificateAuthorityEdiPartyName() : base() {}
    ACMPCACertificateAuthorityEdiPartyName([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityEdiPartyName([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthoritySubject'"

class ACMPCACertificateAuthoritySubject : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthoritySubject'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-subject.html'

    hidden [object] $_country
    hidden [object] $_organization
    hidden [object] $_organizationalUnit
    hidden [object] $_distinguishedNameQualifier
    hidden [object] $_state
    hidden [object] $_commonName
    hidden [object] $_serialNumber
    hidden [object] $_locality
    hidden [object] $_title
    hidden [object] $_surname
    hidden [object] $_givenName
    hidden [object] $_initials
    hidden [object] $_pseudonym
    hidden [object] $_generationQualifier

    [string] $Country
    [string] $Organization
    [string] $OrganizationalUnit
    [string] $DistinguishedNameQualifier
    [string] $State
    [string] $CommonName
    [string] $SerialNumber
    [string] $Locality
    [string] $Title
    [string] $Surname
    [string] $GivenName
    [string] $Initials
    [string] $Pseudonym
    [string] $GenerationQualifier

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Country -Value {
            $this._country
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._country = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Organization -Value {
            $this._organization
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._organization = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OrganizationalUnit -Value {
            $this._organizationalUnit
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._organizationalUnit = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DistinguishedNameQualifier -Value {
            $this._distinguishedNameQualifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._distinguishedNameQualifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name State -Value {
            $this._state
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._state = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CommonName -Value {
            $this._commonName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._commonName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SerialNumber -Value {
            $this._serialNumber
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._serialNumber = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Locality -Value {
            $this._locality
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._locality = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Title -Value {
            $this._title
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._title = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Surname -Value {
            $this._surname
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._surname = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GivenName -Value {
            $this._givenName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._givenName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Initials -Value {
            $this._initials
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._initials = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Pseudonym -Value {
            $this._pseudonym
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._pseudonym = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GenerationQualifier -Value {
            $this._generationQualifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._generationQualifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ACMPCACertificateAuthoritySubject() : base() {}
    ACMPCACertificateAuthoritySubject([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthoritySubject([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityAccessMethod'"

class ACMPCACertificateAuthorityAccessMethod : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityAccessMethod'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-accessmethod.html'

    hidden [object] $_customObjectIdentifier
    hidden [object] $_accessMethodType

    [string] $CustomObjectIdentifier
    [string] $AccessMethodType

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CustomObjectIdentifier -Value {
            $this._customObjectIdentifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._customObjectIdentifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessMethodType -Value {
            $this._accessMethodType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessMethodType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ACMPCACertificateAuthorityAccessMethod() : base() {}
    ACMPCACertificateAuthorityAccessMethod([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityAccessMethod([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateValidity'"

class ACMPCACertificateValidity : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateValidity'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-validity.html'

    hidden [object] $_value
    hidden [object] $_type

    [int] $Value
    [string] $Type

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Value -Value {
            $this._value
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._value = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Type -Value {
            $this._type
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._type = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ACMPCACertificateValidity() : base() {}
    ACMPCACertificateValidity([IDictionary] $props) : base($props) {}
    ACMPCACertificateValidity([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityOtherName'"

class ACMPCACertificateAuthorityOtherName : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityOtherName'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-othername.html'

    hidden [object] $_typeId
    hidden [object] $_value

    [string] $TypeId
    [string] $Value

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name TypeId -Value {
            $this._typeId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._typeId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Value -Value {
            $this._value
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._value = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ACMPCACertificateAuthorityOtherName() : base() {}
    ACMPCACertificateAuthorityOtherName([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityOtherName([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityCrlConfiguration'"

class ACMPCACertificateAuthorityCrlConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityCrlConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-crlconfiguration.html'

    hidden [object] $_enabled
    hidden [object] $_expirationInDays
    hidden [object] $_customCname
    hidden [object] $_s3BucketName

    [bool] $Enabled
    [int] $ExpirationInDays
    [string] $CustomCname
    [string] $S3BucketName

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Enabled -Value {
            $this._enabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._enabled = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExpirationInDays -Value {
            $this._expirationInDays
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._expirationInDays = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CustomCname -Value {
            $this._customCname
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._customCname = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3BucketName -Value {
            $this._s3BucketName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3BucketName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ACMPCACertificateAuthorityCrlConfiguration() : base() {}
    ACMPCACertificateAuthorityCrlConfiguration([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityCrlConfiguration([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityGeneralName'"

class ACMPCACertificateAuthorityGeneralName : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSACMPCACertificateAuthorityGeneralName'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificateauthority-generalname.html'

    hidden [object] $_otherName
    hidden [object] $_rfc822Name
    hidden [object] $_dnsName
    hidden [object] $_directoryName
    hidden [object] $_ediPartyName
    hidden [object] $_uniformResourceIdentifier
    hidden [object] $_ipAddress
    hidden [object] $_registeredId

    [ACMPCACertificateAuthorityOtherName] $OtherName
    [string] $Rfc822Name
    [string] $DnsName
    [ACMPCACertificateAuthoritySubject] $DirectoryName
    [ACMPCACertificateAuthorityEdiPartyName] $EdiPartyName
    [string] $UniformResourceIdentifier
    [string] $IpAddress
    [string] $RegisteredId

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name OtherName -Value {
            $this._otherName
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityOtherName], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._otherName = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Rfc822Name -Value {
            $this._rfc822Name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._rfc822Name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DnsName -Value {
            $this._dnsName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dnsName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DirectoryName -Value {
            $this._directoryName
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthoritySubject], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._directoryName = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EdiPartyName -Value {
            $this._ediPartyName
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityEdiPartyName], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._ediPartyName = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name UniformResourceIdentifier -Value {
            $this._uniformResourceIdentifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._uniformResourceIdentifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IpAddress -Value {
            $this._ipAddress
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._ipAddress = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RegisteredId -Value {
            $this._registeredId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._registeredId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ACMPCACertificateAuthorityGeneralName() : base() {}
    ACMPCACertificateAuthorityGeneralName([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityGeneralName([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthority'"

class ACMPCACertificateAuthority : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSACMPCACertificateAuthority'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html'

    hidden [string[]] $_attributes = @('Arn','CertificateSigningRequest')
    hidden [object] $_condition

    [string] $Type = 'AWS::ACMPCA::CertificateAuthority'
    [string] $CertificateAuthorityType
    [string] $KeyAlgorithm
    [string] $SigningAlgorithm
    [ACMPCACertificateAuthoritySubject] $Subject
    [ACMPCACertificateAuthorityRevocationConfiguration] $RevocationConfiguration
    [VSTag[]] $Tags
    [ACMPCACertificateAuthorityCsrExtensions] $CsrExtensions
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name CertificateAuthorityType -Value {
            $this.Properties['CertificateAuthorityType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CertificateAuthorityType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyAlgorithm -Value {
            $this.Properties['KeyAlgorithm']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KeyAlgorithm'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SigningAlgorithm -Value {
            $this.Properties['SigningAlgorithm']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SigningAlgorithm'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Subject -Value {
            $this.Properties['Subject']
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthoritySubject], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Subject'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RevocationConfiguration -Value {
            $this.Properties['RevocationConfiguration']
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityRevocationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RevocationConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CsrExtensions -Value {
            $this.Properties['CsrExtensions']
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateAuthorityCsrExtensions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CsrExtensions'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    ACMPCACertificateAuthority() : base() {}
    ACMPCACertificateAuthority([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthority([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificateAuthorityActivation'"

class ACMPCACertificateAuthorityActivation : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSACMPCACertificateAuthorityActivation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html'

    hidden [string[]] $_attributes = @('CompleteCertificateChain')
    hidden [object] $_condition

    [string] $Type = 'AWS::ACMPCA::CertificateAuthorityActivation'
    [string] $CertificateAuthorityArn
    [string] $Certificate
    [string] $CertificateChain
    [string] $Status
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name CertificateAuthorityArn -Value {
            $this.Properties['CertificateAuthorityArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CertificateAuthorityArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Certificate -Value {
            $this.Properties['Certificate']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Certificate'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CertificateChain -Value {
            $this.Properties['CertificateChain']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CertificateChain'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Status -Value {
            $this.Properties['Status']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Status'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    ACMPCACertificateAuthorityActivation() : base() {}
    ACMPCACertificateAuthorityActivation([IDictionary] $props) : base($props) {}
    ACMPCACertificateAuthorityActivation([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ACMPCACertificate'"

class ACMPCACertificate : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSACMPCACertificate'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html'

    hidden [string[]] $_attributes = @('Certificate','Arn')
    hidden [object] $_condition

    [string] $Type = 'AWS::ACMPCA::Certificate'
    [string] $CertificateAuthorityArn
    [string] $CertificateSigningRequest
    [string] $SigningAlgorithm
    [string] $TemplateArn
    [ACMPCACertificateValidity] $Validity
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name CertificateAuthorityArn -Value {
            $this.Properties['CertificateAuthorityArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CertificateAuthorityArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CertificateSigningRequest -Value {
            $this.Properties['CertificateSigningRequest']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CertificateSigningRequest'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SigningAlgorithm -Value {
            $this.Properties['SigningAlgorithm']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SigningAlgorithm'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TemplateArn -Value {
            $this.Properties['TemplateArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TemplateArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Validity -Value {
            $this.Properties['Validity']
        } -SecondValue {
            param([ValidateType(([ACMPCACertificateValidity], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Validity'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    ACMPCACertificate() : base() {}
    ACMPCACertificate([IDictionary] $props) : base($props) {}
    ACMPCACertificate([psobject] $props) : base($props) {}
}