@awboost/cfntypes 1.0.0-beta.41 → 1.0.0-beta.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/lib/{ResourceDefinition.d.ts → definitions.d.ts} +160 -6
  2. package/lib/policies.d.ts +460 -0
  3. package/lib/{DeletionPolicy.js → policies.js} +3 -3
  4. package/lib/{types.generated.d.ts → resources.generated.d.ts} +270 -419
  5. package/lib/{types.generated.js → resources.generated.js} +12 -4
  6. package/lib/{Template.d.ts → template.d.ts} +3 -7
  7. package/lib/{Fn.d.ts → util.d.ts} +78 -0
  8. package/lib/{Fn.js → util.js} +111 -23
  9. package/package.json +23 -35
  10. package/README.md +0 -39
  11. package/lib/AutoScalingReplacingUpdatePolicy.d.ts +0 -30
  12. package/lib/AutoScalingRollingUpdatePolicy.d.ts +0 -107
  13. package/lib/AutoScalingRollingUpdatePolicy.js +0 -20
  14. package/lib/AutoScalingScheduledActionPolicy.d.ts +0 -35
  15. package/lib/AutoScalingScheduledActionPolicy.js +0 -23
  16. package/lib/AwsParam.d.ts +0 -73
  17. package/lib/AwsParam.js +0 -89
  18. package/lib/CodeDeployLambdaAliasUpdatePolicy.d.ts +0 -26
  19. package/lib/CreationPolicy.d.ts +0 -71
  20. package/lib/CreationPolicy.js +0 -1
  21. package/lib/DeletionPolicy.d.ts +0 -84
  22. package/lib/OutputDefinition.d.ts +0 -38
  23. package/lib/OutputDefinition.js +0 -1
  24. package/lib/ParameterDefinition.d.ts +0 -78
  25. package/lib/ParameterDefinition.js +0 -1
  26. package/lib/ResourceDefinition.js +0 -1
  27. package/lib/RuleDefinition.d.ts +0 -43
  28. package/lib/RuleDefinition.js +0 -1
  29. package/lib/Template.js +0 -1
  30. package/lib/TemplateMap.d.ts +0 -6
  31. package/lib/TemplateMap.js +0 -1
  32. package/lib/UpdatePolicy.d.ts +0 -111
  33. package/lib/UpdatePolicy.js +0 -1
  34. package/lib/cjs/AutoScalingReplacingUpdatePolicy.js +0 -2
  35. package/lib/cjs/AutoScalingRollingUpdatePolicy.js +0 -21
  36. package/lib/cjs/AutoScalingScheduledActionPolicy.js +0 -24
  37. package/lib/cjs/AwsParam.js +0 -93
  38. package/lib/cjs/CodeDeployLambdaAliasUpdatePolicy.js +0 -2
  39. package/lib/cjs/CreationPolicy.js +0 -2
  40. package/lib/cjs/DeletionPolicy.js +0 -86
  41. package/lib/cjs/Fn.js +0 -414
  42. package/lib/cjs/OutputDefinition.js +0 -2
  43. package/lib/cjs/ParameterDefinition.js +0 -2
  44. package/lib/cjs/ResourceDefinition.js +0 -2
  45. package/lib/cjs/RuleDefinition.js +0 -2
  46. package/lib/cjs/Template.js +0 -2
  47. package/lib/cjs/TemplateMap.js +0 -2
  48. package/lib/cjs/UpdatePolicy.js +0 -2
  49. package/lib/cjs/index.js +0 -33
  50. package/lib/cjs/types.generated.js +0 -2280
  51. package/lib/index.d.ts +0 -16
  52. package/lib/index.js +0 -17
  53. /package/lib/{AutoScalingReplacingUpdatePolicy.js → definitions.js} +0 -0
  54. /package/lib/{CodeDeployLambdaAliasUpdatePolicy.js → template.js} +0 -0
