diff --git a/VaporShell/Public/Primary Functions/New-VaporResource.ps1 b/VaporShell/Public/Primary Functions/New-VaporResource.ps1 index 454cc3117..8f7eddb88 100644 --- a/VaporShell/Public/Primary Functions/New-VaporResource.ps1 +++ b/VaporShell/Public/Primary Functions/New-VaporResource.ps1 @@ -2,21 +2,21 @@ function New-VaporResource { <# .SYNOPSIS Adds a Resource object to the template - + .DESCRIPTION The required Resources section declares the AWS resources that you want to include in the stack, such as an Amazon EC2 instance or an Amazon S3 bucket. You must declare each resource separately; however, if you have multiple resources of the same type, you can declare them together by separating them with commas. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.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. In addition to the logical ID, certain resources also have a physical ID, which is the actual assigned name for that resource, such as an EC2 instance ID or an S3 bucket name. Use the physical IDs to identify resources outside of AWS CloudFormation templates, but only after the resources have been created. For example, you might give an EC2 instance resource a logical ID of MyEC2Instance; but when AWS CloudFormation creates the instance, AWS CloudFormation automatically generates and assigns a physical ID (such as i-28f9ba55) to the instance. You can use this physical ID to identify the instance and view its properties (such as the DNS name) by using the Amazon EC2 console. For resources that support custom names, you can assign your own names (physical IDs) to help you quickly identify resources. For example, you can name an S3 bucket that stores logs as MyPerformanceLogs. - + .PARAMETER Type The resource type identifies the type of resource that you are declaring. For example, AWS::EC2::Instance declares an EC2 instance. For a list of all of the resource types, see AWS Resource Types Reference. - + .PARAMETER Properties This is a collection of Resource properties are additional options that you can specify for a resource. For example, for each EC2 instance, you must specify an Amazon Machine Image (AMI) ID for that instance. @@ -48,7 +48,7 @@ function New-VaporResource { 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 here. - + .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. @@ -62,7 +62,7 @@ function New-VaporResource { } )) - When the template is exported, this will convert to: + When the template is exported, this will convert to: ```json { "AWSTemplateFormatVersion": "2010-09-09", @@ -77,7 +77,7 @@ function New-VaporResource { "", [ "Queue=", - { + { "Ref": "MyQueue" } ] @@ -86,8 +86,8 @@ function New-VaporResource { }, "AvailabilityZone": "us-east-1a", "ImageId": "ami-20b65349" - } - } + } + } } } ``` @@ -139,6 +139,10 @@ function New-VaporResource { [ValidateSet("Delete","Retain","Snapshot")] [System.String] $DeletionPolicy, + [parameter(Mandatory = $false)] + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, [parameter(Mandatory = $false,Position = 5)] [System.String[]] $DependsOn, @@ -185,6 +189,9 @@ function New-VaporResource { if ($DeletionPolicy) { $obj.Props | Add-Member -MemberType NoteProperty -Name "DeletionPolicy" -Value $DeletionPolicy } + if ($UpdateReplacePolicy) { + $obj.Props | Add-Member -MemberType NoteProperty -Name "UpdateReplacePolicy" -Value $UpdateReplacePolicy + } if ($DependsOn) { $obj.Props | Add-Member -MemberType NoteProperty -Name "DependsOn" -Value $DependsOn } @@ -197,4 +204,4 @@ function New-VaporResource { $obj | Add-Member -MemberType ScriptMethod -Name ToString -Value {$this.LogicalId} -Force $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource' Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" -} \ No newline at end of file +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSApiGatewayV2IntegrationTlsConfig.ps1 b/VaporShell/Public/Resource Property Types/Add-VSApiGatewayV2IntegrationTlsConfig.ps1 new file mode 100644 index 000000000..21dd347f2 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSApiGatewayV2IntegrationTlsConfig.ps1 @@ -0,0 +1,54 @@ +function Add-VSApiGatewayV2IntegrationTlsConfig { + <# + .SYNOPSIS + Adds an AWS::ApiGatewayV2::Integration.TlsConfig resource property to the template. + + .DESCRIPTION + Adds an AWS::ApiGatewayV2::Integration.TlsConfig resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html + + .PARAMETER ServerNameToVerify + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-tlsconfig.html#cfn-apigatewayv2-integration-tlsconfig-servernametoverify + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ApiGatewayV2.Integration.TlsConfig')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ServerNameToVerify + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ApiGatewayV2.Integration.TlsConfig' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupEncryptionConfiguration.ps1 b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupEncryptionConfiguration.ps1 new file mode 100644 index 000000000..11f46d654 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupEncryptionConfiguration.ps1 @@ -0,0 +1,70 @@ +function Add-VSAthenaWorkGroupEncryptionConfiguration { + <# + .SYNOPSIS + Adds an AWS::Athena::WorkGroup.EncryptionConfiguration resource property to the template. + + .DESCRIPTION + Adds an AWS::Athena::WorkGroup.EncryptionConfiguration resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html + + .PARAMETER EncryptionOption + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html#cfn-athena-workgroup-encryptionconfiguration-encryptionoption + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER KmsKey + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html#cfn-athena-workgroup-encryptionconfiguration-kmskey + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Athena.WorkGroup.EncryptionConfiguration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $EncryptionOption, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $KmsKey + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Athena.WorkGroup.EncryptionConfiguration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupResultConfiguration.ps1 b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupResultConfiguration.ps1 new file mode 100644 index 000000000..bc382732b --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupResultConfiguration.ps1 @@ -0,0 +1,61 @@ +function Add-VSAthenaWorkGroupResultConfiguration { + <# + .SYNOPSIS + Adds an AWS::Athena::WorkGroup.ResultConfiguration resource property to the template. + + .DESCRIPTION + Adds an AWS::Athena::WorkGroup.ResultConfiguration resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html + + .PARAMETER EncryptionConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-encryptionconfiguration + UpdateType: Mutable + Type: EncryptionConfiguration + + .PARAMETER OutputLocation + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-outputlocation + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Athena.WorkGroup.ResultConfiguration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + $EncryptionConfiguration, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $OutputLocation + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Athena.WorkGroup.ResultConfiguration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupResultConfigurationUpdates.ps1 b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupResultConfigurationUpdates.ps1 new file mode 100644 index 000000000..759e02a67 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupResultConfigurationUpdates.ps1 @@ -0,0 +1,93 @@ +function Add-VSAthenaWorkGroupResultConfigurationUpdates { + <# + .SYNOPSIS + Adds an AWS::Athena::WorkGroup.ResultConfigurationUpdates resource property to the template. + + .DESCRIPTION + Adds an AWS::Athena::WorkGroup.ResultConfigurationUpdates resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html + + .PARAMETER EncryptionConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-encryptionconfiguration + UpdateType: Mutable + Type: EncryptionConfiguration + + .PARAMETER OutputLocation + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-outputlocation + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER RemoveEncryptionConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-removeencryptionconfiguration + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER RemoveOutputLocation + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfigurationupdates.html#cfn-athena-workgroup-resultconfigurationupdates-removeoutputlocation + UpdateType: Mutable + PrimitiveType: Boolean + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Athena.WorkGroup.ResultConfigurationUpdates')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + $EncryptionConfiguration, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $OutputLocation, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RemoveEncryptionConfiguration, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RemoveOutputLocation + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Athena.WorkGroup.ResultConfigurationUpdates' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupTags.ps1 b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupTags.ps1 new file mode 100644 index 000000000..ee1c08098 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupTags.ps1 @@ -0,0 +1,47 @@ +function Add-VSAthenaWorkGroupTags { + <# + .SYNOPSIS + Adds an AWS::Athena::WorkGroup.Tags resource property to the template. + + .DESCRIPTION + Adds an AWS::Athena::WorkGroup.Tags resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-tags.html + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-tags.html#cfn-athena-workgroup-tags-tags + UpdateType: Mutable + Type: List + ItemType: Tag + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Athena.WorkGroup.Tags')] + [cmdletbinding()] + Param + ( + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Athena.WorkGroup.Tags' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupWorkGroupConfiguration.ps1 b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupWorkGroupConfiguration.ps1 new file mode 100644 index 000000000..8300d1d5c --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupWorkGroupConfiguration.ps1 @@ -0,0 +1,109 @@ +function Add-VSAthenaWorkGroupWorkGroupConfiguration { + <# + .SYNOPSIS + Adds an AWS::Athena::WorkGroup.WorkGroupConfiguration resource property to the template. + + .DESCRIPTION + Adds an AWS::Athena::WorkGroup.WorkGroupConfiguration resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html + + .PARAMETER BytesScannedCutoffPerQuery + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-bytesscannedcutoffperquery + UpdateType: Mutable + PrimitiveType: Integer + + .PARAMETER EnforceWorkGroupConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER PublishCloudWatchMetricsEnabled + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-publishcloudwatchmetricsenabled + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER RequesterPaysEnabled + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-requesterpaysenabled + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER ResultConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-resultconfiguration + UpdateType: Mutable + Type: ResultConfiguration + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Athena.WorkGroup.WorkGroupConfiguration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $BytesScannedCutoffPerQuery, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $EnforceWorkGroupConfiguration, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PublishCloudWatchMetricsEnabled, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RequesterPaysEnabled, + [parameter(Mandatory = $false)] + $ResultConfiguration + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Athena.WorkGroup.WorkGroupConfiguration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupWorkGroupConfigurationUpdates.ps1 b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupWorkGroupConfigurationUpdates.ps1 new file mode 100644 index 000000000..8734b3975 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSAthenaWorkGroupWorkGroupConfigurationUpdates.ps1 @@ -0,0 +1,125 @@ +function Add-VSAthenaWorkGroupWorkGroupConfigurationUpdates { + <# + .SYNOPSIS + Adds an AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates resource property to the template. + + .DESCRIPTION + Adds an AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html + + .PARAMETER BytesScannedCutoffPerQuery + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-bytesscannedcutoffperquery + UpdateType: Mutable + PrimitiveType: Integer + + .PARAMETER EnforceWorkGroupConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-enforceworkgroupconfiguration + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER PublishCloudWatchMetricsEnabled + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-publishcloudwatchmetricsenabled + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER RequesterPaysEnabled + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-requesterpaysenabled + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER ResultConfigurationUpdates + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-resultconfigurationupdates + UpdateType: Mutable + Type: ResultConfigurationUpdates + + .PARAMETER RemoveBytesScannedCutoffPerQuery + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-removebytesscannedcutoffperquery + UpdateType: Mutable + PrimitiveType: Boolean + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Athena.WorkGroup.WorkGroupConfigurationUpdates')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $BytesScannedCutoffPerQuery, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $EnforceWorkGroupConfiguration, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PublishCloudWatchMetricsEnabled, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RequesterPaysEnabled, + [parameter(Mandatory = $false)] + $ResultConfigurationUpdates, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RemoveBytesScannedCutoffPerQuery + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Athena.WorkGroup.WorkGroupConfigurationUpdates' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSBatchJobDefinitionContainerProperties.ps1 b/VaporShell/Public/Resource Property Types/Add-VSBatchJobDefinitionContainerProperties.ps1 index 1347694bc..38227478b 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSBatchJobDefinitionContainerProperties.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSBatchJobDefinitionContainerProperties.ps1 @@ -146,7 +146,7 @@ Environment variables must not start with AWS_BATCH; this naming convention is r } })] $User, - [parameter(Mandatory = $true)] + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.Int32","Vaporshell.Function" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -192,7 +192,7 @@ Environment variables must not start with AWS_BATCH; this naming convention is r } })] $ReadonlyRootFilesystem, - [parameter(Mandatory = $true)] + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.Int32","Vaporshell.Function" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { diff --git a/VaporShell/Public/Resource Property Types/Add-VSCassandraTableBillingMode.ps1 b/VaporShell/Public/Resource Property Types/Add-VSCassandraTableBillingMode.ps1 new file mode 100644 index 000000000..d9d381c6d --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSCassandraTableBillingMode.ps1 @@ -0,0 +1,61 @@ +function Add-VSCassandraTableBillingMode { + <# + .SYNOPSIS + Adds an AWS::Cassandra::Table.BillingMode resource property to the template. + + .DESCRIPTION + Adds an AWS::Cassandra::Table.BillingMode resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html + + .PARAMETER Mode + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-mode + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER ProvisionedThroughput + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html#cfn-cassandra-table-billingmode-provisionedthroughput + UpdateType: Mutable + Type: ProvisionedThroughput + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Cassandra.Table.BillingMode')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Mode, + [parameter(Mandatory = $false)] + $ProvisionedThroughput + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Cassandra.Table.BillingMode' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSCassandraTableClusteringKeyColumn.ps1 b/VaporShell/Public/Resource Property Types/Add-VSCassandraTableClusteringKeyColumn.ps1 new file mode 100644 index 000000000..ea1550a2c --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSCassandraTableClusteringKeyColumn.ps1 @@ -0,0 +1,61 @@ +function Add-VSCassandraTableClusteringKeyColumn { + <# + .SYNOPSIS + Adds an AWS::Cassandra::Table.ClusteringKeyColumn resource property to the template. + + .DESCRIPTION + Adds an AWS::Cassandra::Table.ClusteringKeyColumn resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html + + .PARAMETER Column + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-column + UpdateType: Immutable + Type: Column + + .PARAMETER OrderBy + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html#cfn-cassandra-table-clusteringkeycolumn-orderby + UpdateType: Immutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Cassandra.Table.ClusteringKeyColumn')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + $Column, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $OrderBy + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Cassandra.Table.ClusteringKeyColumn' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSCassandraTableColumn.ps1 b/VaporShell/Public/Resource Property Types/Add-VSCassandraTableColumn.ps1 new file mode 100644 index 000000000..c758f92aa --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSCassandraTableColumn.ps1 @@ -0,0 +1,70 @@ +function Add-VSCassandraTableColumn { + <# + .SYNOPSIS + Adds an AWS::Cassandra::Table.Column resource property to the template. + + .DESCRIPTION + Adds an AWS::Cassandra::Table.Column resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html + + .PARAMETER ColumnName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columnname + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER ColumnType + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html#cfn-cassandra-table-column-columntype + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Cassandra.Table.Column')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ColumnName, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ColumnType + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Cassandra.Table.Column' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSCassandraTableProvisionedThroughput.ps1 b/VaporShell/Public/Resource Property Types/Add-VSCassandraTableProvisionedThroughput.ps1 new file mode 100644 index 000000000..940772e90 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSCassandraTableProvisionedThroughput.ps1 @@ -0,0 +1,70 @@ +function Add-VSCassandraTableProvisionedThroughput { + <# + .SYNOPSIS + Adds an AWS::Cassandra::Table.ProvisionedThroughput resource property to the template. + + .DESCRIPTION + Adds an AWS::Cassandra::Table.ProvisionedThroughput resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html + + .PARAMETER ReadCapacityUnits + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-readcapacityunits + UpdateType: Mutable + PrimitiveType: Integer + + .PARAMETER WriteCapacityUnits + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html#cfn-cassandra-table-provisionedthroughput-writecapacityunits + UpdateType: Mutable + PrimitiveType: Integer + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Cassandra.Table.ProvisionedThroughput')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ReadCapacityUnits, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $WriteCapacityUnits + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Cassandra.Table.ProvisionedThroughput' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSCloudFrontDistributionDistributionConfig.ps1 b/VaporShell/Public/Resource Property Types/Add-VSCloudFrontDistributionDistributionConfig.ps1 index 5e6717c73..19a4402b1 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSCloudFrontDistributionDistributionConfig.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSCloudFrontDistributionDistributionConfig.ps1 @@ -82,6 +82,13 @@ For more information about custom error pages, see Customizing Error Responses: ItemType: CustomErrorResponse UpdateType: Mutable + .PARAMETER OriginGroups + + DistributionConfig: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DistributionConfig.html in the *Amazon CloudFront API Reference* + + Type: OriginGroups + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origingroups + UpdateType: Mutable + .PARAMETER Enabled From this field, you can enable or disable the selected distribution. @@ -210,6 +217,8 @@ In general, configuring CloudFront to communicate with viewers using HTTP/2 redu } })] $CustomErrorResponses, + [parameter(Mandatory = $false)] + $OriginGroups, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "System.Boolean","Vaporshell.Function" diff --git a/VaporShell/Public/Resource Property Types/Add-VSCloudFrontDistributionLambdaFunctionAssociation.ps1 b/VaporShell/Public/Resource Property Types/Add-VSCloudFrontDistributionLambdaFunctionAssociation.ps1 index 06c6f000b..94d0ee1af 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSCloudFrontDistributionLambdaFunctionAssociation.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSCloudFrontDistributionLambdaFunctionAssociation.ps1 @@ -10,6 +10,13 @@ A complex type that contains a Lambda function association. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html + .PARAMETER IncludeBody + + LambdaFunctionAssociation: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_LambdaFunctionAssociation.html in the *Amazon CloudFront API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-includebody + PrimitiveType: Boolean + UpdateType: Mutable + .PARAMETER EventType Specifies the event type that triggers a Lambda function invocation. You can specify the following values: + viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache. @@ -36,6 +43,17 @@ If the origin returns an HTTP status code other than HTTP 200 OK, the function d [cmdletbinding()] Param ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $IncludeBody, [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" diff --git a/VaporShell/Public/Resource Property Types/Add-VSCloudWatchInsightRuleTags.ps1 b/VaporShell/Public/Resource Property Types/Add-VSCloudWatchInsightRuleTags.ps1 new file mode 100644 index 000000000..7c6df1c49 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSCloudWatchInsightRuleTags.ps1 @@ -0,0 +1,38 @@ +function Add-VSCloudWatchInsightRuleTags { + <# + .SYNOPSIS + Adds an AWS::CloudWatch::InsightRule.Tags resource property to the template. + + .DESCRIPTION + Adds an AWS::CloudWatch::InsightRule.Tags resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-insightrule-tags.html + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.CloudWatch.InsightRule.Tags')] + [cmdletbinding()] + Param + ( + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.CloudWatch.InsightRule.Tags' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSDMSEndpointKafkaSettings.ps1 b/VaporShell/Public/Resource Property Types/Add-VSDMSEndpointKafkaSettings.ps1 new file mode 100644 index 000000000..1f6bc4476 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSDMSEndpointKafkaSettings.ps1 @@ -0,0 +1,70 @@ +function Add-VSDMSEndpointKafkaSettings { + <# + .SYNOPSIS + Adds an AWS::DMS::Endpoint.KafkaSettings resource property to the template. + + .DESCRIPTION + Adds an AWS::DMS::Endpoint.KafkaSettings resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html + + .PARAMETER Broker + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html#cfn-dms-endpoint-kafkasettings-broker + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Topic + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kafkasettings.html#cfn-dms-endpoint-kafkasettings-topic + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.DMS.Endpoint.KafkaSettings')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Broker, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Topic + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.DMS.Endpoint.KafkaSettings' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetCapacityReservationOptionsRequest.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetCapacityReservationOptionsRequest.ps1 new file mode 100644 index 000000000..2da0bf7ed --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetCapacityReservationOptionsRequest.ps1 @@ -0,0 +1,54 @@ +function Add-VSEC2EC2FleetCapacityReservationOptionsRequest { + <# + .SYNOPSIS + Adds an AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest resource property to the template. + + .DESCRIPTION + Adds an AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityreservationoptionsrequest.html + + .PARAMETER UsageStrategy + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityreservationoptionsrequest.html#cfn-ec2-ec2fleet-capacityreservationoptionsrequest-usagestrategy + PrimitiveType: String + UpdateType: Immutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.EC2.EC2Fleet.CapacityReservationOptionsRequest')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UsageStrategy + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.EC2.EC2Fleet.CapacityReservationOptionsRequest' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateConfigRequest.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateConfigRequest.ps1 index 10b593548..bf2a8e772 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateConfigRequest.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateConfigRequest.ps1 @@ -17,7 +17,7 @@ FleetLaunchTemplateConfigRequest is a property of the AWS::EC2::EC2Fleet: https: Type: FleetLaunchTemplateSpecificationRequest Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-launchtemplatespecification - UpdateType: Mutable + UpdateType: Immutable .PARAMETER Overrides Any parameters that you specify override the same parameters in the launch template. @@ -25,7 +25,7 @@ FleetLaunchTemplateConfigRequest is a property of the AWS::EC2::EC2Fleet: https: Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-overrides ItemType: FleetLaunchTemplateOverridesRequest - UpdateType: Mutable + UpdateType: Immutable .FUNCTIONALITY Vaporshell diff --git a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateOverridesRequest.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateOverridesRequest.ps1 index 0657490dc..9ec1130b2 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateOverridesRequest.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateOverridesRequest.ps1 @@ -17,42 +17,49 @@ FleetLaunchTemplateOverridesRequest is a property of the FleetLaunchTemplateCon Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-weightedcapacity PrimitiveType: Double - UpdateType: Mutable + UpdateType: Immutable + + .PARAMETER Placement + + FleetLaunchTemplateOverridesRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_FleetLaunchTemplateOverridesRequest.html in the *Amazon EC2 API Reference* + + Type: Placement + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-placement + UpdateType: Immutable .PARAMETER Priority The priority for the launch template override. If **AllocationStrategy** is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-priority PrimitiveType: Double - UpdateType: Mutable + UpdateType: Immutable .PARAMETER AvailabilityZone The Availability Zone in which to launch the instances. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-availabilityzone PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .PARAMETER SubnetId The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas for example, subnet-1234abcdeexample1, subnet-0987cdef6example2. A request of type instant can have only one subnet ID. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-subnetid PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .PARAMETER InstanceType The instance type. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-instancetype PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .PARAMETER MaxPrice The maximum price per unit hour that you are willing to pay for a Spot Instance. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-maxprice PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .FUNCTIONALITY Vaporshell @@ -73,6 +80,8 @@ FleetLaunchTemplateOverridesRequest is a property of the FleetLaunchTemplateCon })] $WeightedCapacity, [parameter(Mandatory = $false)] + $Placement, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.Double","Vaporshell.Function" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { diff --git a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateSpecificationRequest.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateSpecificationRequest.ps1 index d793021bf..a7b7a2888 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateSpecificationRequest.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetFleetLaunchTemplateSpecificationRequest.ps1 @@ -17,21 +17,21 @@ FleetLaunchTemplateSpecificationRequest is a property of the FleetLaunchTemplat Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplatename PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .PARAMETER Version The version number of the launch template. Note: This is a required parameter and will be updated soon. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-version PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .PARAMETER LaunchTemplateId The ID of the launch template. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplateid PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .FUNCTIONALITY Vaporshell diff --git a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetOnDemandOptionsRequest.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetOnDemandOptionsRequest.ps1 index 23f6983b0..0995971a3 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetOnDemandOptionsRequest.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetOnDemandOptionsRequest.ps1 @@ -12,12 +12,47 @@ OnDemandOptionsRequest is a property of the AWS::EC2::EC2Fleet: https://docs.aws .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html + .PARAMETER SingleAvailabilityZone + + OnDemandOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptionsRequest.html in the *Amazon EC2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-singleavailabilityzone + PrimitiveType: Boolean + UpdateType: Immutable + .PARAMETER AllocationStrategy The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowest-price, EC2 Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. If you do not specify a value, EC2 Fleet defaults to lowest-price. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-allocationstrategy PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable + + .PARAMETER SingleInstanceType + + OnDemandOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptionsRequest.html in the *Amazon EC2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-singleinstancetype + PrimitiveType: Boolean + UpdateType: Immutable + + .PARAMETER MinTargetCapacity + + OnDemandOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptionsRequest.html in the *Amazon EC2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-mintargetcapacity + PrimitiveType: Integer + UpdateType: Immutable + + .PARAMETER MaxTotalPrice + + OnDemandOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptionsRequest.html in the *Amazon EC2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-maxtotalprice + PrimitiveType: String + UpdateType: Immutable + + .PARAMETER CapacityReservationOptions + + OnDemandOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptionsRequest.html in the *Amazon EC2 API Reference* + + Type: CapacityReservationOptionsRequest + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-capacityreservationoptions + UpdateType: Immutable .FUNCTIONALITY Vaporshell @@ -26,6 +61,17 @@ OnDemandOptionsRequest is a property of the AWS::EC2::EC2Fleet: https://docs.aws [cmdletbinding()] Param ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SingleAvailabilityZone, [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -36,7 +82,42 @@ OnDemandOptionsRequest is a property of the AWS::EC2::EC2Fleet: https://docs.aws $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) } })] - $AllocationStrategy + $AllocationStrategy, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SingleInstanceType, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MinTargetCapacity, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MaxTotalPrice, + [parameter(Mandatory = $false)] + $CapacityReservationOptions ) Begin { $obj = [PSCustomObject]@{} diff --git a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetPlacement.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetPlacement.ps1 new file mode 100644 index 000000000..ac61a8168 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetPlacement.ps1 @@ -0,0 +1,166 @@ +function Add-VSEC2EC2FleetPlacement { + <# + .SYNOPSIS + Adds an AWS::EC2::EC2Fleet.Placement resource property to the template. + + .DESCRIPTION + Adds an AWS::EC2::EC2Fleet.Placement resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html + + .PARAMETER GroupName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-groupname + PrimitiveType: String + UpdateType: Immutable + + .PARAMETER Tenancy + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-tenancy + PrimitiveType: String + UpdateType: Immutable + + .PARAMETER SpreadDomain + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-spreaddomain + PrimitiveType: String + UpdateType: Immutable + + .PARAMETER PartitionNumber + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-partitionnumber + PrimitiveType: Integer + UpdateType: Immutable + + .PARAMETER AvailabilityZone + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-availabilityzone + PrimitiveType: String + UpdateType: Immutable + + .PARAMETER Affinity + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-affinity + PrimitiveType: String + UpdateType: Immutable + + .PARAMETER HostId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-hostid + PrimitiveType: String + UpdateType: Immutable + + .PARAMETER HostResourceGroupArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-hostresourcegrouparn + PrimitiveType: String + UpdateType: Immutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.EC2.EC2Fleet.Placement')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $GroupName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Tenancy, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SpreadDomain, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PartitionNumber, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $AvailabilityZone, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Affinity, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $HostId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $HostResourceGroupArn + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.EC2.EC2Fleet.Placement' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetSpotOptionsRequest.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetSpotOptionsRequest.ps1 index ed2398d1e..80b013245 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetSpotOptionsRequest.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetSpotOptionsRequest.ps1 @@ -12,6 +12,13 @@ SpotOptionsRequest is a property of the AWS::EC2::EC2Fleet: https://docs.aws.am .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html + .PARAMETER SingleAvailabilityZone + + SpotOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotOptionsRequest.html in the *Amazon EC2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-singleavailabilityzone + PrimitiveType: Boolean + UpdateType: Immutable + .PARAMETER AllocationStrategy Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet. If the allocation strategy is lowestPrice, EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy. @@ -21,21 +28,42 @@ If the allocation strategy is capacityOptimized, EC2 Fleet launches instances fr Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-allocationstrategy PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable + + .PARAMETER SingleInstanceType + + SpotOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotOptionsRequest.html in the *Amazon EC2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-singleinstancetype + PrimitiveType: Boolean + UpdateType: Immutable + + .PARAMETER MinTargetCapacity + + SpotOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotOptionsRequest.html in the *Amazon EC2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-mintargetcapacity + PrimitiveType: Integer + UpdateType: Immutable + + .PARAMETER MaxTotalPrice + + SpotOptionsRequest: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotOptionsRequest.html in the *Amazon EC2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-maxtotalprice + PrimitiveType: String + UpdateType: Immutable .PARAMETER InstanceInterruptionBehavior The behavior when a Spot Instance is interrupted. The default is terminate. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instanceinterruptionbehavior PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .PARAMETER InstancePoolsToUseCount The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot **AllocationStrategy** is set to lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instancepoolstousecount PrimitiveType: Integer - UpdateType: Mutable + UpdateType: Immutable .FUNCTIONALITY Vaporshell @@ -44,6 +72,17 @@ If the allocation strategy is capacityOptimized, EC2 Fleet launches instances fr [cmdletbinding()] Param ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SingleAvailabilityZone, [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -56,6 +95,39 @@ If the allocation strategy is capacityOptimized, EC2 Fleet launches instances fr })] $AllocationStrategy, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SingleInstanceType, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MinTargetCapacity, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MaxTotalPrice, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { diff --git a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetTagSpecification.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetTagSpecification.ps1 index e40f2bbee..39275033a 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetTagSpecification.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSEC2EC2FleetTagSpecification.ps1 @@ -17,15 +17,15 @@ TagSpecification is a property of the AWS::EC2::EC2Fleet: https://docs.aws.amaz Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-resourcetype PrimitiveType: String - UpdateType: Mutable + UpdateType: Immutable .PARAMETER Tags The tags to apply to the resource. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-tags - ItemType: TagRequest - UpdateType: Mutable + ItemType: Tag + UpdateType: Immutable .FUNCTIONALITY Vaporshell @@ -45,16 +45,8 @@ TagSpecification is a property of the AWS::EC2::EC2Fleet: https://docs.aws.amaz } })] $ResourceType, + [VaporShell.Core.TransformTag()] [parameter(Mandatory = $false)] - [ValidateScript( { - $allowedTypes = "Vaporshell.Resource.EC2.EC2Fleet.TagRequest" - if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { - $true - } - else { - $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) - } - })] $Tags ) Begin { diff --git a/VaporShell/Public/Resource Property Types/Add-VSEKSClusterEncryptionConfig.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEKSClusterEncryptionConfig.ps1 new file mode 100644 index 000000000..26a99b3fc --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSEKSClusterEncryptionConfig.ps1 @@ -0,0 +1,53 @@ +function Add-VSEKSClusterEncryptionConfig { + <# + .SYNOPSIS + Adds an AWS::EKS::Cluster.EncryptionConfig resource property to the template. + + .DESCRIPTION + Adds an AWS::EKS::Cluster.EncryptionConfig resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html + + .PARAMETER Resources + PrimitiveItemType: String + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html#cfn-eks-cluster-encryptionconfig-resources + UpdateType: Mutable + + .PARAMETER Provider + Type: Provider + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-encryptionconfig.html#cfn-eks-cluster-encryptionconfig-provider + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.EKS.Cluster.EncryptionConfig')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + $Resources, + [parameter(Mandatory = $false)] + $Provider + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.EKS.Cluster.EncryptionConfig' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSEKSClusterProvider.ps1 b/VaporShell/Public/Resource Property Types/Add-VSEKSClusterProvider.ps1 new file mode 100644 index 000000000..365975df8 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSEKSClusterProvider.ps1 @@ -0,0 +1,54 @@ +function Add-VSEKSClusterProvider { + <# + .SYNOPSIS + Adds an AWS::EKS::Cluster.Provider resource property to the template. + + .DESCRIPTION + Adds an AWS::EKS::Cluster.Provider resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-provider.html + + .PARAMETER KeyArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-provider.html#cfn-eks-cluster-provider-keyarn + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.EKS.Cluster.Provider')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $KeyArn + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.EKS.Cluster.Provider' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSImageBuilderDistributionConfigurationDistribution.ps1 b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderDistributionConfigurationDistribution.ps1 new file mode 100644 index 000000000..3098f144e --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderDistributionConfigurationDistribution.ps1 @@ -0,0 +1,92 @@ +function Add-VSImageBuilderDistributionConfigurationDistribution { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::DistributionConfiguration.Distribution resource property to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::DistributionConfiguration.Distribution resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html + + .PARAMETER Region + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-region + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER AmiDistributionConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-amidistributionconfiguration + UpdateType: Mutable + PrimitiveType: Json + + .PARAMETER LicenseConfigurationArns + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-licenseconfigurationarns + UpdateType: Mutable + Type: List + PrimitiveItemType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ImageBuilder.DistributionConfiguration.Distribution')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Region, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","System.Collections.Hashtable","System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $AmiDistributionConfiguration, + [parameter(Mandatory = $false)] + $LicenseConfigurationArns + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + AmiDistributionConfiguration { + if (($PSBoundParameters[$key]).PSObject.TypeNames -contains "System.String"){ + try { + $JSONObject = (ConvertFrom-Json -InputObject $PSBoundParameters[$key] -ErrorAction Stop) + } + catch { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "Unable to convert parameter '$key' string value to PSObject! Please use a JSON string OR provide a Hashtable or PSCustomObject instead!")) + } + } + else { + $JSONObject = ([PSCustomObject]$PSBoundParameters[$key]) + } + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $JSONObject + } + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.DistributionConfiguration.Distribution' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImagePipelineImageTestsConfiguration.ps1 b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImagePipelineImageTestsConfiguration.ps1 new file mode 100644 index 000000000..1c97ff718 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImagePipelineImageTestsConfiguration.ps1 @@ -0,0 +1,70 @@ +function Add-VSImageBuilderImagePipelineImageTestsConfiguration { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration resource property to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html + + .PARAMETER ImageTestsEnabled + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration-imagetestsenabled + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER TimeoutMinutes + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration-timeoutminutes + UpdateType: Mutable + PrimitiveType: Integer + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ImageBuilder.ImagePipeline.ImageTestsConfiguration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ImageTestsEnabled, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TimeoutMinutes + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.ImagePipeline.ImageTestsConfiguration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImagePipelineSchedule.ps1 b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImagePipelineSchedule.ps1 new file mode 100644 index 000000000..92f5cec9f --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImagePipelineSchedule.ps1 @@ -0,0 +1,70 @@ +function Add-VSImageBuilderImagePipelineSchedule { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::ImagePipeline.Schedule resource property to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::ImagePipeline.Schedule resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html + + .PARAMETER ScheduleExpression + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-scheduleexpression + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER PipelineExecutionStartCondition + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-pipelineexecutionstartcondition + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ImageBuilder.ImagePipeline.Schedule')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ScheduleExpression, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PipelineExecutionStartCondition + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.ImagePipeline.Schedule' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeComponentConfiguration.ps1 b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeComponentConfiguration.ps1 new file mode 100644 index 000000000..a8cfa183d --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeComponentConfiguration.ps1 @@ -0,0 +1,54 @@ +function Add-VSImageBuilderImageRecipeComponentConfiguration { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::ImageRecipe.ComponentConfiguration resource property to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::ImageRecipe.ComponentConfiguration resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html + + .PARAMETER ComponentArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html#cfn-imagebuilder-imagerecipe-componentconfiguration-componentarn + UpdateType: Immutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ImageBuilder.ImageRecipe.ComponentConfiguration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ComponentArn + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.ImageRecipe.ComponentConfiguration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeEbsInstanceBlockDeviceSpecification.ps1 b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeEbsInstanceBlockDeviceSpecification.ps1 new file mode 100644 index 000000000..041d8e36f --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeEbsInstanceBlockDeviceSpecification.ps1 @@ -0,0 +1,150 @@ +function Add-VSImageBuilderImageRecipeEbsInstanceBlockDeviceSpecification { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification resource property to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html + + .PARAMETER Encrypted + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-encrypted + UpdateType: Immutable + PrimitiveType: Boolean + + .PARAMETER DeleteOnTermination + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-deleteontermination + UpdateType: Immutable + PrimitiveType: Boolean + + .PARAMETER Iops + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-iops + UpdateType: Immutable + PrimitiveType: Integer + + .PARAMETER KmsKeyId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-kmskeyid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER SnapshotId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-snapshotid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER VolumeSize + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-volumesize + UpdateType: Immutable + PrimitiveType: Integer + + .PARAMETER VolumeType + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-volumetype + UpdateType: Immutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ImageBuilder.ImageRecipe.EbsInstanceBlockDeviceSpecification')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Encrypted, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DeleteOnTermination, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Iops, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $KmsKeyId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SnapshotId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $VolumeSize, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $VolumeType + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.ImageRecipe.EbsInstanceBlockDeviceSpecification' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeInstanceBlockDeviceMapping.ps1 b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeInstanceBlockDeviceMapping.ps1 new file mode 100644 index 000000000..8727c248a --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderImageRecipeInstanceBlockDeviceMapping.ps1 @@ -0,0 +1,93 @@ +function Add-VSImageBuilderImageRecipeInstanceBlockDeviceMapping { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping resource property to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html + + .PARAMETER DeviceName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-devicename + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER VirtualName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-virtualname + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER NoDevice + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-nodevice + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Ebs + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-ebs + UpdateType: Immutable + Type: EbsInstanceBlockDeviceSpecification + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ImageBuilder.ImageRecipe.InstanceBlockDeviceMapping')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DeviceName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $VirtualName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $NoDevice, + [parameter(Mandatory = $false)] + $Ebs + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.ImageRecipe.InstanceBlockDeviceMapping' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSImageBuilderInfrastructureConfigurationLogging.ps1 b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderInfrastructureConfigurationLogging.ps1 new file mode 100644 index 000000000..fd7a221ad --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderInfrastructureConfigurationLogging.ps1 @@ -0,0 +1,45 @@ +function Add-VSImageBuilderInfrastructureConfigurationLogging { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::InfrastructureConfiguration.Logging resource property to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::InfrastructureConfiguration.Logging resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html + + .PARAMETER S3Logs + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html#cfn-imagebuilder-infrastructureconfiguration-logging-s3logs + UpdateType: Mutable + Type: S3Logs + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ImageBuilder.InfrastructureConfiguration.Logging')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + $S3Logs + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.InfrastructureConfiguration.Logging' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSImageBuilderInfrastructureConfigurationS3Logs.ps1 b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderInfrastructureConfigurationS3Logs.ps1 new file mode 100644 index 000000000..6b255fe5a --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSImageBuilderInfrastructureConfigurationS3Logs.ps1 @@ -0,0 +1,70 @@ +function Add-VSImageBuilderInfrastructureConfigurationS3Logs { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::InfrastructureConfiguration.S3Logs resource property to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::InfrastructureConfiguration.S3Logs resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html + + .PARAMETER S3BucketName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html#cfn-imagebuilder-infrastructureconfiguration-s3logs-s3bucketname + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER S3KeyPrefix + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html#cfn-imagebuilder-infrastructureconfiguration-s3logs-s3keyprefix + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ImageBuilder.InfrastructureConfiguration.S3Logs')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $S3BucketName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $S3KeyPrefix + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.InfrastructureConfiguration.S3Logs' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAction.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAction.ps1 index bbe4aadbc..9413c91e6 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAction.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAction.ps1 @@ -17,6 +17,41 @@ An action to be performed when the condition is TRUE. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotevents UpdateType: Mutable + .PARAMETER Firehose + Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream. + + Type: Firehose + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-firehose + UpdateType: Mutable + + .PARAMETER IotTopicPublish + Publishes an MQTT message with the given topic to the AWS IoT message broker. + + Type: IotTopicPublish + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iottopicpublish + UpdateType: Mutable + + .PARAMETER DynamoDB + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: DynamoDB + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-dynamodb + UpdateType: Mutable + + .PARAMETER DynamoDBv2 + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: DynamoDBv2 + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-dynamodbv2 + UpdateType: Mutable + + .PARAMETER IotSiteWise + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: IotSiteWise + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotsitewise + UpdateType: Mutable + .PARAMETER ResetTimer Information needed to reset the timer. @@ -31,13 +66,6 @@ An action to be performed when the condition is TRUE. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-sqs UpdateType: Mutable - .PARAMETER Firehose - Sends information about the detector model instance and the event which triggered the action to a Kinesis Data Firehose delivery stream. - - Type: Firehose - Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-firehose - UpdateType: Mutable - .PARAMETER Sns Sends an Amazon SNS message. @@ -45,13 +73,6 @@ An action to be performed when the condition is TRUE. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-sns UpdateType: Mutable - .PARAMETER IotTopicPublish - Publishes an MQTT message with the given topic to the AWS IoT message broker. - - Type: IotTopicPublish - Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iottopicpublish - UpdateType: Mutable - .PARAMETER SetTimer Information needed to set the timer. @@ -90,16 +111,22 @@ An action to be performed when the condition is TRUE. [parameter(Mandatory = $false)] $IotEvents, [parameter(Mandatory = $false)] + $Firehose, + [parameter(Mandatory = $false)] + $IotTopicPublish, + [parameter(Mandatory = $false)] + $DynamoDB, + [parameter(Mandatory = $false)] + $DynamoDBv2, + [parameter(Mandatory = $false)] + $IotSiteWise, + [parameter(Mandatory = $false)] $ResetTimer, [parameter(Mandatory = $false)] $Sqs, [parameter(Mandatory = $false)] - $Firehose, - [parameter(Mandatory = $false)] $Sns, [parameter(Mandatory = $false)] - $IotTopicPublish, - [parameter(Mandatory = $false)] $SetTimer, [parameter(Mandatory = $false)] $ClearTimer, diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyTimestamp.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyTimestamp.ps1 new file mode 100644 index 000000000..4a4397336 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyTimestamp.ps1 @@ -0,0 +1,70 @@ +function Add-VSIoTEventsDetectorModelAssetPropertyTimestamp { + <# + .SYNOPSIS + Adds an AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp resource property to the template. + + .DESCRIPTION + Adds an AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html + + .PARAMETER TimeInSeconds + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-timeinseconds + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER OffsetInNanos + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-offsetinnanos + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoTEvents.DetectorModel.AssetPropertyTimestamp')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TimeInSeconds, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $OffsetInNanos + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoTEvents.DetectorModel.AssetPropertyTimestamp' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyValue.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyValue.ps1 new file mode 100644 index 000000000..99c4537ed --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyValue.ps1 @@ -0,0 +1,68 @@ +function Add-VSIoTEventsDetectorModelAssetPropertyValue { + <# + .SYNOPSIS + Adds an AWS::IoTEvents::DetectorModel.AssetPropertyValue resource property to the template. + + .DESCRIPTION + Adds an AWS::IoTEvents::DetectorModel.AssetPropertyValue resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html + + .PARAMETER Quality + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-quality + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Value + Type: AssetPropertyVariant + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-value + UpdateType: Mutable + + .PARAMETER Timestamp + Type: AssetPropertyTimestamp + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-timestamp + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoTEvents.DetectorModel.AssetPropertyValue')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Quality, + [parameter(Mandatory = $false)] + $Value, + [parameter(Mandatory = $false)] + $Timestamp + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoTEvents.DetectorModel.AssetPropertyValue' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyVariant.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyVariant.ps1 new file mode 100644 index 000000000..795cf05f1 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelAssetPropertyVariant.ps1 @@ -0,0 +1,102 @@ +function Add-VSIoTEventsDetectorModelAssetPropertyVariant { + <# + .SYNOPSIS + Adds an AWS::IoTEvents::DetectorModel.AssetPropertyVariant resource property to the template. + + .DESCRIPTION + Adds an AWS::IoTEvents::DetectorModel.AssetPropertyVariant resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html + + .PARAMETER DoubleValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-doublevalue + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER IntegerValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-integervalue + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER BooleanValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-booleanvalue + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER StringValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html#cfn-iotevents-detectormodel-assetpropertyvariant-stringvalue + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoTEvents.DetectorModel.AssetPropertyVariant')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DoubleValue, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $IntegerValue, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $BooleanValue, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $StringValue + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoTEvents.DetectorModel.AssetPropertyVariant' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelDynamoDB.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelDynamoDB.ps1 new file mode 100644 index 000000000..200d80f72 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelDynamoDB.ps1 @@ -0,0 +1,189 @@ +function Add-VSIoTEventsDetectorModelDynamoDB { + <# + .SYNOPSIS + Adds an AWS::IoTEvents::DetectorModel.DynamoDB resource property to the template. + + .DESCRIPTION + Adds an AWS::IoTEvents::DetectorModel.DynamoDB resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html + + .PARAMETER TableName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-tablename + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER PayloadField + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-payloadfield + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER RangeKeyField + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeyfield + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER HashKeyField + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyfield + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER RangeKeyValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeyvalue + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER RangeKeyType + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-rangekeytype + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER HashKeyType + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeytype + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER HashKeyValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyvalue + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Payload + Type: Payload + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-payload + UpdateType: Mutable + + .PARAMETER Operation + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-operation + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoTEvents.DetectorModel.DynamoDB')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TableName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PayloadField, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RangeKeyField, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $HashKeyField, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RangeKeyValue, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RangeKeyType, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $HashKeyType, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $HashKeyValue, + [parameter(Mandatory = $false)] + $Payload, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Operation + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoTEvents.DetectorModel.DynamoDB' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelDynamoDBv2.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelDynamoDBv2.ps1 new file mode 100644 index 000000000..ce59abfbe --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelDynamoDBv2.ps1 @@ -0,0 +1,61 @@ +function Add-VSIoTEventsDetectorModelDynamoDBv2 { + <# + .SYNOPSIS + Adds an AWS::IoTEvents::DetectorModel.DynamoDBv2 resource property to the template. + + .DESCRIPTION + Adds an AWS::IoTEvents::DetectorModel.DynamoDBv2 resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html + + .PARAMETER TableName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-tablename + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Payload + Type: Payload + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-payload + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoTEvents.DetectorModel.DynamoDBv2')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TableName, + [parameter(Mandatory = $false)] + $Payload + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoTEvents.DetectorModel.DynamoDBv2' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelFirehose.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelFirehose.ps1 index 605eceb53..06787bec1 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelFirehose.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelFirehose.ps1 @@ -17,6 +17,13 @@ Sends information about the detector model instance and the event which triggere PrimitiveType: String UpdateType: Mutable + .PARAMETER Payload + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: Payload + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-payload + UpdateType: Mutable + .PARAMETER Separator A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' newline, 't' tab, 'rn' Windows newline, ',' comma. @@ -43,6 +50,8 @@ Sends information about the detector model instance and the event which triggere })] $DeliveryStreamName, [parameter(Mandatory = $false)] + $Payload, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotEvents.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotEvents.ps1 index 663aba066..a779ac181 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotEvents.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotEvents.ps1 @@ -17,6 +17,13 @@ Sends an IoT Events input, passing in information about the detector model insta PrimitiveType: String UpdateType: Mutable + .PARAMETER Payload + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: Payload + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-payload + UpdateType: Mutable + .FUNCTIONALITY Vaporshell #> @@ -34,7 +41,9 @@ Sends an IoT Events input, passing in information about the detector model insta $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) } })] - $InputName + $InputName, + [parameter(Mandatory = $false)] + $Payload ) Begin { $obj = [PSCustomObject]@{} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotSiteWise.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotSiteWise.ps1 new file mode 100644 index 000000000..b58a2c595 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotSiteWise.ps1 @@ -0,0 +1,109 @@ +function Add-VSIoTEventsDetectorModelIotSiteWise { + <# + .SYNOPSIS + Adds an AWS::IoTEvents::DetectorModel.IotSiteWise resource property to the template. + + .DESCRIPTION + Adds an AWS::IoTEvents::DetectorModel.IotSiteWise resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html + + .PARAMETER EntryId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-entryid + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER PropertyAlias + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyalias + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER PropertyValue + Type: AssetPropertyValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyvalue + UpdateType: Mutable + + .PARAMETER AssetId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-assetid + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER PropertyId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyid + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoTEvents.DetectorModel.IotSiteWise')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $EntryId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PropertyAlias, + [parameter(Mandatory = $false)] + $PropertyValue, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $AssetId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PropertyId + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoTEvents.DetectorModel.IotSiteWise' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotTopicPublish.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotTopicPublish.ps1 index 702f0d553..cd5667ba9 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotTopicPublish.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelIotTopicPublish.ps1 @@ -17,6 +17,13 @@ Sends information about the detector model instance and the event which triggere PrimitiveType: String UpdateType: Mutable + .PARAMETER Payload + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: Payload + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-payload + UpdateType: Mutable + .FUNCTIONALITY Vaporshell #> @@ -34,7 +41,9 @@ Sends information about the detector model instance and the event which triggere $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) } })] - $MqttTopic + $MqttTopic, + [parameter(Mandatory = $false)] + $Payload ) Begin { $obj = [PSCustomObject]@{} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelLambda.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelLambda.ps1 index 0db0cb78a..25e69fc68 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelLambda.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelLambda.ps1 @@ -17,6 +17,13 @@ Calls an AWS Lambda function, passing in information about the detector model in PrimitiveType: String UpdateType: Mutable + .PARAMETER Payload + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: Payload + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-payload + UpdateType: Mutable + .FUNCTIONALITY Vaporshell #> @@ -34,7 +41,9 @@ Calls an AWS Lambda function, passing in information about the detector model in $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) } })] - $FunctionArn + $FunctionArn, + [parameter(Mandatory = $false)] + $Payload ) Begin { $obj = [PSCustomObject]@{} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelPayload.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelPayload.ps1 new file mode 100644 index 000000000..3d808b65c --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelPayload.ps1 @@ -0,0 +1,70 @@ +function Add-VSIoTEventsDetectorModelPayload { + <# + .SYNOPSIS + Adds an AWS::IoTEvents::DetectorModel.Payload resource property to the template. + + .DESCRIPTION + Adds an AWS::IoTEvents::DetectorModel.Payload resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html + + .PARAMETER ContentExpression + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-contentexpression + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Type + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-type + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoTEvents.DetectorModel.Payload')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ContentExpression, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Type + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoTEvents.DetectorModel.Payload' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSetTimer.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSetTimer.ps1 index b12c88ec6..dc324794b 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSetTimer.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSetTimer.ps1 @@ -24,6 +24,13 @@ Information needed to set the timer. PrimitiveType: String UpdateType: Mutable + .PARAMETER DurationExpression + *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-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-durationexpression + PrimitiveType: String + UpdateType: Mutable + .FUNCTIONALITY Vaporshell #> @@ -52,7 +59,18 @@ Information needed to set the timer. $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) } })] - $TimerName + $TimerName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DurationExpression ) Begin { $obj = [PSCustomObject]@{} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSns.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSns.ps1 index fb6e44379..2ecdf35ec 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSns.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSns.ps1 @@ -17,6 +17,13 @@ Sends an Amazon SNS message. PrimitiveType: String UpdateType: Mutable + .PARAMETER Payload + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: Payload + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-payload + UpdateType: Mutable + .FUNCTIONALITY Vaporshell #> @@ -34,7 +41,9 @@ Sends an Amazon SNS message. $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) } })] - $TargetArn + $TargetArn, + [parameter(Mandatory = $false)] + $Payload ) Begin { $obj = [PSCustomObject]@{} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSqs.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSqs.ps1 index 746866924..b03dc14d7 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSqs.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTEventsDetectorModelSqs.ps1 @@ -17,6 +17,13 @@ Sends information about the detector model instance and the event which triggere PrimitiveType: Boolean UpdateType: Mutable + .PARAMETER Payload + *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt + + Type: Payload + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-payload + UpdateType: Mutable + .PARAMETER QueueUrl The URL of the Amazon SQS queue where the data is written. @@ -43,6 +50,8 @@ Sends information about the detector model instance and the event which triggere })] $UseBase64, [parameter(Mandatory = $false)] + $Payload, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAction.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAction.ps1 index 32d59e745..06a3ad0d0 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAction.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAction.ps1 @@ -52,6 +52,13 @@ Describes the actions associated with a rule. Type: FirehoseAction UpdateType: Mutable + .PARAMETER Http + *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-iot-topicrule-action.html#cfn-iot-topicrule-action-http + Type: HttpAction + UpdateType: Mutable + .PARAMETER IotAnalytics Sends message data to an AWS IoT Analytics channel. @@ -59,6 +66,20 @@ Describes the actions associated with a rule. Type: IotAnalyticsAction UpdateType: Mutable + .PARAMETER IotEvents + *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-iot-topicrule-action.html#cfn-iot-topicrule-action-iotevents + Type: IotEventsAction + UpdateType: Mutable + + .PARAMETER IotSiteWise + *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-iot-topicrule-action.html#cfn-iot-topicrule-action-iotsitewise + Type: IotSiteWiseAction + UpdateType: Mutable + .PARAMETER Kinesis Write data to an Amazon Kinesis stream. @@ -128,8 +149,14 @@ Describes the actions associated with a rule. [parameter(Mandatory = $false)] $Firehose, [parameter(Mandatory = $false)] + $Http, + [parameter(Mandatory = $false)] $IotAnalytics, [parameter(Mandatory = $false)] + $IotEvents, + [parameter(Mandatory = $false)] + $IotSiteWise, + [parameter(Mandatory = $false)] $Kinesis, [parameter(Mandatory = $false)] $Lambda, diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyTimestamp.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyTimestamp.ps1 new file mode 100644 index 000000000..1ae472299 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyTimestamp.ps1 @@ -0,0 +1,70 @@ +function Add-VSIoTTopicRuleAssetPropertyTimestamp { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.AssetPropertyTimestamp resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.AssetPropertyTimestamp resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html + + .PARAMETER OffsetInNanos + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html#cfn-iot-topicrule-assetpropertytimestamp-offsetinnanos + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER TimeInSeconds + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html#cfn-iot-topicrule-assetpropertytimestamp-timeinseconds + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.AssetPropertyTimestamp')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $OffsetInNanos, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TimeInSeconds + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.AssetPropertyTimestamp' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyValue.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyValue.ps1 new file mode 100644 index 000000000..1c34cb552 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyValue.ps1 @@ -0,0 +1,68 @@ +function Add-VSIoTTopicRuleAssetPropertyValue { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.AssetPropertyValue resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.AssetPropertyValue resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html + + .PARAMETER Quality + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-quality + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Timestamp + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-timestamp + Type: AssetPropertyTimestamp + UpdateType: Mutable + + .PARAMETER Value + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html#cfn-iot-topicrule-assetpropertyvalue-value + Type: AssetPropertyVariant + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.AssetPropertyValue')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Quality, + [parameter(Mandatory = $true)] + $Timestamp, + [parameter(Mandatory = $true)] + $Value + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.AssetPropertyValue' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyVariant.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyVariant.ps1 new file mode 100644 index 000000000..f9f19de26 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleAssetPropertyVariant.ps1 @@ -0,0 +1,102 @@ +function Add-VSIoTTopicRuleAssetPropertyVariant { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.AssetPropertyVariant resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.AssetPropertyVariant resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html + + .PARAMETER BooleanValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-booleanvalue + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER DoubleValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-doublevalue + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER IntegerValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-integervalue + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER StringValue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html#cfn-iot-topicrule-assetpropertyvariant-stringvalue + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.AssetPropertyVariant')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $BooleanValue, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DoubleValue, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $IntegerValue, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $StringValue + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.AssetPropertyVariant' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpAction.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpAction.ps1 new file mode 100644 index 000000000..30be74e88 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpAction.ps1 @@ -0,0 +1,95 @@ +function Add-VSIoTTopicRuleHttpAction { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.HttpAction resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.HttpAction resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html + + .PARAMETER Auth + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-auth + Type: HttpAuthorization + UpdateType: Mutable + + .PARAMETER ConfirmationUrl + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-confirmationurl + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Headers + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-headers + DuplicatesAllowed: False + ItemType: HttpActionHeader + Type: List + UpdateType: Mutable + + .PARAMETER Url + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html#cfn-iot-topicrule-httpaction-url + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.HttpAction')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + $Auth, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ConfirmationUrl, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.IoT.TopicRule.HttpActionHeader" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Headers, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Url + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.HttpAction' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpActionHeader.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpActionHeader.ps1 new file mode 100644 index 000000000..26876aec1 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpActionHeader.ps1 @@ -0,0 +1,70 @@ +function Add-VSIoTTopicRuleHttpActionHeader { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.HttpActionHeader resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.HttpActionHeader resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html + + .PARAMETER Key + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html#cfn-iot-topicrule-httpactionheader-key + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Value + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html#cfn-iot-topicrule-httpactionheader-value + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.HttpActionHeader')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Key, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Value + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.HttpActionHeader' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpAuthorization.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpAuthorization.ps1 new file mode 100644 index 000000000..4d8ce0ac1 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleHttpAuthorization.ps1 @@ -0,0 +1,45 @@ +function Add-VSIoTTopicRuleHttpAuthorization { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.HttpAuthorization resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.HttpAuthorization resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpauthorization.html + + .PARAMETER Sigv4 + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpauthorization.html#cfn-iot-topicrule-httpauthorization-sigv4 + Type: SigV4Authorization + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.HttpAuthorization')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + $Sigv4 + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.HttpAuthorization' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleIotEventsAction.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleIotEventsAction.ps1 new file mode 100644 index 000000000..7df6b87e1 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleIotEventsAction.ps1 @@ -0,0 +1,86 @@ +function Add-VSIoTTopicRuleIotEventsAction { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.IotEventsAction resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.IotEventsAction resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html + + .PARAMETER InputName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-inputname + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER MessageId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-messageid + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER RoleArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-rolearn + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.IotEventsAction')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $InputName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MessageId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RoleArn + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.IotEventsAction' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleIotSiteWiseAction.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleIotSiteWiseAction.ps1 new file mode 100644 index 000000000..98a092083 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleIotSiteWiseAction.ps1 @@ -0,0 +1,72 @@ +function Add-VSIoTTopicRuleIotSiteWiseAction { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.IotSiteWiseAction resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.IotSiteWiseAction resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html + + .PARAMETER PutAssetPropertyValueEntries + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html#cfn-iot-topicrule-iotsitewiseaction-putassetpropertyvalueentries + DuplicatesAllowed: False + ItemType: PutAssetPropertyValueEntry + Type: List + UpdateType: Mutable + + .PARAMETER RoleArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html#cfn-iot-topicrule-iotsitewiseaction-rolearn + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.IotSiteWiseAction')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.IoT.TopicRule.PutAssetPropertyValueEntry" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PutAssetPropertyValueEntries, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RoleArn + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.IotSiteWiseAction' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRulePutAssetPropertyValueEntry.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRulePutAssetPropertyValueEntry.ps1 new file mode 100644 index 000000000..18b02d265 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRulePutAssetPropertyValueEntry.ps1 @@ -0,0 +1,120 @@ +function Add-VSIoTTopicRulePutAssetPropertyValueEntry { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.PutAssetPropertyValueEntry resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.PutAssetPropertyValueEntry resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html + + .PARAMETER AssetId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-assetid + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER EntryId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-entryid + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER PropertyAlias + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyalias + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER PropertyId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyid + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER PropertyValues + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyvalues + DuplicatesAllowed: False + ItemType: AssetPropertyValue + Type: List + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.PutAssetPropertyValueEntry')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $AssetId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $EntryId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PropertyAlias, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PropertyId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.IoT.TopicRule.AssetPropertyValue" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PropertyValues + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.PutAssetPropertyValueEntry' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleRepublishAction.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleRepublishAction.ps1 index 538b3d4ac..b41c3eeeb 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleRepublishAction.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleRepublishAction.ps1 @@ -10,6 +10,13 @@ Describes an action to republish to another topic. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html + .PARAMETER Qos + *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-iot-topicrule-republishaction.html#cfn-iot-topicrule-republishaction-qos + PrimitiveType: Integer + UpdateType: Mutable + .PARAMETER RoleArn The ARN of the IAM role that grants access. @@ -31,6 +38,17 @@ Describes an action to republish to another topic. [cmdletbinding()] Param ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Qos, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" diff --git a/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleSigV4Authorization.ps1 b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleSigV4Authorization.ps1 new file mode 100644 index 000000000..cd2d32ab0 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSIoTTopicRuleSigV4Authorization.ps1 @@ -0,0 +1,86 @@ +function Add-VSIoTTopicRuleSigV4Authorization { + <# + .SYNOPSIS + Adds an AWS::IoT::TopicRule.SigV4Authorization resource property to the template. + + .DESCRIPTION + Adds an AWS::IoT::TopicRule.SigV4Authorization resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html + + .PARAMETER RoleArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-rolearn + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER ServiceName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-servicename + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER SigningRegion + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html#cfn-iot-topicrule-sigv4authorization-signingregion + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.IoT.TopicRule.SigV4Authorization')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RoleArn, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ServiceName, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SigningRegion + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.IoT.TopicRule.SigV4Authorization' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSLakeFormationPermissionsResource.ps1 b/VaporShell/Public/Resource Property Types/Add-VSLakeFormationPermissionsResource.ps1 index 86308ae29..112815185 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSLakeFormationPermissionsResource.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSLakeFormationPermissionsResource.ps1 @@ -24,6 +24,20 @@ A structure for the resource. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-databaseresource UpdateType: Mutable + .PARAMETER DataLocationResource + Currently not supported by AWS CloudFormation. + + Type: DataLocationResource + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-datalocationresource + UpdateType: Mutable + + .PARAMETER TableWithColumnsResource + Currently not supported by AWS CloudFormation. + + Type: TableWithColumnsResource + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tablewithcolumnsresource + UpdateType: Mutable + .FUNCTIONALITY Vaporshell #> @@ -34,7 +48,11 @@ A structure for the resource. [parameter(Mandatory = $false)] $TableResource, [parameter(Mandatory = $false)] - $DatabaseResource + $DatabaseResource, + [parameter(Mandatory = $false)] + $DataLocationResource, + [parameter(Mandatory = $false)] + $TableWithColumnsResource ) Begin { $obj = [PSCustomObject]@{} diff --git a/VaporShell/Public/Resource Property Types/Add-VSMSKClusterBrokerLogs.ps1 b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterBrokerLogs.ps1 new file mode 100644 index 000000000..b02d92f13 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterBrokerLogs.ps1 @@ -0,0 +1,59 @@ +function Add-VSMSKClusterBrokerLogs { + <# + .SYNOPSIS + Adds an AWS::MSK::Cluster.BrokerLogs resource property to the template. + + .DESCRIPTION + Adds an AWS::MSK::Cluster.BrokerLogs resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html + + .PARAMETER S3 + Type: S3 + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-s3 + UpdateType: Mutable + + .PARAMETER Firehose + Type: Firehose + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-firehose + UpdateType: Mutable + + .PARAMETER CloudWatchLogs + Type: CloudWatchLogs + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-cloudwatchlogs + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.MSK.Cluster.BrokerLogs')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + $S3, + [parameter(Mandatory = $false)] + $Firehose, + [parameter(Mandatory = $false)] + $CloudWatchLogs + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.MSK.Cluster.BrokerLogs' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSMSKClusterCloudWatchLogs.ps1 b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterCloudWatchLogs.ps1 new file mode 100644 index 000000000..9e1a66aa3 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterCloudWatchLogs.ps1 @@ -0,0 +1,70 @@ +function Add-VSMSKClusterCloudWatchLogs { + <# + .SYNOPSIS + Adds an AWS::MSK::Cluster.CloudWatchLogs resource property to the template. + + .DESCRIPTION + Adds an AWS::MSK::Cluster.CloudWatchLogs resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html + + .PARAMETER LogGroup + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-loggroup + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Enabled + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-enabled + PrimitiveType: Boolean + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.MSK.Cluster.CloudWatchLogs')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $LogGroup, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Enabled + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.MSK.Cluster.CloudWatchLogs' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSMSKClusterFirehose.ps1 b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterFirehose.ps1 new file mode 100644 index 000000000..22aa106e6 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterFirehose.ps1 @@ -0,0 +1,70 @@ +function Add-VSMSKClusterFirehose { + <# + .SYNOPSIS + Adds an AWS::MSK::Cluster.Firehose resource property to the template. + + .DESCRIPTION + Adds an AWS::MSK::Cluster.Firehose resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html + + .PARAMETER DeliveryStream + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-deliverystream + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Enabled + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-enabled + PrimitiveType: Boolean + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.MSK.Cluster.Firehose')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DeliveryStream, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Enabled + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.MSK.Cluster.Firehose' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSMSKClusterLoggingInfo.ps1 b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterLoggingInfo.ps1 new file mode 100644 index 000000000..70f7d1fc2 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterLoggingInfo.ps1 @@ -0,0 +1,45 @@ +function Add-VSMSKClusterLoggingInfo { + <# + .SYNOPSIS + Adds an AWS::MSK::Cluster.LoggingInfo resource property to the template. + + .DESCRIPTION + Adds an AWS::MSK::Cluster.LoggingInfo resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html + + .PARAMETER BrokerLogs + Type: BrokerLogs + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html#cfn-msk-cluster-logginginfo-brokerlogs + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.MSK.Cluster.LoggingInfo')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + $BrokerLogs + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.MSK.Cluster.LoggingInfo' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSMSKClusterS3.ps1 b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterS3.ps1 new file mode 100644 index 000000000..86835c918 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSMSKClusterS3.ps1 @@ -0,0 +1,86 @@ +function Add-VSMSKClusterS3 { + <# + .SYNOPSIS + Adds an AWS::MSK::Cluster.S3 resource property to the template. + + .DESCRIPTION + Adds an AWS::MSK::Cluster.S3 resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html + + .PARAMETER Bucket + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-bucket + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER Enabled + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-enabled + PrimitiveType: Boolean + UpdateType: Mutable + + .PARAMETER Prefix + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-prefix + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.MSK.Cluster.S3')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Bucket, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Enabled, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Prefix + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.MSK.Cluster.S3' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSMediaConvertJobTemplateHopDestination.ps1 b/VaporShell/Public/Resource Property Types/Add-VSMediaConvertJobTemplateHopDestination.ps1 new file mode 100644 index 000000000..ff9dce435 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSMediaConvertJobTemplateHopDestination.ps1 @@ -0,0 +1,86 @@ +function Add-VSMediaConvertJobTemplateHopDestination { + <# + .SYNOPSIS + Adds an AWS::MediaConvert::JobTemplate.HopDestination resource property to the template. + + .DESCRIPTION + Adds an AWS::MediaConvert::JobTemplate.HopDestination resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html + + .PARAMETER WaitMinutes + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-waitminutes + PrimitiveType: Integer + UpdateType: Mutable + + .PARAMETER Priority + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-priority + PrimitiveType: Integer + UpdateType: Mutable + + .PARAMETER Queue + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-hopdestination.html#cfn-mediaconvert-jobtemplate-hopdestination-queue + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.MediaConvert.JobTemplate.HopDestination')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $WaitMinutes, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Priority, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Queue + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.MediaConvert.JobTemplate.HopDestination' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSMediaStoreContainerMetricPolicy.ps1 b/VaporShell/Public/Resource Property Types/Add-VSMediaStoreContainerMetricPolicy.ps1 new file mode 100644 index 000000000..8ce4611ed --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSMediaStoreContainerMetricPolicy.ps1 @@ -0,0 +1,71 @@ +function Add-VSMediaStoreContainerMetricPolicy { + <# + .SYNOPSIS + Adds an AWS::MediaStore::Container.MetricPolicy resource property to the template. + + .DESCRIPTION + Adds an AWS::MediaStore::Container.MetricPolicy resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html + + .PARAMETER ContainerLevelMetrics + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html#cfn-mediastore-container-metricpolicy-containerlevelmetrics + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER MetricPolicyRules + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html#cfn-mediastore-container-metricpolicy-metricpolicyrules + ItemType: MetricPolicyRule + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.MediaStore.Container.MetricPolicy')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ContainerLevelMetrics, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.MediaStore.Container.MetricPolicyRule" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MetricPolicyRules + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.MediaStore.Container.MetricPolicy' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSMediaStoreContainerMetricPolicyRule.ps1 b/VaporShell/Public/Resource Property Types/Add-VSMediaStoreContainerMetricPolicyRule.ps1 new file mode 100644 index 000000000..8050ee73d --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSMediaStoreContainerMetricPolicyRule.ps1 @@ -0,0 +1,70 @@ +function Add-VSMediaStoreContainerMetricPolicyRule { + <# + .SYNOPSIS + Adds an AWS::MediaStore::Container.MetricPolicyRule resource property to the template. + + .DESCRIPTION + Adds an AWS::MediaStore::Container.MetricPolicyRule resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html + + .PARAMETER ObjectGroup + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html#cfn-mediastore-container-metricpolicyrule-objectgroup + PrimitiveType: String + UpdateType: Mutable + + .PARAMETER ObjectGroupName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html#cfn-mediastore-container-metricpolicyrule-objectgroupname + PrimitiveType: String + UpdateType: Mutable + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.MediaStore.Container.MetricPolicyRule')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ObjectGroup, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ObjectGroupName + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.MediaStore.Container.MetricPolicyRule' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerDeviceLocation.ps1 b/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerDeviceLocation.ps1 new file mode 100644 index 000000000..0e9f4e881 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerDeviceLocation.ps1 @@ -0,0 +1,86 @@ +function Add-VSNetworkManagerDeviceLocation { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::Device.Location resource property to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::Device.Location resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html + + .PARAMETER Address + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-address + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Latitude + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-latitude + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Longitude + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html#cfn-networkmanager-device-location-longitude + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.NetworkManager.Device.Location')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Address, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Latitude, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Longitude + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.Device.Location' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerLinkBandwidth.ps1 b/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerLinkBandwidth.ps1 new file mode 100644 index 000000000..c6ff802fa --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerLinkBandwidth.ps1 @@ -0,0 +1,70 @@ +function Add-VSNetworkManagerLinkBandwidth { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::Link.Bandwidth resource property to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::Link.Bandwidth resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html + + .PARAMETER DownloadSpeed + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html#cfn-networkmanager-link-bandwidth-downloadspeed + UpdateType: Mutable + PrimitiveType: Integer + + .PARAMETER UploadSpeed + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html#cfn-networkmanager-link-bandwidth-uploadspeed + UpdateType: Mutable + PrimitiveType: Integer + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.NetworkManager.Link.Bandwidth')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DownloadSpeed, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UploadSpeed + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.Link.Bandwidth' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerSiteLocation.ps1 b/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerSiteLocation.ps1 new file mode 100644 index 000000000..0afdf4450 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSNetworkManagerSiteLocation.ps1 @@ -0,0 +1,86 @@ +function Add-VSNetworkManagerSiteLocation { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::Site.Location resource property to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::Site.Location resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html + + .PARAMETER Address + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-address + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Latitude + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-latitude + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Longitude + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html#cfn-networkmanager-site-location-longitude + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.NetworkManager.Site.Location')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Address, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Latitude, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Longitude + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.Site.Location' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupQuery.ps1 b/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupQuery.ps1 new file mode 100644 index 000000000..a048faefe --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupQuery.ps1 @@ -0,0 +1,79 @@ +function Add-VSResourceGroupsGroupQuery { + <# + .SYNOPSIS + Adds an AWS::ResourceGroups::Group.Query resource property to the template. + + .DESCRIPTION + Adds an AWS::ResourceGroups::Group.Query resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html + + .PARAMETER ResourceTypeFilters + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-resourcetypefilters + UpdateType: Mutable + Type: List + PrimitiveItemType: String + + .PARAMETER StackIdentifier + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-stackidentifier + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER TagFilters + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-tagfilters + UpdateType: Mutable + Type: List + ItemType: TagFilter + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ResourceGroups.Group.Query')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + $ResourceTypeFilters, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $StackIdentifier, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.ResourceGroups.Group.TagFilter" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TagFilters + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ResourceGroups.Group.Query' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupResourceQuery.ps1 b/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupResourceQuery.ps1 new file mode 100644 index 000000000..1f7da30fe --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupResourceQuery.ps1 @@ -0,0 +1,61 @@ +function Add-VSResourceGroupsGroupResourceQuery { + <# + .SYNOPSIS + Adds an AWS::ResourceGroups::Group.ResourceQuery resource property to the template. + + .DESCRIPTION + Adds an AWS::ResourceGroups::Group.ResourceQuery resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html + + .PARAMETER Type + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html#cfn-resourcegroups-group-resourcequery-type + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Query + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-resourcequery.html#cfn-resourcegroups-group-resourcequery-query + UpdateType: Mutable + Type: Query + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ResourceGroups.Group.ResourceQuery')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Type, + [parameter(Mandatory = $false)] + $Query + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ResourceGroups.Group.ResourceQuery' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupTagFilter.ps1 b/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupTagFilter.ps1 new file mode 100644 index 000000000..9724d36c1 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSResourceGroupsGroupTagFilter.ps1 @@ -0,0 +1,62 @@ +function Add-VSResourceGroupsGroupTagFilter { + <# + .SYNOPSIS + Adds an AWS::ResourceGroups::Group.TagFilter resource property to the template. + + .DESCRIPTION + Adds an AWS::ResourceGroups::Group.TagFilter resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html + + .PARAMETER Key + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html#cfn-resourcegroups-group-tagfilter-key + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Values + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-tagfilter.html#cfn-resourcegroups-group-tagfilter-values + UpdateType: Mutable + Type: List + PrimitiveItemType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.ResourceGroups.Group.TagFilter')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Key, + [parameter(Mandatory = $false)] + $Values + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ResourceGroups.Group.TagFilter' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSSSMPatchBaselinePatchStringDate.ps1 b/VaporShell/Public/Resource Property Types/Add-VSSSMPatchBaselinePatchStringDate.ps1 new file mode 100644 index 000000000..6f74ecf4a --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSSSMPatchBaselinePatchStringDate.ps1 @@ -0,0 +1,38 @@ +function Add-VSSSMPatchBaselinePatchStringDate { + <# + .SYNOPSIS + Adds an AWS::SSM::PatchBaseline.PatchStringDate resource property to the template. + + .DESCRIPTION + Adds an AWS::SSM::PatchBaseline.PatchStringDate resource property to the template. + + + .LINK + + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.SSM.PatchBaseline.PatchStringDate')] + [cmdletbinding()] + Param + ( + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.SSM.PatchBaseline.PatchStringDate' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSSSMPatchBaselineRule.ps1 b/VaporShell/Public/Resource Property Types/Add-VSSSMPatchBaselineRule.ps1 index fb3e1bb83..6add9d798 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSSSMPatchBaselineRule.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSSSMPatchBaselineRule.ps1 @@ -12,6 +12,13 @@ The PatchRules property of the RuleGroup: https://docs.aws.amazon.com/AWSCloudFo .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html + .PARAMETER ApproveUntilDate + + PatchRule: https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchRule.html in the *AWS Systems Manager API Reference*. + + Type: PatchStringDate + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-approveuntildate + UpdateType: Mutable + .PARAMETER EnableNonSecurity For instances identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is 'false'. Applies to Linux instances only. @@ -48,6 +55,8 @@ You must specify a value for ApproveAfterDays. [cmdletbinding()] Param ( + [parameter(Mandatory = $false)] + $ApproveUntilDate, [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.Boolean","Vaporshell.Function" diff --git a/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryCode.ps1 b/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryCode.ps1 new file mode 100644 index 000000000..917a5bca0 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryCode.ps1 @@ -0,0 +1,118 @@ +function Add-VSSyntheticsCanaryCode { + <# + .SYNOPSIS + Adds an AWS::Synthetics::Canary.Code resource property to the template. + + .DESCRIPTION + Adds an AWS::Synthetics::Canary.Code resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html + + .PARAMETER S3Bucket + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3bucket + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER S3Key + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3key + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER S3ObjectVersion + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3objectversion + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Script + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-script + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Handler + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-handler + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Synthetics.Canary.Code')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $S3Bucket, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $S3Key, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $S3ObjectVersion, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Script, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Handler + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Synthetics.Canary.Code' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryRunConfig.ps1 b/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryRunConfig.ps1 new file mode 100644 index 000000000..2ffe830f7 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryRunConfig.ps1 @@ -0,0 +1,54 @@ +function Add-VSSyntheticsCanaryRunConfig { + <# + .SYNOPSIS + Adds an AWS::Synthetics::Canary.RunConfig resource property to the template. + + .DESCRIPTION + Adds an AWS::Synthetics::Canary.RunConfig resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html + + .PARAMETER TimeoutInSeconds + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html#cfn-synthetics-canary-runconfig-timeoutinseconds + UpdateType: Mutable + PrimitiveType: Integer + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Synthetics.Canary.RunConfig')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TimeoutInSeconds + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Synthetics.Canary.RunConfig' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanarySchedule.ps1 b/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanarySchedule.ps1 new file mode 100644 index 000000000..d6a1624e5 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanarySchedule.ps1 @@ -0,0 +1,70 @@ +function Add-VSSyntheticsCanarySchedule { + <# + .SYNOPSIS + Adds an AWS::Synthetics::Canary.Schedule resource property to the template. + + .DESCRIPTION + Adds an AWS::Synthetics::Canary.Schedule resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html + + .PARAMETER Expression + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-expression + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER DurationInSeconds + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-durationinseconds + UpdateType: Mutable + PrimitiveType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Synthetics.Canary.Schedule')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Expression, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DurationInSeconds + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Synthetics.Canary.Schedule' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryVPCConfig.ps1 b/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryVPCConfig.ps1 new file mode 100644 index 000000000..124a0d311 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSSyntheticsCanaryVPCConfig.ps1 @@ -0,0 +1,70 @@ +function Add-VSSyntheticsCanaryVPCConfig { + <# + .SYNOPSIS + Adds an AWS::Synthetics::Canary.VPCConfig resource property to the template. + + .DESCRIPTION + Adds an AWS::Synthetics::Canary.VPCConfig resource property to the template. + + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html + + .PARAMETER VpcId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-vpcid + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER SubnetIds + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-subnetids + UpdateType: Mutable + Type: List + PrimitiveItemType: String + + .PARAMETER SecurityGroupIds + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-securitygroupids + UpdateType: Mutable + Type: List + PrimitiveItemType: String + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Synthetics.Canary.VPCConfig')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $VpcId, + [parameter(Mandatory = $true)] + $SubnetIds, + [parameter(Mandatory = $true)] + $SecurityGroupIds + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Synthetics.Canary.VPCConfig' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSTransferServerProtocol.ps1 b/VaporShell/Public/Resource Property Types/Add-VSTransferServerProtocol.ps1 new file mode 100644 index 000000000..aee8a9d40 --- /dev/null +++ b/VaporShell/Public/Resource Property Types/Add-VSTransferServerProtocol.ps1 @@ -0,0 +1,38 @@ +function Add-VSTransferServerProtocol { + <# + .SYNOPSIS + Adds an AWS::Transfer::Server.Protocol resource property to the template. + + .DESCRIPTION + Adds an AWS::Transfer::Server.Protocol resource property to the template. + + + .LINK + + + .FUNCTIONALITY + Vaporshell + #> + [OutputType('Vaporshell.Resource.Transfer.Server.Protocol')] + [cmdletbinding()] + Param + ( + ) + Begin { + $obj = [PSCustomObject]@{} + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + Default { + $obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key + } + } + } + } + End { + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Transfer.Server.Protocol' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$($obj | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Property Types/Add-VSWAFv2RuleGroupByteMatchStatement.ps1 b/VaporShell/Public/Resource Property Types/Add-VSWAFv2RuleGroupByteMatchStatement.ps1 index 0645e37b7..6f42451b6 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSWAFv2RuleGroupByteMatchStatement.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSWAFv2RuleGroupByteMatchStatement.ps1 @@ -73,7 +73,7 @@ The value of SearchString must appear at the end of the specified part of the we [cmdletbinding()] Param ( - [parameter(Mandatory = $true)] + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { diff --git a/VaporShell/Public/Resource Property Types/Add-VSWAFv2WebACLByteMatchStatement.ps1 b/VaporShell/Public/Resource Property Types/Add-VSWAFv2WebACLByteMatchStatement.ps1 index de7b9f1a4..14861ad9d 100644 --- a/VaporShell/Public/Resource Property Types/Add-VSWAFv2WebACLByteMatchStatement.ps1 +++ b/VaporShell/Public/Resource Property Types/Add-VSWAFv2WebACLByteMatchStatement.ps1 @@ -73,7 +73,7 @@ The value of SearchString must appear at the end of the specified part of the we [cmdletbinding()] Param ( - [parameter(Mandatory = $true)] + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { diff --git a/VaporShell/Public/Resource Types/New-VSACMPCACertificate.ps1 b/VaporShell/Public/Resource Types/New-VSACMPCACertificate.ps1 index 34736a87a..4d4de2cce 100644 --- a/VaporShell/Public/Resource Types/New-VSACMPCACertificate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSACMPCACertificate.ps1 @@ -55,6 +55,23 @@ This parameter should not be confused with the SigningAlgorithm parameter used t 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. @@ -187,6 +204,9 @@ This parameter should not be confused with the SigningAlgorithm parameter used t DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSACMPCACertificateAuthority.ps1 b/VaporShell/Public/Resource Types/New-VSACMPCACertificateAuthority.ps1 index cd5025167..a9a6bb6ba 100644 --- a/VaporShell/Public/Resource Types/New-VSACMPCACertificateAuthority.ps1 +++ b/VaporShell/Public/Resource Types/New-VSACMPCACertificateAuthority.ps1 @@ -67,6 +67,23 @@ This parameter should not be confused with the SigningAlgorithm parameter used t 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. @@ -193,6 +210,9 @@ This parameter should not be confused with the SigningAlgorithm parameter used t DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSACMPCACertificateAuthorityActivation.ps1 b/VaporShell/Public/Resource Types/New-VSACMPCACertificateAuthorityActivation.ps1 index 94fc52bff..ec0a1f864 100644 --- a/VaporShell/Public/Resource Types/New-VSACMPCACertificateAuthorityActivation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSACMPCACertificateAuthorityActivation.ps1 @@ -47,6 +47,23 @@ function New-VSACMPCACertificateAuthorityActivation { 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. @@ -177,6 +194,9 @@ function New-VSACMPCACertificateAuthorityActivation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAccessAnalyzerAnalyzer.ps1 b/VaporShell/Public/Resource Types/New-VSAccessAnalyzerAnalyzer.ps1 index 0959cc348..0449f974a 100644 --- a/VaporShell/Public/Resource Types/New-VSAccessAnalyzerAnalyzer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAccessAnalyzerAnalyzer.ps1 @@ -50,6 +50,23 @@ function New-VSAccessAnalyzerAnalyzer { 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. @@ -172,6 +189,9 @@ function New-VSAccessAnalyzerAnalyzer { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAlexaASKSkill.ps1 b/VaporShell/Public/Resource Types/New-VSAlexaASKSkill.ps1 index 50a1871d2..4bff97454 100644 --- a/VaporShell/Public/Resource Types/New-VSAlexaASKSkill.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAlexaASKSkill.ps1 @@ -40,6 +40,23 @@ function New-VSAlexaASKSkill { 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. @@ -141,6 +158,9 @@ function New-VSAlexaASKSkill { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAmazonMQBroker.ps1 b/VaporShell/Public/Resource Types/New-VSAmazonMQBroker.ps1 index d6f25dbbb..dd355d10c 100644 --- a/VaporShell/Public/Resource Types/New-VSAmazonMQBroker.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAmazonMQBroker.ps1 @@ -167,6 +167,23 @@ This permission is required to attach the ENI to the broker instance. 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. @@ -375,6 +392,9 @@ This permission is required to attach the ENI to the broker instance. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAmazonMQConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSAmazonMQConfiguration.ps1 index 441123fe6..89f1b9ff2 100644 --- a/VaporShell/Public/Resource Types/New-VSAmazonMQConfiguration.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAmazonMQConfiguration.ps1 @@ -62,6 +62,23 @@ function New-VSAmazonMQConfiguration { 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. @@ -214,6 +231,9 @@ function New-VSAmazonMQConfiguration { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAmazonMQConfigurationAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSAmazonMQConfigurationAssociation.ps1 index b32e1d4d3..cbf80987f 100644 --- a/VaporShell/Public/Resource Types/New-VSAmazonMQConfigurationAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAmazonMQConfigurationAssociation.ps1 @@ -33,6 +33,23 @@ function New-VSAmazonMQConfigurationAssociation { 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. @@ -132,6 +149,9 @@ function New-VSAmazonMQConfigurationAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAmplifyApp.ps1 b/VaporShell/Public/Resource Types/New-VSAmplifyApp.ps1 index 0bc681dac..f077bda75 100644 --- a/VaporShell/Public/Resource Types/New-VSAmplifyApp.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAmplifyApp.ps1 @@ -106,6 +106,23 @@ function New-VSAmplifyApp { 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. @@ -298,6 +315,9 @@ function New-VSAmplifyApp { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAmplifyBranch.ps1 b/VaporShell/Public/Resource Types/New-VSAmplifyBranch.ps1 index 6001923fa..53d4f17d3 100644 --- a/VaporShell/Public/Resource Types/New-VSAmplifyBranch.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAmplifyBranch.ps1 @@ -103,6 +103,23 @@ For more information, see Web Previews: https://docs.aws.amazon.com/amplify/late 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. @@ -293,6 +310,9 @@ For more information, see Web Previews: https://docs.aws.amazon.com/amplify/late DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAmplifyDomain.ps1 b/VaporShell/Public/Resource Types/New-VSAmplifyDomain.ps1 index bbf24775d..18b26b624 100644 --- a/VaporShell/Public/Resource Types/New-VSAmplifyDomain.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAmplifyDomain.ps1 @@ -41,6 +41,23 @@ function New-VSAmplifyDomain { 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. @@ -160,6 +177,9 @@ function New-VSAmplifyDomain { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayAccount.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayAccount.ps1 index a15b983f6..ce36f26c7 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayAccount.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayAccount.ps1 @@ -32,6 +32,23 @@ If an API Gateway resource has been created in your AWS account, no dependency i 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. @@ -129,6 +146,9 @@ If an API Gateway resource has been created in your AWS account, no dependency i DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayApiKey.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayApiKey.ps1 index 11287256c..2d082bd37 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayApiKey.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayApiKey.ps1 @@ -80,6 +80,23 @@ If you specify a name, you cannot perform updates that require replacement of th 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. @@ -246,6 +263,9 @@ If you specify a name, you cannot perform updates that require replacement of th DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayAuthorizer.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayAuthorizer.ps1 index c47c0fbcf..540ad64ce 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayAuthorizer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayAuthorizer.ps1 @@ -96,6 +96,23 @@ If you specify REQUEST for the Type property, specify a comma-separated string o 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. @@ -285,6 +302,9 @@ If you specify REQUEST for the Type property, specify a comma-separated string o DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayBasePathMapping.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayBasePathMapping.ps1 index bc65b31e9..8590c6ea9 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayBasePathMapping.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayBasePathMapping.ps1 @@ -47,6 +47,23 @@ function New-VSApiGatewayBasePathMapping { 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. @@ -177,6 +194,9 @@ function New-VSApiGatewayBasePathMapping { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayClientCertificate.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayClientCertificate.ps1 index 057441e19..8adc77f9b 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayClientCertificate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayClientCertificate.ps1 @@ -35,6 +35,23 @@ function New-VSApiGatewayClientCertificate { 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. @@ -135,6 +152,9 @@ function New-VSApiGatewayClientCertificate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayDeployment.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayDeployment.ps1 index a4d5a7edf..756a91c37 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayDeployment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayDeployment.ps1 @@ -54,6 +54,23 @@ function New-VSApiGatewayDeployment { 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. @@ -177,6 +194,9 @@ function New-VSApiGatewayDeployment { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayDocumentationPart.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayDocumentationPart.ps1 index 6f18dbcbe..8fe238f70 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayDocumentationPart.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayDocumentationPart.ps1 @@ -40,6 +40,23 @@ function New-VSApiGatewayDocumentationPart { 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. @@ -150,6 +167,9 @@ function New-VSApiGatewayDocumentationPart { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayDocumentationVersion.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayDocumentationVersion.ps1 index aed5eaf02..33dc1c05a 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayDocumentationVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayDocumentationVersion.ps1 @@ -40,6 +40,23 @@ function New-VSApiGatewayDocumentationVersion { 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. @@ -159,6 +176,9 @@ function New-VSApiGatewayDocumentationVersion { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayDomainName.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayDomainName.ps1 index c2e10c9f7..e390c3eca 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayDomainName.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayDomainName.ps1 @@ -66,6 +66,23 @@ Valid values include TLS_1_0 and TLS_1_2. 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. @@ -201,6 +218,9 @@ Valid values include TLS_1_0 and TLS_1_2. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayGatewayResponse.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayGatewayResponse.ps1 index 8dc8b12ce..868436973 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayGatewayResponse.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayGatewayResponse.ps1 @@ -58,6 +58,23 @@ function New-VSApiGatewayGatewayResponse { 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. @@ -183,6 +200,9 @@ function New-VSApiGatewayGatewayResponse { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayMethod.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayMethod.ps1 index 4ae115784..88c0ad025 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayMethod.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayMethod.ps1 @@ -119,6 +119,23 @@ If you specify the AuthorizerId property, specify CUSTOM for this property. 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. @@ -314,6 +331,9 @@ If you specify the AuthorizerId property, specify CUSTOM for this property. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayModel.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayModel.ps1 index 9801c9263..2293b1f8a 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayModel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayModel.ps1 @@ -55,6 +55,23 @@ If you specify a name, you cannot perform updates that require replacement of th 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. @@ -196,6 +213,9 @@ If you specify a name, you cannot perform updates that require replacement of th DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayRequestValidator.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayRequestValidator.ps1 index 9213122eb..1a929d58b 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayRequestValidator.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayRequestValidator.ps1 @@ -47,6 +47,23 @@ function New-VSApiGatewayRequestValidator { 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. @@ -177,6 +194,9 @@ function New-VSApiGatewayRequestValidator { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayResource.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayResource.ps1 index 1eea22be5..9406c672c 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayResource.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayResource.ps1 @@ -40,6 +40,23 @@ function New-VSApiGatewayResource { 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. @@ -159,6 +176,9 @@ function New-VSApiGatewayResource { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayRestApi.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayRestApi.ps1 index 5720e720b..758e5b7e3 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayRestApi.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayRestApi.ps1 @@ -122,6 +122,23 @@ On January 1, 2016, the Swagger Specification was donated to the OpenAPI initiat 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. @@ -308,6 +325,9 @@ On January 1, 2016, the Swagger Specification was donated to the OpenAPI initiat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayStage.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayStage.ps1 index a590dfde3..62e7f7355 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayStage.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayStage.ps1 @@ -124,6 +124,23 @@ For more information, see Trace API Gateway API Execution with AWS X-Ray: https: 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. @@ -330,6 +347,9 @@ For more information, see Trace API Gateway API Execution with AWS X-Ray: https: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayUsagePlan.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayUsagePlan.ps1 index 45fc0dd4d..b90115f75 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayUsagePlan.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayUsagePlan.ps1 @@ -65,6 +65,23 @@ function New-VSApiGatewayUsagePlan { 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. @@ -191,6 +208,9 @@ function New-VSApiGatewayUsagePlan { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayUsagePlanKey.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayUsagePlanKey.ps1 index c4c895cd1..f713432d7 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayUsagePlanKey.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayUsagePlanKey.ps1 @@ -40,6 +40,23 @@ function New-VSApiGatewayUsagePlanKey { 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. @@ -159,6 +176,9 @@ function New-VSApiGatewayUsagePlanKey { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Api.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Api.ps1 index 51bd640b9..96b99761f 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Api.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Api.ps1 @@ -131,6 +131,23 @@ function New-VSApiGatewayV2Api { 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. @@ -377,6 +394,9 @@ function New-VSApiGatewayV2Api { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2ApiMapping.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2ApiMapping.ps1 index 70e3ff6a8..61c89eef6 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2ApiMapping.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2ApiMapping.ps1 @@ -47,6 +47,23 @@ function New-VSApiGatewayV2ApiMapping { 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. @@ -177,6 +194,9 @@ function New-VSApiGatewayV2ApiMapping { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Authorizer.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Authorizer.ps1 index a31067525..1fae472ce 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Authorizer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Authorizer.ps1 @@ -85,6 +85,23 @@ For JWT, a single entry that specifies where to extract the JSON Web Token JWT f 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. @@ -254,6 +271,9 @@ For JWT, a single entry that specifies where to extract the JSON Web Token JWT f DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Deployment.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Deployment.ps1 index 62e02c84b..b71120ef0 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Deployment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Deployment.ps1 @@ -40,6 +40,23 @@ function New-VSApiGatewayV2Deployment { 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. @@ -159,6 +176,9 @@ function New-VSApiGatewayV2Deployment { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2DomainName.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2DomainName.ps1 index d6127eaf3..dcd072b18 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2DomainName.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2DomainName.ps1 @@ -43,6 +43,23 @@ You can use a custom domain name to provide a URL that's more intuitive and easi 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. @@ -162,6 +179,9 @@ You can use a custom domain name to provide a URL that's more intuitive and easi DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Integration.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Integration.ps1 index b9d2edc50..49d6debc5 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Integration.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Integration.ps1 @@ -57,6 +57,13 @@ WHEN_NO_TEMPLATES allows pass-through when the integration has no content types PrimitiveType: Json UpdateType: Mutable + .PARAMETER ConnectionId + + CreateIntegration: https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations.html#CreateIntegration in the *Amazon API Gateway Version 2 API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectionid + PrimitiveType: String + UpdateType: Mutable + .PARAMETER IntegrationUri For a Lambda proxy integration, this is the URI of the Lambda function. @@ -92,6 +99,13 @@ WHEN_NO_TEMPLATES allows pass-through when the integration has no content types PrimitiveType: Integer UpdateType: Mutable + .PARAMETER TlsConfig + + CreateIntegration: https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations.html#CreateIntegration in the *Amazon API Gateway Version 2 API Reference* + + Type: TlsConfig + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-tlsconfig + UpdateType: Mutable + .PARAMETER ContentHandlingStrategy Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. @@ -128,6 +142,23 @@ MOCK: for integrating the route or method request with API Gateway as a "loopbac 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. @@ -235,6 +266,17 @@ MOCK: for integrating the route or method request with API Gateway as a "loopbac })] $RequestParameters, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ConnectionId, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -290,6 +332,8 @@ MOCK: for integrating the route or method request with API Gateway as a "loopbac })] $TimeoutInMillis, [parameter(Mandatory = $false)] + $TlsConfig, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -370,6 +414,9 @@ MOCK: for integrating the route or method request with API Gateway as a "loopbac DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2IntegrationResponse.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2IntegrationResponse.ps1 index d26ccbeba..a70a0ac21 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2IntegrationResponse.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2IntegrationResponse.ps1 @@ -71,6 +71,23 @@ If this property is not defined, the response payload will be passed through fro 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. @@ -234,6 +251,9 @@ If this property is not defined, the response payload will be passed through fro DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Model.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Model.ps1 index 7678b1a7d..b4f309ec3 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Model.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Model.ps1 @@ -54,6 +54,23 @@ function New-VSApiGatewayV2Model { 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. @@ -195,6 +212,9 @@ function New-VSApiGatewayV2Model { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Route.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Route.ps1 index 934fb47ac..f5066f549 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Route.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Route.ps1 @@ -104,6 +104,23 @@ function New-VSApiGatewayV2Route { 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. @@ -313,6 +330,9 @@ function New-VSApiGatewayV2Route { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2RouteResponse.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2RouteResponse.ps1 index 76df7b7d9..7912a5521 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2RouteResponse.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2RouteResponse.ps1 @@ -61,6 +61,23 @@ function New-VSApiGatewayV2RouteResponse { 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. @@ -213,6 +230,9 @@ function New-VSApiGatewayV2RouteResponse { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Stage.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Stage.ps1 index 55e264fcb..601064685 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayV2Stage.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayV2Stage.ps1 @@ -96,6 +96,23 @@ function New-VSApiGatewayV2Stage { 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. @@ -285,6 +302,9 @@ function New-VSApiGatewayV2Stage { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApiGatewayVpcLink.ps1 b/VaporShell/Public/Resource Types/New-VSApiGatewayVpcLink.ps1 index ce308b5f5..bed85812d 100644 --- a/VaporShell/Public/Resource Types/New-VSApiGatewayVpcLink.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApiGatewayVpcLink.ps1 @@ -41,6 +41,23 @@ function New-VSApiGatewayVpcLink { 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. @@ -151,6 +168,9 @@ function New-VSApiGatewayVpcLink { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppConfigApplication.ps1 b/VaporShell/Public/Resource Types/New-VSAppConfigApplication.ps1 index 7bc04de1b..65727555d 100644 --- a/VaporShell/Public/Resource Types/New-VSAppConfigApplication.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppConfigApplication.ps1 @@ -55,6 +55,23 @@ For more information, see AWS AppConfig: https://docs.aws.amazon.com/systems-man 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. @@ -174,6 +191,9 @@ For more information, see AWS AppConfig: https://docs.aws.amazon.com/systems-man DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppConfigConfigurationProfile.ps1 b/VaporShell/Public/Resource Types/New-VSAppConfigConfigurationProfile.ps1 index cff884bd4..8297b9955 100644 --- a/VaporShell/Public/Resource Types/New-VSAppConfigConfigurationProfile.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppConfigConfigurationProfile.ps1 @@ -90,6 +90,23 @@ For more information, see AWS AppConfig: https://docs.aws.amazon.com/systems-man 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. @@ -253,6 +270,9 @@ For more information, see AWS AppConfig: https://docs.aws.amazon.com/systems-man DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppConfigDeployment.ps1 b/VaporShell/Public/Resource Types/New-VSAppConfigDeployment.ps1 index a1f7364d4..a38a3bc0d 100644 --- a/VaporShell/Public/Resource Types/New-VSAppConfigDeployment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppConfigDeployment.ps1 @@ -85,6 +85,23 @@ For more information, see AWS AppConfig: https://docs.aws.amazon.com/systems-man 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. @@ -248,6 +265,9 @@ For more information, see AWS AppConfig: https://docs.aws.amazon.com/systems-man DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppConfigDeploymentStrategy.ps1 b/VaporShell/Public/Resource Types/New-VSAppConfigDeploymentStrategy.ps1 index fbcdc2e5a..f9fa0e640 100644 --- a/VaporShell/Public/Resource Types/New-VSAppConfigDeploymentStrategy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppConfigDeploymentStrategy.ps1 @@ -96,6 +96,23 @@ Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4 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. @@ -270,6 +287,9 @@ Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4 DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppConfigEnvironment.ps1 b/VaporShell/Public/Resource Types/New-VSAppConfigEnvironment.ps1 index 169cc93f3..1762e245d 100644 --- a/VaporShell/Public/Resource Types/New-VSAppConfigEnvironment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppConfigEnvironment.ps1 @@ -70,6 +70,23 @@ For more information, see AWS AppConfig: https://docs.aws.amazon.com/systems-man 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. @@ -211,6 +228,9 @@ For more information, see AWS AppConfig: https://docs.aws.amazon.com/systems-man DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppMeshMesh.ps1 b/VaporShell/Public/Resource Types/New-VSAppMeshMesh.ps1 index be8c5624a..51be6bcfd 100644 --- a/VaporShell/Public/Resource Types/New-VSAppMeshMesh.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppMeshMesh.ps1 @@ -43,6 +43,23 @@ After you create your service mesh, you can create virtual services, virtual nod 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. @@ -145,6 +162,9 @@ After you create your service mesh, you can create virtual services, virtual nod DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppMeshRoute.ps1 b/VaporShell/Public/Resource Types/New-VSAppMeshRoute.ps1 index b4bf24426..f189faff2 100644 --- a/VaporShell/Public/Resource Types/New-VSAppMeshRoute.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppMeshRoute.ps1 @@ -30,6 +30,13 @@ If your route matches a request, you can distribute traffic to one or more targe PrimitiveType: String UpdateType: Immutable + .PARAMETER MeshOwner + + CreateRoute: https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateRoute.html in the * AWS App Mesh API Reference *. + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshowner + PrimitiveType: String + UpdateType: Immutable + .PARAMETER RouteName The name to use for the route. @@ -59,6 +66,23 @@ If your route matches a request, you can distribute traffic to one or more targe 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. @@ -119,6 +143,17 @@ If your route matches a request, you can distribute traffic to one or more targe } })] $VirtualRouterName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MeshOwner, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -183,6 +218,9 @@ If your route matches a request, you can distribute traffic to one or more targe DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppMeshVirtualNode.ps1 b/VaporShell/Public/Resource Types/New-VSAppMeshVirtualNode.ps1 index 2d4446e60..1b9a74ae9 100644 --- a/VaporShell/Public/Resource Types/New-VSAppMeshVirtualNode.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppMeshVirtualNode.ps1 @@ -29,6 +29,13 @@ If you require your Envoy stats or tracing to use a different name, you can over PrimitiveType: String UpdateType: Immutable + .PARAMETER MeshOwner + + CreateVirtualNode: https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateVirtualNode.html in the * AWS App Mesh API Reference *. + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshowner + PrimitiveType: String + UpdateType: Immutable + .PARAMETER Spec The virtual node specification to apply. @@ -58,6 +65,23 @@ If you require your Envoy stats or tracing to use a different name, you can over 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. @@ -107,6 +131,17 @@ If you require your Envoy stats or tracing to use a different name, you can over } })] $MeshName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MeshOwner, [parameter(Mandatory = $true)] $Spec, [parameter(Mandatory = $true)] @@ -171,6 +206,9 @@ If you require your Envoy stats or tracing to use a different name, you can over DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppMeshVirtualRouter.ps1 b/VaporShell/Public/Resource Types/New-VSAppMeshVirtualRouter.ps1 index f56a61542..7691be39a 100644 --- a/VaporShell/Public/Resource Types/New-VSAppMeshVirtualRouter.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppMeshVirtualRouter.ps1 @@ -30,6 +30,13 @@ Virtual routers handle traffic for one or more virtual services within your mesh PrimitiveType: String UpdateType: Immutable + .PARAMETER MeshOwner + + CreateVirtualRouter: https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateVirtualRouter.html in the * AWS App Mesh API Reference *. + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshowner + PrimitiveType: String + UpdateType: Immutable + .PARAMETER Spec The virtual router specification to apply. @@ -52,6 +59,23 @@ Virtual routers handle traffic for one or more virtual services within your mesh 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. @@ -112,6 +136,17 @@ Virtual routers handle traffic for one or more virtual services within your mesh } })] $VirtualRouterName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MeshOwner, [parameter(Mandatory = $true)] $Spec, [VaporShell.Core.TransformTag()] @@ -165,6 +200,9 @@ Virtual routers handle traffic for one or more virtual services within your mesh DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppMeshVirtualService.ps1 b/VaporShell/Public/Resource Types/New-VSAppMeshVirtualService.ps1 index 561263119..5fd3c9f84 100644 --- a/VaporShell/Public/Resource Types/New-VSAppMeshVirtualService.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppMeshVirtualService.ps1 @@ -21,6 +21,13 @@ A virtual service is an abstraction of a real service that is provided by a virt PrimitiveType: String UpdateType: Immutable + .PARAMETER MeshOwner + + CreateVirtualService: https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateVirtualService.html in the * AWS App Mesh API Reference *. + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshowner + PrimitiveType: String + UpdateType: Immutable + .PARAMETER VirtualServiceName The name to use for the virtual service. @@ -50,6 +57,23 @@ A virtual service is an abstraction of a real service that is provided by a virt 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. @@ -99,6 +123,17 @@ A virtual service is an abstraction of a real service that is provided by a virt } })] $MeshName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MeshOwner, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -163,6 +198,9 @@ A virtual service is an abstraction of a real service that is provided by a virt DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppStreamDirectoryConfig.ps1 b/VaporShell/Public/Resource Types/New-VSAppStreamDirectoryConfig.ps1 index b37d05a0b..d9938b073 100644 --- a/VaporShell/Public/Resource Types/New-VSAppStreamDirectoryConfig.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppStreamDirectoryConfig.ps1 @@ -41,6 +41,23 @@ function New-VSAppStreamDirectoryConfig { 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. @@ -144,6 +161,9 @@ function New-VSAppStreamDirectoryConfig { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppStreamFleet.ps1 b/VaporShell/Public/Resource Types/New-VSAppStreamFleet.ps1 index a94d82da0..611baf2b8 100644 --- a/VaporShell/Public/Resource Types/New-VSAppStreamFleet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppStreamFleet.ps1 @@ -159,6 +159,23 @@ Specify a value between 60 and 360000. 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. @@ -375,6 +392,9 @@ Specify a value between 60 and 360000. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppStreamImageBuilder.ps1 b/VaporShell/Public/Resource Types/New-VSAppStreamImageBuilder.ps1 index b17794b68..622b6727d 100644 --- a/VaporShell/Public/Resource Types/New-VSAppStreamImageBuilder.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppStreamImageBuilder.ps1 @@ -133,6 +133,23 @@ The initial state of the image builder is PENDING. When it is ready, the state i 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. @@ -325,6 +342,9 @@ The initial state of the image builder is PENDING. When it is ready, the state i DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppStreamStack.ps1 b/VaporShell/Public/Resource Types/New-VSAppStreamStack.ps1 index 9ad1ce0d6..c5b64bc10 100644 --- a/VaporShell/Public/Resource Types/New-VSAppStreamStack.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppStreamStack.ps1 @@ -117,6 +117,23 @@ Deletes the storage connectors currently enabled for the stack. 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. @@ -311,6 +328,9 @@ Deletes the storage connectors currently enabled for the stack. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppStreamStackFleetAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSAppStreamStackFleetAssociation.ps1 index 23fe073a3..236d1ac0a 100644 --- a/VaporShell/Public/Resource Types/New-VSAppStreamStackFleetAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppStreamStackFleetAssociation.ps1 @@ -35,6 +35,23 @@ To associate a fleet with a stack, you must specify a dependency on the stack re 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. @@ -143,6 +160,9 @@ To associate a fleet with a stack, you must specify a dependency on the stack re DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppStreamStackUserAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSAppStreamStackUserAssociation.ps1 index 9af6be0d6..b898a54ec 100644 --- a/VaporShell/Public/Resource Types/New-VSAppStreamStackUserAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppStreamStackUserAssociation.ps1 @@ -48,6 +48,23 @@ Users' email addresses are case-sensitive. 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. @@ -178,6 +195,9 @@ Users' email addresses are case-sensitive. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppStreamUser.ps1 b/VaporShell/Public/Resource Types/New-VSAppStreamUser.ps1 index 92f0e0fb1..48dfea010 100644 --- a/VaporShell/Public/Resource Types/New-VSAppStreamUser.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppStreamUser.ps1 @@ -56,6 +56,23 @@ The temporary password in the welcome email is valid for only 7 days. If users d 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. @@ -197,6 +214,9 @@ The temporary password in the welcome email is valid for only 7 days. If users d DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppSyncApiCache.ps1 b/VaporShell/Public/Resource Types/New-VSAppSyncApiCache.ps1 index 1d6d80429..7bbadfcba 100644 --- a/VaporShell/Public/Resource Types/New-VSAppSyncApiCache.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppSyncApiCache.ps1 @@ -71,6 +71,23 @@ Valid values are between 1 and 3600 seconds. 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. @@ -223,6 +240,9 @@ Valid values are between 1 and 3600 seconds. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppSyncApiKey.ps1 b/VaporShell/Public/Resource Types/New-VSAppSyncApiKey.ps1 index e0ae22a6c..3f1b72c24 100644 --- a/VaporShell/Public/Resource Types/New-VSAppSyncApiKey.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppSyncApiKey.ps1 @@ -40,6 +40,23 @@ function New-VSAppSyncApiKey { 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. @@ -159,6 +176,9 @@ function New-VSAppSyncApiKey { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppSyncDataSource.ps1 b/VaporShell/Public/Resource Types/New-VSAppSyncDataSource.ps1 index fd190e795..4bf5e64bf 100644 --- a/VaporShell/Public/Resource Types/New-VSAppSyncDataSource.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppSyncDataSource.ps1 @@ -96,6 +96,23 @@ Required if Type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, or AMAZON_ELASTICS 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. @@ -247,6 +264,9 @@ Required if Type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, or AMAZON_ELASTICS DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppSyncFunctionConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSAppSyncFunctionConfiguration.ps1 index bef343a67..240d33ed1 100644 --- a/VaporShell/Public/Resource Types/New-VSAppSyncFunctionConfiguration.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppSyncFunctionConfiguration.ps1 @@ -82,6 +82,23 @@ function New-VSAppSyncFunctionConfiguration { 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. @@ -267,6 +284,9 @@ function New-VSAppSyncFunctionConfiguration { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppSyncGraphQLApi.ps1 b/VaporShell/Public/Resource Types/New-VSAppSyncGraphQLApi.ps1 index 6807b4bfa..2500557b8 100644 --- a/VaporShell/Public/Resource Types/New-VSAppSyncGraphQLApi.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppSyncGraphQLApi.ps1 @@ -75,6 +75,23 @@ function New-VSAppSyncGraphQLApi { 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. @@ -204,6 +221,9 @@ function New-VSAppSyncGraphQLApi { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppSyncGraphQLSchema.ps1 b/VaporShell/Public/Resource Types/New-VSAppSyncGraphQLSchema.ps1 index 9cee0b2ae..c9b766236 100644 --- a/VaporShell/Public/Resource Types/New-VSAppSyncGraphQLSchema.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppSyncGraphQLSchema.ps1 @@ -41,6 +41,23 @@ For more information about using the Ref function, see Ref: https://docs.aws.ama 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. @@ -160,6 +177,9 @@ For more information about using the Ref function, see Ref: https://docs.aws.ama DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAppSyncResolver.ps1 b/VaporShell/Public/Resource Types/New-VSAppSyncResolver.ps1 index 19980e06a..555c51ac3 100644 --- a/VaporShell/Public/Resource Types/New-VSAppSyncResolver.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAppSyncResolver.ps1 @@ -105,6 +105,23 @@ function New-VSAppSyncResolver { 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. @@ -296,6 +313,9 @@ function New-VSAppSyncResolver { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApplicationAutoScalingScalableTarget.ps1 b/VaporShell/Public/Resource Types/New-VSApplicationAutoScalingScalableTarget.ps1 index fbc49c9c1..ba628ec34 100644 --- a/VaporShell/Public/Resource Types/New-VSApplicationAutoScalingScalableTarget.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApplicationAutoScalingScalableTarget.ps1 @@ -86,6 +86,23 @@ For more information, see Suspending and Resuming Scaling: https://docs.aws.amaz 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. @@ -251,6 +268,9 @@ For more information, see Suspending and Resuming Scaling: https://docs.aws.amaz DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSApplicationAutoScalingScalingPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSApplicationAutoScalingScalingPolicy.ps1 index 188fb2dde..c4d138282 100644 --- a/VaporShell/Public/Resource Types/New-VSApplicationAutoScalingScalingPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSApplicationAutoScalingScalingPolicy.ps1 @@ -84,6 +84,23 @@ You must specify either the ResourceId, ScalableDimension, and ServiceNamespace 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. @@ -240,6 +257,9 @@ You must specify either the ResourceId, ScalableDimension, and ServiceNamespace DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAthenaNamedQuery.ps1 b/VaporShell/Public/Resource Types/New-VSAthenaNamedQuery.ps1 index 133d6c14d..bbb0457c7 100644 --- a/VaporShell/Public/Resource Types/New-VSAthenaNamedQuery.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAthenaNamedQuery.ps1 @@ -47,6 +47,23 @@ function New-VSAthenaNamedQuery { 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. @@ -177,6 +194,9 @@ function New-VSAthenaNamedQuery { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAthenaWorkGroup.ps1 b/VaporShell/Public/Resource Types/New-VSAthenaWorkGroup.ps1 new file mode 100644 index 000000000..152d47cfd --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSAthenaWorkGroup.ps1 @@ -0,0 +1,239 @@ +function New-VSAthenaWorkGroup { + <# + .SYNOPSIS + Adds an AWS::Athena::WorkGroup resource to the template. + + .DESCRIPTION + Adds an AWS::Athena::WorkGroup resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-tags + UpdateType: Mutable + Type: Tags + + .PARAMETER WorkGroupConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-workgroupconfiguration + UpdateType: Mutable + Type: WorkGroupConfiguration + + .PARAMETER WorkGroupConfigurationUpdates + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-workgroupconfigurationupdates + UpdateType: Mutable + Type: WorkGroupConfigurationUpdates + + .PARAMETER State + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-state + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER RecursiveDeleteOption + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-recursivedeleteoption + UpdateType: Mutable + PrimitiveType: Boolean + + .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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.Athena.WorkGroup')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [parameter(Mandatory = $false)] + $Tags, + [parameter(Mandatory = $false)] + $WorkGroupConfiguration, + [parameter(Mandatory = $false)] + $WorkGroupConfigurationUpdates, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $State, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RecursiveDeleteOption, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::Athena::WorkGroup" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Athena.WorkGroup' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSAutoScalingAutoScalingGroup.ps1 b/VaporShell/Public/Resource Types/New-VSAutoScalingAutoScalingGroup.ps1 index 7c7292145..4e68110a8 100644 --- a/VaporShell/Public/Resource Types/New-VSAutoScalingAutoScalingGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAutoScalingAutoScalingGroup.ps1 @@ -117,6 +117,13 @@ For more information, see Using a Load Balancer with an Auto Scaling Group: http Type: List UpdateType: Mutable + .PARAMETER MaxInstanceLifetime + + Suspending and Resuming Scaling Processes: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html in the *Amazon EC2 Auto Scaling User Guide* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxinstancelifetime + PrimitiveType: Integer + UpdateType: Mutable + .PARAMETER MaxSize The maximum number of Amazon EC2 instances in the Auto Scaling group. @@ -226,6 +233,23 @@ When you update VPCZoneIdentifier, this retains the same Auto Scaling group and 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. @@ -358,6 +382,17 @@ When you update VPCZoneIdentifier, this retains the same Auto Scaling group and $LifecycleHookSpecificationList, [parameter(Mandatory = $false)] $LoadBalancerNames, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MaxInstanceLifetime, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -505,6 +540,9 @@ When you update VPCZoneIdentifier, this retains the same Auto Scaling group and DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAutoScalingLaunchConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSAutoScalingLaunchConfiguration.ps1 index 7f24018b4..8466df0cd 100644 --- a/VaporShell/Public/Resource Types/New-VSAutoScalingLaunchConfiguration.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAutoScalingLaunchConfiguration.ps1 @@ -176,6 +176,23 @@ For more information, see Instance Metadata and User Data: https://docs.aws.amaz 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. @@ -442,6 +459,9 @@ For more information, see Instance Metadata and User Data: https://docs.aws.amaz DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAutoScalingLifecycleHook.ps1 b/VaporShell/Public/Resource Types/New-VSAutoScalingLifecycleHook.ps1 index 399ab5318..01ea98e18 100644 --- a/VaporShell/Public/Resource Types/New-VSAutoScalingLifecycleHook.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAutoScalingLifecycleHook.ps1 @@ -79,6 +79,23 @@ For more information, see PutLifecycleHook: https://docs.aws.amazon.com/autoscal 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. @@ -253,6 +270,9 @@ For more information, see PutLifecycleHook: https://docs.aws.amazon.com/autoscal DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAutoScalingPlansScalingPlan.ps1 b/VaporShell/Public/Resource Types/New-VSAutoScalingPlansScalingPlan.ps1 index 176b26acd..0a276e905 100644 --- a/VaporShell/Public/Resource Types/New-VSAutoScalingPlansScalingPlan.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAutoScalingPlansScalingPlan.ps1 @@ -46,6 +46,23 @@ For more information, see the AWS Auto Scaling User Guide: https://docs.aws.amaz 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. @@ -145,6 +162,9 @@ For more information, see the AWS Auto Scaling User Guide: https://docs.aws.amaz DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAutoScalingScalingPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSAutoScalingScalingPolicy.ps1 index 26169d85b..c6dfd0cc4 100644 --- a/VaporShell/Public/Resource Types/New-VSAutoScalingScalingPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAutoScalingScalingPolicy.ps1 @@ -107,6 +107,23 @@ If you specify TargetTrackingScaling for the policy type, you must specify this 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. @@ -294,6 +311,9 @@ If you specify TargetTrackingScaling for the policy type, you must specify this DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSAutoScalingScheduledAction.ps1 b/VaporShell/Public/Resource Types/New-VSAutoScalingScheduledAction.ps1 index b2641ca74..7922efe95 100644 --- a/VaporShell/Public/Resource Types/New-VSAutoScalingScheduledAction.ps1 +++ b/VaporShell/Public/Resource Types/New-VSAutoScalingScheduledAction.ps1 @@ -80,6 +80,23 @@ Specifying the StartTime and EndTime properties with Recurrence property forms t 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. @@ -243,6 +260,9 @@ Specifying the StartTime and EndTime properties with Recurrence property forms t DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSBackupBackupPlan.ps1 b/VaporShell/Public/Resource Types/New-VSBackupBackupPlan.ps1 index 69544aac9..1bdb3c4ad 100644 --- a/VaporShell/Public/Resource Types/New-VSBackupBackupPlan.ps1 +++ b/VaporShell/Public/Resource Types/New-VSBackupBackupPlan.ps1 @@ -33,6 +33,23 @@ function New-VSBackupBackupPlan { 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. @@ -132,6 +149,9 @@ function New-VSBackupBackupPlan { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSBackupBackupSelection.ps1 b/VaporShell/Public/Resource Types/New-VSBackupBackupSelection.ps1 index a8c9ac01b..41f1528cf 100644 --- a/VaporShell/Public/Resource Types/New-VSBackupBackupSelection.ps1 +++ b/VaporShell/Public/Resource Types/New-VSBackupBackupSelection.ps1 @@ -34,6 +34,23 @@ It includes an array of resources, an optional array of patterns to exclude reso 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. @@ -133,6 +150,9 @@ It includes an array of resources, an optional array of patterns to exclude reso DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSBackupBackupVault.ps1 b/VaporShell/Public/Resource Types/New-VSBackupBackupVault.ps1 index a5935fe21..34293267d 100644 --- a/VaporShell/Public/Resource Types/New-VSBackupBackupVault.ps1 +++ b/VaporShell/Public/Resource Types/New-VSBackupBackupVault.ps1 @@ -58,6 +58,23 @@ Sensitive data, such as passport numbers, should not be included the name of a b 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. @@ -190,6 +207,9 @@ Sensitive data, such as passport numbers, should not be included the name of a b DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSBatchComputeEnvironment.ps1 b/VaporShell/Public/Resource Types/New-VSBatchComputeEnvironment.ps1 index 5be227a9b..92dab31b1 100644 --- a/VaporShell/Public/Resource Types/New-VSBatchComputeEnvironment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSBatchComputeEnvironment.ps1 @@ -56,6 +56,23 @@ Depending on how you created your AWS Batch service role, its ARN may contain th 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. @@ -188,6 +205,9 @@ Depending on how you created your AWS Batch service role, its ARN may contain th DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSBatchJobDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSBatchJobDefinition.ps1 index 3b7f62d95..fc6333d90 100644 --- a/VaporShell/Public/Resource Types/New-VSBatchJobDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSBatchJobDefinition.ps1 @@ -68,6 +68,23 @@ function New-VSBatchJobDefinition { 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. @@ -195,6 +212,9 @@ function New-VSBatchJobDefinition { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSBatchJobQueue.ps1 b/VaporShell/Public/Resource Types/New-VSBatchJobQueue.ps1 index 4ea9bd12d..00cb48c81 100644 --- a/VaporShell/Public/Resource Types/New-VSBatchJobQueue.ps1 +++ b/VaporShell/Public/Resource Types/New-VSBatchJobQueue.ps1 @@ -48,6 +48,23 @@ function New-VSBatchJobQueue { 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. @@ -178,6 +195,9 @@ function New-VSBatchJobQueue { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSBudgetsBudget.ps1 b/VaporShell/Public/Resource Types/New-VSBudgetsBudget.ps1 index 516f7765d..9b1f91e59 100644 --- a/VaporShell/Public/Resource Types/New-VSBudgetsBudget.ps1 +++ b/VaporShell/Public/Resource Types/New-VSBudgetsBudget.ps1 @@ -34,6 +34,23 @@ function New-VSBudgetsBudget { 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. @@ -133,6 +150,9 @@ function New-VSBudgetsBudget { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCECostCategory.ps1 b/VaporShell/Public/Resource Types/New-VSCECostCategory.ps1 new file mode 100644 index 000000000..8fddd6fcf --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSCECostCategory.ps1 @@ -0,0 +1,202 @@ +function New-VSCECostCategory { + <# + .SYNOPSIS + Adds an AWS::CE::CostCategory resource to the template. + + .DESCRIPTION + Adds an AWS::CE::CostCategory resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER RuleVersion + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-ruleversion + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Rules + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-rules + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.CE.CostCategory')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RuleVersion, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Rules, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::CE::CostCategory" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.CE.CostCategory' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSCassandraKeyspace.ps1 b/VaporShell/Public/Resource Types/New-VSCassandraKeyspace.ps1 new file mode 100644 index 000000000..05116ed74 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSCassandraKeyspace.ps1 @@ -0,0 +1,170 @@ +function New-VSCassandraKeyspace { + <# + .SYNOPSIS + Adds an AWS::Cassandra::Keyspace resource to the template. + + .DESCRIPTION + Adds an AWS::Cassandra::Keyspace resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.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 KeyspaceName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-keyspacename + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.Cassandra.Keyspace')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $KeyspaceName, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::Cassandra::Keyspace" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Cassandra.Keyspace' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSCassandraTable.ps1 b/VaporShell/Public/Resource Types/New-VSCassandraTable.ps1 new file mode 100644 index 000000000..46172a918 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSCassandraTable.ps1 @@ -0,0 +1,265 @@ +function New-VSCassandraTable { + <# + .SYNOPSIS + Adds an AWS::Cassandra::Table resource to the template. + + .DESCRIPTION + Adds an AWS::Cassandra::Table resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.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 KeyspaceName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-keyspacename + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER TableName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tablename + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER RegularColumns + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-regularcolumns + UpdateType: Mutable + Type: List + ItemType: Column + DuplicatesAllowed: False + + .PARAMETER PartitionKeyColumns + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-partitionkeycolumns + UpdateType: Immutable + Type: List + ItemType: Column + DuplicatesAllowed: False + + .PARAMETER ClusteringKeyColumns + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clusteringkeycolumns + UpdateType: Immutable + Type: List + ItemType: ClusteringKeyColumn + DuplicatesAllowed: False + + .PARAMETER BillingMode + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-billingmode + UpdateType: Mutable + Type: BillingMode + + .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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.Cassandra.Table')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $KeyspaceName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TableName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.Cassandra.Table.Column" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RegularColumns, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.Cassandra.Table.Column" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $PartitionKeyColumns, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.Cassandra.Table.ClusteringKeyColumn" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ClusteringKeyColumns, + [parameter(Mandatory = $false)] + $BillingMode, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::Cassandra::Table" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + RegularColumns { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name RegularColumns -Value @($RegularColumns) + } + PartitionKeyColumns { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name PartitionKeyColumns -Value @($PartitionKeyColumns) + } + ClusteringKeyColumns { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name ClusteringKeyColumns -Value @($ClusteringKeyColumns) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Cassandra.Table' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSCertificateManagerCertificate.ps1 b/VaporShell/Public/Resource Types/New-VSCertificateManagerCertificate.ps1 index 4ca1e5aa2..ad8009635 100644 --- a/VaporShell/Public/Resource Types/New-VSCertificateManagerCertificate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCertificateManagerCertificate.ps1 @@ -64,6 +64,23 @@ When you use the AWS::CertificateManager::Certificate resource in an AWS CloudFo 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. @@ -188,6 +205,9 @@ When you use the AWS::CertificateManager::Certificate resource in an AWS CloudFo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSChatbotSlackChannelConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSChatbotSlackChannelConfiguration.ps1 new file mode 100644 index 000000000..09565eff9 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSChatbotSlackChannelConfiguration.ps1 @@ -0,0 +1,264 @@ +function New-VSChatbotSlackChannelConfiguration { + <# + .SYNOPSIS + Adds an AWS::Chatbot::SlackChannelConfiguration resource to the template. + + .DESCRIPTION + Adds an AWS::Chatbot::SlackChannelConfiguration resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.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 SlackWorkspaceId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-slackworkspaceid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER SlackChannelId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-slackchannelid + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER ConfigurationName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-configurationname + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER IamRoleArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-iamrolearn + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER SnsTopicArns + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-snstopicarns + UpdateType: Mutable + Type: List + PrimitiveItemType: String + + .PARAMETER LoggingLevel + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-logginglevel + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Arn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-arn + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.Chatbot.SlackChannelConfiguration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SlackWorkspaceId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SlackChannelId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ConfigurationName, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $IamRoleArn, + [parameter(Mandatory = $false)] + $SnsTopicArns, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $LoggingLevel, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Arn, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::Chatbot::SlackChannelConfiguration" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + SnsTopicArns { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name SnsTopicArns -Value @($SnsTopicArns) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Chatbot.SlackChannelConfiguration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSCloud9EnvironmentEC2.ps1 b/VaporShell/Public/Resource Types/New-VSCloud9EnvironmentEC2.ps1 index 63e678cc3..d8d7d8223 100644 --- a/VaporShell/Public/Resource Types/New-VSCloud9EnvironmentEC2.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloud9EnvironmentEC2.ps1 @@ -77,6 +77,23 @@ function New-VSCloud9EnvironmentEC2 { 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. @@ -243,6 +260,9 @@ function New-VSCloud9EnvironmentEC2 { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudFormationCustomResource.ps1 b/VaporShell/Public/Resource Types/New-VSCloudFormationCustomResource.ps1 index 61da02a67..7173f241d 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudFormationCustomResource.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudFormationCustomResource.ps1 @@ -34,6 +34,23 @@ Updates are not supported. 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. @@ -131,6 +148,9 @@ Updates are not supported. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudFormationMacro.ps1 b/VaporShell/Public/Resource Types/New-VSCloudFormationMacro.ps1 index a8192b6bf..1b4d173bd 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudFormationMacro.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudFormationMacro.ps1 @@ -54,6 +54,23 @@ function New-VSCloudFormationMacro { 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. @@ -195,6 +212,9 @@ function New-VSCloudFormationMacro { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudFormationStack.ps1 b/VaporShell/Public/Resource Types/New-VSCloudFormationStack.ps1 index a1a171d0f..cd78f0ccb 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudFormationStack.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudFormationStack.ps1 @@ -77,6 +77,23 @@ Updates are not supported. 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. @@ -193,6 +210,9 @@ Updates are not supported. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudFormationWaitCondition.ps1 b/VaporShell/Public/Resource Types/New-VSCloudFormationWaitCondition.ps1 index 2b0950648..3c243854e 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudFormationWaitCondition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudFormationWaitCondition.ps1 @@ -63,6 +63,23 @@ Updates are not supported. 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. @@ -196,6 +213,9 @@ Updates are not supported. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudFormationWaitConditionHandle.ps1 b/VaporShell/Public/Resource Types/New-VSCloudFormationWaitConditionHandle.ps1 index 89d12bfbc..a6866ae4c 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudFormationWaitConditionHandle.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudFormationWaitConditionHandle.ps1 @@ -33,6 +33,23 @@ Updates are not supported for this resource. 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. @@ -119,6 +136,9 @@ Updates are not supported for this resource. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudFrontCloudFrontOriginAccessIdentity.ps1 b/VaporShell/Public/Resource Types/New-VSCloudFrontCloudFrontOriginAccessIdentity.ps1 index 59e879701..a2d7b9657 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudFrontCloudFrontOriginAccessIdentity.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudFrontCloudFrontOriginAccessIdentity.ps1 @@ -26,6 +26,23 @@ function New-VSCloudFrontCloudFrontOriginAccessIdentity { 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. @@ -114,6 +131,9 @@ function New-VSCloudFrontCloudFrontOriginAccessIdentity { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudFrontDistribution.ps1 b/VaporShell/Public/Resource Types/New-VSCloudFrontDistribution.ps1 index 53e3fcaa5..2641bb376 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudFrontDistribution.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudFrontDistribution.ps1 @@ -34,6 +34,23 @@ function New-VSCloudFrontDistribution { 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. @@ -125,6 +142,9 @@ function New-VSCloudFrontDistribution { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudFrontStreamingDistribution.ps1 b/VaporShell/Public/Resource Types/New-VSCloudFrontStreamingDistribution.ps1 index ab505b814..b44984779 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudFrontStreamingDistribution.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudFrontStreamingDistribution.ps1 @@ -34,6 +34,23 @@ function New-VSCloudFrontStreamingDistribution { 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. @@ -125,6 +142,9 @@ function New-VSCloudFrontStreamingDistribution { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudTrailTrail.ps1 b/VaporShell/Public/Resource Types/New-VSCloudTrailTrail.ps1 index b65bcf519..9f9be86b6 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudTrailTrail.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudTrailTrail.ps1 @@ -128,6 +128,23 @@ arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail 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. @@ -349,6 +366,9 @@ arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudWatchAlarm.ps1 b/VaporShell/Public/Resource Types/New-VSCloudWatchAlarm.ps1 index 45fc57e8c..b4a0306e7 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudWatchAlarm.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudWatchAlarm.ps1 @@ -187,6 +187,23 @@ If you omit this parameter, the default behavior of missing is used. 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. @@ -477,6 +494,9 @@ If you omit this parameter, the default behavior of missing is used. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudWatchAnomalyDetector.ps1 b/VaporShell/Public/Resource Types/New-VSCloudWatchAnomalyDetector.ps1 index 8248ba7b5..b6d177e18 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudWatchAnomalyDetector.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudWatchAnomalyDetector.ps1 @@ -55,6 +55,23 @@ function New-VSCloudWatchAnomalyDetector { 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. @@ -187,6 +204,9 @@ function New-VSCloudWatchAnomalyDetector { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudWatchCompositeAlarm.ps1 b/VaporShell/Public/Resource Types/New-VSCloudWatchCompositeAlarm.ps1 index 891c6c021..170885ab4 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudWatchCompositeAlarm.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudWatchCompositeAlarm.ps1 @@ -57,6 +57,23 @@ function New-VSCloudWatchCompositeAlarm { 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. @@ -193,6 +210,9 @@ function New-VSCloudWatchCompositeAlarm { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudWatchDashboard.ps1 b/VaporShell/Public/Resource Types/New-VSCloudWatchDashboard.ps1 index ac626bd80..1b9798862 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudWatchDashboard.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudWatchDashboard.ps1 @@ -36,6 +36,23 @@ For more information about the syntax, see Dashboard Body Structure and Syntax: 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. @@ -144,6 +161,9 @@ For more information about the syntax, see Dashboard Body Structure and Syntax: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCloudWatchInsightRule.ps1 b/VaporShell/Public/Resource Types/New-VSCloudWatchInsightRule.ps1 index f38926877..2ce45cfd7 100644 --- a/VaporShell/Public/Resource Types/New-VSCloudWatchInsightRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCloudWatchInsightRule.ps1 @@ -33,6 +33,13 @@ function New-VSCloudWatchInsightRule { PrimitiveType: String UpdateType: Immutable + .PARAMETER Tags + The name of the Contributor Insights rule. + + Type: Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-tags + UpdateType: Mutable + .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. @@ -40,6 +47,23 @@ function New-VSCloudWatchInsightRule { 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. @@ -111,6 +135,8 @@ function New-VSCloudWatchInsightRule { } })] $RuleName, + [parameter(Mandatory = $false)] + $Tags, [ValidateSet("Delete","Retain","Snapshot")] [System.String] $DeletionPolicy, @@ -159,6 +185,9 @@ function New-VSCloudWatchInsightRule { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeBuildProject.ps1 b/VaporShell/Public/Resource Types/New-VSCodeBuildProject.ps1 index b6c78795c..e16e7ae2c 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeBuildProject.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeBuildProject.ps1 @@ -174,6 +174,23 @@ These tags are available for use by AWS services that support AWS CodeBuild buil 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. @@ -409,6 +426,9 @@ These tags are available for use by AWS services that support AWS CodeBuild buil DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeBuildReportGroup.ps1 b/VaporShell/Public/Resource Types/New-VSCodeBuildReportGroup.ps1 index 2270a1cba..62dc51aac 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeBuildReportGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeBuildReportGroup.ps1 @@ -26,6 +26,14 @@ function New-VSCodeBuildReportGroup { Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-exportconfig UpdateType: Mutable + .PARAMETER Tags + The ARN of the AWS CodeBuild report group, such as arn:aws:codebuild:region:123456789012:report-group/myReportGroupName. + + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-tags + ItemType: Tag + UpdateType: Mutable + .PARAMETER Name The name of a ReportGroup. @@ -40,6 +48,23 @@ function New-VSCodeBuildReportGroup { 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. @@ -91,6 +116,9 @@ function New-VSCodeBuildReportGroup { $Type, [parameter(Mandatory = $true)] $ExportConfig, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -150,6 +178,9 @@ function New-VSCodeBuildReportGroup { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -162,6 +193,12 @@ function New-VSCodeBuildReportGroup { Condition { $ResourceParams.Add("Condition",$Condition) } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } Default { if (!($ResourceParams["Properties"])) { $ResourceParams.Add("Properties",([PSCustomObject]@{})) diff --git a/VaporShell/Public/Resource Types/New-VSCodeBuildSourceCredential.ps1 b/VaporShell/Public/Resource Types/New-VSCodeBuildSourceCredential.ps1 index c3155887c..0bce8ade6 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeBuildSourceCredential.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeBuildSourceCredential.ps1 @@ -51,6 +51,23 @@ For security purposes, do not use plain text in your CloudFormation template to 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. @@ -181,6 +198,9 @@ For security purposes, do not use plain text in your CloudFormation template to DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeCommitRepository.ps1 b/VaporShell/Public/Resource Types/New-VSCodeCommitRepository.ps1 index d129bedcc..e616f5b9f 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeCommitRepository.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeCommitRepository.ps1 @@ -58,6 +58,23 @@ The description field for a repository accepts all HTML characters and all valid 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. @@ -182,6 +199,9 @@ The description field for a repository accepts all HTML characters and all valid DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeDeployApplication.ps1 b/VaporShell/Public/Resource Types/New-VSCodeDeployApplication.ps1 index ee8763aed..3910b6ba4 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeDeployApplication.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeDeployApplication.ps1 @@ -34,6 +34,23 @@ Updates to ApplicationName are not supported. 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. @@ -142,6 +159,9 @@ Updates to ApplicationName are not supported. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeDeployDeploymentConfig.ps1 b/VaporShell/Public/Resource Types/New-VSCodeDeployDeploymentConfig.ps1 index 50af5a232..9013fd215 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeDeployDeploymentConfig.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeDeployDeploymentConfig.ps1 @@ -40,6 +40,23 @@ For more information about instance health, see CodeDeploy Instance Health: http 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. @@ -139,6 +156,9 @@ For more information about instance health, see CodeDeploy Instance Health: http DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeDeployDeploymentGroup.ps1 b/VaporShell/Public/Resource Types/New-VSCodeDeployDeploymentGroup.ps1 index ac03faf6a..f684f23cf 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeDeployDeploymentGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeDeployDeploymentGroup.ps1 @@ -139,6 +139,23 @@ In some cases, you might need to add a dependency on the service role's policy. 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. @@ -318,6 +335,9 @@ In some cases, you might need to add a dependency on the service role's policy. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeGuruProfilerProfilingGroup.ps1 b/VaporShell/Public/Resource Types/New-VSCodeGuruProfilerProfilingGroup.ps1 new file mode 100644 index 000000000..c0c83b91a --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSCodeGuruProfilerProfilingGroup.ps1 @@ -0,0 +1,170 @@ +function New-VSCodeGuruProfilerProfilingGroup { + <# + .SYNOPSIS + Adds an AWS::CodeGuruProfiler::ProfilingGroup resource to the template. + + .DESCRIPTION + Adds an AWS::CodeGuruProfiler::ProfilingGroup resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.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 ProfilingGroupName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html#cfn-codeguruprofiler-profilinggroup-profilinggroupname + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.CodeGuruProfiler.ProfilingGroup')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ProfilingGroupName, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::CodeGuruProfiler::ProfilingGroup" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.CodeGuruProfiler.ProfilingGroup' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSCodePipelineCustomActionType.ps1 b/VaporShell/Public/Resource Types/New-VSCodePipelineCustomActionType.ps1 index 790a9fd97..9e0519b37 100644 --- a/VaporShell/Public/Resource Types/New-VSCodePipelineCustomActionType.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodePipelineCustomActionType.ps1 @@ -80,6 +80,23 @@ You can refer to a name in the configuration properties of the custom action wit 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. @@ -219,6 +236,9 @@ You can refer to a name in the configuration properties of the custom action wit DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodePipelinePipeline.ps1 b/VaporShell/Public/Resource Types/New-VSCodePipelinePipeline.ps1 index 39347d448..6420500b5 100644 --- a/VaporShell/Public/Resource Types/New-VSCodePipelinePipeline.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodePipelinePipeline.ps1 @@ -85,6 +85,23 @@ You must include either artifactStore or artifactStores in your pipeline, but yo 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. @@ -242,6 +259,9 @@ You must include either artifactStore or artifactStores in your pipeline, but yo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodePipelineWebhook.ps1 b/VaporShell/Public/Resource Types/New-VSCodePipelineWebhook.ps1 index 1204e5464..3ef25912f 100644 --- a/VaporShell/Public/Resource Types/New-VSCodePipelineWebhook.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodePipelineWebhook.ps1 @@ -85,6 +85,23 @@ When passing secret parameters, do not enter the value directly into the templat 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. @@ -250,6 +267,9 @@ When passing secret parameters, do not enter the value directly into the templat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeStarConnectionsConnection.ps1 b/VaporShell/Public/Resource Types/New-VSCodeStarConnectionsConnection.ps1 new file mode 100644 index 000000000..6cf2f2560 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSCodeStarConnectionsConnection.ps1 @@ -0,0 +1,186 @@ +function New-VSCodeStarConnectionsConnection { + <# + .SYNOPSIS + Adds an AWS::CodeStarConnections::Connection resource to the template. + + .DESCRIPTION + Adds an AWS::CodeStarConnections::Connection resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.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 ConnectionName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-connectionname + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER ProviderType + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-providertype + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.CodeStarConnections.Connection')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ConnectionName, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ProviderType, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::CodeStarConnections::Connection" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.CodeStarConnections.Connection' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSCodeStarGitHubRepository.ps1 b/VaporShell/Public/Resource Types/New-VSCodeStarGitHubRepository.ps1 index 990a68249..1d0e27475 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeStarGitHubRepository.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeStarGitHubRepository.ps1 @@ -68,6 +68,23 @@ function New-VSCodeStarGitHubRepository { 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. @@ -222,6 +239,9 @@ function New-VSCodeStarGitHubRepository { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCodeStarNotificationsNotificationRule.ps1 b/VaporShell/Public/Resource Types/New-VSCodeStarNotificationsNotificationRule.ps1 index 523d39dfb..543448a10 100644 --- a/VaporShell/Public/Resource Types/New-VSCodeStarNotificationsNotificationRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCodeStarNotificationsNotificationRule.ps1 @@ -70,6 +70,23 @@ function New-VSCodeStarNotificationsNotificationRule { 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. @@ -224,6 +241,9 @@ function New-VSCodeStarNotificationsNotificationRule { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoIdentityPool.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoIdentityPool.ps1 index 19137f516..9e713e7d2 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoIdentityPool.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoIdentityPool.ps1 @@ -106,6 +106,23 @@ To avoid deleting the resource accidentally from AWS CloudFormation, use Deletio 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. @@ -277,6 +294,9 @@ To avoid deleting the resource accidentally from AWS CloudFormation, use Deletio DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoIdentityPoolRoleAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoIdentityPoolRoleAttachment.ps1 index d4483e98c..6a5ae3332 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoIdentityPoolRoleAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoIdentityPoolRoleAttachment.ps1 @@ -41,6 +41,23 @@ If the IdentityProvider field isn't provided in this object, the string is used 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. @@ -160,6 +177,9 @@ If the IdentityProvider field isn't provided in this object, the string is used DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPool.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPool.ps1 index efbc2dc2a..536ba4c00 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPool.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPool.ps1 @@ -190,6 +190,23 @@ This user pool property cannot be updated. 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. @@ -392,6 +409,9 @@ This user pool property cannot be updated. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolClient.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolClient.ps1 index 2533c95f4..fe88366ad 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolClient.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolClient.ps1 @@ -164,6 +164,23 @@ If your app client allows users to sign in through an identity provider, this ar 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. @@ -345,6 +362,9 @@ If your app client allows users to sign in through an identity provider, this ar DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolDomain.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolDomain.ps1 index cc7058d79..389226943 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolDomain.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolDomain.ps1 @@ -41,6 +41,23 @@ This string can include only lowercase letters, numbers, and hyphens. Don't use 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. @@ -151,6 +168,9 @@ This string can include only lowercase letters, numbers, and hyphens. Don't use DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolGroup.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolGroup.ps1 index bfd1c9fba..d44fdf33d 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolGroup.ps1 @@ -58,6 +58,23 @@ The default Precedence value is null. 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. @@ -199,6 +216,9 @@ The default Precedence value is null. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolIdentityProvider.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolIdentityProvider.ps1 index 9f367e182..c40c2d96b 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolIdentityProvider.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolIdentityProvider.ps1 @@ -85,6 +85,23 @@ function New-VSCognitoUserPoolIdentityProvider { 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. @@ -228,6 +245,9 @@ function New-VSCognitoUserPoolIdentityProvider { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolResourceServer.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolResourceServer.ps1 index 34f86e8a8..3c7833e1d 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolResourceServer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolResourceServer.ps1 @@ -48,6 +48,23 @@ function New-VSCognitoUserPoolResourceServer { 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. @@ -178,6 +195,9 @@ function New-VSCognitoUserPoolResourceServer { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolRiskConfigurationAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolRiskConfigurationAttachment.ps1 index def5fcbf8..7ca4e5a5f 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolRiskConfigurationAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolRiskConfigurationAttachment.ps1 @@ -56,6 +56,23 @@ You can specify risk configuration for a single client (with a specific clientId 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. @@ -172,6 +189,9 @@ You can specify risk configuration for a single client (with a specific clientId DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUICustomizationAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUICustomizationAttachment.ps1 index 130625e87..5809b13b9 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUICustomizationAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUICustomizationAttachment.ps1 @@ -48,6 +48,23 @@ Setting a logo image isn't supported from AWS CloudFormation. Use the Amazon Cog 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. @@ -167,6 +184,9 @@ Setting a logo image isn't supported from AWS CloudFormation. Use the Amazon Cog DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUser.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUser.ps1 index b3574945f..c3be4ff46 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUser.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUser.ps1 @@ -93,6 +93,23 @@ In your call to AdminCreateUser, you can set the email_verified attribute to Tru 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. @@ -258,6 +275,9 @@ In your call to AdminCreateUser, you can set the email_verified attribute to Tru DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUserToGroupAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUserToGroupAttachment.ps1 index cf51d11f4..45b7ebd59 100644 --- a/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUserToGroupAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSCognitoUserPoolUserToGroupAttachment.ps1 @@ -42,6 +42,23 @@ Calling this action requires developer credentials. 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. @@ -161,6 +178,9 @@ Calling this action requires developer credentials. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigAggregationAuthorization.ps1 b/VaporShell/Public/Resource Types/New-VSConfigAggregationAuthorization.ps1 index 6d79b6305..9457ec50e 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigAggregationAuthorization.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigAggregationAuthorization.ps1 @@ -39,6 +39,23 @@ function New-VSConfigAggregationAuthorization { 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. @@ -150,6 +167,9 @@ function New-VSConfigAggregationAuthorization { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigConfigRule.ps1 b/VaporShell/Public/Resource Types/New-VSConfigConfigRule.ps1 index d6db0bd75..2a3db9145 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigConfigRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigConfigRule.ps1 @@ -80,6 +80,23 @@ By default, rules with a periodic trigger are evaluated every 24 hours. To chang 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. @@ -214,6 +231,9 @@ By default, rules with a periodic trigger are evaluated every 24 hours. To chang DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigConfigurationAggregator.ps1 b/VaporShell/Public/Resource Types/New-VSConfigConfigurationAggregator.ps1 index 0f1574048..235ebb733 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigConfigurationAggregator.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigConfigurationAggregator.ps1 @@ -47,6 +47,23 @@ function New-VSConfigConfigurationAggregator { 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. @@ -160,6 +177,9 @@ function New-VSConfigConfigurationAggregator { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigConfigurationRecorder.ps1 b/VaporShell/Public/Resource Types/New-VSConfigConfigurationRecorder.ps1 index a9f239d71..f5b65e1a2 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigConfigurationRecorder.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigConfigurationRecorder.ps1 @@ -48,6 +48,23 @@ Updates are not supported. 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. @@ -158,6 +175,9 @@ Updates are not supported. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigConformancePack.ps1 b/VaporShell/Public/Resource Types/New-VSConfigConformancePack.ps1 index d24a618d5..9eb81eb1e 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigConformancePack.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigConformancePack.ps1 @@ -64,6 +64,23 @@ You must have access to read Amazon S3 bucket. 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. @@ -216,6 +233,9 @@ You must have access to read Amazon S3 bucket. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigDeliveryChannel.ps1 b/VaporShell/Public/Resource Types/New-VSConfigDeliveryChannel.ps1 index 05e047a4b..63c09b016 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigDeliveryChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigDeliveryChannel.ps1 @@ -73,6 +73,23 @@ If you choose a topic from another account, the topic must have policies that gr 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. @@ -205,6 +222,9 @@ If you choose a topic from another account, the topic must have policies that gr DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigOrganizationConfigRule.ps1 b/VaporShell/Public/Resource Types/New-VSConfigOrganizationConfigRule.ps1 index 5df4520c0..2bd32ed13 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigOrganizationConfigRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigOrganizationConfigRule.ps1 @@ -50,6 +50,23 @@ OrganizationConfigRule resource enables organization service access through Enab 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. @@ -153,6 +170,9 @@ OrganizationConfigRule resource enables organization service access through Enab DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigOrganizationConformancePack.ps1 b/VaporShell/Public/Resource Types/New-VSConfigOrganizationConformancePack.ps1 index 7f58c6560..92eb95b26 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigOrganizationConformancePack.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigOrganizationConformancePack.ps1 @@ -70,6 +70,23 @@ function New-VSConfigOrganizationConformancePack { 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. @@ -224,6 +241,9 @@ function New-VSConfigOrganizationConformancePack { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSConfigRemediationConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSConfigRemediationConfiguration.ps1 index a66f96d3c..3c1e8b8f1 100644 --- a/VaporShell/Public/Resource Types/New-VSConfigRemediationConfiguration.ps1 +++ b/VaporShell/Public/Resource Types/New-VSConfigRemediationConfiguration.ps1 @@ -92,6 +92,23 @@ For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptsSeco 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. @@ -279,6 +296,9 @@ For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptsSeco DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDAXCluster.ps1 b/VaporShell/Public/Resource Types/New-VSDAXCluster.ps1 index 340c75107..365824a0e 100644 --- a/VaporShell/Public/Resource Types/New-VSDAXCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDAXCluster.ps1 @@ -116,6 +116,23 @@ If this parameter is not specified, DAX assigns the default VPC security group t 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. @@ -318,6 +335,9 @@ If this parameter is not specified, DAX assigns the default VPC security group t DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDAXParameterGroup.ps1 b/VaporShell/Public/Resource Types/New-VSDAXParameterGroup.ps1 index f0e385183..73f4eb8f6 100644 --- a/VaporShell/Public/Resource Types/New-VSDAXParameterGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDAXParameterGroup.ps1 @@ -40,6 +40,23 @@ function New-VSDAXParameterGroup { 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. @@ -159,6 +176,9 @@ function New-VSDAXParameterGroup { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDAXSubnetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSDAXSubnetGroup.ps1 index 26870c8be..42312ee6d 100644 --- a/VaporShell/Public/Resource Types/New-VSDAXSubnetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDAXSubnetGroup.ps1 @@ -41,6 +41,23 @@ function New-VSDAXSubnetGroup { 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. @@ -151,6 +168,9 @@ function New-VSDAXSubnetGroup { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDLMLifecyclePolicy.ps1 b/VaporShell/Public/Resource Types/New-VSDLMLifecyclePolicy.ps1 index 4f887365d..ff8e79296 100644 --- a/VaporShell/Public/Resource Types/New-VSDLMLifecyclePolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDLMLifecyclePolicy.ps1 @@ -49,6 +49,23 @@ The properties are required when you add a lifecycle policy and optional when yo 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. @@ -170,6 +187,9 @@ The properties are required when you add a lifecycle policy and optional when yo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDMSCertificate.ps1 b/VaporShell/Public/Resource Types/New-VSDMSCertificate.ps1 index 40df9677c..a9531e42d 100644 --- a/VaporShell/Public/Resource Types/New-VSDMSCertificate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDMSCertificate.ps1 @@ -40,6 +40,23 @@ function New-VSDMSCertificate { 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. @@ -159,6 +176,9 @@ function New-VSDMSCertificate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDMSEndpoint.ps1 b/VaporShell/Public/Resource Types/New-VSDMSEndpoint.ps1 index f97d9d673..9ca438628 100644 --- a/VaporShell/Public/Resource Types/New-VSDMSEndpoint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDMSEndpoint.ps1 @@ -21,6 +21,13 @@ AWS KMS creates the default encryption key for your AWS account. Your AWS accoun PrimitiveType: String UpdateType: Immutable + .PARAMETER KafkaSettings + + AWS CloudFormation Stacks Updates: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html + + Type: KafkaSettings + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kafkasettings + UpdateType: Mutable + .PARAMETER Port The port used by the endpoint database. @@ -148,6 +155,23 @@ AWS KMS creates the default encryption key for your AWS account. Your AWS accoun 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. @@ -200,6 +224,8 @@ AWS KMS creates the default encryption key for your AWS account. Your AWS accoun })] $KmsKeyId, [parameter(Mandatory = $false)] + $KafkaSettings, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.Int32","Vaporshell.Function" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -381,6 +407,9 @@ AWS KMS creates the default encryption key for your AWS account. Your AWS accoun DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDMSEventSubscription.ps1 b/VaporShell/Public/Resource Types/New-VSDMSEventSubscription.ps1 index 2989b575d..bde95743e 100644 --- a/VaporShell/Public/Resource Types/New-VSDMSEventSubscription.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDMSEventSubscription.ps1 @@ -74,6 +74,23 @@ If you specify multiple values, they must be of the same type. For example, if y 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. @@ -211,6 +228,9 @@ If you specify multiple values, they must be of the same type. For example, if y DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDMSReplicationInstance.ps1 b/VaporShell/Public/Resource Types/New-VSDMSReplicationInstance.ps1 index b91a16e75..58608cc80 100644 --- a/VaporShell/Public/Resource Types/New-VSDMSReplicationInstance.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDMSReplicationInstance.ps1 @@ -134,6 +134,23 @@ Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c 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. @@ -357,6 +374,9 @@ Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDMSReplicationSubnetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSDMSReplicationSubnetGroup.ps1 index ae86da00d..9aa92011d 100644 --- a/VaporShell/Public/Resource Types/New-VSDMSReplicationSubnetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDMSReplicationSubnetGroup.ps1 @@ -53,6 +53,23 @@ Resource creation will fail if the dms-vpc-role IAM role doesn't already exist. 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. @@ -166,6 +183,9 @@ Resource creation will fail if the dms-vpc-role IAM role doesn't already exist. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDMSReplicationTask.ps1 b/VaporShell/Public/Resource Types/New-VSDMSReplicationTask.ps1 index 80999d9c4..daf305df6 100644 --- a/VaporShell/Public/Resource Types/New-VSDMSReplicationTask.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDMSReplicationTask.ps1 @@ -108,6 +108,23 @@ Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “ 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. @@ -307,6 +324,9 @@ Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “ DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDataPipelinePipeline.ps1 b/VaporShell/Public/Resource Types/New-VSDataPipelinePipeline.ps1 index 4d318319f..fee19251d 100644 --- a/VaporShell/Public/Resource Types/New-VSDataPipelinePipeline.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDataPipelinePipeline.ps1 @@ -90,6 +90,23 @@ Pipeline object definitions are passed to the PutPipelineDefinition: https://doc 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. @@ -253,6 +270,9 @@ Pipeline object definitions are passed to the PutPipelineDefinition: https://doc DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDetectiveGraph.ps1 b/VaporShell/Public/Resource Types/New-VSDetectiveGraph.ps1 new file mode 100644 index 000000000..864389f72 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSDetectiveGraph.ps1 @@ -0,0 +1,154 @@ +function New-VSDetectiveGraph { + <# + .SYNOPSIS + Adds an AWS::Detective::Graph resource to the template. + + .DESCRIPTION + Adds an AWS::Detective::Graph resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.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 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.Detective.Graph')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::Detective::Graph" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Detective.Graph' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSDetectiveMemberInvitation.ps1 b/VaporShell/Public/Resource Types/New-VSDetectiveMemberInvitation.ps1 new file mode 100644 index 000000000..edc5889e9 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSDetectiveMemberInvitation.ps1 @@ -0,0 +1,218 @@ +function New-VSDetectiveMemberInvitation { + <# + .SYNOPSIS + Adds an AWS::Detective::MemberInvitation resource to the template. + + .DESCRIPTION + Adds an AWS::Detective::MemberInvitation resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.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 GraphArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-grapharn + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER MemberId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-memberid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER MemberEmailAddress + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-memberemailaddress + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Message + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html#cfn-detective-memberinvitation-message + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.Detective.MemberInvitation')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $GraphArn, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MemberId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MemberEmailAddress, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Message, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::Detective::MemberInvitation" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Detective.MemberInvitation' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSDirectoryServiceMicrosoftAD.ps1 b/VaporShell/Public/Resource Types/New-VSDirectoryServiceMicrosoftAD.ps1 index 250ebce4c..e16b7a4e6 100644 --- a/VaporShell/Public/Resource Types/New-VSDirectoryServiceMicrosoftAD.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDirectoryServiceMicrosoftAD.ps1 @@ -70,6 +70,23 @@ If you need to change the password for the administrator account, see the ResetU 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. @@ -226,6 +243,9 @@ If you need to change the password for the administrator account, see the ResetU DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDirectoryServiceSimpleAD.ps1 b/VaporShell/Public/Resource Types/New-VSDirectoryServiceSimpleAD.ps1 index baa520a50..963dbaac3 100644 --- a/VaporShell/Public/Resource Types/New-VSDirectoryServiceSimpleAD.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDirectoryServiceSimpleAD.ps1 @@ -77,6 +77,23 @@ If you need to change the password for the administrator account, see the ResetU 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. @@ -244,6 +261,9 @@ If you need to change the password for the administrator account, see the ResetU DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDocDBDBCluster.ps1 b/VaporShell/Public/Resource Types/New-VSDocDBDBCluster.ps1 index e17bd25d5..0ef2426ce 100644 --- a/VaporShell/Public/Resource Types/New-VSDocDBDBCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDocDBDBCluster.ps1 @@ -96,6 +96,13 @@ Example: mySubnetgroup PrimitiveType: String UpdateType: Immutable + .PARAMETER DeletionProtection + + ModifyDBCluster: https://docs.aws.amazon.com/documentdb/latest/developerguide/API_ModifyDBCluster.html + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-deletionprotection + PrimitiveType: Boolean + UpdateType: Mutable + .PARAMETER PreferredBackupWindow The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. @@ -176,6 +183,23 @@ Constraints: 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. @@ -307,6 +331,17 @@ Constraints: })] $DBSubnetGroupName, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DeletionProtection, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -416,6 +451,9 @@ Constraints: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDocDBDBClusterParameterGroup.ps1 b/VaporShell/Public/Resource Types/New-VSDocDBDBClusterParameterGroup.ps1 index 8f83a5d4e..78a2632a1 100644 --- a/VaporShell/Public/Resource Types/New-VSDocDBDBClusterParameterGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDocDBDBClusterParameterGroup.ps1 @@ -66,6 +66,23 @@ This value is stored as a lowercase string. 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. @@ -199,6 +216,9 @@ This value is stored as a lowercase string. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDocDBDBInstance.ps1 b/VaporShell/Public/Resource Types/New-VSDocDBDBInstance.ps1 index 75f06e5a7..79510533c 100644 --- a/VaporShell/Public/Resource Types/New-VSDocDBDBInstance.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDocDBDBInstance.ps1 @@ -82,6 +82,23 @@ Example: mydbinstance 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. @@ -237,6 +254,9 @@ Example: mydbinstance DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDocDBDBSubnetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSDocDBDBSubnetGroup.ps1 index a401780c2..5d28b22ab 100644 --- a/VaporShell/Public/Resource Types/New-VSDocDBDBSubnetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDocDBDBSubnetGroup.ps1 @@ -51,6 +51,23 @@ Example: mySubnetgroup 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. @@ -164,6 +181,9 @@ Example: mySubnetgroup DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSDynamoDBTable.ps1 b/VaporShell/Public/Resource Types/New-VSDynamoDBTable.ps1 index 381e9540d..da33d6115 100644 --- a/VaporShell/Public/Resource Types/New-VSDynamoDBTable.ps1 +++ b/VaporShell/Public/Resource Types/New-VSDynamoDBTable.ps1 @@ -133,6 +133,23 @@ For detailed information about the limits in DynamoDB, see Limits in Amazon Dyna 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. @@ -298,6 +315,9 @@ For detailed information about the limits in DynamoDB, see Limits in Amazon Dyna DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2CapacityReservation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2CapacityReservation.ps1 index f545a299e..1eaeef5df 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2CapacityReservation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2CapacityReservation.ps1 @@ -106,6 +106,23 @@ If the EndDateType is limited, the Capacity Reservation is cancelled within an h 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. @@ -313,6 +330,9 @@ If the EndDateType is limited, the Capacity Reservation is cancelled within an h DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2ClientVpnAuthorizationRule.ps1 b/VaporShell/Public/Resource Types/New-VSEC2ClientVpnAuthorizationRule.ps1 index 4e4b6f61e..cbad15e00 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2ClientVpnAuthorizationRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2ClientVpnAuthorizationRule.ps1 @@ -54,6 +54,23 @@ function New-VSEC2ClientVpnAuthorizationRule { 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. @@ -195,6 +212,9 @@ function New-VSEC2ClientVpnAuthorizationRule { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2ClientVpnEndpoint.ps1 b/VaporShell/Public/Resource Types/New-VSEC2ClientVpnEndpoint.ps1 index 941c3a23b..a9bf91d13 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2ClientVpnEndpoint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2ClientVpnEndpoint.ps1 @@ -55,6 +55,13 @@ For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VP ItemType: TagSpecification UpdateType: Immutable + .PARAMETER VpcId + + Client VPN Endpoints: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-endpoints.html in the *AWS Client VPN Administrator Guide* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpcid + PrimitiveType: String + UpdateType: Mutable + .PARAMETER AuthenticationOptions Information about the authentication method to be used to authenticate clients. @@ -86,6 +93,14 @@ Default value: udp PrimitiveType: String UpdateType: Immutable + .PARAMETER SecurityGroupIds + + Client VPN Endpoints: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-endpoints.html in the *AWS Client VPN Administrator Guide* + + PrimitiveItemType: String + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-securitygroupids + UpdateType: Mutable + .PARAMETER VpnPort The port number to assign to the Client VPN endpoint for TCP and UDP traffic. Valid Values: 443 | 1194 @@ -102,6 +117,23 @@ Default Value: 443 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. @@ -186,6 +218,17 @@ Default Value: 443 } })] $TagSpecifications, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $VpcId, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "Vaporshell.Resource.EC2.ClientVpnEndpoint.ClientAuthenticationRequest" @@ -222,6 +265,8 @@ Default Value: 443 })] $TransportProtocol, [parameter(Mandatory = $false)] + $SecurityGroupIds, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.Int32","Vaporshell.Function" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -280,6 +325,9 @@ Default Value: 443 DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -310,6 +358,12 @@ Default Value: 443 } $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name DnsServers -Value @($DnsServers) } + SecurityGroupIds { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name SecurityGroupIds -Value @($SecurityGroupIds) + } Default { if (!($ResourceParams["Properties"])) { $ResourceParams.Add("Properties",([PSCustomObject]@{})) diff --git a/VaporShell/Public/Resource Types/New-VSEC2ClientVpnRoute.ps1 b/VaporShell/Public/Resource Types/New-VSEC2ClientVpnRoute.ps1 index 52ed411a6..3668a68c2 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2ClientVpnRoute.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2ClientVpnRoute.ps1 @@ -53,6 +53,23 @@ Route address ranges cannot overlap with the CIDR range specified for client all 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. @@ -183,6 +200,9 @@ Route address ranges cannot overlap with the CIDR range specified for client all DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2ClientVpnTargetNetworkAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2ClientVpnTargetNetworkAssociation.ps1 index e27b7c49d..970426df9 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2ClientVpnTargetNetworkAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2ClientVpnTargetNetworkAssociation.ps1 @@ -33,6 +33,23 @@ function New-VSEC2ClientVpnTargetNetworkAssociation { 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. @@ -141,6 +158,9 @@ function New-VSEC2ClientVpnTargetNetworkAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2CustomerGateway.ps1 b/VaporShell/Public/Resource Types/New-VSEC2CustomerGateway.ps1 index 6c517afa9..898a1953b 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2CustomerGateway.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2CustomerGateway.ps1 @@ -50,6 +50,23 @@ Default: 65000 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. @@ -172,6 +189,9 @@ Default: 65000 DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2DHCPOptions.ps1 b/VaporShell/Public/Resource Types/New-VSEC2DHCPOptions.ps1 index d7d7a2134..c536e2cdb 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2DHCPOptions.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2DHCPOptions.ps1 @@ -71,6 +71,23 @@ You must specify at least one of the following properties: DomainNameServers, Ne 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. @@ -188,6 +205,9 @@ You must specify at least one of the following properties: DomainNameServers, Ne DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2EC2Fleet.ps1 b/VaporShell/Public/Resource Types/New-VSEC2EC2Fleet.ps1 index 06dec2926..2581ee977 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2EC2Fleet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2EC2Fleet.ps1 @@ -98,6 +98,23 @@ function New-VSEC2EC2Fleet { 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. @@ -278,6 +295,9 @@ function New-VSEC2EC2Fleet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2EIP.ps1 b/VaporShell/Public/Resource Types/New-VSEC2EIP.ps1 index 3baadb32b..b22a8e27b 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2EIP.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2EIP.ps1 @@ -63,6 +63,23 @@ Updates to the Tags property may require *some interruptions*. Updates on an EIP 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. @@ -185,6 +202,9 @@ Updates to the Tags property may require *some interruptions*. Updates on an EIP DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2EIPAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2EIPAssociation.ps1 index 89220f5e6..3fa277876 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2EIPAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2EIPAssociation.ps1 @@ -61,6 +61,23 @@ For EC2-VPC, you can specify either the instance ID or the network interface ID, 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. @@ -202,6 +219,9 @@ For EC2-VPC, you can specify either the instance ID or the network interface ID, DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2EgressOnlyInternetGateway.ps1 b/VaporShell/Public/Resource Types/New-VSEC2EgressOnlyInternetGateway.ps1 index f7ba47eea..9c8042403 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2EgressOnlyInternetGateway.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2EgressOnlyInternetGateway.ps1 @@ -26,6 +26,23 @@ function New-VSEC2EgressOnlyInternetGateway { 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. @@ -123,6 +140,9 @@ function New-VSEC2EgressOnlyInternetGateway { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2FlowLog.ps1 b/VaporShell/Public/Resource Types/New-VSEC2FlowLog.ps1 index f5b3d19b4..be5075cbe 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2FlowLog.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2FlowLog.ps1 @@ -75,6 +75,23 @@ Constraints: Maximum of 1000 resources 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. @@ -238,6 +255,9 @@ Constraints: Maximum of 1000 resources DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2GatewayRouteTableAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2GatewayRouteTableAssociation.ps1 index 988f19a4b..1b7cd0238 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2GatewayRouteTableAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2GatewayRouteTableAssociation.ps1 @@ -33,6 +33,23 @@ function New-VSEC2GatewayRouteTableAssociation { 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. @@ -141,6 +158,9 @@ function New-VSEC2GatewayRouteTableAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2Host.ps1 b/VaporShell/Public/Resource Types/New-VSEC2Host.ps1 index 6036c7f90..113f2a572 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2Host.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2Host.ps1 @@ -50,6 +50,23 @@ If you want the Dedicated Hosts to support multiple instance types in a specific 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. @@ -180,6 +197,9 @@ If you want the Dedicated Hosts to support multiple instance types in a specific DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2Instance.ps1 b/VaporShell/Public/Resource Types/New-VSEC2Instance.ps1 index d74cb1e68..9f49af283 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2Instance.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2Instance.ps1 @@ -331,6 +331,23 @@ If you specify a network interface, you must specify any subnets as part of the 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. @@ -776,6 +793,9 @@ If you specify a network interface, you must specify any subnets as part of the DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2InternetGateway.ps1 b/VaporShell/Public/Resource Types/New-VSEC2InternetGateway.ps1 index 9158ededc..a10699911 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2InternetGateway.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2InternetGateway.ps1 @@ -28,6 +28,23 @@ function New-VSEC2InternetGateway { 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. @@ -117,6 +134,9 @@ function New-VSEC2InternetGateway { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2LaunchTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSEC2LaunchTemplate.ps1 index cc8251150..07894a2ea 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2LaunchTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2LaunchTemplate.ps1 @@ -33,6 +33,23 @@ function New-VSEC2LaunchTemplate { 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. @@ -132,6 +149,9 @@ function New-VSEC2LaunchTemplate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2LocalGatewayRoute.ps1 b/VaporShell/Public/Resource Types/New-VSEC2LocalGatewayRoute.ps1 index c38052582..c54df96ee 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2LocalGatewayRoute.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2LocalGatewayRoute.ps1 @@ -40,6 +40,23 @@ function New-VSEC2LocalGatewayRoute { 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. @@ -159,6 +176,9 @@ function New-VSEC2LocalGatewayRoute { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2LocalGatewayRouteTableVPCAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2LocalGatewayRouteTableVPCAssociation.ps1 index a34bcd8ab..c6d6bb319 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2LocalGatewayRouteTableVPCAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2LocalGatewayRouteTableVPCAssociation.ps1 @@ -40,6 +40,23 @@ function New-VSEC2LocalGatewayRouteTableVPCAssociation { 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. @@ -150,6 +167,9 @@ function New-VSEC2LocalGatewayRouteTableVPCAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2NatGateway.ps1 b/VaporShell/Public/Resource Types/New-VSEC2NatGateway.ps1 index 3b8b14030..00b844886 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2NatGateway.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2NatGateway.ps1 @@ -44,6 +44,23 @@ If you add a default route (AWS::EC2::Route resource that points to a NAT gatewa 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. @@ -155,6 +172,9 @@ If you add a default route (AWS::EC2::Route resource that points to a NAT gatewa DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2NetworkAcl.ps1 b/VaporShell/Public/Resource Types/New-VSEC2NetworkAcl.ps1 index 983664d3e..58ca328d7 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2NetworkAcl.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2NetworkAcl.ps1 @@ -35,6 +35,23 @@ function New-VSEC2NetworkAcl { 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. @@ -135,6 +152,9 @@ function New-VSEC2NetworkAcl { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2NetworkAclEntry.ps1 b/VaporShell/Public/Resource Types/New-VSEC2NetworkAclEntry.ps1 index 03d00bbaa..aa4c7ff41 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2NetworkAclEntry.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2NetworkAclEntry.ps1 @@ -85,6 +85,23 @@ If you specify -1, all ports are opened and the PortRange property is ignored. 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. @@ -252,6 +269,9 @@ If you specify -1, all ports are opened and the PortRange property is ignored. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2NetworkInterface.ps1 b/VaporShell/Public/Resource Types/New-VSEC2NetworkInterface.ps1 index 4700615f7..f499f7967 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2NetworkInterface.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2NetworkInterface.ps1 @@ -103,6 +103,23 @@ The number of IP addresses you can assign to a network interface varies by insta 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. @@ -284,6 +301,9 @@ The number of IP addresses you can assign to a network interface varies by insta DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2NetworkInterfaceAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSEC2NetworkInterfaceAttachment.ps1 index 147692484..517953623 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2NetworkInterfaceAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2NetworkInterfaceAttachment.ps1 @@ -47,6 +47,23 @@ function New-VSEC2NetworkInterfaceAttachment { 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. @@ -177,6 +194,9 @@ function New-VSEC2NetworkInterfaceAttachment { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2NetworkInterfacePermission.ps1 b/VaporShell/Public/Resource Types/New-VSEC2NetworkInterfacePermission.ps1 index 33c531b5b..bab3ae235 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2NetworkInterfacePermission.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2NetworkInterfacePermission.ps1 @@ -40,6 +40,23 @@ function New-VSEC2NetworkInterfacePermission { 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. @@ -159,6 +176,9 @@ function New-VSEC2NetworkInterfacePermission { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2PlacementGroup.ps1 b/VaporShell/Public/Resource Types/New-VSEC2PlacementGroup.ps1 index 59e0cc993..d2d850d04 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2PlacementGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2PlacementGroup.ps1 @@ -30,6 +30,23 @@ For more information, see Placement Groups: https://docs.aws.amazon.com/AWSEC2/l 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. @@ -127,6 +144,9 @@ For more information, see Placement Groups: https://docs.aws.amazon.com/AWSEC2/l DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2Route.ps1 b/VaporShell/Public/Resource Types/New-VSEC2Route.ps1 index 33c29b662..aa683ff37 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2Route.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2Route.ps1 @@ -93,6 +93,23 @@ You must specify the DestinationCidrBlock or DestinationIpv6CidrBlock property. 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. @@ -289,6 +306,9 @@ You must specify the DestinationCidrBlock or DestinationIpv6CidrBlock property. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2RouteTable.ps1 b/VaporShell/Public/Resource Types/New-VSEC2RouteTable.ps1 index a8bbffd36..439e89b89 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2RouteTable.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2RouteTable.ps1 @@ -37,6 +37,23 @@ For more information, see Route Tables: https://docs.aws.amazon.com/AmazonVPC/la 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. @@ -137,6 +154,9 @@ For more information, see Route Tables: https://docs.aws.amazon.com/AmazonVPC/la DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2SecurityGroup.ps1 b/VaporShell/Public/Resource Types/New-VSEC2SecurityGroup.ps1 index 1ba2112d1..01627b12f 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2SecurityGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2SecurityGroup.ps1 @@ -79,6 +79,23 @@ Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/#,@]+=&;{}!$* 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. @@ -223,6 +240,9 @@ Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/#,@]+=&;{}!$* DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2SecurityGroupEgress.ps1 b/VaporShell/Public/Resource Types/New-VSEC2SecurityGroupEgress.ps1 index dac2cc093..8482b5cda 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2SecurityGroupEgress.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2SecurityGroupEgress.ps1 @@ -97,6 +97,23 @@ VPC only] Use -1 to specify all protocols. When authorizing security group rules 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. @@ -282,6 +299,9 @@ VPC only] Use -1 to specify all protocols. When authorizing security group rules DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2SecurityGroupIngress.ps1 b/VaporShell/Public/Resource Types/New-VSEC2SecurityGroupIngress.ps1 index bfc2e42b2..1bf11529b 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2SecurityGroupIngress.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2SecurityGroupIngress.ps1 @@ -120,6 +120,23 @@ Use this for ICMP and any protocol that uses ports. 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. @@ -338,6 +355,9 @@ Use this for ICMP and any protocol that uses ports. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2SpotFleet.ps1 b/VaporShell/Public/Resource Types/New-VSEC2SpotFleet.ps1 index 156f38c98..81380f770 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2SpotFleet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2SpotFleet.ps1 @@ -38,6 +38,23 @@ For more information, see Spot Fleet Requests: https://docs.aws.amazon.com/AWSEC 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. @@ -126,6 +143,9 @@ For more information, see Spot Fleet Requests: https://docs.aws.amazon.com/AWSEC DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2Subnet.ps1 b/VaporShell/Public/Resource Types/New-VSEC2Subnet.ps1 index c58c7be76..c8c03a72b 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2Subnet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2Subnet.ps1 @@ -81,6 +81,23 @@ If you update this property, you must also update the CidrBlock property. 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. @@ -236,6 +253,9 @@ If you update this property, you must also update the CidrBlock property. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2SubnetCidrBlock.ps1 b/VaporShell/Public/Resource Types/New-VSEC2SubnetCidrBlock.ps1 index 528599c2e..4325a3b34 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2SubnetCidrBlock.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2SubnetCidrBlock.ps1 @@ -33,6 +33,23 @@ function New-VSEC2SubnetCidrBlock { 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. @@ -141,6 +158,9 @@ function New-VSEC2SubnetCidrBlock { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2SubnetNetworkAclAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2SubnetNetworkAclAssociation.ps1 index 69cd38341..745f596be 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2SubnetNetworkAclAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2SubnetNetworkAclAssociation.ps1 @@ -35,6 +35,23 @@ When AWS::EC2::SubnetNetworkAclAssociation resources are created during create o 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. @@ -143,6 +160,9 @@ When AWS::EC2::SubnetNetworkAclAssociation resources are created during create o DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2SubnetRouteTableAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2SubnetRouteTableAssociation.ps1 index 8f2c8c06f..8f0b7ae7c 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2SubnetRouteTableAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2SubnetRouteTableAssociation.ps1 @@ -34,6 +34,23 @@ The physical ID changes when the route table ID is changed. 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. @@ -142,6 +159,9 @@ The physical ID changes when the route table ID is changed. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorFilter.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorFilter.ps1 index 99e96431e..248d8dca4 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorFilter.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorFilter.ps1 @@ -47,6 +47,23 @@ Valid values are amazon-dns. 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. @@ -149,6 +166,9 @@ Valid values are amazon-dns. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorFilterRule.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorFilterRule.ps1 index bc285c324..dea5426ae 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorFilterRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorFilterRule.ps1 @@ -94,6 +94,23 @@ For information about the protocol value, see Protocol Numbers: https://www.iana 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. @@ -272,6 +289,9 @@ For information about the protocol value, see Protocol Numbers: https://www.iana DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorSession.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorSession.ps1 index 1441b869c..244d9c1a8 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorSession.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorSession.ps1 @@ -84,6 +84,23 @@ If you do not want to mirror the entire packet, use the PacketLength parameter t 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. @@ -250,6 +267,9 @@ If you do not want to mirror the entire packet, use the PacketLength parameter t DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorTarget.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorTarget.ps1 index d8e2ca47a..72aed75a6 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorTarget.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TrafficMirrorTarget.ps1 @@ -54,6 +54,23 @@ To use the target in a Traffic Mirror session, use AWS::EC2::TrafficMirrorSessio 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. @@ -176,6 +193,9 @@ To use the target in a Traffic Mirror session, use AWS::EC2::TrafficMirrorSessio DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TransitGateway.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TransitGateway.ps1 index f65814125..aa1ecd2fd 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TransitGateway.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TransitGateway.ps1 @@ -84,6 +84,23 @@ When you create a transit gateway, we create a default transit gateway route tab 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. @@ -250,6 +267,9 @@ When you create a transit gateway, we create a default transit gateway route tab DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayAttachment.ps1 index 4d09aa499..654ce28bf 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayAttachment.ps1 @@ -53,6 +53,23 @@ To send VPC traffic to an attached transit gateway, add a route to the VPC route 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. @@ -166,6 +183,9 @@ To send VPC traffic to an attached transit gateway, add a route to the VPC route DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRoute.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRoute.ps1 index a6c095672..d0fae0c9b 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRoute.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRoute.ps1 @@ -47,6 +47,23 @@ function New-VSEC2TransitGatewayRoute { 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. @@ -177,6 +194,9 @@ function New-VSEC2TransitGatewayRoute { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTable.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTable.ps1 index 42b984bf6..c4de8c577 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTable.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTable.ps1 @@ -34,6 +34,23 @@ function New-VSEC2TransitGatewayRouteTable { 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. @@ -134,6 +151,9 @@ function New-VSEC2TransitGatewayRouteTable { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTableAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTableAssociation.ps1 index c0453cb7d..78c7cee17 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTableAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTableAssociation.ps1 @@ -37,6 +37,23 @@ The TransitGatewayRouteTableId value changes when you use AWS::EC2::TransitGatew 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. @@ -145,6 +162,9 @@ The TransitGatewayRouteTableId value changes when you use AWS::EC2::TransitGatew DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTablePropagation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTablePropagation.ps1 index 7a091369d..32c87c209 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTablePropagation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2TransitGatewayRouteTablePropagation.ps1 @@ -35,6 +35,23 @@ For more information about enabling transit gateway route propagation, see Enabl 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. @@ -143,6 +160,9 @@ For more information about enabling transit gateway route propagation, see Enabl DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPC.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPC.ps1 index b36b6e4b6..d5e121f41 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPC.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPC.ps1 @@ -60,6 +60,23 @@ Updating InstanceTenancy requires no replacement only if you are updating its va 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. @@ -193,6 +210,9 @@ Updating InstanceTenancy requires no replacement only if you are updating its va DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPCCidrBlock.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPCCidrBlock.ps1 index 99126ea8c..e4e495ad2 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPCCidrBlock.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPCCidrBlock.ps1 @@ -42,6 +42,23 @@ For more information about associating CIDR blocks with your VPC and applicable 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. @@ -161,6 +178,9 @@ For more information about associating CIDR blocks with your VPC and applicable DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPCDHCPOptionsAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPCDHCPOptionsAssociation.ps1 index b5cf4c6f5..1cfee1dc1 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPCDHCPOptionsAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPCDHCPOptionsAssociation.ps1 @@ -35,6 +35,23 @@ After you associate the options with the VPC, any existing instances and all new 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. @@ -143,6 +160,9 @@ After you associate the options with the VPC, any existing instances and all new DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPCEndpoint.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPCEndpoint.ps1 index 70478db17..a6363a3f3 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPCEndpoint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPCEndpoint.ps1 @@ -91,6 +91,23 @@ This field is required when the endpoint is an interface. 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. @@ -238,6 +255,9 @@ This field is required when the endpoint is an interface. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointConnectionNotification.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointConnectionNotification.ps1 index 1d398866d..c24d83ff9 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointConnectionNotification.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointConnectionNotification.ps1 @@ -50,6 +50,23 @@ You can create a connection notification for interface endpoints only. 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. @@ -171,6 +188,9 @@ You can create a connection notification for interface endpoints only. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointService.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointService.ps1 index c8a27d51d..803e0b62e 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointService.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointService.ps1 @@ -36,6 +36,23 @@ To create an endpoint service configuration, you must first create a Network Loa 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. @@ -135,6 +152,9 @@ To create an endpoint service configuration, you must first create a Network Loa DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointServicePermissions.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointServicePermissions.ps1 index bb03f841b..7a2bdbf4f 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointServicePermissions.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPCEndpointServicePermissions.ps1 @@ -36,6 +36,23 @@ If you grant permissions to all principals, the service is public. Any users who 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. @@ -135,6 +152,9 @@ If you grant permissions to all principals, the service is public. Any users who DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPCGatewayAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPCGatewayAttachment.ps1 index c24613533..c09dfd1e4 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPCGatewayAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPCGatewayAttachment.ps1 @@ -42,6 +42,23 @@ You must specify either InternetGatewayId or VpnGatewayId, but not both. 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. @@ -161,6 +178,9 @@ You must specify either InternetGatewayId or VpnGatewayId, but not both. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPCPeeringConnection.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPCPeeringConnection.ps1 index 342134a6d..d998e5578 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPCPeeringConnection.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPCPeeringConnection.ps1 @@ -74,6 +74,23 @@ This is required when you are peering a VPC in a different AWS account. 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. @@ -218,6 +235,9 @@ This is required when you are peering a VPC in a different AWS account. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPNConnection.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPNConnection.ps1 index 5cec60a4a..a47e37c0b 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPNConnection.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPNConnection.ps1 @@ -81,6 +81,23 @@ You must specify either TransitGatewayId or VpnGatewayId, but not both. 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. @@ -236,6 +253,9 @@ You must specify either TransitGatewayId or VpnGatewayId, but not both. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPNConnectionRoute.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPNConnectionRoute.ps1 index 9d2626a58..3c9dfe32f 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPNConnectionRoute.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPNConnectionRoute.ps1 @@ -35,6 +35,23 @@ For more information, see AWS Site-to-Site VPN: https://docs.aws.amazon.com/vpn/ 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. @@ -143,6 +160,9 @@ For more information, see AWS Site-to-Site VPN: https://docs.aws.amazon.com/vpn/ DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPNGateway.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPNGateway.ps1 index 225652307..a974746d1 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPNGateway.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPNGateway.ps1 @@ -44,6 +44,23 @@ For more information, see AWS Site-to-Site VPN: https://docs.aws.amazon.com/vpn/ 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. @@ -146,6 +163,9 @@ For more information, see AWS Site-to-Site VPN: https://docs.aws.amazon.com/vpn/ DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VPNGatewayRoutePropagation.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VPNGatewayRoutePropagation.ps1 index d70328ac0..ad2868847 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VPNGatewayRoutePropagation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VPNGatewayRoutePropagation.ps1 @@ -37,6 +37,23 @@ If you reference a VPN gateway that is in the same template as your VPN gateway 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. @@ -136,6 +153,9 @@ If you reference a VPN gateway that is in the same template as your VPN gateway DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2Volume.ps1 b/VaporShell/Public/Resource Types/New-VSEC2Volume.ps1 index 18bbdcdb9..5cd02464b 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2Volume.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2Volume.ps1 @@ -75,6 +75,13 @@ AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias PrimitiveType: String UpdateType: Mutable + .PARAMETER MultiAttachEnabled + + CreateVolume: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html in the *Amazon Elastic Compute Cloud API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-multiattachenabled + PrimitiveType: Boolean + UpdateType: Mutable + .PARAMETER Size The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384 for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size. @@ -115,6 +122,23 @@ Default: gp2 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. @@ -209,6 +233,17 @@ Default: gp2 })] $KmsKeyId, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $MultiAttachEnabled, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.Int32","Vaporshell.Function" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -292,6 +327,9 @@ Default: gp2 DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEC2VolumeAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSEC2VolumeAttachment.ps1 index 06d7a93bf..c4b006825 100644 --- a/VaporShell/Public/Resource Types/New-VSEC2VolumeAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEC2VolumeAttachment.ps1 @@ -46,6 +46,23 @@ If the root volume is detached from an instance with an AWS Marketplace product 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. @@ -165,6 +182,9 @@ If the root volume is detached from an instance with an AWS Marketplace product DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSECRRepository.ps1 b/VaporShell/Public/Resource Types/New-VSECRRepository.ps1 index 8a3ed5244..7cf671a90 100644 --- a/VaporShell/Public/Resource Types/New-VSECRRepository.ps1 +++ b/VaporShell/Public/Resource Types/New-VSECRRepository.ps1 @@ -50,6 +50,23 @@ If you specify a name, you cannot perform updates that require replacement of th 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. @@ -163,6 +180,9 @@ If you specify a name, you cannot perform updates that require replacement of th DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSECSCluster.ps1 b/VaporShell/Public/Resource Types/New-VSECSCluster.ps1 index ca6374146..18141f34f 100644 --- a/VaporShell/Public/Resource Types/New-VSECSCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSECSCluster.ps1 @@ -52,6 +52,23 @@ The following basic restrictions apply to tags: 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. @@ -163,6 +180,9 @@ The following basic restrictions apply to tags: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSECSPrimaryTaskSet.ps1 b/VaporShell/Public/Resource Types/New-VSECSPrimaryTaskSet.ps1 index 6e5f17029..818d9508f 100644 --- a/VaporShell/Public/Resource Types/New-VSECSPrimaryTaskSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSECSPrimaryTaskSet.ps1 @@ -40,6 +40,23 @@ function New-VSECSPrimaryTaskSet { 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. @@ -159,6 +176,9 @@ function New-VSECSPrimaryTaskSet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSECSService.ps1 b/VaporShell/Public/Resource Types/New-VSECSService.ps1 index 0c99f5b52..1841ac1c6 100644 --- a/VaporShell/Public/Resource Types/New-VSECSService.ps1 +++ b/VaporShell/Public/Resource Types/New-VSECSService.ps1 @@ -181,6 +181,23 @@ A task definition must be specified if the service is using the ECS deployment c 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. @@ -441,6 +458,9 @@ A task definition must be specified if the service is using the ECS deployment c DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSECSTaskDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSECSTaskDefinition.ps1 index 33b61b0d1..df4fbb05a 100644 --- a/VaporShell/Public/Resource Types/New-VSECSTaskDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSECSTaskDefinition.ps1 @@ -162,6 +162,23 @@ For more information about volume definition parameters and defaults, see Amazon 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. @@ -387,6 +404,9 @@ For more information about volume definition parameters and defaults, see Amazon DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSECSTaskSet.ps1 b/VaporShell/Public/Resource Types/New-VSECSTaskSet.ps1 index 822b3e2ea..04bbeaa32 100644 --- a/VaporShell/Public/Resource Types/New-VSECSTaskSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSECSTaskSet.ps1 @@ -92,6 +92,23 @@ If a launchType is specified, the capacityProviderStrategy parameter must be omi 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. @@ -270,6 +287,9 @@ If a launchType is specified, the capacityProviderStrategy parameter must be omi DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEFSFileSystem.ps1 b/VaporShell/Public/Resource Types/New-VSEFSFileSystem.ps1 index cf3d08a7b..0c448f682 100644 --- a/VaporShell/Public/Resource Types/New-VSEFSFileSystem.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEFSFileSystem.ps1 @@ -70,6 +70,23 @@ function New-VSEFSFileSystem { 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. @@ -233,6 +250,9 @@ function New-VSEFSFileSystem { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEFSMountTarget.ps1 b/VaporShell/Public/Resource Types/New-VSEFSMountTarget.ps1 index 45be7dcaf..4ff714cec 100644 --- a/VaporShell/Public/Resource Types/New-VSEFSMountTarget.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEFSMountTarget.ps1 @@ -49,6 +49,23 @@ function New-VSEFSMountTarget { 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. @@ -170,6 +187,9 @@ function New-VSEFSMountTarget { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEKSCluster.ps1 b/VaporShell/Public/Resource Types/New-VSEKSCluster.ps1 index f902d070c..2c3c4827c 100644 --- a/VaporShell/Public/Resource Types/New-VSEKSCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEKSCluster.ps1 @@ -27,6 +27,14 @@ Cluster creation typically takes between 10 and 15 minutes. After you create an PrimitiveType: String UpdateType: Mutable + .PARAMETER EncryptionConfig + + CreateCluster: https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateCluster.html in the *Amazon EKS API Reference *. + + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-encryptionconfig + ItemType: EncryptionConfig + UpdateType: Immutable + .PARAMETER RoleArn The Amazon Resource Name ARN of the IAM role that provides permissions for Amazon EKS to make calls to other AWS API operations on your behalf. For more information, see Amazon EKS Service IAM Role: https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html in the * *Amazon EKS User Guide* *. @@ -55,6 +63,23 @@ Cluster creation typically takes between 10 and 15 minutes. After you create an 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. @@ -104,6 +129,17 @@ Cluster creation typically takes between 10 and 15 minutes. After you create an } })] $Version, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.EKS.Cluster.EncryptionConfig" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $EncryptionConfig, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -176,6 +212,9 @@ Cluster creation typically takes between 10 and 15 minutes. After you create an DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -188,6 +227,12 @@ Cluster creation typically takes between 10 and 15 minutes. After you create an Condition { $ResourceParams.Add("Condition",$Condition) } + EncryptionConfig { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name EncryptionConfig -Value @($EncryptionConfig) + } Default { if (!($ResourceParams["Properties"])) { $ResourceParams.Add("Properties",([PSCustomObject]@{})) diff --git a/VaporShell/Public/Resource Types/New-VSEKSNodegroup.ps1 b/VaporShell/Public/Resource Types/New-VSEKSNodegroup.ps1 index eb2fbb138..9b785e45d 100644 --- a/VaporShell/Public/Resource Types/New-VSEKSNodegroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEKSNodegroup.ps1 @@ -124,6 +124,23 @@ Changing this value triggers an update of the node group if one is available. Ho 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. @@ -328,6 +345,9 @@ Changing this value triggers an update of the node group if one is available. Ho DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEMRCluster.ps1 b/VaporShell/Public/Resource Types/New-VSEMRCluster.ps1 index a1c109443..4cc2b0d54 100644 --- a/VaporShell/Public/Resource Types/New-VSEMRCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEMRCluster.ps1 @@ -163,6 +163,23 @@ When you create clusters directly through the EMR console or API, this value is 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. @@ -432,6 +449,9 @@ When you create clusters directly through the EMR console or API, this value is DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEMRInstanceFleetConfig.ps1 b/VaporShell/Public/Resource Types/New-VSEMRInstanceFleetConfig.ps1 index 46fecbed0..47d2ce8d3 100644 --- a/VaporShell/Public/Resource Types/New-VSEMRInstanceFleetConfig.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEMRInstanceFleetConfig.ps1 @@ -77,6 +77,23 @@ If not specified or set to 0, only On-Demand instances are provisioned for the i 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. @@ -231,6 +248,9 @@ If not specified or set to 0, only On-Demand instances are provisioned for the i DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEMRInstanceGroupConfig.ps1 b/VaporShell/Public/Resource Types/New-VSEMRInstanceGroupConfig.ps1 index 04fb13a84..9417b5487 100644 --- a/VaporShell/Public/Resource Types/New-VSEMRInstanceGroupConfig.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEMRInstanceGroupConfig.ps1 @@ -92,6 +92,23 @@ The list of configurations supplied for an EMR cluster instance group. You can s 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. @@ -270,6 +287,9 @@ The list of configurations supplied for an EMR cluster instance group. You can s DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEMRSecurityConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSEMRSecurityConfiguration.ps1 index fcfc90b0d..98a05b591 100644 --- a/VaporShell/Public/Resource Types/New-VSEMRSecurityConfiguration.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEMRSecurityConfiguration.ps1 @@ -33,6 +33,23 @@ function New-VSEMRSecurityConfiguration { 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. @@ -141,6 +158,9 @@ function New-VSEMRSecurityConfiguration { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEMRStep.ps1 b/VaporShell/Public/Resource Types/New-VSEMRStep.ps1 index d30e684ad..67b75d768 100644 --- a/VaporShell/Public/Resource Types/New-VSEMRStep.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEMRStep.ps1 @@ -47,6 +47,23 @@ function New-VSEMRStep { 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. @@ -168,6 +185,9 @@ function New-VSEMRStep { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElastiCacheCacheCluster.ps1 b/VaporShell/Public/Resource Types/New-VSElastiCacheCacheCluster.ps1 index 0df72cef0..4427ab755 100644 --- a/VaporShell/Public/Resource Types/New-VSElastiCacheCacheCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElastiCacheCacheCluster.ps1 @@ -237,6 +237,23 @@ Use this parameter only when you are creating a cluster in an Amazon Virtual Pri 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. @@ -510,6 +527,9 @@ Use this parameter only when you are creating a cluster in an Amazon Virtual Pri DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElastiCacheParameterGroup.ps1 b/VaporShell/Public/Resource Types/New-VSElastiCacheParameterGroup.ps1 index 2d007ffb0..9d91befbd 100644 --- a/VaporShell/Public/Resource Types/New-VSElastiCacheParameterGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElastiCacheParameterGroup.ps1 @@ -54,6 +54,23 @@ For example: 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. @@ -165,6 +182,9 @@ For example: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElastiCacheReplicationGroup.ps1 b/VaporShell/Public/Resource Types/New-VSElastiCacheReplicationGroup.ps1 index 374d581c5..23b9c6fdb 100644 --- a/VaporShell/Public/Resource Types/New-VSElastiCacheReplicationGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElastiCacheReplicationGroup.ps1 @@ -321,6 +321,23 @@ For HIPAA compliance, you must specify TransitEncryptionEnabled as true, an Auth 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. @@ -693,6 +710,9 @@ For HIPAA compliance, you must specify TransitEncryptionEnabled as true, an Auth DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElastiCacheSecurityGroup.ps1 b/VaporShell/Public/Resource Types/New-VSElastiCacheSecurityGroup.ps1 index 967869483..4df1ec99d 100644 --- a/VaporShell/Public/Resource Types/New-VSElastiCacheSecurityGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElastiCacheSecurityGroup.ps1 @@ -32,6 +32,23 @@ Updates are not supported. 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. @@ -129,6 +146,9 @@ Updates are not supported. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElastiCacheSecurityGroupIngress.ps1 b/VaporShell/Public/Resource Types/New-VSElastiCacheSecurityGroupIngress.ps1 index b0e6f28f3..1c9ca34b1 100644 --- a/VaporShell/Public/Resource Types/New-VSElastiCacheSecurityGroupIngress.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElastiCacheSecurityGroupIngress.ps1 @@ -44,6 +44,23 @@ Updates are not supported. 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. @@ -163,6 +180,9 @@ Updates are not supported. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElastiCacheSubnetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSElastiCacheSubnetGroup.ps1 index 07d7bf36d..b857d9538 100644 --- a/VaporShell/Public/Resource Types/New-VSElastiCacheSubnetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElastiCacheSubnetGroup.ps1 @@ -44,6 +44,23 @@ Example: mysubnetgroup 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. @@ -154,6 +171,9 @@ Example: mysubnetgroup DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticBeanstalkApplication.ps1 b/VaporShell/Public/Resource Types/New-VSElasticBeanstalkApplication.ps1 index 39b9117b0..4e6b77c1d 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticBeanstalkApplication.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticBeanstalkApplication.ps1 @@ -41,6 +41,23 @@ If you specify a name, you cannot perform updates that require replacement of th 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. @@ -151,6 +168,9 @@ If you specify a name, you cannot perform updates that require replacement of th DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticBeanstalkApplicationVersion.ps1 b/VaporShell/Public/Resource Types/New-VSElasticBeanstalkApplicationVersion.ps1 index 69f4858f0..31d8a79c0 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticBeanstalkApplicationVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticBeanstalkApplicationVersion.ps1 @@ -45,6 +45,23 @@ The Amazon S3 bucket must be in the same region as the environment. 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. @@ -155,6 +172,9 @@ The Amazon S3 bucket must be in the same region as the environment. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticBeanstalkConfigurationTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSElasticBeanstalkConfigurationTemplate.ps1 index f9b169a35..b0f44cc63 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticBeanstalkConfigurationTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticBeanstalkConfigurationTemplate.ps1 @@ -80,6 +80,23 @@ Constraint: If both solution stack name and source configuration are specified, 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. @@ -234,6 +251,9 @@ Constraint: If both solution stack name and source configuration are specified, DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticBeanstalkEnvironment.ps1 b/VaporShell/Public/Resource Types/New-VSElasticBeanstalkEnvironment.ps1 index 3331bc8e8..90ffbea25 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticBeanstalkEnvironment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticBeanstalkEnvironment.ps1 @@ -108,6 +108,23 @@ Default: If not specified, Elastic Beanstalk attempts to deploy the sample appli 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. @@ -298,6 +315,9 @@ Default: If not specified, Elastic Beanstalk attempts to deploy the sample appli DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingLoadBalancer.ps1 b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingLoadBalancer.ps1 index 3a065bf48..ca4423be6 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingLoadBalancer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingLoadBalancer.ps1 @@ -163,6 +163,23 @@ Update requires replacement if you did not previously specify a subnet or if you 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. @@ -345,6 +362,9 @@ Update requires replacement if you did not previously specify a subnet or if you DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2Listener.ps1 b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2Listener.ps1 index 07b876a1a..5ba9c1a82 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2Listener.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2Listener.ps1 @@ -76,6 +76,23 @@ For more information, see Security Policies: https://docs.aws.amazon.com/elastic 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. @@ -228,6 +245,9 @@ For more information, see Security Policies: https://docs.aws.amazon.com/elastic DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2ListenerCertificate.ps1 b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2ListenerCertificate.ps1 index 266e784ec..2c187614f 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2ListenerCertificate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2ListenerCertificate.ps1 @@ -35,6 +35,23 @@ function New-VSElasticLoadBalancingV2ListenerCertificate { 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. @@ -143,6 +160,9 @@ function New-VSElasticLoadBalancingV2ListenerCertificate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2ListenerRule.ps1 b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2ListenerRule.ps1 index 00aef7bc9..23393e9c1 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2ListenerRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2ListenerRule.ps1 @@ -52,6 +52,23 @@ If you try to reorder rules by updating their priorities, do not specify a new p 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. @@ -182,6 +199,9 @@ If you try to reorder rules by updating their priorities, do not specify a new p DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2LoadBalancer.ps1 b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2LoadBalancer.ps1 index 0d5ed1fb4..d77db927c 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2LoadBalancer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2LoadBalancer.ps1 @@ -99,6 +99,23 @@ Network Load Balancers] You can specify subnets from one or more Availability Zo 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. @@ -258,6 +275,9 @@ Network Load Balancers] You can specify subnets from one or more Availability Zo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2TargetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2TargetGroup.ps1 index 3d512156b..9d7822501 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2TargetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticLoadBalancingV2TargetGroup.ps1 @@ -150,6 +150,23 @@ This name must be unique per region per account, can have a maximum of 32 charac 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. @@ -406,6 +423,9 @@ This name must be unique per region per account, can have a maximum of 32 charac DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSElasticsearchDomain.ps1 b/VaporShell/Public/Resource Types/New-VSElasticsearchDomain.ps1 index 7806c9fb6..366d68005 100644 --- a/VaporShell/Public/Resource Types/New-VSElasticsearchDomain.ps1 +++ b/VaporShell/Public/Resource Types/New-VSElasticsearchDomain.ps1 @@ -118,6 +118,23 @@ If you set the UpgradeElasticsearchVersion: https://docs.aws.amazon.com/AWSCloud 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. @@ -268,6 +285,9 @@ If you set the UpgradeElasticsearchVersion: https://docs.aws.amazon.com/AWSCloud DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEventSchemasDiscoverer.ps1 b/VaporShell/Public/Resource Types/New-VSEventSchemasDiscoverer.ps1 index 77bfbd73c..0c40ee106 100644 --- a/VaporShell/Public/Resource Types/New-VSEventSchemasDiscoverer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEventSchemasDiscoverer.ps1 @@ -41,6 +41,23 @@ function New-VSEventSchemasDiscoverer { 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. @@ -160,6 +177,9 @@ function New-VSEventSchemasDiscoverer { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEventSchemasRegistry.ps1 b/VaporShell/Public/Resource Types/New-VSEventSchemasRegistry.ps1 index f17d76424..33faf7ee0 100644 --- a/VaporShell/Public/Resource Types/New-VSEventSchemasRegistry.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEventSchemasRegistry.ps1 @@ -41,6 +41,23 @@ function New-VSEventSchemasRegistry { 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. @@ -160,6 +177,9 @@ function New-VSEventSchemasRegistry { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEventSchemasRegistryPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSEventSchemasRegistryPolicy.ps1 new file mode 100644 index 000000000..a57850f00 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSEventSchemasRegistryPolicy.ps1 @@ -0,0 +1,219 @@ +function New-VSEventSchemasRegistryPolicy { + <# + .SYNOPSIS + Adds an AWS::EventSchemas::RegistryPolicy resource to the template. + + .DESCRIPTION + Adds an AWS::EventSchemas::RegistryPolicy resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.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 Policy + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-policy + UpdateType: Mutable + PrimitiveType: Json + + .PARAMETER RegistryName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-registryname + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER RevisionId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-revisionid + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.EventSchemas.RegistryPolicy')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","System.Collections.Hashtable","System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Policy, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RegistryName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RevisionId, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::EventSchemas::RegistryPolicy" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Policy { + if (($PSBoundParameters[$key]).PSObject.TypeNames -contains "System.String"){ + try { + $JSONObject = (ConvertFrom-Json -InputObject $PSBoundParameters[$key] -ErrorAction Stop) + } + catch { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "Unable to convert parameter '$key' string value to PSObject! Please use a JSON string OR provide a Hashtable or PSCustomObject instead!")) + } + } + else { + $JSONObject = ([PSCustomObject]$PSBoundParameters[$key]) + } + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $JSONObject + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.EventSchemas.RegistryPolicy' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSEventSchemasSchema.ps1 b/VaporShell/Public/Resource Types/New-VSEventSchemasSchema.ps1 index afc285b36..8ddc43021 100644 --- a/VaporShell/Public/Resource Types/New-VSEventSchemasSchema.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEventSchemasSchema.ps1 @@ -62,6 +62,23 @@ function New-VSEventSchemasSchema { 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. @@ -214,6 +231,9 @@ function New-VSEventSchemasSchema { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEventsEventBus.ps1 b/VaporShell/Public/Resource Types/New-VSEventsEventBus.ps1 index d495c0eac..ef5df7901 100644 --- a/VaporShell/Public/Resource Types/New-VSEventsEventBus.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEventsEventBus.ps1 @@ -38,6 +38,23 @@ If you are creating a partner event bus, this name must exactly match the name o 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. @@ -146,6 +163,9 @@ If you are creating a partner event bus, this name must exactly match the name o DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEventsEventBusPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSEventsEventBusPolicy.ps1 index 077bb5ce9..a4b9e6450 100644 --- a/VaporShell/Public/Resource Types/New-VSEventsEventBusPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEventsEventBusPolicy.ps1 @@ -61,6 +61,23 @@ If you specify "*" without specifying Condition, avoid creating rules that may m 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. @@ -177,6 +194,9 @@ If you specify "*" without specifying Condition, avoid creating rules that may m DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSEventsRule.ps1 b/VaporShell/Public/Resource Types/New-VSEventsRule.ps1 index b24f6955f..0a6526024 100644 --- a/VaporShell/Public/Resource Types/New-VSEventsRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSEventsRule.ps1 @@ -88,6 +88,23 @@ If you're setting the event bus of another account as the target and that accoun 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. @@ -262,6 +279,9 @@ If you're setting the event bus of another account as the target and that accoun DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSFMSNotificationChannel.ps1 b/VaporShell/Public/Resource Types/New-VSFMSNotificationChannel.ps1 index da33bef55..ae1f6d436 100644 --- a/VaporShell/Public/Resource Types/New-VSFMSNotificationChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSFMSNotificationChannel.ps1 @@ -33,6 +33,23 @@ function New-VSFMSNotificationChannel { 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. @@ -141,6 +158,9 @@ function New-VSFMSNotificationChannel { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSFMSPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSFMSPolicy.ps1 index 28f34873c..d311dd8e7 100644 --- a/VaporShell/Public/Resource Types/New-VSFMSPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSFMSPolicy.ps1 @@ -121,6 +121,23 @@ After the cleanup, in-scope resources are no longer protected by web ACLs in thi 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. @@ -301,6 +318,9 @@ After the cleanup, in-scope resources are no longer protected by web ACLs in thi DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSFSxFileSystem.ps1 b/VaporShell/Public/Resource Types/New-VSFSxFileSystem.ps1 index 33fe42d31..61cda0c13 100644 --- a/VaporShell/Public/Resource Types/New-VSFSxFileSystem.ps1 +++ b/VaporShell/Public/Resource Types/New-VSFSxFileSystem.ps1 @@ -12,6 +12,11 @@ function New-VSFSxFileSystem { .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 StorageType + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-storagetype + PrimitiveType: String + UpdateType: Immutable + .PARAMETER KmsKeyId The ID of the AWS Key Management Service AWS KMS key used to encrypt the file system's data for an Amazon FSx for Windows File Server file system. Amazon FSx for Lustre does not support KMS encryption. @@ -89,6 +94,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -128,6 +150,17 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat [System.String] $LogicalId, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $StorageType, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -230,6 +263,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGameLiftAlias.ps1 b/VaporShell/Public/Resource Types/New-VSGameLiftAlias.ps1 index e41bc12b7..c7350529a 100644 --- a/VaporShell/Public/Resource Types/New-VSGameLiftAlias.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGameLiftAlias.ps1 @@ -40,6 +40,23 @@ function New-VSGameLiftAlias { 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. @@ -150,6 +167,9 @@ function New-VSGameLiftAlias { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGameLiftBuild.ps1 b/VaporShell/Public/Resource Types/New-VSGameLiftBuild.ps1 index e4033ea55..25b1747b6 100644 --- a/VaporShell/Public/Resource Types/New-VSGameLiftBuild.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGameLiftBuild.ps1 @@ -47,6 +47,23 @@ function New-VSGameLiftBuild { 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. @@ -168,6 +185,9 @@ function New-VSGameLiftBuild { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGameLiftFleet.ps1 b/VaporShell/Public/Resource Types/New-VSGameLiftFleet.ps1 index a4eeb7112..00f1966a8 100644 --- a/VaporShell/Public/Resource Types/New-VSGameLiftFleet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGameLiftFleet.ps1 @@ -175,6 +175,23 @@ Note: It is not currently possible to use the !Ref command to reference a script 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. @@ -447,6 +464,9 @@ Note: It is not currently possible to use the !Ref command to reference a script DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGameLiftGameSessionQueue.ps1 b/VaporShell/Public/Resource Types/New-VSGameLiftGameSessionQueue.ps1 index d131b9097..99a31efea 100644 --- a/VaporShell/Public/Resource Types/New-VSGameLiftGameSessionQueue.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGameLiftGameSessionQueue.ps1 @@ -49,6 +49,23 @@ function New-VSGameLiftGameSessionQueue { 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. @@ -179,6 +196,9 @@ function New-VSGameLiftGameSessionQueue { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGameLiftMatchmakingConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSGameLiftMatchmakingConfiguration.ps1 index a96f3292e..1116e556c 100644 --- a/VaporShell/Public/Resource Types/New-VSGameLiftMatchmakingConfiguration.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGameLiftMatchmakingConfiguration.ps1 @@ -112,6 +112,23 @@ function New-VSGameLiftMatchmakingConfiguration { 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. @@ -332,6 +349,9 @@ function New-VSGameLiftMatchmakingConfiguration { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGameLiftMatchmakingRuleSet.ps1 b/VaporShell/Public/Resource Types/New-VSGameLiftMatchmakingRuleSet.ps1 index c90032b37..b3501bf75 100644 --- a/VaporShell/Public/Resource Types/New-VSGameLiftMatchmakingRuleSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGameLiftMatchmakingRuleSet.ps1 @@ -33,6 +33,23 @@ function New-VSGameLiftMatchmakingRuleSet { 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. @@ -141,6 +158,9 @@ function New-VSGameLiftMatchmakingRuleSet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGameLiftScript.ps1 b/VaporShell/Public/Resource Types/New-VSGameLiftScript.ps1 index c99863a0f..5b5369902 100644 --- a/VaporShell/Public/Resource Types/New-VSGameLiftScript.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGameLiftScript.ps1 @@ -40,6 +40,23 @@ function New-VSGameLiftScript { 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. @@ -150,6 +167,9 @@ function New-VSGameLiftScript { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueClassifier.ps1 b/VaporShell/Public/Resource Types/New-VSGlueClassifier.ps1 index bf41e6d38..2b60d99c9 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueClassifier.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueClassifier.ps1 @@ -47,6 +47,23 @@ function New-VSGlueClassifier { 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. @@ -141,6 +158,9 @@ function New-VSGlueClassifier { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueConnection.ps1 b/VaporShell/Public/Resource Types/New-VSGlueConnection.ps1 index f52fdca04..ab04f5ea6 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueConnection.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueConnection.ps1 @@ -34,6 +34,23 @@ To specify the account ID, you can use the Ref intrinsic function with the AWS:: 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. @@ -133,6 +150,9 @@ To specify the account ID, you can use the Ref intrinsic function with the AWS:: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueCrawler.ps1 b/VaporShell/Public/Resource Types/New-VSGlueCrawler.ps1 index 5c3bbd0c3..0bc2a2b82 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueCrawler.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueCrawler.ps1 @@ -104,6 +104,23 @@ function New-VSGlueCrawler { 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. @@ -286,6 +303,9 @@ function New-VSGlueCrawler { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueDataCatalogEncryptionSettings.ps1 b/VaporShell/Public/Resource Types/New-VSGlueDataCatalogEncryptionSettings.ps1 index f965c7488..d667f7d8d 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueDataCatalogEncryptionSettings.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueDataCatalogEncryptionSettings.ps1 @@ -33,6 +33,23 @@ function New-VSGlueDataCatalogEncryptionSettings { 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. @@ -132,6 +149,9 @@ function New-VSGlueDataCatalogEncryptionSettings { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueDatabase.ps1 b/VaporShell/Public/Resource Types/New-VSGlueDatabase.ps1 index f53e143bc..7d99e204d 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueDatabase.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueDatabase.ps1 @@ -34,6 +34,23 @@ To specify the account ID, you can use the Ref intrinsic function with the AWS:: 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. @@ -133,6 +150,9 @@ To specify the account ID, you can use the Ref intrinsic function with the AWS:: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueDevEndpoint.ps1 b/VaporShell/Public/Resource Types/New-VSGlueDevEndpoint.ps1 index 4dfd7f702..11fda9b50 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueDevEndpoint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueDevEndpoint.ps1 @@ -53,6 +53,14 @@ You can specify a version of Python support for development endpoints by using t PrimitiveType: String UpdateType: Mutable + .PARAMETER PublicKeys + + DevEndpoint Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-dev-endpoint.html#aws-glue-api-jobs-dev-endpoint-DevEndpoint in the *AWS Glue Developer Guide* + + PrimitiveItemType: String + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickeys + UpdateType: Mutable + .PARAMETER SecurityGroupIds A list of security group identifiers used in this DevEndpoint. @@ -133,6 +141,23 @@ The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. 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. @@ -227,6 +252,8 @@ The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. })] $SubnetId, [parameter(Mandatory = $false)] + $PublicKeys, + [parameter(Mandatory = $false)] $SecurityGroupIds, [parameter(Mandatory = $true)] [ValidateScript( { @@ -364,6 +391,9 @@ The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -376,6 +406,12 @@ The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. Condition { $ResourceParams.Add("Condition",$Condition) } + PublicKeys { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name PublicKeys -Value @($PublicKeys) + } SecurityGroupIds { if (!($ResourceParams["Properties"])) { $ResourceParams.Add("Properties",([PSCustomObject]@{})) diff --git a/VaporShell/Public/Resource Types/New-VSGlueJob.ps1 b/VaporShell/Public/Resource Types/New-VSGlueJob.ps1 index 55e00c2eb..f2378b48d 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueJob.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueJob.ps1 @@ -158,6 +158,23 @@ The value that can be allocated for MaxCapacity depends on whether you are runni 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. @@ -406,6 +423,9 @@ The value that can be allocated for MaxCapacity depends on whether you are runni DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueMLTransform.ps1 b/VaporShell/Public/Resource Types/New-VSGlueMLTransform.ps1 index e9dffeec3..7c787b05f 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueMLTransform.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueMLTransform.ps1 @@ -86,6 +86,13 @@ If WorkerType is set, then NumberOfWorkers is required and vice versa. PrimitiveType: Integer UpdateType: Mutable + .PARAMETER Tags + For more information about using the Ref function, see Ref: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html. + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-tags + PrimitiveType: Json + UpdateType: Mutable + .PARAMETER Name Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-name PrimitiveType: String @@ -111,6 +118,23 @@ When the WorkerType field is set to a value other than Standard, the MaxCapacity 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. @@ -231,6 +255,17 @@ When the WorkerType field is set to a value other than Standard, the MaxCapacity })] $NumberOfWorkers, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","System.Collections.Hashtable","System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Tags, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -300,6 +335,9 @@ When the WorkerType field is set to a value other than Standard, the MaxCapacity DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -312,6 +350,23 @@ When the WorkerType field is set to a value other than Standard, the MaxCapacity Condition { $ResourceParams.Add("Condition",$Condition) } + Tags { + if (($PSBoundParameters[$key]).PSObject.TypeNames -contains "System.String"){ + try { + $JSONObject = (ConvertFrom-Json -InputObject $PSBoundParameters[$key] -ErrorAction Stop) + } + catch { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "Unable to convert parameter '$key' string value to PSObject! Please use a JSON string OR provide a Hashtable or PSCustomObject instead!")) + } + } + else { + $JSONObject = ([PSCustomObject]$PSBoundParameters[$key]) + } + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $JSONObject + } Default { if (!($ResourceParams["Properties"])) { $ResourceParams.Add("Properties",([PSCustomObject]@{})) diff --git a/VaporShell/Public/Resource Types/New-VSGluePartition.ps1 b/VaporShell/Public/Resource Types/New-VSGluePartition.ps1 index fc9f49007..ba9bd248d 100644 --- a/VaporShell/Public/Resource Types/New-VSGluePartition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGluePartition.ps1 @@ -48,6 +48,23 @@ To specify the account ID, you can use the Ref intrinsic function with the AWS:: 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. @@ -169,6 +186,9 @@ To specify the account ID, you can use the Ref intrinsic function with the AWS:: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueSecurityConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSGlueSecurityConfiguration.ps1 index cbf7190dc..a4e97c5cc 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueSecurityConfiguration.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueSecurityConfiguration.ps1 @@ -33,6 +33,23 @@ function New-VSGlueSecurityConfiguration { 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. @@ -132,6 +149,9 @@ function New-VSGlueSecurityConfiguration { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueTable.ps1 b/VaporShell/Public/Resource Types/New-VSGlueTable.ps1 index 2a3afc795..bf6c3f052 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueTable.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueTable.ps1 @@ -40,6 +40,23 @@ function New-VSGlueTable { 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. @@ -150,6 +167,9 @@ function New-VSGlueTable { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueTrigger.ps1 b/VaporShell/Public/Resource Types/New-VSGlueTrigger.ps1 index 892f4c711..2c2710592 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueTrigger.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueTrigger.ps1 @@ -83,6 +83,23 @@ function New-VSGlueTrigger { 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. @@ -259,6 +276,9 @@ function New-VSGlueTrigger { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGlueWorkflow.ps1 b/VaporShell/Public/Resource Types/New-VSGlueWorkflow.ps1 index 645b13c4d..82f0caf75 100644 --- a/VaporShell/Public/Resource Types/New-VSGlueWorkflow.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGlueWorkflow.ps1 @@ -47,6 +47,23 @@ function New-VSGlueWorkflow { 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. @@ -177,6 +194,9 @@ function New-VSGlueWorkflow { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassConnectorDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassConnectorDefinition.ps1 index 991f16fcb..68f3c30ae 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassConnectorDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassConnectorDefinition.ps1 @@ -57,6 +57,23 @@ This Json property type is processed as a map of key-value pairs. It uses the fo 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. @@ -167,6 +184,9 @@ This Json property type is processed as a map of key-value pairs. It uses the fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassConnectorDefinitionVersion.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassConnectorDefinitionVersion.ps1 index 844dbb427..b5e78a21d 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassConnectorDefinitionVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassConnectorDefinitionVersion.ps1 @@ -40,6 +40,23 @@ After you create a connector definition version that contains the connectors you 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. @@ -148,6 +165,9 @@ After you create a connector definition version that contains the connectors you DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassCoreDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassCoreDefinition.ps1 index 5d5b2ae38..d2bcbd03a 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassCoreDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassCoreDefinition.ps1 @@ -57,6 +57,23 @@ This Json property type is processed as a map of key-value pairs. It uses the fo 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. @@ -167,6 +184,9 @@ This Json property type is processed as a map of key-value pairs. It uses the fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassCoreDefinitionVersion.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassCoreDefinitionVersion.ps1 index 7f6fb24c0..da05bad68 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassCoreDefinitionVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassCoreDefinitionVersion.ps1 @@ -40,6 +40,23 @@ After you create a core definition version that contains the core you want to de 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. @@ -148,6 +165,9 @@ After you create a core definition version that contains the core you want to de DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassDeviceDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassDeviceDefinition.ps1 index 3e2915f17..baab58cf6 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassDeviceDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassDeviceDefinition.ps1 @@ -57,6 +57,23 @@ This Json property type is processed as a map of key-value pairs. It uses the fo 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. @@ -167,6 +184,9 @@ This Json property type is processed as a map of key-value pairs. It uses the fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassDeviceDefinitionVersion.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassDeviceDefinitionVersion.ps1 index caa3d1648..371682f43 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassDeviceDefinitionVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassDeviceDefinitionVersion.ps1 @@ -40,6 +40,23 @@ After you create a device definition version that contains the devices you want 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. @@ -148,6 +165,9 @@ After you create a device definition version that contains the devices you want DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassFunctionDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassFunctionDefinition.ps1 index 9ddae0957..fc40a4b16 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassFunctionDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassFunctionDefinition.ps1 @@ -57,6 +57,23 @@ This Json property type is processed as a map of key-value pairs. It uses the fo 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. @@ -167,6 +184,9 @@ This Json property type is processed as a map of key-value pairs. It uses the fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassFunctionDefinitionVersion.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassFunctionDefinitionVersion.ps1 index 0e3a87988..f07a8b8bf 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassFunctionDefinitionVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassFunctionDefinitionVersion.ps1 @@ -47,6 +47,23 @@ After you create a function definition version that contains the functions you w 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. @@ -157,6 +174,9 @@ After you create a function definition version that contains the functions you w DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassGroup.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassGroup.ps1 index 952648d25..8a350a149 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassGroup.ps1 @@ -76,6 +76,23 @@ This Json property type is processed as a map of key-value pairs. It uses the fo 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. @@ -197,6 +214,9 @@ This Json property type is processed as a map of key-value pairs. It uses the fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassGroupVersion.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassGroupVersion.ps1 index 206a223c8..83d771776 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassGroupVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassGroupVersion.ps1 @@ -79,6 +79,23 @@ To create a group version, you must specify the ID of the group that you want to 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. @@ -253,6 +270,9 @@ To create a group version, you must specify the ID of the group that you want to DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassLoggerDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassLoggerDefinition.ps1 index 9a13e72ee..602b25489 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassLoggerDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassLoggerDefinition.ps1 @@ -57,6 +57,23 @@ This Json property type is processed as a map of key-value pairs. It uses the fo 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. @@ -167,6 +184,9 @@ This Json property type is processed as a map of key-value pairs. It uses the fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassLoggerDefinitionVersion.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassLoggerDefinitionVersion.ps1 index a82eeea0a..b9d032eb7 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassLoggerDefinitionVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassLoggerDefinitionVersion.ps1 @@ -40,6 +40,23 @@ After you create a logger definition version that contains the loggers you want 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. @@ -148,6 +165,9 @@ After you create a logger definition version that contains the loggers you want DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassResourceDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassResourceDefinition.ps1 index a3a65af84..6eaefddbf 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassResourceDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassResourceDefinition.ps1 @@ -57,6 +57,23 @@ This Json property type is processed as a map of key-value pairs. It uses the fo 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. @@ -167,6 +184,9 @@ This Json property type is processed as a map of key-value pairs. It uses the fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassResourceDefinitionVersion.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassResourceDefinitionVersion.ps1 index 5137bbb65..f370ae684 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassResourceDefinitionVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassResourceDefinitionVersion.ps1 @@ -40,6 +40,23 @@ After you create a resource definition version that contains the resources you w 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. @@ -148,6 +165,9 @@ After you create a resource definition version that contains the resources you w DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassSubscriptionDefinition.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassSubscriptionDefinition.ps1 index 223d3530a..709fa5a47 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassSubscriptionDefinition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassSubscriptionDefinition.ps1 @@ -57,6 +57,23 @@ This Json property type is processed as a map of key-value pairs. It uses the fo 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. @@ -167,6 +184,9 @@ This Json property type is processed as a map of key-value pairs. It uses the fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGreengrassSubscriptionDefinitionVersion.ps1 b/VaporShell/Public/Resource Types/New-VSGreengrassSubscriptionDefinitionVersion.ps1 index 46e2b0a64..8ab5d4105 100644 --- a/VaporShell/Public/Resource Types/New-VSGreengrassSubscriptionDefinitionVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGreengrassSubscriptionDefinitionVersion.ps1 @@ -40,6 +40,23 @@ After you create a subscription definition version that contains the subscriptio 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. @@ -148,6 +165,9 @@ After you create a subscription definition version that contains the subscriptio DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGroundStationConfig.ps1 b/VaporShell/Public/Resource Types/New-VSGroundStationConfig.ps1 index 8d70e65ed..07230b026 100644 --- a/VaporShell/Public/Resource Types/New-VSGroundStationConfig.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGroundStationConfig.ps1 @@ -35,6 +35,23 @@ function New-VSGroundStationConfig { 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. @@ -146,6 +163,9 @@ function New-VSGroundStationConfig { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGroundStationDataflowEndpointGroup.ps1 b/VaporShell/Public/Resource Types/New-VSGroundStationDataflowEndpointGroup.ps1 index 8f1da6460..7273ece49 100644 --- a/VaporShell/Public/Resource Types/New-VSGroundStationDataflowEndpointGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGroundStationDataflowEndpointGroup.ps1 @@ -31,6 +31,23 @@ function New-VSGroundStationDataflowEndpointGroup { 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. @@ -131,6 +148,9 @@ function New-VSGroundStationDataflowEndpointGroup { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGroundStationMissionProfile.ps1 b/VaporShell/Public/Resource Types/New-VSGroundStationMissionProfile.ps1 index 4fe52d858..d8dc63640 100644 --- a/VaporShell/Public/Resource Types/New-VSGroundStationMissionProfile.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGroundStationMissionProfile.ps1 @@ -56,6 +56,23 @@ function New-VSGroundStationMissionProfile { 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. @@ -211,6 +228,9 @@ function New-VSGroundStationMissionProfile { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGuardDutyDetector.ps1 b/VaporShell/Public/Resource Types/New-VSGuardDutyDetector.ps1 index 23cbbf00e..8f3d4e6f1 100644 --- a/VaporShell/Public/Resource Types/New-VSGuardDutyDetector.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGuardDutyDetector.ps1 @@ -33,6 +33,23 @@ function New-VSGuardDutyDetector { 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. @@ -141,6 +158,9 @@ function New-VSGuardDutyDetector { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGuardDutyFilter.ps1 b/VaporShell/Public/Resource Types/New-VSGuardDutyFilter.ps1 index 3424271ca..70de35588 100644 --- a/VaporShell/Public/Resource Types/New-VSGuardDutyFilter.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGuardDutyFilter.ps1 @@ -61,6 +61,23 @@ function New-VSGuardDutyFilter { 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. @@ -204,6 +221,9 @@ function New-VSGuardDutyFilter { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGuardDutyIPSet.ps1 b/VaporShell/Public/Resource Types/New-VSGuardDutyIPSet.ps1 index 9129e2e76..f271d717e 100644 --- a/VaporShell/Public/Resource Types/New-VSGuardDutyIPSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGuardDutyIPSet.ps1 @@ -54,6 +54,23 @@ function New-VSGuardDutyIPSet { 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. @@ -195,6 +212,9 @@ function New-VSGuardDutyIPSet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGuardDutyMaster.ps1 b/VaporShell/Public/Resource Types/New-VSGuardDutyMaster.ps1 index 4d68e0e06..76674aa15 100644 --- a/VaporShell/Public/Resource Types/New-VSGuardDutyMaster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGuardDutyMaster.ps1 @@ -40,6 +40,23 @@ function New-VSGuardDutyMaster { 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. @@ -159,6 +176,9 @@ function New-VSGuardDutyMaster { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGuardDutyMember.ps1 b/VaporShell/Public/Resource Types/New-VSGuardDutyMember.ps1 index 296e8d5ac..ce8164b6f 100644 --- a/VaporShell/Public/Resource Types/New-VSGuardDutyMember.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGuardDutyMember.ps1 @@ -61,6 +61,23 @@ function New-VSGuardDutyMember { 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. @@ -213,6 +230,9 @@ function New-VSGuardDutyMember { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSGuardDutyThreatIntelSet.ps1 b/VaporShell/Public/Resource Types/New-VSGuardDutyThreatIntelSet.ps1 index bc726aac7..0e14ec370 100644 --- a/VaporShell/Public/Resource Types/New-VSGuardDutyThreatIntelSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSGuardDutyThreatIntelSet.ps1 @@ -54,6 +54,23 @@ function New-VSGuardDutyThreatIntelSet { 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. @@ -195,6 +212,9 @@ function New-VSGuardDutyThreatIntelSet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMAccessKey.ps1 b/VaporShell/Public/Resource Types/New-VSIAMAccessKey.ps1 index 962c7b828..0eb95ab24 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMAccessKey.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMAccessKey.ps1 @@ -49,6 +49,23 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex 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. @@ -168,6 +185,9 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMGroup.ps1 b/VaporShell/Public/Resource Types/New-VSIAMGroup.ps1 index 1007c5311..7d7d3e8af 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMGroup.ps1 @@ -62,6 +62,23 @@ For information about limits on the number of inline policies that you can embed 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. @@ -183,6 +200,9 @@ For information about limits on the number of inline policies that you can embed DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMInstanceProfile.ps1 b/VaporShell/Public/Resource Types/New-VSIAMInstanceProfile.ps1 index e2094e021..564b4f0eb 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMInstanceProfile.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMInstanceProfile.ps1 @@ -47,6 +47,23 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex 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. @@ -157,6 +174,9 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMManagedPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSIAMManagedPolicy.ps1 index 4744fbba6..9adf6d54b 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMManagedPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMManagedPolicy.ps1 @@ -95,6 +95,23 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex 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. @@ -231,6 +248,9 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSIAMPolicy.ps1 index 9cf5d6ffe..d113727c9 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMPolicy.ps1 @@ -76,6 +76,23 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex 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. @@ -190,6 +207,9 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMRole.ps1 b/VaporShell/Public/Resource Types/New-VSIAMRole.ps1 index 872c61cbd..7149552a8 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMRole.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMRole.ps1 @@ -101,6 +101,23 @@ Naming an IAM resource can cause an unrecoverable error if you reuse the same te 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. @@ -269,6 +286,9 @@ Naming an IAM resource can cause an unrecoverable error if you reuse the same te DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMServiceLinkedRole.ps1 b/VaporShell/Public/Resource Types/New-VSIAMServiceLinkedRole.ps1 index 453949dca..1e2cde042 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMServiceLinkedRole.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMServiceLinkedRole.ps1 @@ -44,6 +44,23 @@ Service principals are unique and case-sensitive. To find the exact service prin 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. @@ -163,6 +180,9 @@ Service principals are unique and case-sensitive. To find the exact service prin DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMUser.ps1 b/VaporShell/Public/Resource Types/New-VSIAMUser.ps1 index d21414af7..af13df8fd 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMUser.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMUser.ps1 @@ -95,6 +95,23 @@ Naming an IAM resource can cause an unrecoverable error if you reuse the same te 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. @@ -234,6 +251,9 @@ Naming an IAM resource can cause an unrecoverable error if you reuse the same te DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIAMUserToGroupAddition.ps1 b/VaporShell/Public/Resource Types/New-VSIAMUserToGroupAddition.ps1 index 5dc14ff53..4f2693982 100644 --- a/VaporShell/Public/Resource Types/New-VSIAMUserToGroupAddition.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIAMUserToGroupAddition.ps1 @@ -36,6 +36,23 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex 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. @@ -135,6 +152,9 @@ This parameter allows through its regex pattern: http://wikipedia.org/wiki/regex DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSImageBuilderComponent.ps1 b/VaporShell/Public/Resource Types/New-VSImageBuilderComponent.ps1 new file mode 100644 index 000000000..c9084c9ff --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSImageBuilderComponent.ps1 @@ -0,0 +1,291 @@ +function New-VSImageBuilderComponent { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::Component resource to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::Component resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Version + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-version + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-description + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER ChangeDescription + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-changedescription + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Platform + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-platform + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Data + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-data + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER KmsKeyId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-kmskeyid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-tags + UpdateType: Immutable + Type: Map + PrimitiveItemType: String + + .PARAMETER Uri + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-uri + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.ImageBuilder.Component')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Version, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ChangeDescription, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Platform, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Data, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $KmsKeyId, + [parameter(Mandatory = $false)] + [System.Collections.Hashtable] + $Tags, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Uri, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::ImageBuilder::Component" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.Component' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSImageBuilderDistributionConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSImageBuilderDistributionConfiguration.ps1 new file mode 100644 index 000000000..b35312abb --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSImageBuilderDistributionConfiguration.ps1 @@ -0,0 +1,218 @@ +function New-VSImageBuilderDistributionConfiguration { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::DistributionConfiguration resource to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::DistributionConfiguration resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Distributions + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-distributions + UpdateType: Mutable + Type: List + ItemType: Distribution + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-tags + UpdateType: Mutable + Type: Map + PrimitiveItemType: 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.ImageBuilder.DistributionConfiguration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.ImageBuilder.DistributionConfiguration.Distribution" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Distributions, + [parameter(Mandatory = $false)] + [System.Collections.Hashtable] + $Tags, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::ImageBuilder::DistributionConfiguration" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Distributions { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Distributions -Value @($Distributions) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.DistributionConfiguration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSImageBuilderImagePipeline.ps1 b/VaporShell/Public/Resource Types/New-VSImageBuilderImagePipeline.ps1 new file mode 100644 index 000000000..bb7008b55 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSImageBuilderImagePipeline.ps1 @@ -0,0 +1,273 @@ +function New-VSImageBuilderImagePipeline { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::ImagePipeline resource to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::ImagePipeline resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER ImageTestsConfiguration + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration + UpdateType: Mutable + Type: ImageTestsConfiguration + + .PARAMETER Status + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-status + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Schedule + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-schedule + UpdateType: Mutable + Type: Schedule + + .PARAMETER ImageRecipeArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagerecipearn + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER DistributionConfigurationArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-distributionconfigurationarn + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER InfrastructureConfigurationArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-infrastructureconfigurationarn + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-tags + UpdateType: Mutable + Type: Map + PrimitiveItemType: 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.ImageBuilder.ImagePipeline')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [parameter(Mandatory = $false)] + $ImageTestsConfiguration, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Status, + [parameter(Mandatory = $false)] + $Schedule, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ImageRecipeArn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DistributionConfigurationArn, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $InfrastructureConfigurationArn, + [parameter(Mandatory = $false)] + [System.Collections.Hashtable] + $Tags, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::ImageBuilder::ImagePipeline" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.ImagePipeline' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSImageBuilderImageRecipe.ps1 b/VaporShell/Public/Resource Types/New-VSImageBuilderImageRecipe.ps1 new file mode 100644 index 000000000..03a67c7db --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSImageBuilderImageRecipe.ps1 @@ -0,0 +1,273 @@ +function New-VSImageBuilderImageRecipe { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::ImageRecipe resource to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::ImageRecipe resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-description + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Version + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-version + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Components + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-components + UpdateType: Immutable + Type: List + ItemType: ComponentConfiguration + + .PARAMETER BlockDeviceMappings + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-blockdevicemappings + UpdateType: Immutable + Type: List + ItemType: InstanceBlockDeviceMapping + + .PARAMETER ParentImage + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-parentimage + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-tags + UpdateType: Immutable + Type: Map + PrimitiveItemType: 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.ImageBuilder.ImageRecipe')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Version, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.ImageBuilder.ImageRecipe.ComponentConfiguration" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Components, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.ImageBuilder.ImageRecipe.InstanceBlockDeviceMapping" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $BlockDeviceMappings, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ParentImage, + [parameter(Mandatory = $false)] + [System.Collections.Hashtable] + $Tags, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::ImageBuilder::ImageRecipe" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Components { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Components -Value @($Components) + } + BlockDeviceMappings { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name BlockDeviceMappings -Value @($BlockDeviceMappings) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.ImageRecipe' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSImageBuilderInfrastructureConfiguration.ps1 b/VaporShell/Public/Resource Types/New-VSImageBuilderInfrastructureConfiguration.ps1 new file mode 100644 index 000000000..cb5a671bd --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSImageBuilderInfrastructureConfiguration.ps1 @@ -0,0 +1,337 @@ +function New-VSImageBuilderInfrastructureConfiguration { + <# + .SYNOPSIS + Adds an AWS::ImageBuilder::InfrastructureConfiguration resource to the template. + + .DESCRIPTION + Adds an AWS::ImageBuilder::InfrastructureConfiguration resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER InstanceTypes + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancetypes + UpdateType: Mutable + Type: List + PrimitiveItemType: String + + .PARAMETER SecurityGroupIds + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids + UpdateType: Mutable + Type: List + PrimitiveItemType: String + + .PARAMETER Logging + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-logging + UpdateType: Mutable + PrimitiveType: Json + Type: Logging + + .PARAMETER SubnetId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-subnetid + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER KeyPair + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-keypair + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER TerminateInstanceOnFailure + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-terminateinstanceonfailure + UpdateType: Mutable + PrimitiveType: Boolean + + .PARAMETER InstanceProfileName + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instanceprofilename + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER SnsTopicArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-snstopicarn + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-tags + UpdateType: Mutable + Type: Map + PrimitiveItemType: 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.ImageBuilder.InfrastructureConfiguration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [parameter(Mandatory = $false)] + $InstanceTypes, + [parameter(Mandatory = $false)] + $SecurityGroupIds, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","System.Collections.Hashtable","System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Logging, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SubnetId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $KeyPair, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TerminateInstanceOnFailure, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $InstanceProfileName, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SnsTopicArn, + [parameter(Mandatory = $false)] + [System.Collections.Hashtable] + $Tags, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::ImageBuilder::InfrastructureConfiguration" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + InstanceTypes { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name InstanceTypes -Value @($InstanceTypes) + } + SecurityGroupIds { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name SecurityGroupIds -Value @($SecurityGroupIds) + } + Logging { + if (($PSBoundParameters[$key]).PSObject.TypeNames -contains "System.String"){ + try { + $JSONObject = (ConvertFrom-Json -InputObject $PSBoundParameters[$key] -ErrorAction Stop) + } + catch { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "Unable to convert parameter '$key' string value to PSObject! Please use a JSON string OR provide a Hashtable or PSCustomObject instead!")) + } + } + else { + $JSONObject = ([PSCustomObject]$PSBoundParameters[$key]) + } + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $JSONObject + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ImageBuilder.InfrastructureConfiguration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSInspectorAssessmentTarget.ps1 b/VaporShell/Public/Resource Types/New-VSInspectorAssessmentTarget.ps1 index 9b3599400..31abfe24f 100644 --- a/VaporShell/Public/Resource Types/New-VSInspectorAssessmentTarget.ps1 +++ b/VaporShell/Public/Resource Types/New-VSInspectorAssessmentTarget.ps1 @@ -33,6 +33,23 @@ function New-VSInspectorAssessmentTarget { 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. @@ -141,6 +158,9 @@ function New-VSInspectorAssessmentTarget { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSInspectorAssessmentTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSInspectorAssessmentTemplate.ps1 index 004bc13e2..49408de51 100644 --- a/VaporShell/Public/Resource Types/New-VSInspectorAssessmentTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSInspectorAssessmentTemplate.ps1 @@ -56,6 +56,23 @@ function New-VSInspectorAssessmentTemplate { 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. @@ -180,6 +197,9 @@ function New-VSInspectorAssessmentTemplate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSInspectorResourceGroup.ps1 b/VaporShell/Public/Resource Types/New-VSInspectorResourceGroup.ps1 index b6f749387..a52b6d136 100644 --- a/VaporShell/Public/Resource Types/New-VSInspectorResourceGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSInspectorResourceGroup.ps1 @@ -28,6 +28,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -117,6 +134,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoT1ClickDevice.ps1 b/VaporShell/Public/Resource Types/New-VSIoT1ClickDevice.ps1 index 654841b8b..42182d27c 100644 --- a/VaporShell/Public/Resource Types/New-VSIoT1ClickDevice.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoT1ClickDevice.ps1 @@ -33,6 +33,23 @@ function New-VSIoT1ClickDevice { 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. @@ -141,6 +158,9 @@ function New-VSIoT1ClickDevice { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoT1ClickPlacement.ps1 b/VaporShell/Public/Resource Types/New-VSIoT1ClickPlacement.ps1 index 6fc6d4abe..12cc0766d 100644 --- a/VaporShell/Public/Resource Types/New-VSIoT1ClickPlacement.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoT1ClickPlacement.ps1 @@ -47,6 +47,23 @@ function New-VSIoT1ClickPlacement { 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. @@ -177,6 +194,9 @@ function New-VSIoT1ClickPlacement { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoT1ClickProject.ps1 b/VaporShell/Public/Resource Types/New-VSIoT1ClickProject.ps1 index e395dd4de..a9001639f 100644 --- a/VaporShell/Public/Resource Types/New-VSIoT1ClickProject.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoT1ClickProject.ps1 @@ -40,6 +40,23 @@ function New-VSIoT1ClickProject { 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. @@ -150,6 +167,9 @@ function New-VSIoT1ClickProject { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTAnalyticsChannel.ps1 b/VaporShell/Public/Resource Types/New-VSIoTAnalyticsChannel.ps1 index 9fef4f5c2..c1ba63fbc 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTAnalyticsChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTAnalyticsChannel.ps1 @@ -49,6 +49,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -153,6 +170,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTAnalyticsDataset.ps1 b/VaporShell/Public/Resource Types/New-VSIoTAnalyticsDataset.ps1 index 0c682324d..79e6c73c3 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTAnalyticsDataset.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTAnalyticsDataset.ps1 @@ -73,6 +73,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -210,6 +227,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTAnalyticsDatastore.ps1 b/VaporShell/Public/Resource Types/New-VSIoTAnalyticsDatastore.ps1 index a39fa0041..529e36ed6 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTAnalyticsDatastore.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTAnalyticsDatastore.ps1 @@ -49,6 +49,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -153,6 +170,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTAnalyticsPipeline.ps1 b/VaporShell/Public/Resource Types/New-VSIoTAnalyticsPipeline.ps1 index a8839e681..0ed903e00 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTAnalyticsPipeline.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTAnalyticsPipeline.ps1 @@ -45,6 +45,23 @@ pipelineActivities = { "channel": { ... } }, { "lambda": { ... } }, ... ] 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. @@ -156,6 +173,9 @@ pipelineActivities = { "channel": { ... } }, { "lambda": { ... } }, ... ] DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTCertificate.ps1 b/VaporShell/Public/Resource Types/New-VSIoTCertificate.ps1 index 0570415d1..59ac30d9a 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTCertificate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTCertificate.ps1 @@ -35,6 +35,23 @@ The status value REGISTER_INACTIVE is deprecated and should not be used. 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. @@ -143,6 +160,9 @@ The status value REGISTER_INACTIVE is deprecated and should not be used. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTEventsDetectorModel.ps1 b/VaporShell/Public/Resource Types/New-VSIoTEventsDetectorModel.ps1 index ac01d80f6..8ba5f3cd4 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTEventsDetectorModel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTEventsDetectorModel.ps1 @@ -80,6 +80,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -226,6 +243,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTEventsInput.ps1 b/VaporShell/Public/Resource Types/New-VSIoTEventsInput.ps1 index 4847037e0..9c67cef2a 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTEventsInput.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTEventsInput.ps1 @@ -49,6 +49,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -162,6 +179,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSIoTPolicy.ps1 index 6f02808f0..284a1c84a 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTPolicy.ps1 @@ -33,6 +33,23 @@ function New-VSIoTPolicy { 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. @@ -141,6 +158,9 @@ function New-VSIoTPolicy { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTPolicyPrincipalAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSIoTPolicyPrincipalAttachment.ps1 index 19c1dd44c..f0a186970 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTPolicyPrincipalAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTPolicyPrincipalAttachment.ps1 @@ -35,6 +35,23 @@ For information about working with AWS IoT policies and principals, see Authoriz 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. @@ -143,6 +160,9 @@ For information about working with AWS IoT policies and principals, see Authoriz DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTThing.ps1 b/VaporShell/Public/Resource Types/New-VSIoTThing.ps1 index e518e9f8a..3cf8c0289 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTThing.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTThing.ps1 @@ -35,6 +35,23 @@ For information about working with things, see How AWS IoT Works: https://docs.a 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. @@ -134,6 +151,9 @@ For information about working with things, see How AWS IoT Works: https://docs.a DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTThingPrincipalAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSIoTThingPrincipalAttachment.ps1 index 33f5bb340..62dca668c 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTThingPrincipalAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTThingPrincipalAttachment.ps1 @@ -35,6 +35,23 @@ For more information about working with AWS IoT things and principals, see Autho 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. @@ -143,6 +160,9 @@ For more information about working with AWS IoT things and principals, see Autho DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTThingsGraphFlowTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSIoTThingsGraphFlowTemplate.ps1 index 27bdeefcd..a960f8234 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTThingsGraphFlowTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTThingsGraphFlowTemplate.ps1 @@ -33,6 +33,23 @@ function New-VSIoTThingsGraphFlowTemplate { 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. @@ -132,6 +149,9 @@ function New-VSIoTThingsGraphFlowTemplate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSIoTTopicRule.ps1 b/VaporShell/Public/Resource Types/New-VSIoTTopicRule.ps1 index 7ca6e3231..7675aa71e 100644 --- a/VaporShell/Public/Resource Types/New-VSIoTTopicRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSIoTTopicRule.ps1 @@ -33,6 +33,23 @@ function New-VSIoTTopicRule { 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. @@ -132,6 +149,9 @@ function New-VSIoTTopicRule { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKMSAlias.ps1 b/VaporShell/Public/Resource Types/New-VSKMSAlias.ps1 index 427d0c96f..e42316a33 100644 --- a/VaporShell/Public/Resource Types/New-VSKMSAlias.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKMSAlias.ps1 @@ -45,6 +45,23 @@ When specifying an alias, observe the following rules. 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. @@ -153,6 +170,9 @@ When specifying an alias, observe the following rules. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKMSKey.ps1 b/VaporShell/Public/Resource Types/New-VSKMSKey.ps1 index c318487e4..973c9699e 100644 --- a/VaporShell/Public/Resource Types/New-VSKMSKey.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKMSKey.ps1 @@ -90,6 +90,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -245,6 +262,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplication.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplication.ps1 index 1ef075821..cf6453914 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplication.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplication.ps1 @@ -53,6 +53,23 @@ Note that the application code must create the streams with names specified in t 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. @@ -183,6 +200,9 @@ Note that the application code must create the streams with names specified in t DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplicationOutput.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplicationOutput.ps1 index 6dbbc7584..bf67d4461 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplicationOutput.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplicationOutput.ps1 @@ -43,6 +43,23 @@ This operation requires permissions to perform the kinesisanalytics:AddApplicati 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. @@ -142,6 +159,9 @@ This operation requires permissions to perform the kinesisanalytics:AddApplicati DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplicationReferenceDataSource.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplicationReferenceDataSource.ps1 index a154c32bb..4df7fea94 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplicationReferenceDataSource.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsApplicationReferenceDataSource.ps1 @@ -39,6 +39,23 @@ This operation requires permissions to perform the kinesisanalytics:AddApplicati 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. @@ -138,6 +155,9 @@ This operation requires permissions to perform the kinesisanalytics:AddApplicati DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2Application.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2Application.ps1 index b3c4ee4ce..bc2929204 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2Application.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2Application.ps1 @@ -40,6 +40,14 @@ function New-VSKinesisAnalyticsV2Application { PrimitiveType: String UpdateType: Mutable + .PARAMETER Tags + + CreateApplication: https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_CreateApplication.html in the *Amazon Kinesis Data Analytics API Reference* + + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-tags + ItemType: Tag + UpdateType: Mutable + .PARAMETER ServiceExecutionRole Specifies the IAM role that the application uses to access external resources. @@ -54,6 +62,23 @@ function New-VSKinesisAnalyticsV2Application { 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. @@ -127,6 +152,9 @@ function New-VSKinesisAnalyticsV2Application { } })] $ApplicationDescription, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -186,6 +214,9 @@ function New-VSKinesisAnalyticsV2Application { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -198,6 +229,12 @@ function New-VSKinesisAnalyticsV2Application { Condition { $ResourceParams.Add("Condition",$Condition) } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } Default { if (!($ResourceParams["Properties"])) { $ResourceParams.Add("Properties",([PSCustomObject]@{})) diff --git a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption.ps1 index 3f124b3a1..7d3e6bb50 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption.ps1 @@ -33,6 +33,23 @@ function New-VSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption { 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. @@ -132,6 +149,9 @@ function New-VSKinesisAnalyticsV2ApplicationCloudWatchLoggingOption { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationOutput.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationOutput.ps1 index e72fbb123..9540a3bd9 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationOutput.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationOutput.ps1 @@ -39,6 +39,23 @@ Any configuration update, including adding a streaming source using this operati 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. @@ -138,6 +155,9 @@ Any configuration update, including adding a streaming source using this operati DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationReferenceDataSource.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationReferenceDataSource.ps1 index 127809c38..af9c9f27a 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationReferenceDataSource.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisAnalyticsV2ApplicationReferenceDataSource.ps1 @@ -35,6 +35,23 @@ Kinesis Data Analytics reads reference data (that is, an Amazon S3 object and cr 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. @@ -134,6 +151,9 @@ Kinesis Data Analytics reads reference data (that is, an Amazon S3 object and cr DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisFirehoseDeliveryStream.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisFirehoseDeliveryStream.ps1 index 41a5ccac1..04bfeed6f 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisFirehoseDeliveryStream.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisFirehoseDeliveryStream.ps1 @@ -85,6 +85,23 @@ If you change the delivery stream destination from an Amazon S3 destination to a 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. @@ -205,6 +222,9 @@ If you change the delivery stream destination from an Amazon S3 destination to a DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisStream.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisStream.ps1 index d73195db4..8bba3a3ff 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisStream.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisStream.ps1 @@ -57,6 +57,23 @@ If you specify a name, you cannot perform updates that require replacement of th 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. @@ -181,6 +198,9 @@ If you specify a name, you cannot perform updates that require replacement of th DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSKinesisStreamConsumer.ps1 b/VaporShell/Public/Resource Types/New-VSKinesisStreamConsumer.ps1 index eda38be80..1816f5bcc 100644 --- a/VaporShell/Public/Resource Types/New-VSKinesisStreamConsumer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSKinesisStreamConsumer.ps1 @@ -37,6 +37,23 @@ For more information, see Using Consumers with Enhanced Fan-Out: https://docs.aw 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. @@ -145,6 +162,9 @@ For more information, see Using Consumers with Enhanced Fan-Out: https://docs.aw DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLakeFormationDataLakeSettings.ps1 b/VaporShell/Public/Resource Types/New-VSLakeFormationDataLakeSettings.ps1 index da86f3855..c461dee2b 100644 --- a/VaporShell/Public/Resource Types/New-VSLakeFormationDataLakeSettings.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLakeFormationDataLakeSettings.ps1 @@ -26,6 +26,23 @@ function New-VSLakeFormationDataLakeSettings { 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. @@ -114,6 +131,9 @@ function New-VSLakeFormationDataLakeSettings { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLakeFormationPermissions.ps1 b/VaporShell/Public/Resource Types/New-VSLakeFormationPermissions.ps1 index 1b714b96e..62f9f92cb 100644 --- a/VaporShell/Public/Resource Types/New-VSLakeFormationPermissions.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLakeFormationPermissions.ps1 @@ -49,6 +49,23 @@ function New-VSLakeFormationPermissions { 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. @@ -143,6 +160,9 @@ function New-VSLakeFormationPermissions { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLakeFormationResource.ps1 b/VaporShell/Public/Resource Types/New-VSLakeFormationResource.ps1 index 89b51820e..fc69556d8 100644 --- a/VaporShell/Public/Resource Types/New-VSLakeFormationResource.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLakeFormationResource.ps1 @@ -40,6 +40,23 @@ function New-VSLakeFormationResource { 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. @@ -159,6 +176,9 @@ function New-VSLakeFormationResource { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLambdaAlias.ps1 b/VaporShell/Public/Resource Types/New-VSLambdaAlias.ps1 index c982e3074..9b2536f81 100644 --- a/VaporShell/Public/Resource Types/New-VSLambdaAlias.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLambdaAlias.ps1 @@ -68,6 +68,23 @@ The length constraint applies only to the full ARN. If you specify only the func 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. @@ -202,6 +219,9 @@ The length constraint applies only to the full ARN. If you specify only the func DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLambdaEventInvokeConfig.ps1 b/VaporShell/Public/Resource Types/New-VSLambdaEventInvokeConfig.ps1 index da7f8c45b..6fba88c14 100644 --- a/VaporShell/Public/Resource Types/New-VSLambdaEventInvokeConfig.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLambdaEventInvokeConfig.ps1 @@ -67,6 +67,23 @@ By default, Lambda retries an asynchronous invocation twice if the function retu 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. @@ -199,6 +216,9 @@ By default, Lambda retries an asynchronous invocation twice if the function retu DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLambdaEventSourceMapping.ps1 b/VaporShell/Public/Resource Types/New-VSLambdaEventSourceMapping.ps1 index 10a76f72b..9b938321e 100644 --- a/VaporShell/Public/Resource Types/New-VSLambdaEventSourceMapping.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLambdaEventSourceMapping.ps1 @@ -118,6 +118,23 @@ The length constraint applies only to the full ARN. If you specify only the func 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. @@ -316,6 +333,9 @@ The length constraint applies only to the full ARN. If you specify only the func DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLambdaFunction.ps1 b/VaporShell/Public/Resource Types/New-VSLambdaFunction.ps1 index ba5b7387e..2f70d38a2 100644 --- a/VaporShell/Public/Resource Types/New-VSLambdaFunction.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLambdaFunction.ps1 @@ -136,6 +136,23 @@ If you specify a name, you cannot perform updates that require replacement of th 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. @@ -336,6 +353,9 @@ If you specify a name, you cannot perform updates that require replacement of th DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLambdaLayerVersion.ps1 b/VaporShell/Public/Resource Types/New-VSLambdaLayerVersion.ps1 index 811e922da..a0cf2241d 100644 --- a/VaporShell/Public/Resource Types/New-VSLambdaLayerVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLambdaLayerVersion.ps1 @@ -58,6 +58,23 @@ function New-VSLambdaLayerVersion { 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. @@ -181,6 +198,9 @@ function New-VSLambdaLayerVersion { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLambdaLayerVersionPermission.ps1 b/VaporShell/Public/Resource Types/New-VSLambdaLayerVersionPermission.ps1 index c4e1154fb..c92271475 100644 --- a/VaporShell/Public/Resource Types/New-VSLambdaLayerVersionPermission.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLambdaLayerVersionPermission.ps1 @@ -47,6 +47,23 @@ function New-VSLambdaLayerVersionPermission { 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. @@ -177,6 +194,9 @@ function New-VSLambdaLayerVersionPermission { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLambdaPermission.ps1 b/VaporShell/Public/Resource Types/New-VSLambdaPermission.ps1 index 7566afc8c..9f59e77bd 100644 --- a/VaporShell/Public/Resource Types/New-VSLambdaPermission.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLambdaPermission.ps1 @@ -70,6 +70,23 @@ You can append a version number or alias to any of the formats. The length const 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. @@ -222,6 +239,9 @@ You can append a version number or alias to any of the formats. The length const DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLambdaVersion.ps1 b/VaporShell/Public/Resource Types/New-VSLambdaVersion.ps1 index 75db41fe8..05d5d615c 100644 --- a/VaporShell/Public/Resource Types/New-VSLambdaVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLambdaVersion.ps1 @@ -52,6 +52,23 @@ The length constraint applies only to the full ARN. If you specify only the func 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. @@ -173,6 +190,9 @@ The length constraint applies only to the full ARN. If you specify only the func DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLogsDestination.ps1 b/VaporShell/Public/Resource Types/New-VSLogsDestination.ps1 index a3b755d21..6f69ce091 100644 --- a/VaporShell/Public/Resource Types/New-VSLogsDestination.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLogsDestination.ps1 @@ -47,6 +47,23 @@ function New-VSLogsDestination { 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. @@ -177,6 +194,9 @@ function New-VSLogsDestination { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLogsLogGroup.ps1 b/VaporShell/Public/Resource Types/New-VSLogsLogGroup.ps1 index 699dae778..df4609207 100644 --- a/VaporShell/Public/Resource Types/New-VSLogsLogGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLogsLogGroup.ps1 @@ -45,6 +45,23 @@ If you attempt to associate a CMK with the log group but the CMK doesn't exist o 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. @@ -153,6 +170,9 @@ If you attempt to associate a CMK with the log group but the CMK doesn't exist o DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLogsLogStream.ps1 b/VaporShell/Public/Resource Types/New-VSLogsLogStream.ps1 index 1acc3f951..411829e89 100644 --- a/VaporShell/Public/Resource Types/New-VSLogsLogStream.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLogsLogStream.ps1 @@ -43,6 +43,23 @@ You must use the following guidelines when naming a log stream: 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. @@ -151,6 +168,9 @@ You must use the following guidelines when naming a log stream: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLogsMetricFilter.ps1 b/VaporShell/Public/Resource Types/New-VSLogsMetricFilter.ps1 index f28ccc5d1..93aa50097 100644 --- a/VaporShell/Public/Resource Types/New-VSLogsMetricFilter.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLogsMetricFilter.ps1 @@ -44,6 +44,23 @@ The maximum number of metric filters that can be associated with a log group is 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. @@ -163,6 +180,9 @@ The maximum number of metric filters that can be associated with a log group is DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSLogsSubscriptionFilter.ps1 b/VaporShell/Public/Resource Types/New-VSLogsSubscriptionFilter.ps1 index a30de21b3..faa1f3dce 100644 --- a/VaporShell/Public/Resource Types/New-VSLogsSubscriptionFilter.ps1 +++ b/VaporShell/Public/Resource Types/New-VSLogsSubscriptionFilter.ps1 @@ -57,6 +57,23 @@ There can only be one subscription filter associated with a log group. 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. @@ -187,6 +204,9 @@ There can only be one subscription filter associated with a log group. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSMSKCluster.ps1 b/VaporShell/Public/Resource Types/New-VSMSKCluster.ps1 index 97d1b4907..db95aa117 100644 --- a/VaporShell/Public/Resource Types/New-VSMSKCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSMSKCluster.ps1 @@ -68,6 +68,11 @@ function New-VSMSKCluster { Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clientauthentication UpdateType: Immutable + .PARAMETER LoggingInfo + Type: LoggingInfo + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-logginginfo + UpdateType: Mutable + .PARAMETER Tags A map of key:value pairs to apply to this resource. Both key and value are of type String. @@ -89,6 +94,23 @@ function New-VSMSKCluster { 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. @@ -180,6 +202,8 @@ function New-VSMSKCluster { [parameter(Mandatory = $false)] $ClientAuthentication, [parameter(Mandatory = $false)] + $LoggingInfo, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","System.Collections.Hashtable","System.Management.Automation.PSCustomObject" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -240,6 +264,9 @@ function New-VSMSKCluster { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSManagedBlockchainMember.ps1 b/VaporShell/Public/Resource Types/New-VSManagedBlockchainMember.ps1 index 39db0ea1e..381a4e8f9 100644 --- a/VaporShell/Public/Resource Types/New-VSManagedBlockchainMember.ps1 +++ b/VaporShell/Public/Resource Types/New-VSManagedBlockchainMember.ps1 @@ -47,6 +47,23 @@ function New-VSManagedBlockchainMember { 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. @@ -159,6 +176,9 @@ function New-VSManagedBlockchainMember { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSManagedBlockchainNode.ps1 b/VaporShell/Public/Resource Types/New-VSManagedBlockchainNode.ps1 index da5314145..205b02b6a 100644 --- a/VaporShell/Public/Resource Types/New-VSManagedBlockchainNode.ps1 +++ b/VaporShell/Public/Resource Types/New-VSManagedBlockchainNode.ps1 @@ -40,6 +40,23 @@ function New-VSManagedBlockchainNode { 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. @@ -150,6 +167,9 @@ function New-VSManagedBlockchainNode { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSMediaConvertJobTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSMediaConvertJobTemplate.ps1 index 7f3fe03f2..b64bfacfb 100644 --- a/VaporShell/Public/Resource Types/New-VSMediaConvertJobTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSMediaConvertJobTemplate.ps1 @@ -82,6 +82,12 @@ For more information about MediaConvert job templates, see Working with AWS Elem PrimitiveType: String UpdateType: Mutable + .PARAMETER HopDestinations + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-hopdestinations + ItemType: HopDestination + UpdateType: Mutable + .PARAMETER Tags An array of key-value pairs to apply to this resource. For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html. @@ -104,6 +110,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -211,6 +234,17 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat })] $Queue, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.MediaConvert.JobTemplate.HopDestination" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $HopDestinations, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","System.Collections.Hashtable","System.Management.Automation.PSCustomObject" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -280,6 +314,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -292,6 +329,12 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat Condition { $ResourceParams.Add("Condition",$Condition) } + HopDestinations { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name HopDestinations -Value @($HopDestinations) + } SettingsJson { if (($PSBoundParameters[$key]).PSObject.TypeNames -contains "System.String"){ try { diff --git a/VaporShell/Public/Resource Types/New-VSMediaConvertPreset.ps1 b/VaporShell/Public/Resource Types/New-VSMediaConvertPreset.ps1 index 2b13be293..37565f4c0 100644 --- a/VaporShell/Public/Resource Types/New-VSMediaConvertPreset.ps1 +++ b/VaporShell/Public/Resource Types/New-VSMediaConvertPreset.ps1 @@ -60,6 +60,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -201,6 +218,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSMediaConvertQueue.ps1 b/VaporShell/Public/Resource Types/New-VSMediaConvertQueue.ps1 index 5f1920b42..ddbac4a5d 100644 --- a/VaporShell/Public/Resource Types/New-VSMediaConvertQueue.ps1 +++ b/VaporShell/Public/Resource Types/New-VSMediaConvertQueue.ps1 @@ -56,6 +56,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -197,6 +214,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSMediaLiveChannel.ps1 b/VaporShell/Public/Resource Types/New-VSMediaLiveChannel.ps1 index 01584cbf5..f3d22e948 100644 --- a/VaporShell/Public/Resource Types/New-VSMediaLiveChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSMediaLiveChannel.ps1 @@ -86,6 +86,23 @@ A MediaLive channel ingests and transcodes (decodes and encodes source content f 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. @@ -262,6 +279,9 @@ A MediaLive channel ingests and transcodes (decodes and encodes source content f DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSMediaLiveInput.ps1 b/VaporShell/Public/Resource Types/New-VSMediaLiveInput.ps1 index 530436fe5..d854a87c4 100644 --- a/VaporShell/Public/Resource Types/New-VSMediaLiveInput.ps1 +++ b/VaporShell/Public/Resource Types/New-VSMediaLiveInput.ps1 @@ -88,6 +88,23 @@ A MediaLive input holds information that describes how the MediaLive channel is 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. @@ -255,6 +272,9 @@ A MediaLive input holds information that describes how the MediaLive channel is DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSMediaLiveInputSecurityGroup.ps1 b/VaporShell/Public/Resource Types/New-VSMediaLiveInputSecurityGroup.ps1 index b9589a8dd..35d447b19 100644 --- a/VaporShell/Public/Resource Types/New-VSMediaLiveInputSecurityGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSMediaLiveInputSecurityGroup.ps1 @@ -36,6 +36,23 @@ A MediaLive input security group is associated with a MediaLive input. The input 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. @@ -144,6 +161,9 @@ A MediaLive input security group is associated with a MediaLive input. The input DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSMediaStoreContainer.ps1 b/VaporShell/Public/Resource Types/New-VSMediaStoreContainer.ps1 index 932ae2170..dbf16cdfa 100644 --- a/VaporShell/Public/Resource Types/New-VSMediaStoreContainer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSMediaStoreContainer.ps1 @@ -22,6 +22,13 @@ For this release of the REST API, you can create only one policy for a container PrimitiveType: String UpdateType: Mutable + .PARAMETER MetricPolicy + The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change. + + Type: MetricPolicy + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-metricpolicy + UpdateType: Mutable + .PARAMETER ContainerName The name for the container. The name must be from 1 to 255 characters. Container names must be unique to your AWS account within a specific region. As an example, you could create a container named movies in every region, as long as you don’t have an existing container with that name. @@ -54,6 +61,14 @@ For information about how to construct an object lifecycle policy, see Component PrimitiveType: Boolean UpdateType: Mutable + .PARAMETER Tags + The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change. + + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-tags + ItemType: Tag + UpdateType: Mutable + .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. @@ -61,6 +76,23 @@ For information about how to construct an object lifecycle policy, see Component 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. @@ -110,6 +142,8 @@ For information about how to construct an object lifecycle policy, see Component } })] $Policy, + [parameter(Mandatory = $false)] + $MetricPolicy, [parameter(Mandatory = $true)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" @@ -154,6 +188,9 @@ For information about how to construct an object lifecycle policy, see Component } })] $AccessLoggingEnabled, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, [ValidateSet("Delete","Retain","Snapshot")] [System.String] $DeletionPolicy, @@ -202,6 +239,9 @@ For information about how to construct an object lifecycle policy, see Component DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -220,6 +260,12 @@ For information about how to construct an object lifecycle policy, see Component } $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name CorsPolicy -Value @($CorsPolicy) } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } Default { if (!($ResourceParams["Properties"])) { $ResourceParams.Add("Properties",([PSCustomObject]@{})) diff --git a/VaporShell/Public/Resource Types/New-VSNeptuneDBCluster.ps1 b/VaporShell/Public/Resource Types/New-VSNeptuneDBCluster.ps1 index 246282e52..b11c746ea 100644 --- a/VaporShell/Public/Resource Types/New-VSNeptuneDBCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSNeptuneDBCluster.ps1 @@ -157,6 +157,23 @@ An update may require some interruption. See ModifyDBInstance: https://docs.aws. 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. @@ -395,6 +412,9 @@ An update may require some interruption. See ModifyDBInstance: https://docs.aws. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSNeptuneDBClusterParameterGroup.ps1 b/VaporShell/Public/Resource Types/New-VSNeptuneDBClusterParameterGroup.ps1 index b7de266bc..997468814 100644 --- a/VaporShell/Public/Resource Types/New-VSNeptuneDBClusterParameterGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSNeptuneDBClusterParameterGroup.ps1 @@ -61,6 +61,23 @@ If you update the parameters, some interruption may occur depending on which par 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. @@ -194,6 +211,9 @@ If you update the parameters, some interruption may occur depending on which par DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSNeptuneDBInstance.ps1 b/VaporShell/Public/Resource Types/New-VSNeptuneDBInstance.ps1 index 07bf2ef4a..6241d2f69 100644 --- a/VaporShell/Public/Resource Types/New-VSNeptuneDBInstance.ps1 +++ b/VaporShell/Public/Resource Types/New-VSNeptuneDBInstance.ps1 @@ -129,6 +129,23 @@ AWS::Neptune::DBCluster does support restoring from snapshots. 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. @@ -328,6 +345,9 @@ AWS::Neptune::DBCluster does support restoring from snapshots. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSNeptuneDBParameterGroup.ps1 b/VaporShell/Public/Resource Types/New-VSNeptuneDBParameterGroup.ps1 index 1dc4bd80a..f137d5408 100644 --- a/VaporShell/Public/Resource Types/New-VSNeptuneDBParameterGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSNeptuneDBParameterGroup.ps1 @@ -67,6 +67,23 @@ Changes to dynamic parameters are applied immediately. During an update, if you 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. @@ -200,6 +217,9 @@ Changes to dynamic parameters are applied immediately. During an update, if you DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSNeptuneDBSubnetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSNeptuneDBSubnetGroup.ps1 index f2e7e53ea..5341294af 100644 --- a/VaporShell/Public/Resource Types/New-VSNeptuneDBSubnetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSNeptuneDBSubnetGroup.ps1 @@ -49,6 +49,23 @@ function New-VSNeptuneDBSubnetGroup { 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. @@ -162,6 +179,9 @@ function New-VSNeptuneDBSubnetGroup { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSNetworkManagerCustomerGatewayAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSNetworkManagerCustomerGatewayAssociation.ps1 new file mode 100644 index 000000000..019e42479 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSNetworkManagerCustomerGatewayAssociation.ps1 @@ -0,0 +1,218 @@ +function New-VSNetworkManagerCustomerGatewayAssociation { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::CustomerGatewayAssociation resource to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::CustomerGatewayAssociation resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.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 GlobalNetworkId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-globalnetworkid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER CustomerGatewayArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-customergatewayarn + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER DeviceId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-deviceid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER LinkId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html#cfn-networkmanager-customergatewayassociation-linkid + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.NetworkManager.CustomerGatewayAssociation')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $GlobalNetworkId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $CustomerGatewayArn, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DeviceId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $LinkId, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::NetworkManager::CustomerGatewayAssociation" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.CustomerGatewayAssociation' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSNetworkManagerDevice.ps1 b/VaporShell/Public/Resource Types/New-VSNetworkManagerDevice.ps1 new file mode 100644 index 000000000..fe2deda59 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSNetworkManagerDevice.ps1 @@ -0,0 +1,288 @@ +function New-VSNetworkManagerDevice { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::Device resource to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::Device resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.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 Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-tags + UpdateType: Mutable + Type: List + ItemType: Tag + + .PARAMETER GlobalNetworkId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-globalnetworkid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Location + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-location + UpdateType: Mutable + Type: Location + + .PARAMETER Model + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-model + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER SerialNumber + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-serialnumber + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER SiteId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-siteid + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Type + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-type + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Vendor + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html#cfn-networkmanager-device-vendor + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.NetworkManager.Device')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $GlobalNetworkId, + [parameter(Mandatory = $false)] + $Location, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Model, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SerialNumber, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SiteId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Type, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Vendor, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::NetworkManager::Device" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.Device' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSNetworkManagerGlobalNetwork.ps1 b/VaporShell/Public/Resource Types/New-VSNetworkManagerGlobalNetwork.ps1 new file mode 100644 index 000000000..2f19778fe --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSNetworkManagerGlobalNetwork.ps1 @@ -0,0 +1,185 @@ +function New-VSNetworkManagerGlobalNetwork { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::GlobalNetwork resource to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::GlobalNetwork resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.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 Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html#cfn-networkmanager-globalnetwork-tags + UpdateType: Mutable + Type: List + ItemType: Tag + + .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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.NetworkManager.GlobalNetwork')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::NetworkManager::GlobalNetwork" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.GlobalNetwork' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSNetworkManagerLink.ps1 b/VaporShell/Public/Resource Types/New-VSNetworkManagerLink.ps1 new file mode 100644 index 000000000..94e149c83 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSNetworkManagerLink.ps1 @@ -0,0 +1,256 @@ +function New-VSNetworkManagerLink { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::Link resource to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::Link resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.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 GlobalNetworkId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-globalnetworkid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER SiteId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-siteid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Bandwidth + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-bandwidth + UpdateType: Mutable + Type: Bandwidth + + .PARAMETER Provider + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-provider + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-tags + UpdateType: Mutable + Type: List + ItemType: Tag + + .PARAMETER Type + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html#cfn-networkmanager-link-type + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.NetworkManager.Link')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $GlobalNetworkId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SiteId, + [parameter(Mandatory = $true)] + $Bandwidth, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Provider, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Type, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::NetworkManager::Link" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.Link' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSNetworkManagerLinkAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSNetworkManagerLinkAssociation.ps1 new file mode 100644 index 000000000..e44f8c821 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSNetworkManagerLinkAssociation.ps1 @@ -0,0 +1,202 @@ +function New-VSNetworkManagerLinkAssociation { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::LinkAssociation resource to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::LinkAssociation resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.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 GlobalNetworkId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-globalnetworkid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER DeviceId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-deviceid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER LinkId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html#cfn-networkmanager-linkassociation-linkid + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.NetworkManager.LinkAssociation')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $GlobalNetworkId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $DeviceId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $LinkId, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::NetworkManager::LinkAssociation" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.LinkAssociation' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSNetworkManagerSite.ps1 b/VaporShell/Public/Resource Types/New-VSNetworkManagerSite.ps1 new file mode 100644 index 000000000..c2e78f844 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSNetworkManagerSite.ps1 @@ -0,0 +1,208 @@ +function New-VSNetworkManagerSite { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::Site resource to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::Site resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.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 Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-tags + UpdateType: Mutable + Type: List + ItemType: Tag + + .PARAMETER GlobalNetworkId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-globalnetworkid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Location + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html#cfn-networkmanager-site-location + UpdateType: Mutable + Type: Location + + .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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.NetworkManager.Site')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $GlobalNetworkId, + [parameter(Mandatory = $false)] + $Location, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::NetworkManager::Site" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.Site' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSNetworkManagerTransitGatewayRegistration.ps1 b/VaporShell/Public/Resource Types/New-VSNetworkManagerTransitGatewayRegistration.ps1 new file mode 100644 index 000000000..3a258d755 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSNetworkManagerTransitGatewayRegistration.ps1 @@ -0,0 +1,186 @@ +function New-VSNetworkManagerTransitGatewayRegistration { + <# + .SYNOPSIS + Adds an AWS::NetworkManager::TransitGatewayRegistration resource to the template. + + .DESCRIPTION + Adds an AWS::NetworkManager::TransitGatewayRegistration resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.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 GlobalNetworkId + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html#cfn-networkmanager-transitgatewayregistration-globalnetworkid + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER TransitGatewayArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html#cfn-networkmanager-transitgatewayregistration-transitgatewayarn + 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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.NetworkManager.TransitGatewayRegistration')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $GlobalNetworkId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $TransitGatewayArn, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::NetworkManager::TransitGatewayRegistration" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.NetworkManager.TransitGatewayRegistration' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSOpsWorksApp.ps1 b/VaporShell/Public/Resource Types/New-VSOpsWorksApp.ps1 index de88f3b29..02c3221e6 100644 --- a/VaporShell/Public/Resource Types/New-VSOpsWorksApp.ps1 +++ b/VaporShell/Public/Resource Types/New-VSOpsWorksApp.ps1 @@ -115,6 +115,23 @@ If you have specified one or more environment variables, you cannot modify the s 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. @@ -298,6 +315,9 @@ If you have specified one or more environment variables, you cannot modify the s DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSOpsWorksCMServer.ps1 b/VaporShell/Public/Resource Types/New-VSOpsWorksCMServer.ps1 index 74f1b474d..102d7d66e 100644 --- a/VaporShell/Public/Resource Types/New-VSOpsWorksCMServer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSOpsWorksCMServer.ps1 @@ -197,6 +197,23 @@ For more information about supported Amazon EC2 platforms, see Supported Platfor 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. @@ -488,6 +505,9 @@ For more information about supported Amazon EC2 platforms, see Supported Platfor DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSOpsWorksElasticLoadBalancerAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSOpsWorksElasticLoadBalancerAttachment.ps1 index d1cead49b..33031eb13 100644 --- a/VaporShell/Public/Resource Types/New-VSOpsWorksElasticLoadBalancerAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSOpsWorksElasticLoadBalancerAttachment.ps1 @@ -33,6 +33,23 @@ function New-VSOpsWorksElasticLoadBalancerAttachment { 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. @@ -141,6 +158,9 @@ function New-VSOpsWorksElasticLoadBalancerAttachment { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSOpsWorksInstance.ps1 b/VaporShell/Public/Resource Types/New-VSOpsWorksInstance.ps1 index 7b60a1ff9..8c7fbeba6 100644 --- a/VaporShell/Public/Resource Types/New-VSOpsWorksInstance.ps1 +++ b/VaporShell/Public/Resource Types/New-VSOpsWorksInstance.ps1 @@ -189,6 +189,23 @@ The default option is the current Amazon Linux version. If you set this paramete 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. @@ -470,6 +487,9 @@ The default option is the current Amazon Linux version. If you set this paramete DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSOpsWorksLayer.ps1 b/VaporShell/Public/Resource Types/New-VSOpsWorksLayer.ps1 index 8691002b5..ae4b71e0b 100644 --- a/VaporShell/Public/Resource Types/New-VSOpsWorksLayer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSOpsWorksLayer.ps1 @@ -171,6 +171,23 @@ The built-in layers' short names are defined by AWS OpsWorks Stacks. For more in 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. @@ -405,6 +422,9 @@ The built-in layers' short names are defined by AWS OpsWorks Stacks. For more in DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSOpsWorksStack.ps1 b/VaporShell/Public/Resource Types/New-VSOpsWorksStack.ps1 index 6336823e4..5e624bf1b 100644 --- a/VaporShell/Public/Resource Types/New-VSOpsWorksStack.ps1 +++ b/VaporShell/Public/Resource Types/New-VSOpsWorksStack.ps1 @@ -250,6 +250,23 @@ For more information about how to use AWS OpsWorks Stacks with a VPC, see Runnin 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. @@ -559,6 +576,9 @@ For more information about how to use AWS OpsWorks Stacks with a VPC, see Runnin DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSOpsWorksUserProfile.ps1 b/VaporShell/Public/Resource Types/New-VSOpsWorksUserProfile.ps1 index 92bf0220f..6f84f164e 100644 --- a/VaporShell/Public/Resource Types/New-VSOpsWorksUserProfile.ps1 +++ b/VaporShell/Public/Resource Types/New-VSOpsWorksUserProfile.ps1 @@ -47,6 +47,23 @@ function New-VSOpsWorksUserProfile { 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. @@ -177,6 +194,9 @@ function New-VSOpsWorksUserProfile { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSOpsWorksVolume.ps1 b/VaporShell/Public/Resource Types/New-VSOpsWorksVolume.ps1 index c55f3a24c..65385b62d 100644 --- a/VaporShell/Public/Resource Types/New-VSOpsWorksVolume.ps1 +++ b/VaporShell/Public/Resource Types/New-VSOpsWorksVolume.ps1 @@ -47,6 +47,23 @@ function New-VSOpsWorksVolume { 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. @@ -177,6 +194,9 @@ function New-VSOpsWorksVolume { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointADMChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointADMChannel.ps1 index fe8daa1b4..9fc9039b4 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointADMChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointADMChannel.ps1 @@ -49,6 +49,23 @@ The AWS::Pinpoint::ADMChannel resource defines the status and authentication set 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. @@ -179,6 +196,9 @@ The AWS::Pinpoint::ADMChannel resource defines the status and authentication set DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointAPNSChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointAPNSChannel.ps1 index 5fa099b70..fb548b970 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointAPNSChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointAPNSChannel.ps1 @@ -84,6 +84,23 @@ The AWS::Pinpoint::APNSChannel resource defines the status and authentication se 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. @@ -269,6 +286,9 @@ The AWS::Pinpoint::APNSChannel resource defines the status and authentication se DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointAPNSSandboxChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointAPNSSandboxChannel.ps1 index 688294f20..357ee572d 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointAPNSSandboxChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointAPNSSandboxChannel.ps1 @@ -84,6 +84,23 @@ The AWS::Pinpoint::APNSSandboxChannel resource defines the status and authentica 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. @@ -269,6 +286,9 @@ The AWS::Pinpoint::APNSSandboxChannel resource defines the status and authentica DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointAPNSVoipChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointAPNSVoipChannel.ps1 index c90940258..4b1d57dc0 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointAPNSVoipChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointAPNSVoipChannel.ps1 @@ -84,6 +84,23 @@ The AWS::Pinpoint::APNSVoipChannel resource defines the status and authenticatio 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. @@ -269,6 +286,9 @@ The AWS::Pinpoint::APNSVoipChannel resource defines the status and authenticatio DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointAPNSVoipSandboxChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointAPNSVoipSandboxChannel.ps1 index 76ee5331d..1630fc29d 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointAPNSVoipSandboxChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointAPNSVoipSandboxChannel.ps1 @@ -84,6 +84,23 @@ The AWS::Pinpoint::APNSVoipSandboxChannel resource defines the status and authen 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. @@ -269,6 +286,9 @@ The AWS::Pinpoint::APNSVoipSandboxChannel resource defines the status and authen DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointApp.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointApp.ps1 index 391687b4b..eaa0dca90 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointApp.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointApp.ps1 @@ -33,6 +33,23 @@ function New-VSPinpointApp { 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. @@ -141,6 +158,9 @@ function New-VSPinpointApp { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointApplicationSettings.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointApplicationSettings.ps1 index 1491488f8..5bf097a3c 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointApplicationSettings.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointApplicationSettings.ps1 @@ -59,6 +59,23 @@ You can override the default quiet time settings for a specific campaign or jour 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. @@ -173,6 +190,9 @@ You can override the default quiet time settings for a specific campaign or jour DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointBaiduChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointBaiduChannel.ps1 index 40b38d68a..669f1ee60 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointBaiduChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointBaiduChannel.ps1 @@ -49,6 +49,23 @@ The AWS::Pinpoint::BaiduChannel resource defines the status and authentication s 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. @@ -179,6 +196,9 @@ The AWS::Pinpoint::BaiduChannel resource defines the status and authentication s DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointCampaign.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointCampaign.ps1 index c23acc4bb..e92c42215 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointCampaign.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointCampaign.ps1 @@ -125,6 +125,23 @@ function New-VSPinpointCampaign { 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. @@ -340,6 +357,9 @@ function New-VSPinpointCampaign { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointEmailChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointEmailChannel.ps1 index 2f7e6da50..f42278c75 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointEmailChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointEmailChannel.ps1 @@ -63,6 +63,23 @@ The AWS::Pinpoint::EmailChannel resource defines the status, identity, and other 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. @@ -215,6 +232,9 @@ The AWS::Pinpoint::EmailChannel resource defines the status, identity, and other DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointEmailConfigurationSet.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointEmailConfigurationSet.ps1 index 0d56cd137..7c887637d 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointEmailConfigurationSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointEmailConfigurationSet.ps1 @@ -62,6 +62,23 @@ function New-VSPinpointEmailConfigurationSet { 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. @@ -178,6 +195,9 @@ function New-VSPinpointEmailConfigurationSet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointEmailConfigurationSetEventDestination.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointEmailConfigurationSetEventDestination.ps1 index 78119d6df..076644e9b 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointEmailConfigurationSetEventDestination.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointEmailConfigurationSetEventDestination.ps1 @@ -42,6 +42,23 @@ A single configuration set can include more than one event destination. 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. @@ -152,6 +169,9 @@ A single configuration set can include more than one event destination. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointEmailDedicatedIpPool.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointEmailDedicatedIpPool.ps1 index a4ef91623..913e463e4 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointEmailDedicatedIpPool.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointEmailDedicatedIpPool.ps1 @@ -34,6 +34,23 @@ function New-VSPinpointEmailDedicatedIpPool { 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. @@ -142,6 +159,9 @@ function New-VSPinpointEmailDedicatedIpPool { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointEmailIdentity.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointEmailIdentity.ps1 index 75a4a9052..7d015eae8 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointEmailIdentity.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointEmailIdentity.ps1 @@ -66,6 +66,23 @@ If the value is true, then the messages that you send from the domain are signed 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. @@ -198,6 +215,9 @@ If the value is true, then the messages that you send from the domain are signed DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointEmailTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointEmailTemplate.ps1 index 189c6e04c..59597dc26 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointEmailTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointEmailTemplate.ps1 @@ -68,6 +68,23 @@ function New-VSPinpointEmailTemplate { 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. @@ -231,6 +248,9 @@ function New-VSPinpointEmailTemplate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointEventStream.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointEventStream.ps1 index ca5895885..35b8b6f69 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointEventStream.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointEventStream.ps1 @@ -44,6 +44,23 @@ For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose 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. @@ -163,6 +180,9 @@ For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointGCMChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointGCMChannel.ps1 index f9f0efc3b..8a7217bee 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointGCMChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointGCMChannel.ps1 @@ -42,6 +42,23 @@ The AWS::Pinpoint::GCMChannel resource defines the status and authentication set 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. @@ -161,6 +178,9 @@ The AWS::Pinpoint::GCMChannel resource defines the status and authentication set DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointPushTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointPushTemplate.ps1 index d18feb70f..6e68a787e 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointPushTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointPushTemplate.ps1 @@ -82,6 +82,23 @@ function New-VSPinpointPushTemplate { 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. @@ -222,6 +239,9 @@ function New-VSPinpointPushTemplate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointSMSChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointSMSChannel.ps1 index 8395dc981..3eeb4b7a6 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointSMSChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointSMSChannel.ps1 @@ -51,6 +51,23 @@ SenderIDs are only supported in certain countries and regions. For more informat 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. @@ -181,6 +198,9 @@ SenderIDs are only supported in certain countries and regions. For more informat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointSegment.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointSegment.ps1 index 770d35dc3..e62a16215 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointSegment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointSegment.ps1 @@ -54,6 +54,23 @@ function New-VSPinpointSegment { 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. @@ -177,6 +194,9 @@ function New-VSPinpointSegment { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointSmsTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointSmsTemplate.ps1 index 284f71f21..f7c775a1a 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointSmsTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointSmsTemplate.ps1 @@ -54,6 +54,23 @@ function New-VSPinpointSmsTemplate { 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. @@ -195,6 +212,9 @@ function New-VSPinpointSmsTemplate { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSPinpointVoiceChannel.ps1 b/VaporShell/Public/Resource Types/New-VSPinpointVoiceChannel.ps1 index a2ea5a4bb..e98516f22 100644 --- a/VaporShell/Public/Resource Types/New-VSPinpointVoiceChannel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSPinpointVoiceChannel.ps1 @@ -35,6 +35,23 @@ The AWS::Pinpoint::VoiceChannel resource defines the status and other settings o 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. @@ -143,6 +160,9 @@ The AWS::Pinpoint::VoiceChannel resource defines the status and other settings o DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSQLDBLedger.ps1 b/VaporShell/Public/Resource Types/New-VSQLDBLedger.ps1 index fb59613c6..49ad9060e 100644 --- a/VaporShell/Public/Resource Types/New-VSQLDBLedger.ps1 +++ b/VaporShell/Public/Resource Types/New-VSQLDBLedger.ps1 @@ -52,6 +52,23 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat 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. @@ -174,6 +191,9 @@ For more information, see Tag: https://docs.aws.amazon.com/AWSCloudFormation/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRAMResourceShare.ps1 b/VaporShell/Public/Resource Types/New-VSRAMResourceShare.ps1 index 1bfa14c32..671a077aa 100644 --- a/VaporShell/Public/Resource Types/New-VSRAMResourceShare.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRAMResourceShare.ps1 @@ -57,6 +57,23 @@ function New-VSRAMResourceShare { 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. @@ -172,6 +189,9 @@ function New-VSRAMResourceShare { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSDBCluster.ps1 b/VaporShell/Public/Resource Types/New-VSRDSDBCluster.ps1 index 4177d0673..17ea96384 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSDBCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSDBCluster.ps1 @@ -305,6 +305,23 @@ If you specify the KmsKeyId property, then you must enable encryption. 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. @@ -681,6 +698,9 @@ If you specify the KmsKeyId property, then you must enable encryption. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSDBClusterParameterGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRDSDBClusterParameterGroup.ps1 index 01b280ffa..06d9c1e96 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSDBClusterParameterGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSDBClusterParameterGroup.ps1 @@ -58,6 +58,23 @@ For more information, see CreateDBClusterParameterGroup: https://docs.aws.amazon 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. @@ -180,6 +197,9 @@ For more information, see CreateDBClusterParameterGroup: https://docs.aws.amazon DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSDBInstance.ps1 b/VaporShell/Public/Resource Types/New-VSRDSDBInstance.ps1 index 6b0228c4c..932639926 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSDBInstance.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSDBInstance.ps1 @@ -616,6 +616,23 @@ To avoid this situation, migrate your DB instance to using VPC security groups o 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. @@ -1241,6 +1258,9 @@ To avoid this situation, migrate your DB instance to using VPC security groups o DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSDBParameterGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRDSDBParameterGroup.ps1 index f74d3ffec..7ee577bfe 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSDBParameterGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSDBParameterGroup.ps1 @@ -67,6 +67,23 @@ Valid Values for Apply method: pending-reboot 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. @@ -181,6 +198,9 @@ Valid Values for Apply method: pending-reboot DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSDBSecurityGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRDSDBSecurityGroup.ps1 index 5bc91a7d0..9eb532649 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSDBSecurityGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSDBSecurityGroup.ps1 @@ -58,6 +58,23 @@ The EC2VpcId property is for backward compatibility with older regions, and is n 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. @@ -180,6 +197,9 @@ The EC2VpcId property is for backward compatibility with older regions, and is n DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSDBSecurityGroupIngress.ps1 b/VaporShell/Public/Resource Types/New-VSRDSDBSecurityGroupIngress.ps1 index c410ea421..14292606d 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSDBSecurityGroupIngress.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSDBSecurityGroupIngress.ps1 @@ -58,6 +58,23 @@ For details about the settings for DB security group ingress, see AuthorizeDBSec 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. @@ -199,6 +216,9 @@ For details about the settings for DB security group ingress, see AuthorizeDBSec DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSDBSubnetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRDSDBSubnetGroup.ps1 index df9a1ddf8..c6541d331 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSDBSubnetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSDBSubnetGroup.ps1 @@ -53,6 +53,23 @@ Example: mySubnetgroup 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. @@ -166,6 +183,9 @@ Example: mySubnetgroup DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSEventSubscription.ps1 b/VaporShell/Public/Resource Types/New-VSRDSEventSubscription.ps1 index b5c6aaaa2..de2d3e47b 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSEventSubscription.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSEventSubscription.ps1 @@ -65,6 +65,23 @@ Valid values: db-instance | db-cluster | db-parameter-group | db-security-group 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. @@ -188,6 +205,9 @@ Valid values: db-instance | db-cluster | db-parameter-group | db-security-group DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRDSOptionGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRDSOptionGroup.ps1 index c5e3fe912..d5a9d47d2 100644 --- a/VaporShell/Public/Resource Types/New-VSRDSOptionGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRDSOptionGroup.ps1 @@ -58,6 +58,23 @@ function New-VSRDSOptionGroup { 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. @@ -191,6 +208,9 @@ function New-VSRDSOptionGroup { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRedshiftCluster.ps1 b/VaporShell/Public/Resource Types/New-VSRedshiftCluster.ps1 index b2c6f9ad2..4a90eca08 100644 --- a/VaporShell/Public/Resource Types/New-VSRedshiftCluster.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRedshiftCluster.ps1 @@ -293,6 +293,23 @@ Default: The default VPC security group is associated with the cluster. 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. @@ -656,6 +673,9 @@ Default: The default VPC security group is associated with the cluster. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRedshiftClusterParameterGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRedshiftClusterParameterGroup.ps1 index 08fa269e7..b358a7ea4 100644 --- a/VaporShell/Public/Resource Types/New-VSRedshiftClusterParameterGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRedshiftClusterParameterGroup.ps1 @@ -53,6 +53,23 @@ For the workload management WLM configuration, you must supply all the name-valu 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. @@ -175,6 +192,9 @@ For the workload management WLM configuration, you must supply all the name-valu DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRedshiftClusterSecurityGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRedshiftClusterSecurityGroup.ps1 index 42f851e67..e6eded38f 100644 --- a/VaporShell/Public/Resource Types/New-VSRedshiftClusterSecurityGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRedshiftClusterSecurityGroup.ps1 @@ -37,6 +37,23 @@ For information about managing security groups, go to Amazon Redshift Cluster Se 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. @@ -137,6 +154,9 @@ For information about managing security groups, go to Amazon Redshift Cluster Se DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRedshiftClusterSecurityGroupIngress.ps1 b/VaporShell/Public/Resource Types/New-VSRedshiftClusterSecurityGroupIngress.ps1 index bf4b40a01..dc9f1ec86 100644 --- a/VaporShell/Public/Resource Types/New-VSRedshiftClusterSecurityGroupIngress.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRedshiftClusterSecurityGroupIngress.ps1 @@ -55,6 +55,23 @@ Conditional. If you specify the EC2SecurityGroupName property, you must specify 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. @@ -185,6 +202,9 @@ Conditional. If you specify the EC2SecurityGroupName property, you must specify DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRedshiftClusterSubnetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRedshiftClusterSubnetGroup.ps1 index 39634e028..03b1ed934 100644 --- a/VaporShell/Public/Resource Types/New-VSRedshiftClusterSubnetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRedshiftClusterSubnetGroup.ps1 @@ -46,6 +46,23 @@ For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups 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. @@ -148,6 +165,9 @@ For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSResourceGroupsGroup.ps1 b/VaporShell/Public/Resource Types/New-VSResourceGroupsGroup.ps1 new file mode 100644 index 000000000..495e94b74 --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSResourceGroupsGroup.ps1 @@ -0,0 +1,208 @@ +function New-VSResourceGroupsGroup { + <# + .SYNOPSIS + Adds an AWS::ResourceGroups::Group resource to the template. + + .DESCRIPTION + Adds an AWS::ResourceGroups::Group resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Description + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-description + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER ResourceQuery + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-resourcequery + UpdateType: Mutable + Type: ResourceQuery + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html#cfn-resourcegroups-group-tags + UpdateType: Mutable + Type: List + ItemType: Tag + + .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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.ResourceGroups.Group')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Description, + [parameter(Mandatory = $false)] + $ResourceQuery, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::ResourceGroups::Group" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ResourceGroups.Group' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSRoboMakerFleet.ps1 b/VaporShell/Public/Resource Types/New-VSRoboMakerFleet.ps1 index 15ea75b90..37e646af6 100644 --- a/VaporShell/Public/Resource Types/New-VSRoboMakerFleet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoboMakerFleet.ps1 @@ -33,6 +33,23 @@ function New-VSRoboMakerFleet { 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. @@ -141,6 +158,9 @@ function New-VSRoboMakerFleet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoboMakerRobot.ps1 b/VaporShell/Public/Resource Types/New-VSRoboMakerRobot.ps1 index 4c22093a0..fb253d850 100644 --- a/VaporShell/Public/Resource Types/New-VSRoboMakerRobot.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoboMakerRobot.ps1 @@ -54,6 +54,23 @@ function New-VSRoboMakerRobot { 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. @@ -195,6 +212,9 @@ function New-VSRoboMakerRobot { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoboMakerRobotApplication.ps1 b/VaporShell/Public/Resource Types/New-VSRoboMakerRobotApplication.ps1 index 8cceec27d..2e894ede2 100644 --- a/VaporShell/Public/Resource Types/New-VSRoboMakerRobotApplication.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoboMakerRobotApplication.ps1 @@ -55,6 +55,23 @@ function New-VSRoboMakerRobotApplication { 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. @@ -187,6 +204,9 @@ function New-VSRoboMakerRobotApplication { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoboMakerRobotApplicationVersion.ps1 b/VaporShell/Public/Resource Types/New-VSRoboMakerRobotApplicationVersion.ps1 index ce40d4228..b627933d1 100644 --- a/VaporShell/Public/Resource Types/New-VSRoboMakerRobotApplicationVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoboMakerRobotApplicationVersion.ps1 @@ -33,6 +33,23 @@ function New-VSRoboMakerRobotApplicationVersion { 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. @@ -141,6 +158,9 @@ function New-VSRoboMakerRobotApplicationVersion { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoboMakerSimulationApplication.ps1 b/VaporShell/Public/Resource Types/New-VSRoboMakerSimulationApplication.ps1 index fcd03b211..aa1662a7f 100644 --- a/VaporShell/Public/Resource Types/New-VSRoboMakerSimulationApplication.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoboMakerSimulationApplication.ps1 @@ -69,6 +69,23 @@ function New-VSRoboMakerSimulationApplication { 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. @@ -205,6 +222,9 @@ function New-VSRoboMakerSimulationApplication { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoboMakerSimulationApplicationVersion.ps1 b/VaporShell/Public/Resource Types/New-VSRoboMakerSimulationApplicationVersion.ps1 index 54156dc63..ff1834fe5 100644 --- a/VaporShell/Public/Resource Types/New-VSRoboMakerSimulationApplicationVersion.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoboMakerSimulationApplicationVersion.ps1 @@ -33,6 +33,23 @@ function New-VSRoboMakerSimulationApplicationVersion { 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. @@ -141,6 +158,9 @@ function New-VSRoboMakerSimulationApplicationVersion { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoute53HealthCheck.ps1 b/VaporShell/Public/Resource Types/New-VSRoute53HealthCheck.ps1 index ea2cf87bb..99aa151ae 100644 --- a/VaporShell/Public/Resource Types/New-VSRoute53HealthCheck.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoute53HealthCheck.ps1 @@ -51,6 +51,23 @@ You can associate health checks with failover records in a private hosted zone. 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. @@ -150,6 +167,9 @@ You can associate health checks with failover records in a private hosted zone. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoute53HostedZone.ps1 b/VaporShell/Public/Resource Types/New-VSRoute53HostedZone.ps1 index d5975aade..0a9f7d447 100644 --- a/VaporShell/Public/Resource Types/New-VSRoute53HostedZone.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoute53HostedZone.ps1 @@ -123,6 +123,23 @@ For public hosted zones, omit VPCs, VPCId, and VPCRegion. 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. @@ -246,6 +263,9 @@ For public hosted zones, omit VPCs, VPCId, and VPCRegion. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoute53RecordSet.ps1 b/VaporShell/Public/Resource Types/New-VSRoute53RecordSet.ps1 index 0a1394f80..17882dac6 100644 --- a/VaporShell/Public/Resource Types/New-VSRoute53RecordSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoute53RecordSet.ps1 @@ -240,6 +240,23 @@ The effect of setting Weight to 0 is different when you associate health checks 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. @@ -464,6 +481,9 @@ The effect of setting Weight to 0 is different when you associate health checks DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoute53RecordSetGroup.ps1 b/VaporShell/Public/Resource Types/New-VSRoute53RecordSetGroup.ps1 index 7383f7466..75f18f7eb 100644 --- a/VaporShell/Public/Resource Types/New-VSRoute53RecordSetGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoute53RecordSetGroup.ps1 @@ -52,6 +52,23 @@ Specify either HostedZoneName or HostedZoneId, but not both. If you have multipl 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. @@ -182,6 +199,9 @@ Specify either HostedZoneName or HostedZoneId, but not both. If you have multipl DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverEndpoint.ps1 b/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverEndpoint.ps1 index ab8210eec..6376d33ca 100644 --- a/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverEndpoint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverEndpoint.ps1 @@ -63,6 +63,23 @@ function New-VSRoute53ResolverResolverEndpoint { 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. @@ -187,6 +204,9 @@ function New-VSRoute53ResolverResolverEndpoint { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverRule.ps1 b/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverRule.ps1 index 99b69a14e..68300f9d8 100644 --- a/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverRule.ps1 @@ -65,6 +65,23 @@ For example, to forward DNS queries for example.com to resolvers on your network 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. @@ -209,6 +226,9 @@ For example, to forward DNS queries for example.com to resolvers on your network DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverRuleAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverRuleAssociation.ps1 index 0e296c0c3..d20a57019 100644 --- a/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverRuleAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSRoute53ResolverResolverRuleAssociation.ps1 @@ -40,6 +40,23 @@ function New-VSRoute53ResolverResolverRuleAssociation { 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. @@ -159,6 +176,9 @@ function New-VSRoute53ResolverResolverRuleAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSS3AccessPoint.ps1 b/VaporShell/Public/Resource Types/New-VSS3AccessPoint.ps1 index a62a2bfdf..3474c0d43 100644 --- a/VaporShell/Public/Resource Types/New-VSS3AccessPoint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSS3AccessPoint.ps1 @@ -75,6 +75,23 @@ function New-VSS3AccessPoint { 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. @@ -231,6 +248,9 @@ function New-VSS3AccessPoint { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSS3Bucket.ps1 b/VaporShell/Public/Resource Types/New-VSS3Bucket.ps1 index 9f24daddb..d42320656 100644 --- a/VaporShell/Public/Resource Types/New-VSS3Bucket.ps1 +++ b/VaporShell/Public/Resource Types/New-VSS3Bucket.ps1 @@ -165,6 +165,23 @@ Amazon S3 can store replicated objects in only one destination bucket. The desti 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. @@ -342,6 +359,9 @@ Amazon S3 can store replicated objects in only one destination bucket. The desti DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSS3BucketPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSS3BucketPolicy.ps1 index 724a6d1a2..430ef7fbe 100644 --- a/VaporShell/Public/Resource Types/New-VSS3BucketPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSS3BucketPolicy.ps1 @@ -51,6 +51,23 @@ The following operations are related to PutBucketPolicy: 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. @@ -159,6 +176,9 @@ The following operations are related to PutBucketPolicy: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSDBDomain.ps1 b/VaporShell/Public/Resource Types/New-VSSDBDomain.ps1 index c1e79cafa..5545a2ca2 100644 --- a/VaporShell/Public/Resource Types/New-VSSDBDomain.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSDBDomain.ps1 @@ -30,6 +30,23 @@ The AWS::SDB::Domain resource does not allow any updates, including metadata upd 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. @@ -127,6 +144,9 @@ The AWS::SDB::Domain resource does not allow any updates, including metadata upd DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSESConfigurationSet.ps1 b/VaporShell/Public/Resource Types/New-VSSESConfigurationSet.ps1 index 2a1acaf79..120c2bbd7 100644 --- a/VaporShell/Public/Resource Types/New-VSSESConfigurationSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSESConfigurationSet.ps1 @@ -28,6 +28,23 @@ function New-VSSESConfigurationSet { 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. @@ -125,6 +142,9 @@ function New-VSSESConfigurationSet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSESConfigurationSetEventDestination.ps1 b/VaporShell/Public/Resource Types/New-VSSESConfigurationSetEventDestination.ps1 index 2ed7dc22d..7220b25c7 100644 --- a/VaporShell/Public/Resource Types/New-VSSESConfigurationSetEventDestination.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSESConfigurationSetEventDestination.ps1 @@ -37,6 +37,23 @@ You can't specify Amazon SNS event destinations in CloudFormation templates. 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. @@ -136,6 +153,9 @@ You can't specify Amazon SNS event destinations in CloudFormation templates. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSESReceiptFilter.ps1 b/VaporShell/Public/Resource Types/New-VSSESReceiptFilter.ps1 index bcdef8207..53efd6c8c 100644 --- a/VaporShell/Public/Resource Types/New-VSSESReceiptFilter.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSESReceiptFilter.ps1 @@ -26,6 +26,23 @@ function New-VSSESReceiptFilter { 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. @@ -114,6 +131,9 @@ function New-VSSESReceiptFilter { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSESReceiptRule.ps1 b/VaporShell/Public/Resource Types/New-VSSESReceiptRule.ps1 index aa023261f..6fb0eed85 100644 --- a/VaporShell/Public/Resource Types/New-VSSESReceiptRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSESReceiptRule.ps1 @@ -44,6 +44,23 @@ You can execute this operation no more than once per second. 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. @@ -154,6 +171,9 @@ You can execute this operation no more than once per second. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSESReceiptRuleSet.ps1 b/VaporShell/Public/Resource Types/New-VSSESReceiptRuleSet.ps1 index ec48d0490..1b7208fad 100644 --- a/VaporShell/Public/Resource Types/New-VSSESReceiptRuleSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSESReceiptRuleSet.ps1 @@ -30,6 +30,23 @@ You can execute this operation no more than once per second. 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. @@ -127,6 +144,9 @@ You can execute this operation no more than once per second. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSESTemplate.ps1 b/VaporShell/Public/Resource Types/New-VSSESTemplate.ps1 index 2942f6a0d..069be7470 100644 --- a/VaporShell/Public/Resource Types/New-VSSESTemplate.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSESTemplate.ps1 @@ -28,6 +28,23 @@ You can execute this operation no more than once per second. 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. @@ -116,6 +133,9 @@ You can execute this operation no more than once per second. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSNSSubscription.ps1 b/VaporShell/Public/Resource Types/New-VSSNSSubscription.ps1 index d6c03694b..f4a590aa7 100644 --- a/VaporShell/Public/Resource Types/New-VSSNSSubscription.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSNSSubscription.ps1 @@ -79,6 +79,23 @@ If you perform an update operation that only updates the Region property of a AW 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. @@ -253,6 +270,9 @@ If you perform an update operation that only updates the Region property of a AW DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSNSTopic.ps1 b/VaporShell/Public/Resource Types/New-VSSNSTopic.ps1 index 435bb5369..7331190d1 100644 --- a/VaporShell/Public/Resource Types/New-VSSNSTopic.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSNSTopic.ps1 @@ -66,6 +66,23 @@ If you specify a name, you can't perform updates that require replacement of thi 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. @@ -199,6 +216,9 @@ If you specify a name, you can't perform updates that require replacement of thi DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSNSTopicPolicy.ps1 b/VaporShell/Public/Resource Types/New-VSSNSTopicPolicy.ps1 index 5fc74aa0c..e736e76be 100644 --- a/VaporShell/Public/Resource Types/New-VSSNSTopicPolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSNSTopicPolicy.ps1 @@ -35,6 +35,23 @@ function New-VSSNSTopicPolicy { 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. @@ -134,6 +151,9 @@ function New-VSSNSTopicPolicy { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSQSQueue.ps1 b/VaporShell/Public/Resource Types/New-VSSQSQueue.ps1 index be5a38450..5fde35aa3 100644 --- a/VaporShell/Public/Resource Types/New-VSSQSQueue.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSQSQueue.ps1 @@ -137,6 +137,23 @@ For more information about Amazon SQS queue visibility timeouts, see Visibility 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. @@ -347,6 +364,9 @@ For more information about Amazon SQS queue visibility timeouts, see Visibility DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSQSQueuePolicy.ps1 b/VaporShell/Public/Resource Types/New-VSSQSQueuePolicy.ps1 index 2ca2f7459..b8e03034f 100644 --- a/VaporShell/Public/Resource Types/New-VSSQSQueuePolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSQSQueuePolicy.ps1 @@ -35,6 +35,23 @@ function New-VSSQSQueuePolicy { 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. @@ -134,6 +151,9 @@ function New-VSSQSQueuePolicy { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSSMAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSSSMAssociation.ps1 index d7e19fd97..0dcc97fd6 100644 --- a/VaporShell/Public/Resource Types/New-VSSSMAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSSMAssociation.ps1 @@ -80,6 +80,23 @@ InstanceId has been deprecated. To specify an instance ID for an association, us 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. @@ -245,6 +262,9 @@ InstanceId has been deprecated. To specify an instance ID for an association, us DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSSMDocument.ps1 b/VaporShell/Public/Resource Types/New-VSSSMDocument.ps1 index 564834868..ac1e26b14 100644 --- a/VaporShell/Public/Resource Types/New-VSSSMDocument.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSSMDocument.ps1 @@ -58,6 +58,23 @@ Do not use the following to begin the names of documents you create. They are re 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. @@ -180,6 +197,9 @@ Do not use the following to begin the names of documents you create. They are re DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindow.ps1 b/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindow.ps1 index a897beb09..c1ca97920 100644 --- a/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindow.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindow.ps1 @@ -92,6 +92,23 @@ For more information, see Systems Manager Maintenance Windows: https://docs.aws. 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. @@ -280,6 +297,9 @@ For more information, see Systems Manager Maintenance Windows: https://docs.aws. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindowTarget.ps1 b/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindowTarget.ps1 index d02933e30..7a4511578 100644 --- a/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindowTarget.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindowTarget.ps1 @@ -63,6 +63,23 @@ You must specify targets by using the WindowTargetIds parameter. 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. @@ -215,6 +232,9 @@ You must specify targets by using the WindowTargetIds parameter. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindowTask.ps1 b/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindowTask.ps1 index 8d7251d01..caeec0005 100644 --- a/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindowTask.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSSMMaintenanceWindowTask.ps1 @@ -118,6 +118,23 @@ LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instea 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. @@ -329,6 +346,9 @@ LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instea DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSSMParameter.ps1 b/VaporShell/Public/Resource Types/New-VSSSMParameter.ps1 index 21813faf7..e9f981ace 100644 --- a/VaporShell/Public/Resource Types/New-VSSSMParameter.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSSMParameter.ps1 @@ -86,6 +86,23 @@ Working with Parameter Policies: https://docs.aws.amazon.com/systems-manager/lat 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. @@ -260,6 +277,9 @@ Working with Parameter Policies: https://docs.aws.amazon.com/systems-manager/lat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSSMPatchBaseline.ps1 b/VaporShell/Public/Resource Types/New-VSSSMPatchBaseline.ps1 index 0c1b357ea..2280b7ad4 100644 --- a/VaporShell/Public/Resource Types/New-VSSSMPatchBaseline.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSSMPatchBaseline.ps1 @@ -121,6 +121,23 @@ For information about accepted formats for lists of approved patches and rejecte 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. @@ -297,6 +314,9 @@ For information about accepted formats for lists of approved patches and rejecte DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSSMResourceDataSync.ps1 b/VaporShell/Public/Resource Types/New-VSSSMResourceDataSync.ps1 index e0dfd95e1..b35cf66f5 100644 --- a/VaporShell/Public/Resource Types/New-VSSSMResourceDataSync.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSSMResourceDataSync.ps1 @@ -94,6 +94,23 @@ Important: The following *Syntax* section shows all fields that are supported fo 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. @@ -261,6 +278,9 @@ Important: The following *Syntax* section shows all fields that are supported fo DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSageMakerCodeRepository.ps1 b/VaporShell/Public/Resource Types/New-VSSageMakerCodeRepository.ps1 index 45e874e7d..b1c865f89 100644 --- a/VaporShell/Public/Resource Types/New-VSSageMakerCodeRepository.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSageMakerCodeRepository.ps1 @@ -35,6 +35,23 @@ The repository can be hosted either in AWS CodeCommit: https://docs.aws.amazon.c 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. @@ -134,6 +151,9 @@ The repository can be hosted either in AWS CodeCommit: https://docs.aws.amazon.c DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSageMakerEndpoint.ps1 b/VaporShell/Public/Resource Types/New-VSSageMakerEndpoint.ps1 index 061493ef4..5008c0536 100644 --- a/VaporShell/Public/Resource Types/New-VSSageMakerEndpoint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSageMakerEndpoint.ps1 @@ -57,6 +57,23 @@ For more information, see Resource Tag: https://docs.aws.amazon.com/AWSCloudForm 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. @@ -190,6 +207,9 @@ For more information, see Resource Tag: https://docs.aws.amazon.com/AWSCloudForm DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSageMakerEndpointConfig.ps1 b/VaporShell/Public/Resource Types/New-VSSageMakerEndpointConfig.ps1 index 84cf1610f..959f4fd3c 100644 --- a/VaporShell/Public/Resource Types/New-VSSageMakerEndpointConfig.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSageMakerEndpointConfig.ps1 @@ -59,6 +59,23 @@ For more information, see Resource Tag: https://docs.aws.amazon.com/AWSCloudForm 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. @@ -181,6 +198,9 @@ For more information, see Resource Tag: https://docs.aws.amazon.com/AWSCloudForm DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSageMakerModel.ps1 b/VaporShell/Public/Resource Types/New-VSSageMakerModel.ps1 index f868eb076..ef0a66dbd 100644 --- a/VaporShell/Public/Resource Types/New-VSSageMakerModel.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSageMakerModel.ps1 @@ -65,6 +65,23 @@ For more information, see Resource Tag: https://docs.aws.amazon.com/AWSCloudForm 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. @@ -191,6 +208,9 @@ For more information, see Resource Tag: https://docs.aws.amazon.com/AWSCloudForm DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSageMakerNotebookInstance.ps1 b/VaporShell/Public/Resource Types/New-VSSageMakerNotebookInstance.ps1 index 98259878d..1e3bc6677 100644 --- a/VaporShell/Public/Resource Types/New-VSSageMakerNotebookInstance.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSageMakerNotebookInstance.ps1 @@ -126,6 +126,23 @@ You can add tags later by using the CreateTags API. 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. @@ -331,6 +348,9 @@ You can add tags later by using the CreateTags API. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSageMakerNotebookInstanceLifecycleConfig.ps1 b/VaporShell/Public/Resource Types/New-VSSageMakerNotebookInstanceLifecycleConfig.ps1 index af0754139..493392d97 100644 --- a/VaporShell/Public/Resource Types/New-VSSageMakerNotebookInstanceLifecycleConfig.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSageMakerNotebookInstanceLifecycleConfig.ps1 @@ -42,6 +42,23 @@ function New-VSSageMakerNotebookInstanceLifecycleConfig { 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. @@ -161,6 +178,9 @@ function New-VSSageMakerNotebookInstanceLifecycleConfig { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSageMakerWorkteam.ps1 b/VaporShell/Public/Resource Types/New-VSSageMakerWorkteam.ps1 index d7299c797..42924e953 100644 --- a/VaporShell/Public/Resource Types/New-VSSageMakerWorkteam.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSageMakerWorkteam.ps1 @@ -59,6 +59,23 @@ For more information, see Resource Tag: https://docs.aws.amazon.com/AWSCloudForm 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. @@ -183,6 +200,9 @@ For more information, see Resource Tag: https://docs.aws.amazon.com/AWSCloudForm DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSecretsManagerResourcePolicy.ps1 b/VaporShell/Public/Resource Types/New-VSSecretsManagerResourcePolicy.ps1 index d00002db2..7e8ce41b4 100644 --- a/VaporShell/Public/Resource Types/New-VSSecretsManagerResourcePolicy.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSecretsManagerResourcePolicy.ps1 @@ -34,6 +34,23 @@ If you use this property to change the SecretId for an existing resource-based p 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. @@ -142,6 +159,9 @@ If you use this property to change the SecretId for an existing resource-based p DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSecretsManagerRotationSchedule.ps1 b/VaporShell/Public/Resource Types/New-VSSecretsManagerRotationSchedule.ps1 index 3ac37e7b1..9ec94f637 100644 --- a/VaporShell/Public/Resource Types/New-VSSecretsManagerRotationSchedule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSecretsManagerRotationSchedule.ps1 @@ -44,6 +44,23 @@ When you configure rotation for a secret, AWS CloudFormation automatically rotat 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. @@ -154,6 +171,9 @@ When you configure rotation for a secret, AWS CloudFormation automatically rotat DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSecretsManagerSecret.ps1 b/VaporShell/Public/Resource Types/New-VSSecretsManagerSecret.ps1 index 9f03824af..ab7f3cc78 100644 --- a/VaporShell/Public/Resource Types/New-VSSecretsManagerSecret.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSecretsManagerSecret.ps1 @@ -85,6 +85,23 @@ Either SecretString or GenerateSecretString must have a value, but not both. The 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. @@ -220,6 +237,9 @@ Either SecretString or GenerateSecretString must have a value, but not both. The DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSecretsManagerSecretTargetAttachment.ps1 b/VaporShell/Public/Resource Types/New-VSSecretsManagerSecretTargetAttachment.ps1 index 2441392b5..ac25514de 100644 --- a/VaporShell/Public/Resource Types/New-VSSecretsManagerSecretTargetAttachment.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSecretsManagerSecretTargetAttachment.ps1 @@ -51,6 +51,23 @@ function New-VSSecretsManagerSecretTargetAttachment { 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. @@ -170,6 +187,9 @@ function New-VSSecretsManagerSecretTargetAttachment { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSecurityHubHub.ps1 b/VaporShell/Public/Resource Types/New-VSSecurityHubHub.ps1 index 85aa5dafd..4a1af0ada 100644 --- a/VaporShell/Public/Resource Types/New-VSSecurityHubHub.ps1 +++ b/VaporShell/Public/Resource Types/New-VSSecurityHubHub.ps1 @@ -26,6 +26,23 @@ function New-VSSecurityHubHub { 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. @@ -123,6 +140,9 @@ function New-VSSecurityHubHub { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogAcceptedPortfolioShare.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogAcceptedPortfolioShare.ps1 index 3d501c1b7..2c36f0338 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogAcceptedPortfolioShare.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogAcceptedPortfolioShare.ps1 @@ -36,6 +36,23 @@ function New-VSServiceCatalogAcceptedPortfolioShare { 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. @@ -144,6 +161,9 @@ function New-VSServiceCatalogAcceptedPortfolioShare { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogCloudFormationProduct.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogCloudFormationProduct.ps1 index c43082b4f..73f757b82 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogCloudFormationProduct.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogCloudFormationProduct.ps1 @@ -94,6 +94,23 @@ function New-VSServiceCatalogCloudFormationProduct { 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. @@ -282,6 +299,9 @@ function New-VSServiceCatalogCloudFormationProduct { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogCloudFormationProvisionedProduct.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogCloudFormationProvisionedProduct.ps1 index 74df2d45c..35d5122a5 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogCloudFormationProvisionedProduct.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogCloudFormationProvisionedProduct.ps1 @@ -112,6 +112,23 @@ You must specify either the ID or the name of the provisioning artifact, but not 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. @@ -293,6 +310,9 @@ You must specify either the ID or the name of the provisioning artifact, but not DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchNotificationConstraint.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchNotificationConstraint.ps1 index 1616d6acf..808476c32 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchNotificationConstraint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchNotificationConstraint.ps1 @@ -58,6 +58,23 @@ function New-VSServiceCatalogLaunchNotificationConstraint { 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. @@ -190,6 +207,9 @@ function New-VSServiceCatalogLaunchNotificationConstraint { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchRoleConstraint.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchRoleConstraint.ps1 index 0ce6e6c62..e1fc47f64 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchRoleConstraint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchRoleConstraint.ps1 @@ -19,6 +19,13 @@ function New-VSServiceCatalogLaunchRoleConstraint { PrimitiveType: String UpdateType: Mutable + .PARAMETER LocalRoleName + + CreateConstraint: https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateConstraint.html in the *AWS Service Catalog API Reference* + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-localrolename + PrimitiveType: String + UpdateType: Mutable + .PARAMETER AcceptLanguage The language code. + en - English default @@ -57,6 +64,23 @@ function New-VSServiceCatalogLaunchRoleConstraint { 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. @@ -107,6 +131,17 @@ function New-VSServiceCatalogLaunchRoleConstraint { })] $Description, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $LocalRoleName, + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -139,7 +174,7 @@ function New-VSServiceCatalogLaunchRoleConstraint { } })] $ProductId, - [parameter(Mandatory = $true)] + [parameter(Mandatory = $false)] [ValidateScript( { $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { @@ -198,6 +233,9 @@ function New-VSServiceCatalogLaunchRoleConstraint { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchTemplateConstraint.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchTemplateConstraint.ps1 index e978b2ba4..4ee9f67a0 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchTemplateConstraint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogLaunchTemplateConstraint.ps1 @@ -57,6 +57,23 @@ function New-VSServiceCatalogLaunchTemplateConstraint { 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. @@ -198,6 +215,9 @@ function New-VSServiceCatalogLaunchTemplateConstraint { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolio.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolio.ps1 index 240ab0d82..5e4c3d19a 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolio.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolio.ps1 @@ -58,6 +58,23 @@ function New-VSServiceCatalogPortfolio { 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. @@ -191,6 +208,9 @@ function New-VSServiceCatalogPortfolio { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioPrincipalAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioPrincipalAssociation.ps1 index ca9565816..393ff9899 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioPrincipalAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioPrincipalAssociation.ps1 @@ -50,6 +50,23 @@ function New-VSServiceCatalogPortfolioPrincipalAssociation { 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. @@ -180,6 +197,9 @@ function New-VSServiceCatalogPortfolioPrincipalAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioProductAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioProductAssociation.ps1 index 9750cb73e..972e19dd2 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioProductAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioProductAssociation.ps1 @@ -50,6 +50,23 @@ function New-VSServiceCatalogPortfolioProductAssociation { 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. @@ -180,6 +197,9 @@ function New-VSServiceCatalogPortfolioProductAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioShare.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioShare.ps1 index d907ecf11..3da616dc1 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioShare.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogPortfolioShare.ps1 @@ -43,6 +43,23 @@ function New-VSServiceCatalogPortfolioShare { 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. @@ -162,6 +179,9 @@ function New-VSServiceCatalogPortfolioShare { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogResourceUpdateConstraint.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogResourceUpdateConstraint.ps1 index 4c2e913a4..f002a36fc 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogResourceUpdateConstraint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogResourceUpdateConstraint.ps1 @@ -58,6 +58,23 @@ If set to NOT_ALLOWED, prevents users from changing tags in a CloudFormationProv 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. @@ -199,6 +216,9 @@ If set to NOT_ALLOWED, prevents users from changing tags in a CloudFormationProv DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogStackSetConstraint.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogStackSetConstraint.ps1 index 19fa142e7..d734e35a6 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogStackSetConstraint.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogStackSetConstraint.ps1 @@ -90,6 +90,23 @@ If no values are specified, the default value is all regions from the STACKSET c 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. @@ -257,6 +274,9 @@ If no values are specified, the default value is all regions from the STACKSET c DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogTagOption.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogTagOption.ps1 index fde247012..bb9953fa4 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogTagOption.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogTagOption.ps1 @@ -40,6 +40,23 @@ function New-VSServiceCatalogTagOption { 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. @@ -159,6 +176,9 @@ function New-VSServiceCatalogTagOption { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceCatalogTagOptionAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSServiceCatalogTagOptionAssociation.ps1 index 10a144eec..a4d4b0f3f 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceCatalogTagOptionAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceCatalogTagOptionAssociation.ps1 @@ -33,6 +33,23 @@ function New-VSServiceCatalogTagOptionAssociation { 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. @@ -141,6 +158,9 @@ function New-VSServiceCatalogTagOptionAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryHttpNamespace.ps1 b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryHttpNamespace.ps1 index 40c0b7095..0f38fa2e0 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryHttpNamespace.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryHttpNamespace.ps1 @@ -35,6 +35,23 @@ For the current limit on the number of namespaces that you can create using the 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. @@ -143,6 +160,9 @@ For the current limit on the number of namespaces that you can create using the DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryInstance.ps1 b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryInstance.ps1 index 8a2b3a383..bca420ebb 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryInstance.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryInstance.ps1 @@ -71,6 +71,23 @@ The health check isn't deleted immediately, so it will still appear for a while 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. @@ -190,6 +207,9 @@ The health check isn't deleted immediately, so it will still appear for a while DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryPrivateDnsNamespace.ps1 b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryPrivateDnsNamespace.ps1 index a507cf38c..39ffc931e 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryPrivateDnsNamespace.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryPrivateDnsNamespace.ps1 @@ -40,6 +40,23 @@ function New-VSServiceDiscoveryPrivateDnsNamespace { 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. @@ -159,6 +176,9 @@ function New-VSServiceDiscoveryPrivateDnsNamespace { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryPublicDnsNamespace.ps1 b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryPublicDnsNamespace.ps1 index 9a4f23b54..ced2b94c4 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryPublicDnsNamespace.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryPublicDnsNamespace.ps1 @@ -33,6 +33,23 @@ function New-VSServiceDiscoveryPublicDnsNamespace { 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. @@ -141,6 +158,9 @@ function New-VSServiceDiscoveryPublicDnsNamespace { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryService.ps1 b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryService.ps1 index 82e53f1cf..83c713e74 100644 --- a/VaporShell/Public/Resource Types/New-VSServiceDiscoveryService.ps1 +++ b/VaporShell/Public/Resource Types/New-VSServiceDiscoveryService.ps1 @@ -78,6 +78,23 @@ For information about the charges for health checks, see Amazon Route 53 Pricing 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. @@ -203,6 +220,9 @@ For information about the charges for health checks, see Amazon Route 53 Pricing DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSStepFunctionsActivity.ps1 b/VaporShell/Public/Resource Types/New-VSStepFunctionsActivity.ps1 index 637d0c6aa..94b0c9276 100644 --- a/VaporShell/Public/Resource Types/New-VSStepFunctionsActivity.ps1 +++ b/VaporShell/Public/Resource Types/New-VSStepFunctionsActivity.ps1 @@ -44,6 +44,23 @@ For an EXPRESS state machine, the name should only contain 0-9, A-Z, a-z, - and 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. @@ -152,6 +169,9 @@ For an EXPRESS state machine, the name should only contain 0-9, A-Z, a-z, - and DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSStepFunctionsStateMachine.ps1 b/VaporShell/Public/Resource Types/New-VSStepFunctionsStateMachine.ps1 index 4d1154a89..4480b0e4e 100644 --- a/VaporShell/Public/Resource Types/New-VSStepFunctionsStateMachine.ps1 +++ b/VaporShell/Public/Resource Types/New-VSStepFunctionsStateMachine.ps1 @@ -71,6 +71,23 @@ Tags may only contain Unicode letters, digits, white space, or these symbols: _ 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. @@ -214,6 +231,9 @@ Tags may only contain Unicode letters, digits, white space, or these symbols: _ DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSSyntheticsCanary.ps1 b/VaporShell/Public/Resource Types/New-VSSyntheticsCanary.ps1 new file mode 100644 index 000000000..6c46c956c --- /dev/null +++ b/VaporShell/Public/Resource Types/New-VSSyntheticsCanary.ps1 @@ -0,0 +1,310 @@ +function New-VSSyntheticsCanary { + <# + .SYNOPSIS + Adds an AWS::Synthetics::Canary resource to the template. + + .DESCRIPTION + Adds an AWS::Synthetics::Canary resource to the template. + + .LINK + http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.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 Name + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-name + UpdateType: Immutable + PrimitiveType: String + + .PARAMETER Code + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-code + UpdateType: Mutable + Type: Code + + .PARAMETER ArtifactS3Location + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-artifacts3location + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER Schedule + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-schedule + UpdateType: Mutable + Type: Schedule + + .PARAMETER ExecutionRoleArn + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-executionrolearn + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER RuntimeVersion + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runtimeversion + UpdateType: Mutable + PrimitiveType: String + + .PARAMETER SuccessRetentionPeriod + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-successretentionperiod + UpdateType: Mutable + PrimitiveType: Integer + + .PARAMETER FailureRetentionPeriod + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-failureretentionperiod + UpdateType: Mutable + PrimitiveType: Integer + + .PARAMETER Tags + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-tags + UpdateType: Mutable + Type: List + ItemType: Tag + DuplicatesAllowed: True + + .PARAMETER VPCConfig + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-vpcconfig + UpdateType: Mutable + Type: VPCConfig + + .PARAMETER RunConfig + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-runconfig + UpdateType: Mutable + Type: RunConfig + + .PARAMETER StartCanaryAfterCreation + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-startcanaryaftercreation + UpdateType: Mutable + PrimitiveType: Boolean + + .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. + + You must use a PSCustomObject containing key/value pairs here. 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 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('Vaporshell.Resource.Synthetics.Canary')] + [cmdletbinding()] + Param + ( + [parameter(Mandatory = $true,Position = 0)] + [ValidateScript( { + if ($_ -match "^[a-zA-Z0-9]*$") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String 'The LogicalID must be alphanumeric (a-z, A-Z, 0-9) and unique within the template.')) + } + })] + [System.String] + $LogicalId, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Name, + [parameter(Mandatory = $true)] + $Code, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ArtifactS3Location, + [parameter(Mandatory = $true)] + $Schedule, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $ExecutionRoleArn, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $RuntimeVersion, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $SuccessRetentionPeriod, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Int32","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $FailureRetentionPeriod, + [VaporShell.Core.TransformTag()] + [parameter(Mandatory = $false)] + $Tags, + [parameter(Mandatory = $false)] + $VPCConfig, + [parameter(Mandatory = $false)] + $RunConfig, + [parameter(Mandatory = $true)] + [ValidateScript( { + $allowedTypes = "System.Boolean","Vaporshell.Function" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $StartCanaryAfterCreation, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $DeletionPolicy, + [ValidateSet("Delete","Retain","Snapshot")] + [System.String] + $UpdateReplacePolicy, + [parameter(Mandatory = $false)] + [System.String[]] + $DependsOn, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.Management.Automation.PSCustomObject" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "The UpdatePolicy parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Metadata, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.UpdatePolicy" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $UpdatePolicy, + [parameter(Mandatory = $false)] + $Condition + ) + Begin { + $ResourceParams = @{ + LogicalId = $LogicalId + Type = "AWS::Synthetics::Canary" + } + $commonParams = @('Verbose','Debug','ErrorAction','WarningAction','InformationAction','ErrorVariable','WarningVariable','InformationVariable','OutVariable','OutBuffer','PipelineVariable') + } + Process { + foreach ($key in $PSBoundParameters.Keys | Where-Object {$commonParams -notcontains $_}) { + switch ($key) { + LogicalId {} + DeletionPolicy { + $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) + } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } + DependsOn { + $ResourceParams.Add("DependsOn",$DependsOn) + } + Metadata { + $ResourceParams.Add("Metadata",$Metadata) + } + UpdatePolicy { + $ResourceParams.Add("UpdatePolicy",$UpdatePolicy) + } + Condition { + $ResourceParams.Add("Condition",$Condition) + } + Tags { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Tags -Value @($Tags) + } + Default { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters[$key] + } + } + } + } + End { + $obj = New-VaporResource @ResourceParams + $obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.Synthetics.Canary' + Write-Verbose "Resulting JSON from $($MyInvocation.MyCommand): `n`n$(@{$obj.LogicalId = $obj.Props} | ConvertTo-Json -Depth 5)`n" + } +} diff --git a/VaporShell/Public/Resource Types/New-VSTransferServer.ps1 b/VaporShell/Public/Resource Types/New-VSTransferServer.ps1 index 855efe76a..9df654ef6 100644 --- a/VaporShell/Public/Resource Types/New-VSTransferServer.ps1 +++ b/VaporShell/Public/Resource Types/New-VSTransferServer.ps1 @@ -19,6 +19,14 @@ function New-VSTransferServer { PrimitiveType: String UpdateType: Mutable + .PARAMETER Protocols + CreateServer: https://docs.aws.amazon.com/transfer/latest/userguide/API_CreateServer.html in the *AWS Transfer for SFTP User Guide*. + + Type: List + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-protocols + ItemType: Protocol + UpdateType: Mutable + .PARAMETER IdentityProviderDetails This parameter is required when the IdentityProviderType is set to API_GATEWAY. Accepts an array containing all of the information required to call a customer-supplied authentication API, including the API Gateway URL. This property is not required when the IdentityProviderType is set to SERVICE_MANAGED. @@ -56,6 +64,13 @@ It is recommended that you use VPC as the EndpointType. With this endpoint type, ItemType: Tag UpdateType: Mutable + .PARAMETER Certificate + CreateServer: https://docs.aws.amazon.com/transfer/latest/userguide/API_CreateServer.html in the *AWS Transfer for SFTP User Guide*. + + Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-certificate + PrimitiveType: String + UpdateType: Mutable + .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. @@ -63,6 +78,23 @@ It is recommended that you use VPC as the EndpointType. With this endpoint type, 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. @@ -113,6 +145,17 @@ It is recommended that you use VPC as the EndpointType. With this endpoint type, })] $LoggingRole, [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "Vaporshell.Resource.Transfer.Server.Protocol" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Protocols, + [parameter(Mandatory = $false)] $IdentityProviderDetails, [parameter(Mandatory = $false)] [ValidateScript( { @@ -141,6 +184,17 @@ It is recommended that you use VPC as the EndpointType. With this endpoint type, [VaporShell.Core.TransformTag()] [parameter(Mandatory = $false)] $Tags, + [parameter(Mandatory = $false)] + [ValidateScript( { + $allowedTypes = "System.String","Vaporshell.Function","Vaporshell.Condition" + if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") { + $true + } + else { + $PSCmdlet.ThrowTerminatingError((New-VSError -String "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ").")) + } + })] + $Certificate, [ValidateSet("Delete","Retain","Snapshot")] [System.String] $DeletionPolicy, @@ -189,6 +243,9 @@ It is recommended that you use VPC as the EndpointType. With this endpoint type, DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } @@ -201,6 +258,12 @@ It is recommended that you use VPC as the EndpointType. With this endpoint type, Condition { $ResourceParams.Add("Condition",$Condition) } + Protocols { + if (!($ResourceParams["Properties"])) { + $ResourceParams.Add("Properties",([PSCustomObject]@{})) + } + $ResourceParams["Properties"] | Add-Member -MemberType NoteProperty -Name Protocols -Value @($Protocols) + } Tags { if (!($ResourceParams["Properties"])) { $ResourceParams.Add("Properties",([PSCustomObject]@{})) diff --git a/VaporShell/Public/Resource Types/New-VSTransferUser.ps1 b/VaporShell/Public/Resource Types/New-VSTransferUser.ps1 index d6972367a..19931d496 100644 --- a/VaporShell/Public/Resource Types/New-VSTransferUser.ps1 +++ b/VaporShell/Public/Resource Types/New-VSTransferUser.ps1 @@ -92,6 +92,23 @@ If the target of a logical directory entry does not exist in S3, the entry will 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. @@ -269,6 +286,9 @@ If the target of a logical directory entry does not exist in S3, the entry will DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFByteMatchSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFByteMatchSet.ps1 index b800677f8..92375df8b 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFByteMatchSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFByteMatchSet.ps1 @@ -35,6 +35,23 @@ function New-VSWAFByteMatchSet { 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. @@ -143,6 +160,9 @@ function New-VSWAFByteMatchSet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFIPSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFIPSet.ps1 index 9265d9b5f..cce8b9189 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFIPSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFIPSet.ps1 @@ -43,6 +43,23 @@ To specify an individual IP address, you specify the four-part IP address follow 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. @@ -151,6 +168,9 @@ To specify an individual IP address, you specify the four-part IP address follow DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalByteMatchSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalByteMatchSet.ps1 index dbc833f7e..f4268fc51 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalByteMatchSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalByteMatchSet.ps1 @@ -34,6 +34,23 @@ function New-VSWAFRegionalByteMatchSet { 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. @@ -142,6 +159,9 @@ function New-VSWAFRegionalByteMatchSet { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalGeoMatchSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalGeoMatchSet.ps1 index 90a87a79f..748934ed0 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalGeoMatchSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalGeoMatchSet.ps1 @@ -40,6 +40,23 @@ Contains one or more countries that AWS WAF will search for. 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. @@ -148,6 +165,9 @@ Contains one or more countries that AWS WAF will search for. DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalIPSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalIPSet.ps1 index 4b396a5a2..93f8ca814 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalIPSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalIPSet.ps1 @@ -42,6 +42,23 @@ To specify an individual IP address, you specify the four-part IP address follow 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. @@ -150,6 +167,9 @@ To specify an individual IP address, you specify the four-part IP address follow DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalRateBasedRule.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalRateBasedRule.ps1 index d41d8ce96..64b37ec43 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalRateBasedRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalRateBasedRule.ps1 @@ -65,6 +65,23 @@ Note you can only create rate-based rules using a CloudFormation template. To ad 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. @@ -206,6 +223,9 @@ Note you can only create rate-based rules using a CloudFormation template. To ad DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalRegexPatternSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalRegexPatternSet.ps1 index e28afac8b..b0ae42d7d 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalRegexPatternSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalRegexPatternSet.ps1 @@ -36,6 +36,23 @@ Note that you can only create regex pattern sets using a CloudFormation template 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. @@ -135,6 +152,9 @@ Note that you can only create regex pattern sets using a CloudFormation template DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalRule.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalRule.ps1 index b0170b515..7b9259fed 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalRule.ps1 @@ -47,6 +47,23 @@ To match the settings in this Rule, a request must originate from 192.0.2.44 AND 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. @@ -166,6 +183,9 @@ To match the settings in this Rule, a request must originate from 192.0.2.44 AND DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalSizeConstraintSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalSizeConstraintSet.ps1 index 518d94600..696690840 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalSizeConstraintSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalSizeConstraintSet.ps1 @@ -40,6 +40,23 @@ A complex type that contains SizeConstraint objects, which specify the parts of 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. @@ -148,6 +165,9 @@ A complex type that contains SizeConstraint objects, which specify the parts of DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalSqlInjectionMatchSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalSqlInjectionMatchSet.ps1 index 2d1549c96..95d095adc 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalSqlInjectionMatchSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalSqlInjectionMatchSet.ps1 @@ -40,6 +40,23 @@ A complex type that contains SqlInjectionMatchTuple objects, which specify the p 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. @@ -148,6 +165,9 @@ A complex type that contains SqlInjectionMatchTuple objects, which specify the p DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalWebACL.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalWebACL.ps1 index 9b4ca7281..f5905bb46 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalWebACL.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalWebACL.ps1 @@ -48,6 +48,23 @@ function New-VSWAFRegionalWebACL { 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. @@ -169,6 +186,9 @@ function New-VSWAFRegionalWebACL { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalWebACLAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalWebACLAssociation.ps1 index 8ed1dac98..3d61b06c8 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalWebACLAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalWebACLAssociation.ps1 @@ -33,6 +33,23 @@ function New-VSWAFRegionalWebACLAssociation { 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. @@ -141,6 +158,9 @@ function New-VSWAFRegionalWebACLAssociation { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRegionalXssMatchSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRegionalXssMatchSet.ps1 index 1dc5d171e..a77ec26e3 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRegionalXssMatchSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRegionalXssMatchSet.ps1 @@ -40,6 +40,23 @@ A complex type that contains XssMatchTuple objects, which specify the parts of w 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. @@ -148,6 +165,9 @@ A complex type that contains XssMatchTuple objects, which specify the parts of w DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFRule.ps1 b/VaporShell/Public/Resource Types/New-VSWAFRule.ps1 index a3ffd44b5..75d76caf8 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFRule.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFRule.ps1 @@ -48,6 +48,23 @@ To match the settings in this Rule, a request must originate from 192.0.2.44 AND 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. @@ -167,6 +184,9 @@ To match the settings in this Rule, a request must originate from 192.0.2.44 AND DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFSizeConstraintSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFSizeConstraintSet.ps1 index ed62b2484..8d99cc51b 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFSizeConstraintSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFSizeConstraintSet.ps1 @@ -41,6 +41,23 @@ A complex type that contains SizeConstraint objects, which specify the parts of 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. @@ -149,6 +166,9 @@ A complex type that contains SizeConstraint objects, which specify the parts of DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFSqlInjectionMatchSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFSqlInjectionMatchSet.ps1 index d192903f8..37569de7d 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFSqlInjectionMatchSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFSqlInjectionMatchSet.ps1 @@ -41,6 +41,23 @@ A complex type that contains SqlInjectionMatchTuple objects, which specify the p 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. @@ -149,6 +166,9 @@ A complex type that contains SqlInjectionMatchTuple objects, which specify the p DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFWebACL.ps1 b/VaporShell/Public/Resource Types/New-VSWAFWebACL.ps1 index cc00f29fc..59becd9c9 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFWebACL.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFWebACL.ps1 @@ -49,6 +49,23 @@ function New-VSWAFWebACL { 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. @@ -170,6 +187,9 @@ function New-VSWAFWebACL { DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFXssMatchSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFXssMatchSet.ps1 index 5906fc459..51d6f4200 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFXssMatchSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFXssMatchSet.ps1 @@ -41,6 +41,23 @@ A complex type that contains XssMatchTuple objects, which specify the parts of w 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. @@ -149,6 +166,9 @@ A complex type that contains XssMatchTuple objects, which specify the parts of w DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFv2IPSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFv2IPSet.ps1 index 954572357..3765855a7 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFv2IPSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFv2IPSet.ps1 @@ -75,6 +75,23 @@ For more information about CIDR notation, see the Wikipedia entry Classless Inte 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. @@ -210,6 +227,9 @@ For more information about CIDR notation, see the Wikipedia entry Classless Inte DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFv2RegexPatternSet.ps1 b/VaporShell/Public/Resource Types/New-VSWAFv2RegexPatternSet.ps1 index a78ad1b93..0fc79f67d 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFv2RegexPatternSet.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFv2RegexPatternSet.ps1 @@ -62,6 +62,23 @@ You use a regex pattern set by providing its Amazon Resource Name (ARN to the ru 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. @@ -186,6 +203,9 @@ You use a regex pattern set by providing its Amazon Resource Name (ARN to the ru DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFv2RuleGroup.ps1 b/VaporShell/Public/Resource Types/New-VSWAFv2RuleGroup.ps1 index 0a7d08d55..77030b2ab 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFv2RuleGroup.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFv2RuleGroup.ps1 @@ -78,6 +78,23 @@ AWS WAF uses WCUs to calculate and control the operating resources that are used 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. @@ -224,6 +241,9 @@ AWS WAF uses WCUs to calculate and control the operating resources that are used DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFv2WebACL.ps1 b/VaporShell/Public/Resource Types/New-VSWAFv2WebACL.ps1 index d6936bcb7..44e2ccb7f 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFv2WebACL.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFv2WebACL.ps1 @@ -74,6 +74,23 @@ Use an AWS::WAFv2::WebACL: #aws-resource-wafv2-webacl to define a collection of 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. @@ -211,6 +228,9 @@ Use an AWS::WAFv2::WebACL: #aws-resource-wafv2-webacl to define a collection of DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWAFv2WebACLAssociation.ps1 b/VaporShell/Public/Resource Types/New-VSWAFv2WebACLAssociation.ps1 index f92ff8e98..2e90bfd23 100644 --- a/VaporShell/Public/Resource Types/New-VSWAFv2WebACLAssociation.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWAFv2WebACLAssociation.ps1 @@ -42,6 +42,23 @@ The ARN must be in one of the following formats: 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. @@ -150,6 +167,9 @@ The ARN must be in one of the following formats: DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/VaporShell/Public/Resource Types/New-VSWorkSpacesWorkspace.ps1 b/VaporShell/Public/Resource Types/New-VSWorkSpacesWorkspace.ps1 index 37c647b05..a748a1fd5 100644 --- a/VaporShell/Public/Resource Types/New-VSWorkSpacesWorkspace.ps1 +++ b/VaporShell/Public/Resource Types/New-VSWorkSpacesWorkspace.ps1 @@ -79,6 +79,23 @@ Updates are not supported for the BundleId, RootVolumeEncryptionEnabled, UserVol 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. @@ -236,6 +253,9 @@ Updates are not supported for the BundleId, RootVolumeEncryptionEnabled, UserVol DeletionPolicy { $ResourceParams.Add("DeletionPolicy",$DeletionPolicy) } + UpdateReplacePolicy { + $ResourceParams.Add("UpdateReplacePolicy",$UpdateReplacePolicy) + } DependsOn { $ResourceParams.Add("DependsOn",$DependsOn) } diff --git a/ci/Convert-SpecToFunction.ps1 b/ci/Convert-SpecToFunction.ps1 index 3bfaf1c34..c405dce07 100644 --- a/ci/Convert-SpecToFunction.ps1 +++ b/ci/Convert-SpecToFunction.ps1 @@ -86,6 +86,23 @@ function $FunctionName { 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. @@ -407,6 +424,9 @@ function $FunctionName { DeletionPolicy { `$ResourceParams.Add("DeletionPolicy",`$DeletionPolicy) } + UpdateReplacePolicy { + `$ResourceParams.Add("UpdateReplacePolicy",`$UpdateReplacePolicy) + } DependsOn { `$ResourceParams.Add("DependsOn",`$DependsOn) }