VaporShell.SSMIncidents.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 'SSMIncidentsResponsePlanSsmAutomation'"

class SSMIncidentsResponsePlanSsmAutomation : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSMIncidentsResponsePlanSsmAutomation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-ssmautomation.html'

    hidden [object] $_roleArn
    hidden [object] $_documentName
    hidden [object] $_documentVersion
    hidden [object] $_targetAccount
    hidden [object] $_parameters

    [string] $RoleArn
    [string] $DocumentName
    [string] $DocumentVersion
    [string] $TargetAccount
    [SSMIncidentsResponsePlanSsmParameter[]] $Parameters

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this._roleArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._roleArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DocumentName -Value {
            $this._documentName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._documentName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DocumentVersion -Value {
            $this._documentVersion
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._documentVersion = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TargetAccount -Value {
            $this._targetAccount
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._targetAccount = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Parameters -Value {
            $this._parameters
        } -SecondValue {
            param([ValidateType(([SSMIncidentsResponsePlanSsmParameter], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._parameters = $value
        }
    }

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

Write-Verbose "Importing class 'SSMIncidentsResponsePlanAction'"

class SSMIncidentsResponsePlanAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSMIncidentsResponsePlanAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-action.html'

    hidden [object] $_ssmAutomation

    [SSMIncidentsResponsePlanSsmAutomation] $SsmAutomation

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

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

Write-Verbose "Importing class 'SSMIncidentsResponsePlanNotificationTargetItem'"

class SSMIncidentsResponsePlanNotificationTargetItem : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSMIncidentsResponsePlanNotificationTargetItem'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-notificationtargetitem.html'

    hidden [object] $_snsTopicArn

    [string] $SnsTopicArn

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

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

Write-Verbose "Importing class 'SSMIncidentsReplicationSetReplicationRegion'"

class SSMIncidentsReplicationSetReplicationRegion : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSMIncidentsReplicationSetReplicationRegion'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-replicationset-replicationregion.html'

    hidden [object] $_regionName
    hidden [object] $_regionConfiguration

    [string] $RegionName
    [SSMIncidentsReplicationSetRegionConfiguration] $RegionConfiguration

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

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

Write-Verbose "Importing class 'SSMIncidentsResponsePlanSsmParameter'"

class SSMIncidentsResponsePlanSsmParameter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSMIncidentsResponsePlanSsmParameter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-ssmparameter.html'

    hidden [object] $_key
    hidden [object] $_values

    [string] $Key
    [string[]] $Values

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

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

Write-Verbose "Importing class 'SSMIncidentsReplicationSetRegionConfiguration'"

class SSMIncidentsReplicationSetRegionConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSMIncidentsReplicationSetRegionConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-replicationset-regionconfiguration.html'

    hidden [object] $_sseKmsKeyId

    [string] $SseKmsKeyId

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

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

Write-Verbose "Importing class 'SSMIncidentsResponsePlanChatChannel'"

class SSMIncidentsResponsePlanChatChannel : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSMIncidentsResponsePlanChatChannel'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-chatchannel.html'

    hidden [object] $_chatbotSns

    [string[]] $ChatbotSns

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

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

Write-Verbose "Importing class 'SSMIncidentsResponsePlanIncidentTemplate'"

class SSMIncidentsResponsePlanIncidentTemplate : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSMIncidentsResponsePlanIncidentTemplate'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html'

    hidden [object] $_dedupeString
    hidden [object] $_impact
    hidden [object] $_notificationTargets
    hidden [object] $_summary
    hidden [object] $_title

    [string] $DedupeString
    [int] $Impact
    [SSMIncidentsResponsePlanNotificationTargetItem[]] $NotificationTargets
    [string] $Summary
    [string] $Title

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DedupeString -Value {
            $this._dedupeString
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dedupeString = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Impact -Value {
            $this._impact
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._impact = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NotificationTargets -Value {
            $this._notificationTargets
        } -SecondValue {
            param([ValidateType(([SSMIncidentsResponsePlanNotificationTargetItem], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._notificationTargets = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Summary -Value {
            $this._summary
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._summary = 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
            }
        }
    }

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

Write-Verbose "Importing class 'SSMIncidentsReplicationSet'"

class SSMIncidentsReplicationSet : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSSMIncidentsReplicationSet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html'

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

    [string] $Type = 'AWS::SSMIncidents::ReplicationSet'
    [SSMIncidentsReplicationSetReplicationRegion[]] $Regions
    [bool] $DeletionProtected
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Regions -Value {
            $this.Properties['Regions']
        } -SecondValue {
            param([ValidateType(([SSMIncidentsReplicationSetReplicationRegion], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Regions'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeletionProtected -Value {
            $this.Properties['DeletionProtected']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeletionProtected'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'SSMIncidentsResponsePlan'"

class SSMIncidentsResponsePlan : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSSMIncidentsResponsePlan'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html'

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

    [string] $Type = 'AWS::SSMIncidents::ResponsePlan'
    [string] $Name
    [string] $DisplayName
    [SSMIncidentsResponsePlanChatChannel] $ChatChannel
    [string[]] $Engagements
    [SSMIncidentsResponsePlanAction[]] $Actions
    [VSTag[]] $Tags
    [SSMIncidentsResponsePlanIncidentTemplate] $IncidentTemplate
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $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 DisplayName -Value {
            $this.Properties['DisplayName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DisplayName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ChatChannel -Value {
            $this.Properties['ChatChannel']
        } -SecondValue {
            param([ValidateType(([SSMIncidentsResponsePlanChatChannel], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ChatChannel'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Engagements -Value {
            $this.Properties['Engagements']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Engagements'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Actions -Value {
            $this.Properties['Actions']
        } -SecondValue {
            param([ValidateType(([SSMIncidentsResponsePlanAction], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Actions'] = $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 IncidentTemplate -Value {
            $this.Properties['IncidentTemplate']
        } -SecondValue {
            param([ValidateType(([SSMIncidentsResponsePlanIncidentTemplate], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['IncidentTemplate'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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