Module: AWSCDK::RemovalPolicy
- Defined in:
- removal_policy.rb
Overview
Possible values for a resource's Removal Policy.
The removal policy controls what happens to the resource if it stops being managed by CloudFormation. This can happen in one of three situations:
- The resource is removed from the template, so CloudFormation stops managing it;
- A change to the resource is made that requires it to be replaced, so CloudFormation stops managing it;
- The stack is deleted, so CloudFormation stops managing all resources in it.
The Removal Policy applies to all above cases.
Many stateful resources in the AWS Construct Library will accept a
removal_policy as a property, typically defaulting it to RETAIN.
If the AWS Construct Library resource does not accept a removal_policy
argument, you can always configure it by using the escape hatch mechanism,
as shown in the following example:
bucket = nil # AWSCDK::S3::Bucket
cfn_bucket = bucket.node.find_child("Resource")
cfn_bucket.apply_removal_policy(AWSCDK::RemovalPolicy::DESTROY)
Constant Summary collapse
- DESTROY =
Deprecated.Note:
Default:
When this removal policy is applied, the resource will be physically destroyed when it is removed from the stack or when the stack is deleted.
Jsii::Enum.new("aws-cdk-lib.RemovalPolicy", "DESTROY")
- RETAIN =
Deprecated.Note:
Default:
This uses the 'Retain' DeletionPolicy, which will cause the resource to be retained in the account, but orphaned from the stack.
Most resources default to this removal policy.
Jsii::Enum.new("aws-cdk-lib.RemovalPolicy", "RETAIN")
- SNAPSHOT =
Deprecated.Note:
Default:
This retention policy deletes the resource, but saves a snapshot of its data before deleting, so that it can be re-created later.
Only available for some stateful resources, like databases, EC2 volumes, etc.
Jsii::Enum.new("aws-cdk-lib.RemovalPolicy", "SNAPSHOT")
- RETAIN_ON_UPDATE_OR_DELETE =
Deprecated.Note:
Default:
Resource will be retained when they are requested to be deleted during a stack delete request or need to be replaced due to a stack update request.
Resource are not retained, if the creation is rolled back.
The result is that new, empty, and unused resources are deleted, while in-use resources and their data are retained.
This uses the 'RetainExceptOnCreate' DeletionPolicy, and the 'Retain' UpdateReplacePolicy, when
apply_to_update_replace_policyis set. Jsii::Enum.new("aws-cdk-lib.RemovalPolicy", "RETAIN_ON_UPDATE_OR_DELETE")