VaporShell.SecretsManager.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 'SecretsManagerRotationScheduleRotationRules'"

class SecretsManagerRotationScheduleRotationRules : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSecretsManagerRotationScheduleRotationRules'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html'

    hidden [object] $_scheduleExpression
    hidden [object] $_duration
    hidden [object] $_automaticallyAfterDays

    [string] $ScheduleExpression
    [string] $Duration
    [int] $AutomaticallyAfterDays

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

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

Write-Verbose "Importing class 'SecretsManagerSecretReplicaRegion'"

class SecretsManagerSecretReplicaRegion : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSecretsManagerSecretReplicaRegion'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-replicaregion.html'

    hidden [object] $_kmsKeyId
    hidden [object] $_region

    [string] $KmsKeyId
    [string] $Region

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

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

Write-Verbose "Importing class 'SecretsManagerRotationScheduleHostedRotationLambda'"

class SecretsManagerRotationScheduleHostedRotationLambda : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSecretsManagerRotationScheduleHostedRotationLambda'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html'

    hidden [object] $_rotationType
    hidden [object] $_rotationLambdaName
    hidden [object] $_kmsKeyArn
    hidden [object] $_masterSecretArn
    hidden [object] $_vpcSecurityGroupIds
    hidden [object] $_masterSecretKmsKeyArn
    hidden [object] $_superuserSecretArn
    hidden [object] $_superuserSecretKmsKeyArn
    hidden [object] $_vpcSubnetIds

    [string] $RotationType
    [string] $RotationLambdaName
    [string] $KmsKeyArn
    [string] $MasterSecretArn
    [string] $VpcSecurityGroupIds
    [string] $MasterSecretKmsKeyArn
    [string] $SuperuserSecretArn
    [string] $SuperuserSecretKmsKeyArn
    [string] $VpcSubnetIds

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name RotationType -Value {
            $this._rotationType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._rotationType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RotationLambdaName -Value {
            $this._rotationLambdaName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._rotationLambdaName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KmsKeyArn -Value {
            $this._kmsKeyArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._kmsKeyArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MasterSecretArn -Value {
            $this._masterSecretArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._masterSecretArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VpcSecurityGroupIds -Value {
            $this._vpcSecurityGroupIds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._vpcSecurityGroupIds = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MasterSecretKmsKeyArn -Value {
            $this._masterSecretKmsKeyArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._masterSecretKmsKeyArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SuperuserSecretArn -Value {
            $this._superuserSecretArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._superuserSecretArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SuperuserSecretKmsKeyArn -Value {
            $this._superuserSecretKmsKeyArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._superuserSecretKmsKeyArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VpcSubnetIds -Value {
            $this._vpcSubnetIds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._vpcSubnetIds = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'SecretsManagerSecretGenerateSecretString'"

class SecretsManagerSecretGenerateSecretString : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSecretsManagerSecretGenerateSecretString'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html'

    hidden [object] $_excludeUppercase
    hidden [object] $_requireEachIncludedType
    hidden [object] $_includeSpace
    hidden [object] $_excludeCharacters
    hidden [object] $_generateStringKey
    hidden [object] $_passwordLength
    hidden [object] $_excludePunctuation
    hidden [object] $_excludeLowercase
    hidden [object] $_secretStringTemplate
    hidden [object] $_excludeNumbers

    [bool] $ExcludeUppercase
    [bool] $RequireEachIncludedType
    [bool] $IncludeSpace
    [string] $ExcludeCharacters
    [string] $GenerateStringKey
    [int] $PasswordLength
    [bool] $ExcludePunctuation
    [bool] $ExcludeLowercase
    [string] $SecretStringTemplate
    [bool] $ExcludeNumbers

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExcludeUppercase -Value {
            $this._excludeUppercase
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._excludeUppercase = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RequireEachIncludedType -Value {
            $this._requireEachIncludedType
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._requireEachIncludedType = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IncludeSpace -Value {
            $this._includeSpace
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._includeSpace = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExcludeCharacters -Value {
            $this._excludeCharacters
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._excludeCharacters = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GenerateStringKey -Value {
            $this._generateStringKey
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._generateStringKey = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PasswordLength -Value {
            $this._passwordLength
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._passwordLength = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExcludePunctuation -Value {
            $this._excludePunctuation
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._excludePunctuation = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExcludeLowercase -Value {
            $this._excludeLowercase
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._excludeLowercase = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretStringTemplate -Value {
            $this._secretStringTemplate
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretStringTemplate = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExcludeNumbers -Value {
            $this._excludeNumbers
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._excludeNumbers = $value
        }
    }

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

Write-Verbose "Importing class 'SecretsManagerRotationSchedule'"

class SecretsManagerRotationSchedule : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSecretsManagerRotationSchedule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SecretsManager::RotationSchedule'
    [string] $SecretId
    [SecretsManagerRotationScheduleHostedRotationLambda] $HostedRotationLambda
    [string] $RotationLambdaARN
    [SecretsManagerRotationScheduleRotationRules] $RotationRules
    [bool] $RotateImmediatelyOnUpdate
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretId -Value {
            $this.Properties['SecretId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SecretId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HostedRotationLambda -Value {
            $this.Properties['HostedRotationLambda']
        } -SecondValue {
            param([ValidateType(([SecretsManagerRotationScheduleHostedRotationLambda], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HostedRotationLambda'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RotationLambdaARN -Value {
            $this.Properties['RotationLambdaARN']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RotationLambdaARN'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RotationRules -Value {
            $this.Properties['RotationRules']
        } -SecondValue {
            param([ValidateType(([SecretsManagerRotationScheduleRotationRules], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RotationRules'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RotateImmediatelyOnUpdate -Value {
            $this.Properties['RotateImmediatelyOnUpdate']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RotateImmediatelyOnUpdate'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'SecretsManagerSecret'"

class SecretsManagerSecret : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSecretsManagerSecret'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SecretsManager::Secret'
    [string] $Description
    [string] $KmsKeyId
    [string] $SecretString
    [SecretsManagerSecretGenerateSecretString] $GenerateSecretString
    [SecretsManagerSecretReplicaRegion[]] $ReplicaRegions
    [VSTag[]] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KmsKeyId -Value {
            $this.Properties['KmsKeyId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KmsKeyId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretString -Value {
            $this.Properties['SecretString']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SecretString'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GenerateSecretString -Value {
            $this.Properties['GenerateSecretString']
        } -SecondValue {
            param([ValidateType(([SecretsManagerSecretGenerateSecretString], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GenerateSecretString'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ReplicaRegions -Value {
            $this.Properties['ReplicaRegions']
        } -SecondValue {
            param([ValidateType(([SecretsManagerSecretReplicaRegion], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['ReplicaRegions'] = $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 Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = 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
        }
    }

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

Write-Verbose "Importing class 'SecretsManagerResourcePolicy'"

class SecretsManagerResourcePolicy : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSecretsManagerResourcePolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SecretsManager::ResourcePolicy'
    [bool] $BlockPublicPolicy
    [string] $SecretId
    [VSJson] $ResourcePolicy
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name BlockPublicPolicy -Value {
            $this.Properties['BlockPublicPolicy']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['BlockPublicPolicy'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretId -Value {
            $this.Properties['SecretId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SecretId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourcePolicy -Value {
            $this.Properties['ResourcePolicy']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['ResourcePolicy'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['ResourcePolicy']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'SecretsManagerSecretTargetAttachment'"

class SecretsManagerSecretTargetAttachment : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSecretsManagerSecretTargetAttachment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SecretsManager::SecretTargetAttachment'
    [string] $SecretId
    [string] $TargetType
    [string] $TargetId
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretId -Value {
            $this.Properties['SecretId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SecretId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TargetType -Value {
            $this.Properties['TargetType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TargetType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TargetId -Value {
            $this.Properties['TargetId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TargetId'] = 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
        }
    }

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