@@ -1,43 +0,0 @@
1
- import { IntrinsicValue } from './Fn.js';
2
- /**
3
- * Definition for a rule assertion.
4
- *
5
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/rules-section-structure.html#template-constraint-rules-syntax | Rules syntax}
6
- */
7
- export interface RuleAssertion {
8
- /**
9
- * Rule-specific intrinsic function.
10
- *
11
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/rules-section-structure.html#rules-specific-intrinsic-section-structure | Rule-specific intrinsic functions
12
- }
13
- */
14
- Assert: IntrinsicValue;
15
- /**
16
- * Information about this assert.
17
- */
18
- AssertDescription?: string;
19
- }
20
- /**
21
- * Each template rule consists of two properties:
22
- *
23
- * - Rule condition (optional) — determines when a rule takes effect.
24
- * - Assertions (required) — describes what values users can specify for a
25
- * particular parameter.
26
- *
27
- * A rule can include a `RuleCondition` property and must include an Assertions
28
- * property. For each rule, you can define only one rule condition. You can
29
- * define one or more asserts within the `Assertions` property. If you don't
30
- * define a rule condition, the rule's assertions always take effect.
31
- *
32
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/rules-section-structure.html#w2ab1c23c15c19b5 | Working with rules}
33
- */
34
- export interface RuleDefinition {
35
- /**
36
- * Describes what values users can specify for a particular parameter.
37
- */
38
- Assertions: RuleAssertion[];
39
- /**
40
- * Determines when a rule takes effect.
41
- */
42
- RuleCondition?: IntrinsicValue;
43
- }
@@ -1 +0,0 @@
1
- export {};
package/lib/Template.js DELETED
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- /**
2
- * A key-value map.
3
- */
4
- export interface TemplateMap<T> {
5
- [key: string]: T;
6
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,111 +0,0 @@
1
- import { AutoScalingReplacingUpdatePolicy } from './AutoScalingReplacingUpdatePolicy.js';
2
- import { AutoScalingRollingUpdatePolicy } from './AutoScalingRollingUpdatePolicy.js';
3
- import { AutoScalingScheduledActionPolicy } from './AutoScalingScheduledActionPolicy.js';
4
- import { CodeDeployLambdaAliasUpdatePolicy } from './CodeDeployLambdaAliasUpdatePolicy.js';
5
- /**
6
- * Use the `UpdatePolicy` attribute to specify how AWS CloudFormation handles
7
- * updates to the `AWS::AppStream::Fleet`,
8
- * `AWS::AutoScaling::AutoScalingGroup`, ``AWS::ElastiCache::ReplicationGroup``,
9
- * `AWS::OpenSearchService::Domain`, `AWS::Elasticsearch::Domain`, or
10
- * `AWS::Lambda::Alias resources`.
11
- *
12
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html | UpdatePolicy attribute}
13
- */
14
- export interface UpdatePolicy {
15
- /**
16
- * To specify how AWS CloudFormation handles replacement updates for an Auto
17
- * Scaling group, use the AutoScalingReplacingUpdate policy. This policy
18
- * enables you to specify whether AWS CloudFormation replaces an Auto Scaling
19
- * group with a new one or replaces only the instances in the Auto Scaling
20
- * group.
21
- *
22
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-replacingupdate | AutoScalingReplacing update policy}
23
- */
24
- AutoScalingReplacing?: AutoScalingReplacingUpdatePolicy;
25
- /**
26
- * To specify how CloudFormation handles rolling updates for an Auto Scaling
27
- * group, use the `AutoScalingRollingUpdate` policy. Rolling updates enable
28
- * you to specify whether AWS CloudFormation updates instances that are in an
29
- * Auto Scaling group in batches or all at once.
30
- *
31
- * Be aware that, during stack update rollback operations, CloudFormation uses
32
- * the `UpdatePolicy` configuration specified in the template before the
33
- * current stack update operation. For example, suppose you have updated the
34
- * `MaxBatchSize` in your stack template's `UpdatePolicy` from 1 to 10. You
35
- * then perform a stack update, and that update fails and CloudFormation
36
- * initiates an update rollback operation. In such a case, CloudFormation will
37
- * use 1 as the maximum batch size, rather than 10. For this reason, we
38
- * recommend you make changes to the UpdatePolicy configuration in a stack
39
- * update separate from and before any updates to the
40
- * `AWS::AutoScaling::AutoScalingGroup` resource that are likely to initiate
41
- * rolling updates.
42
- *
43
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-rollingupdate | AutoScalingRollingUpdate policy}
44
- */
45
- AutoScalingRollingUpdate?: AutoScalingRollingUpdatePolicy;
46
- /**
47
- * To specify how AWS CloudFormation handles updates for the `MinSize`,
48
- * `MaxSize`, and `DesiredCapacity` properties when the
49
- * `AWS::AutoScaling::AutoScalingGroup` resource has an associated scheduled
50
- * action, use the `AutoScalingScheduledAction` policy.
51
- *
52
- * With scheduled actions, the group size properties of an Auto Scaling group
53
- * can change at any time. When you update a stack with an Auto Scaling group
54
- * and scheduled action, CloudFormation always sets the group size property
55
- * values of your Auto Scaling group to the values that are defined in the
56
- * `AWS::AutoScaling::AutoScalingGroup` resource of your template, even if a
57
- * scheduled action is in effect.
58
- *
59
- * If you don't want CloudFormation to change any of the group size property
60
- * values when you have a scheduled action in effect, use the
61
- * `AutoScalingScheduledAction` update policy and set
62
- * `IgnoreUnmodifiedGroupSizeProperties` to true to prevent CloudFormation
63
- * from changing the `MinSize`, `MaxSize`, or `DesiredCapacity` properties
64
- * unless you have modified these values in your template.
65
- *
66
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-scheduledactions | AutoScalingScheduledAction policy}
67
- */
68
- AutoScalingScheduledAction?: AutoScalingScheduledActionPolicy;
69
- /**
70
- * To perform an CodeDeploy deployment when the version changes on an
71
- * `AWS::Lambda::Alias` resource, use the `CodeDeployLambdaAliasUpdate` update
72
- * policy.
73
- *
74
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate | CodeDeployLambdaAlias update policy}
75
- */
76
- CodeDeployLambdaAliasUpdate?: CodeDeployLambdaAliasUpdatePolicy;
77
- /**
78
- * To upgrade an OpenSearch Service domain to a new version of OpenSearch or
79
- * Elasticsearch rather than replacing the entire
80
- * `AWS::OpenSearchService::Domain` or `AWS::Elasticsearch::Domain` resource, use
81
- * the `EnableVersionUpgrade` update policy.
82
- *
83
- * If `EnableVersionUpgrade` is set to true, you can update the `EngineVersion`
84
- * property of the `AWS::OpenSearchService::Domain` resource (or the
85
- * `ElasticsearchVersion` property of the legacy `AWS::Elasticsearch::Domain`
86
- * resource), and CloudFormation will update that property without
87
- * interruption. When `EnableVersionUpgrade` is set to false, or not specified,
88
- * updating the `EngineVersion` or `ElasticsearchVersion` property results in
89
- * CloudFormation replacing the entire
90
- * `AWS::OpenSearchService::Domain`/`AWS::Elasticsearch::Domain` resource.
91
- *
92
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeopensearchdomain | EnableVersionUpgrade policy}
93
- */
94
- EnableVersionUpgrade?: boolean;
95
- /**
96
- * To modify a replication group's shards by adding or removing shards, rather
97
- * than replacing the entire `AWS::ElastiCache::ReplicationGroup` resource,
98
- * use the `UseOnlineResharding` update policy.
99
- *
100
- * If `UseOnlineResharding` is set to true, you can update the `NumNodeGroups`
101
- * and `NodeGroupConfiguration` properties of the
102
- * `AWS::ElastiCache::ReplicationGroup` resource, and CloudFormation will
103
- * update those properties without interruption. When `UseOnlineResharding` is
104
- * set to false, or not specified, updating the `NumNodeGroups` and
105
- * `NodeGroupConfiguration` properties results in CloudFormation replacing the
106
- * entire `AWS::ElastiCache::ReplicationGroup` resource.
107
- *
108
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-useonlineresharding | UseOnlineResharding policy}
109
- */
110
- UseOnlineResharding?: boolean;
111
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,21 +0,0 @@
1
- "use strict";
2
- /**
3
- * To specify how CloudFormation handles rolling updates for an Auto Scaling
4
- * group, use the `AutoScalingRollingUpdate` policy. Rolling updates enable you
5
- * to specify whether AWS CloudFormation updates instances that are in an Auto
6
- * Scaling group in batches or all at once.
7
- *
8
- * Be aware that, during stack update rollback operations, CloudFormation uses
9
- * the `UpdatePolicy` configuration specified in the template before the current
10
- * stack update operation. For example, suppose you have updated the
11
- * `MaxBatchSize` in your stack template's `UpdatePolicy` from 1 to 10. You then
12
- * perform a stack update, and that update fails and CloudFormation initiates an
13
- * update rollback operation. In such a case, CloudFormation will use 1 as the
14
- * maximum batch size, rather than 10. For this reason, we recommend you make
15
- * changes to the UpdatePolicy configuration in a stack update separate from and
16
- * before any updates to the `AWS::AutoScaling::AutoScalingGroup` resource that
17
- * are likely to initiate rolling updates.
18
- *
19
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-rollingupdate | AutoScalingRollingUpdate policy}
20
- */
21
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,24 +0,0 @@
1
- "use strict";
2
- /**
3
- * To specify how AWS CloudFormation handles updates for the `MinSize`,
4
- * `MaxSize`, and `DesiredCapacity` properties when the
5
- * `AWS::AutoScaling::AutoScalingGroup` resource has an associated scheduled
6
- * action, use the `AutoScalingScheduledAction` policy.
7
- *
8
- * With scheduled actions, the group size properties of an Auto Scaling group
9
- * can change at any time. When you update a stack with an Auto Scaling group
10
- * and scheduled action, CloudFormation always sets the group size property
11
- * values of your Auto Scaling group to the values that are defined in the
12
- * `AWS::AutoScaling::AutoScalingGroup` resource of your template, even if a
13
- * scheduled action is in effect.
14
- *
15
- * If you don't want CloudFormation to change any of the group size property
16
- * values when you have a scheduled action in effect, use the
17
- * `AutoScalingScheduledAction` update policy and set
18
- * `IgnoreUnmodifiedGroupSizeProperties` to true to prevent CloudFormation from
19
- * changing the `MinSize`, `MaxSize`, or `DesiredCapacity` properties unless you
20
- * have modified these values in your template.
21
- *
22
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-scheduledactions | AutoScalingScheduledAction policy}
23
- */
24
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AwsParam = void 0;
4
- const Fn_js_1 = require("./Fn.js");
5
- /**
6
- * Pseudo parameters are parameters that are predefined by AWS CloudFormation.
7
- * You don't declare them in your template. Use them the same way as you would a
8
- * parameter, as the argument for the Ref function.
9
- *
10
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html | Psuedo Parameter Reference}
11
- */
12
- class AwsParam {
13
- /**
14
- * Returns the AWS account ID of the account in which the stack is being
15
- * created, such as `123456789012`.
16
- *
17
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-accountid | AWS::AccountId}
18
- */
19
- static get AccountId() {
20
- return Fn_js_1.Fn.Ref('AWS::AccountId');
21
- }
22
- /**
23
- * Returns the list of notification Amazon Resource Names (ARNs) for the
24
- * current stack.
25
- *
26
- * To get a single ARN from the list, use {@link Fn.Split}.
27
- *
28
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-notificationarns | AWS::NotificationARNs}
29
- */
30
- static get NotificationARNs() {
31
- return Fn_js_1.Fn.Ref('AWS::NotificationARNs');
32
- }
33
- /**
34
- * Removes the corresponding resource property when specified as a return
35
- * value in the `Fn::If` intrinsic function.
36
- *
37
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-novalue | AWS::NoValue}
38
- */
39
- static get NoValue() {
40
- return Fn_js_1.Fn.Ref('AWS::NoValue');
41
- }
42
- /**
43
- * Returns the partition that the resource is in. For standard AWS Regions,
44
- * the partition is `aws`. For resources in other partitions, the partition is
45
- * `aws-partitionname`. For example, the partition for resources in the China
46
- * (Beijing and Ningxia) Region is `aws-cn` and the partition for resources in
47
- * the AWS GovCloud (US-West) region is `aws-us-gov`.
48
- *
49
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-partition | AWS::Partition}
50
- */
51
- static get Partition() {
52
- return Fn_js_1.Fn.Ref('AWS::Partition');
53
- }
54
- /**
55
- * Returns a string representing the Region in which the encompassing resource
56
- * is being created, such as `us-west-2`.
57
- *
58
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-region | AWS::Region}
59
- */
60
- static get Region() {
61
- return Fn_js_1.Fn.Ref('AWS::Region');
62
- }
63
- /**
64
- * Returns the ID of the stack as specified with the aws cloudformation
65
- * create-stack command, such as
66
- * `arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123`.
67
- *
68
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-stackid | AWS::StackId}
69
- */
70
- static get StackId() {
71
- return Fn_js_1.Fn.Ref('AWS::StackId');
72
- }
73
- /**
74
- * Returns the name of the stack as specified with the aws cloudformation
75
- * `create-stack` command, such as `teststack`.
76
- *
77
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-stackname | AWS::StackName}
78
- */
79
- static get StackName() {
80
- return Fn_js_1.Fn.Ref('AWS::StackName');
81
- }
82
- /**
83
- * Returns the suffix for a domain. The suffix is typically `amazonaws.com`,
84
- * but might differ by Region. For example, the suffix for the China (Beijing)
85
- * Region is `amazonaws.com.cn`.
86
- *
87
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-urlsuffix | AWS::URLSuffix}
88
- */
89
- static get URLSuffix() {
90
- return Fn_js_1.Fn.Ref('AWS::URLSuffix');
91
- }
92
- }
93
- exports.AwsParam = AwsParam;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeletionPolicy = void 0;
4
- /**
5
- * With the `DeletionPolicy` attribute you can preserve, and in some cases,
6
- * backup a resource when its stack is deleted. You specify a `DeletionPolicy`
7
- * attribute for each resource that you want to control. If a resource has no
8
- * `DeletionPolicy` attribute, AWS CloudFormation deletes the resource by
9
- * default, except for:
10
- *
11
- * - For `AWS::RDS::DBCluster resources`, the default policy is `Snapshot`.
12
- * - For `AWS::RDS::DBInstance` resources that don't specify the
13
- * `DBClusterIdentifier` property, the default policy is `Snapshot`.
14
- * - For Amazon S3 buckets, you must delete all objects in the bucket for
15
- * deletion to succeed.
16
- *
17
- * This capability also applies to stack update operations that lead to
18
- * resources being deleted from stacks. For example, if you remove the resource
19
- * from the stack template, and then update the stack with the template. This
20
- * capability doesn't apply to resources whose physical instance is replaced
21
- * during stack update operations. For example, if you edit a resource's
22
- * properties such that CloudFormation replaces that resource during a stack
23
- * update.
24
- *
25
- * To keep a resource when its stack is deleted, specify Retain for that
26
- * resource. You can use retain for any resource. For example, you can retain a
27
- * nested stack, Amazon S3 bucket, or EC2 instance so that you can continue to
28
- * use or modify those resources after you delete their stacks.
29
- *
30
- * For resources that support snapshots, such as `AWS::EC2::Volume`, specify
31
- * Snapshot to have CloudFormation create a snapshot before deleting the
32
- * resource.
33
- *
34
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html | DeletionPolicy attribute}
35
- */
36
- exports.DeletionPolicy = {
37
- /**
38
- * CloudFormation deletes the resource and all its content if applicable
39
- * during stack deletion. You can add this deletion policy to any resource
40
- * type. By default, if you don't specify a `DeletionPolicy`, CloudFormation
41
- * deletes your resources. However, be aware of the following considerations:
42
- *
43
- * - For `AWS::RDS::DBCluster resources`, the default policy is `Snapshot`.
44
- * - For `AWS::RDS::DBInstance` resources that don't specify the
45
- * `DBClusterIdentifier` property, the default policy is `Snapshot`.
46
- *
47
- * For Amazon S3 buckets, you must delete all objects in the bucket for
48
- * deletion to succeed.
49
- */
50
- Delete: 'Delete',
51
- /**
52
- * CloudFormation keeps the resource without deleting the resource or its
53
- * contents when its stack is deleted. You can add this deletion policy to any
54
- * resource type. When CloudFormation completes the stack deletion, the stack
55
- * will be in `Delete_Complete` state; however, resources that are retained
56
- * continue to exist and continue to incur applicable charges until you delete
57
- * those resources.
58
- *
59
- * For update operations, the following considerations apply:
60
- *
61
- * - If a resource is deleted, the `DeletionPolicy` retains the physical
62
- * resource but ensures that it's deleted from CloudFormation's scope.
63
- * - If a resource is updated such that a new physical resource is created to
64
- * replace the old resource, then the old resource is completely deleted,
65
- * including from CloudFormation's scope.
66
- */
67
- Retain: 'Retain',
68
- /**
69
- * For resources that support snapshots, CloudFormation creates a snapshot for
70
- * the resource before deleting it. When CloudFormation completes the stack
71
- * deletion, the stack will be in the `Delete_Complete` state; however, the
72
- * snapshots that are created with this policy continue to exist and continue
73
- * to incur applicable charges until you delete those snapshots.
74
- *
75
- * Resources that support snapshots include:
76
- *
77
- * - `AWS::EC2::Volume`
78
- * - `AWS::ElastiCache::CacheCluster`
79
- * - `AWS::ElastiCache::ReplicationGroup`
80
- * - `AWS::Neptune::DBCluster`
81
- * - `AWS::RDS::DBCluster`
82
- * - `AWS::RDS::DBInstance`
83
- * - `AWS::Redshift::Cluster`
84
- */
85
- Snapshot: 'Snapshot',
86
- };