@aws-sdk/client-dlm 3.181.0 → 3.182.0

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.182.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.181.0...v3.182.0) (2022-09-30)
7
+
8
+
9
+ ### Features
10
+
11
+ * **client-dlm:** This release adds support for archival of single-volume snapshots created by Amazon Data Lifecycle Manager policies ([a88a887](https://github.com/aws/aws-sdk-js-v3/commit/a88a88710933a67d956f02e85d6cf11296143410))
12
+
13
+
14
+
15
+
16
+
6
17
  # [3.181.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.180.0...v3.181.0) (2022-09-29)
7
18
 
8
19
 
package/README.md CHANGED
@@ -14,9 +14,9 @@ AWS SDK for JavaScript DLM Client for Node.js, Browser and React Native.
14
14
  <p>With Amazon Data Lifecycle Manager, you can manage the lifecycle of your Amazon Web Services resources. You create
15
15
  lifecycle policies, which are used to automate operations on the specified
16
16
  resources.</p>
17
- <p>Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM
18
- with Amazon EBS, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html">Automating the Amazon EBS
19
- Snapshot Lifecycle</a> in the <i>Amazon EC2 User Guide</i>.</p>
17
+ <p>Amazon Data Lifecycle Manager supports Amazon EBS volumes and snapshots. For information about using Amazon Data Lifecycle Manager
18
+ with Amazon EBS, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html">
19
+ Amazon Data Lifecycle Manager</a> in the <i>Amazon EC2 User Guide</i>.</p>
20
20
 
21
21
  ## Installing
22
22
 
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateLifecyclePolicyResponseFilterSensitiveLog = exports.UpdateLifecyclePolicyRequestFilterSensitiveLog = exports.UntagResourceResponseFilterSensitiveLog = exports.UntagResourceRequestFilterSensitiveLog = exports.TagResourceResponseFilterSensitiveLog = exports.TagResourceRequestFilterSensitiveLog = exports.ListTagsForResourceResponseFilterSensitiveLog = exports.ListTagsForResourceRequestFilterSensitiveLog = exports.GetLifecyclePolicyResponseFilterSensitiveLog = exports.LifecyclePolicyFilterSensitiveLog = exports.GetLifecyclePolicyRequestFilterSensitiveLog = exports.GetLifecyclePoliciesResponseFilterSensitiveLog = exports.LifecyclePolicySummaryFilterSensitiveLog = exports.GetLifecyclePoliciesRequestFilterSensitiveLog = exports.DeleteLifecyclePolicyResponseFilterSensitiveLog = exports.DeleteLifecyclePolicyRequestFilterSensitiveLog = exports.CreateLifecyclePolicyResponseFilterSensitiveLog = exports.CreateLifecyclePolicyRequestFilterSensitiveLog = exports.PolicyDetailsFilterSensitiveLog = exports.ScheduleFilterSensitiveLog = exports.ShareRuleFilterSensitiveLog = exports.RetainRuleFilterSensitiveLog = exports.FastRestoreRuleFilterSensitiveLog = exports.DeprecateRuleFilterSensitiveLog = exports.CrossRegionCopyRuleFilterSensitiveLog = exports.CrossRegionCopyDeprecateRuleFilterSensitiveLog = exports.CreateRuleFilterSensitiveLog = exports._ParametersFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.EventSourceFilterSensitiveLog = exports.EventParametersFilterSensitiveLog = exports.ActionFilterSensitiveLog = exports.CrossRegionCopyActionFilterSensitiveLog = exports.CrossRegionCopyRetainRuleFilterSensitiveLog = exports.EncryptionConfigurationFilterSensitiveLog = exports.GettablePolicyStateValues = exports.ResourceNotFoundException = exports.LimitExceededException = exports.InvalidRequestException = exports.InternalServerException = exports.SettablePolicyStateValues = exports.LocationValues = exports.IntervalUnitValues = exports.ResourceTypeValues = exports.ResourceLocationValues = exports.PolicyTypeValues = exports.EventSourceValues = exports.EventTypeValues = exports.RetentionIntervalUnitValues = void 0;
3
+ exports.UntagResourceResponseFilterSensitiveLog = exports.UntagResourceRequestFilterSensitiveLog = exports.TagResourceResponseFilterSensitiveLog = exports.TagResourceRequestFilterSensitiveLog = exports.ListTagsForResourceResponseFilterSensitiveLog = exports.ListTagsForResourceRequestFilterSensitiveLog = exports.GetLifecyclePolicyResponseFilterSensitiveLog = exports.LifecyclePolicyFilterSensitiveLog = exports.GetLifecyclePolicyRequestFilterSensitiveLog = exports.GetLifecyclePoliciesResponseFilterSensitiveLog = exports.LifecyclePolicySummaryFilterSensitiveLog = exports.GetLifecyclePoliciesRequestFilterSensitiveLog = exports.DeleteLifecyclePolicyResponseFilterSensitiveLog = exports.DeleteLifecyclePolicyRequestFilterSensitiveLog = exports.CreateLifecyclePolicyResponseFilterSensitiveLog = exports.CreateLifecyclePolicyRequestFilterSensitiveLog = exports.PolicyDetailsFilterSensitiveLog = exports.ScheduleFilterSensitiveLog = exports.ShareRuleFilterSensitiveLog = exports.RetainRuleFilterSensitiveLog = exports.FastRestoreRuleFilterSensitiveLog = exports.DeprecateRuleFilterSensitiveLog = exports.CrossRegionCopyRuleFilterSensitiveLog = exports.CrossRegionCopyDeprecateRuleFilterSensitiveLog = exports.CreateRuleFilterSensitiveLog = exports._ParametersFilterSensitiveLog = exports.TagFilterSensitiveLog = exports.EventSourceFilterSensitiveLog = exports.EventParametersFilterSensitiveLog = exports.ArchiveRuleFilterSensitiveLog = exports.ArchiveRetainRuleFilterSensitiveLog = exports.RetentionArchiveTierFilterSensitiveLog = exports.ActionFilterSensitiveLog = exports.CrossRegionCopyActionFilterSensitiveLog = exports.CrossRegionCopyRetainRuleFilterSensitiveLog = exports.EncryptionConfigurationFilterSensitiveLog = exports.GettablePolicyStateValues = exports.ResourceNotFoundException = exports.LimitExceededException = exports.InvalidRequestException = exports.InternalServerException = exports.SettablePolicyStateValues = exports.LocationValues = exports.IntervalUnitValues = exports.ResourceTypeValues = exports.ResourceLocationValues = exports.PolicyTypeValues = exports.EventSourceValues = exports.EventTypeValues = exports.RetentionIntervalUnitValues = void 0;
4
+ exports.UpdateLifecyclePolicyResponseFilterSensitiveLog = exports.UpdateLifecyclePolicyRequestFilterSensitiveLog = void 0;
4
5
  const DLMServiceException_1 = require("./DLMServiceException");
5
6
  var RetentionIntervalUnitValues;
6
7
  (function (RetentionIntervalUnitValues) {
@@ -134,6 +135,18 @@ const ActionFilterSensitiveLog = (obj) => ({
134
135
  ...obj,
135
136
  });
136
137
  exports.ActionFilterSensitiveLog = ActionFilterSensitiveLog;
138
+ const RetentionArchiveTierFilterSensitiveLog = (obj) => ({
139
+ ...obj,
140
+ });
141
+ exports.RetentionArchiveTierFilterSensitiveLog = RetentionArchiveTierFilterSensitiveLog;
142
+ const ArchiveRetainRuleFilterSensitiveLog = (obj) => ({
143
+ ...obj,
144
+ });
145
+ exports.ArchiveRetainRuleFilterSensitiveLog = ArchiveRetainRuleFilterSensitiveLog;
146
+ const ArchiveRuleFilterSensitiveLog = (obj) => ({
147
+ ...obj,
148
+ });
149
+ exports.ArchiveRuleFilterSensitiveLog = ArchiveRuleFilterSensitiveLog;
137
150
  const EventParametersFilterSensitiveLog = (obj) => ({
138
151
  ...obj,
139
152
  });
@@ -585,6 +585,18 @@ const serializeAws_restJson1ActionList = (input, context) => {
585
585
  return serializeAws_restJson1Action(entry, context);
586
586
  });
587
587
  };
588
+ const serializeAws_restJson1ArchiveRetainRule = (input, context) => {
589
+ return {
590
+ ...(input.RetentionArchiveTier != null && {
591
+ RetentionArchiveTier: serializeAws_restJson1RetentionArchiveTier(input.RetentionArchiveTier, context),
592
+ }),
593
+ };
594
+ };
595
+ const serializeAws_restJson1ArchiveRule = (input, context) => {
596
+ return {
597
+ ...(input.RetainRule != null && { RetainRule: serializeAws_restJson1ArchiveRetainRule(input.RetainRule, context) }),
598
+ };
599
+ };
588
600
  const serializeAws_restJson1AvailabilityZoneList = (input, context) => {
589
601
  return input
590
602
  .filter((e) => e != null)
@@ -744,8 +756,16 @@ const serializeAws_restJson1RetainRule = (input, context) => {
744
756
  ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
745
757
  };
746
758
  };
759
+ const serializeAws_restJson1RetentionArchiveTier = (input, context) => {
760
+ return {
761
+ ...(input.Count != null && { Count: input.Count }),
762
+ ...(input.Interval != null && { Interval: input.Interval }),
763
+ ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
764
+ };
765
+ };
747
766
  const serializeAws_restJson1Schedule = (input, context) => {
748
767
  return {
768
+ ...(input.ArchiveRule != null && { ArchiveRule: serializeAws_restJson1ArchiveRule(input.ArchiveRule, context) }),
749
769
  ...(input.CopyTags != null && { CopyTags: input.CopyTags }),
750
770
  ...(input.CreateRule != null && { CreateRule: serializeAws_restJson1CreateRule(input.CreateRule, context) }),
751
771
  ...(input.CrossRegionCopyRules != null && {
@@ -867,6 +887,18 @@ const deserializeAws_restJson1ActionList = (output, context) => {
867
887
  });
868
888
  return retVal;
869
889
  };
890
+ const deserializeAws_restJson1ArchiveRetainRule = (output, context) => {
891
+ return {
892
+ RetentionArchiveTier: output.RetentionArchiveTier != null
893
+ ? deserializeAws_restJson1RetentionArchiveTier(output.RetentionArchiveTier, context)
894
+ : undefined,
895
+ };
896
+ };
897
+ const deserializeAws_restJson1ArchiveRule = (output, context) => {
898
+ return {
899
+ RetainRule: output.RetainRule != null ? deserializeAws_restJson1ArchiveRetainRule(output.RetainRule, context) : undefined,
900
+ };
901
+ };
870
902
  const deserializeAws_restJson1AvailabilityZoneList = (output, context) => {
871
903
  const retVal = (output || [])
872
904
  .filter((e) => e != null)
@@ -1110,8 +1142,16 @@ const deserializeAws_restJson1RetainRule = (output, context) => {
1110
1142
  IntervalUnit: (0, smithy_client_1.expectString)(output.IntervalUnit),
1111
1143
  };
1112
1144
  };
1145
+ const deserializeAws_restJson1RetentionArchiveTier = (output, context) => {
1146
+ return {
1147
+ Count: (0, smithy_client_1.expectInt32)(output.Count),
1148
+ Interval: (0, smithy_client_1.expectInt32)(output.Interval),
1149
+ IntervalUnit: (0, smithy_client_1.expectString)(output.IntervalUnit),
1150
+ };
1151
+ };
1113
1152
  const deserializeAws_restJson1Schedule = (output, context) => {
1114
1153
  return {
1154
+ ArchiveRule: output.ArchiveRule != null ? deserializeAws_restJson1ArchiveRule(output.ArchiveRule, context) : undefined,
1115
1155
  CopyTags: (0, smithy_client_1.expectBoolean)(output.CopyTags),
1116
1156
  CreateRule: output.CreateRule != null ? deserializeAws_restJson1CreateRule(output.CreateRule, context) : undefined,
1117
1157
  CrossRegionCopyRules: output.CrossRegionCopyRules != null
@@ -116,6 +116,9 @@ export var EncryptionConfigurationFilterSensitiveLog = function (obj) { return (
116
116
  export var CrossRegionCopyRetainRuleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
117
117
  export var CrossRegionCopyActionFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
118
118
  export var ActionFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
119
+ export var RetentionArchiveTierFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
120
+ export var ArchiveRetainRuleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
121
+ export var ArchiveRuleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
119
122
  export var EventParametersFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
120
123
  export var EventSourceFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
121
124
  export var TagFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
@@ -793,6 +793,14 @@ var serializeAws_restJson1ActionList = function (input, context) {
793
793
  return serializeAws_restJson1Action(entry, context);
794
794
  });
795
795
  };
796
+ var serializeAws_restJson1ArchiveRetainRule = function (input, context) {
797
+ return __assign({}, (input.RetentionArchiveTier != null && {
798
+ RetentionArchiveTier: serializeAws_restJson1RetentionArchiveTier(input.RetentionArchiveTier, context),
799
+ }));
800
+ };
801
+ var serializeAws_restJson1ArchiveRule = function (input, context) {
802
+ return __assign({}, (input.RetainRule != null && { RetainRule: serializeAws_restJson1ArchiveRetainRule(input.RetainRule, context) }));
803
+ };
796
804
  var serializeAws_restJson1AvailabilityZoneList = function (input, context) {
797
805
  return input
798
806
  .filter(function (e) { return e != null; })
@@ -892,8 +900,11 @@ var serializeAws_restJson1ResourceTypeValuesList = function (input, context) {
892
900
  var serializeAws_restJson1RetainRule = function (input, context) {
893
901
  return __assign(__assign(__assign({}, (input.Count != null && { Count: input.Count })), (input.Interval != null && { Interval: input.Interval })), (input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }));
894
902
  };
903
+ var serializeAws_restJson1RetentionArchiveTier = function (input, context) {
904
+ return __assign(__assign(__assign({}, (input.Count != null && { Count: input.Count })), (input.Interval != null && { Interval: input.Interval })), (input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }));
905
+ };
895
906
  var serializeAws_restJson1Schedule = function (input, context) {
896
- return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.CopyTags != null && { CopyTags: input.CopyTags })), (input.CreateRule != null && { CreateRule: serializeAws_restJson1CreateRule(input.CreateRule, context) })), (input.CrossRegionCopyRules != null && {
907
+ return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.ArchiveRule != null && { ArchiveRule: serializeAws_restJson1ArchiveRule(input.ArchiveRule, context) })), (input.CopyTags != null && { CopyTags: input.CopyTags })), (input.CreateRule != null && { CreateRule: serializeAws_restJson1CreateRule(input.CreateRule, context) })), (input.CrossRegionCopyRules != null && {
897
908
  CrossRegionCopyRules: serializeAws_restJson1CrossRegionCopyRules(input.CrossRegionCopyRules, context),
898
909
  })), (input.DeprecateRule != null && {
899
910
  DeprecateRule: serializeAws_restJson1DeprecateRule(input.DeprecateRule, context),
@@ -996,6 +1007,18 @@ var deserializeAws_restJson1ActionList = function (output, context) {
996
1007
  });
997
1008
  return retVal;
998
1009
  };
1010
+ var deserializeAws_restJson1ArchiveRetainRule = function (output, context) {
1011
+ return {
1012
+ RetentionArchiveTier: output.RetentionArchiveTier != null
1013
+ ? deserializeAws_restJson1RetentionArchiveTier(output.RetentionArchiveTier, context)
1014
+ : undefined,
1015
+ };
1016
+ };
1017
+ var deserializeAws_restJson1ArchiveRule = function (output, context) {
1018
+ return {
1019
+ RetainRule: output.RetainRule != null ? deserializeAws_restJson1ArchiveRetainRule(output.RetainRule, context) : undefined,
1020
+ };
1021
+ };
999
1022
  var deserializeAws_restJson1AvailabilityZoneList = function (output, context) {
1000
1023
  var retVal = (output || [])
1001
1024
  .filter(function (e) { return e != null; })
@@ -1239,8 +1262,16 @@ var deserializeAws_restJson1RetainRule = function (output, context) {
1239
1262
  IntervalUnit: __expectString(output.IntervalUnit),
1240
1263
  };
1241
1264
  };
1265
+ var deserializeAws_restJson1RetentionArchiveTier = function (output, context) {
1266
+ return {
1267
+ Count: __expectInt32(output.Count),
1268
+ Interval: __expectInt32(output.Interval),
1269
+ IntervalUnit: __expectString(output.IntervalUnit),
1270
+ };
1271
+ };
1242
1272
  var deserializeAws_restJson1Schedule = function (output, context) {
1243
1273
  return {
1274
+ ArchiveRule: output.ArchiveRule != null ? deserializeAws_restJson1ArchiveRule(output.ArchiveRule, context) : undefined,
1244
1275
  CopyTags: __expectBoolean(output.CopyTags),
1245
1276
  CreateRule: output.CreateRule != null ? deserializeAws_restJson1CreateRule(output.CreateRule, context) : undefined,
1246
1277
  CrossRegionCopyRules: output.CrossRegionCopyRules != null
@@ -13,9 +13,9 @@ import { DLMClient } from "./DLMClient";
13
13
  * <p>With Amazon Data Lifecycle Manager, you can manage the lifecycle of your Amazon Web Services resources. You create
14
14
  * lifecycle policies, which are used to automate operations on the specified
15
15
  * resources.</p>
16
- * <p>Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM
17
- * with Amazon EBS, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html">Automating the Amazon EBS
18
- * Snapshot Lifecycle</a> in the <i>Amazon EC2 User Guide</i>.</p>
16
+ * <p>Amazon Data Lifecycle Manager supports Amazon EBS volumes and snapshots. For information about using Amazon Data Lifecycle Manager
17
+ * with Amazon EBS, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html">
18
+ * Amazon Data Lifecycle Manager</a> in the <i>Amazon EC2 User Guide</i>.</p>
19
19
  */
20
20
  export declare class DLM extends DLMClient {
21
21
  /**
@@ -28,6 +28,8 @@ export declare class DLM extends DLMClient {
28
28
  /**
29
29
  * <p>Deletes the specified lifecycle policy and halts the automated operations that the
30
30
  * policy specified.</p>
31
+ * <p>For more information about deleting a policy, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#delete">Delete lifecycle
32
+ * policies</a>.</p>
31
33
  */
32
34
  deleteLifecyclePolicy(args: DeleteLifecyclePolicyCommandInput, options?: __HttpHandlerOptions): Promise<DeleteLifecyclePolicyCommandOutput>;
33
35
  deleteLifecyclePolicy(args: DeleteLifecyclePolicyCommandInput, cb: (err: any, data?: DeleteLifecyclePolicyCommandOutput) => void): void;
@@ -65,6 +67,8 @@ export declare class DLM extends DLMClient {
65
67
  untagResource(args: UntagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
66
68
  /**
67
69
  * <p>Updates the specified lifecycle policy.</p>
70
+ * <p>For more information about updating a policy, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#modify">Modify lifecycle
71
+ * policies</a>.</p>
68
72
  */
69
73
  updateLifecyclePolicy(args: UpdateLifecyclePolicyCommandInput, options?: __HttpHandlerOptions): Promise<UpdateLifecyclePolicyCommandOutput>;
70
74
  updateLifecyclePolicy(args: UpdateLifecyclePolicyCommandInput, cb: (err: any, data?: UpdateLifecyclePolicyCommandOutput) => void): void;
@@ -138,9 +138,9 @@ export interface DLMClientResolvedConfig extends DLMClientResolvedConfigType {
138
138
  * <p>With Amazon Data Lifecycle Manager, you can manage the lifecycle of your Amazon Web Services resources. You create
139
139
  * lifecycle policies, which are used to automate operations on the specified
140
140
  * resources.</p>
141
- * <p>Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM
142
- * with Amazon EBS, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html">Automating the Amazon EBS
143
- * Snapshot Lifecycle</a> in the <i>Amazon EC2 User Guide</i>.</p>
141
+ * <p>Amazon Data Lifecycle Manager supports Amazon EBS volumes and snapshots. For information about using Amazon Data Lifecycle Manager
142
+ * with Amazon EBS, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html">
143
+ * Amazon Data Lifecycle Manager</a> in the <i>Amazon EC2 User Guide</i>.</p>
144
144
  */
145
145
  export declare class DLMClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, DLMClientResolvedConfig> {
146
146
  /**
@@ -9,6 +9,8 @@ export interface DeleteLifecyclePolicyCommandOutput extends DeleteLifecyclePolic
9
9
  /**
10
10
  * <p>Deletes the specified lifecycle policy and halts the automated operations that the
11
11
  * policy specified.</p>
12
+ * <p>For more information about deleting a policy, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#delete">Delete lifecycle
13
+ * policies</a>.</p>
12
14
  * @example
13
15
  * Use a bare-bones client and the command you need to make an API call.
14
16
  * ```javascript
@@ -8,6 +8,8 @@ export interface UpdateLifecyclePolicyCommandOutput extends UpdateLifecyclePolic
8
8
  }
9
9
  /**
10
10
  * <p>Updates the specified lifecycle policy.</p>
11
+ * <p>For more information about updating a policy, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/view-modify-delete.html#modify">Modify lifecycle
12
+ * policies</a>.</p>
11
13
  * @example
12
14
  * Use a bare-bones client and the command you need to make an API call.
13
15
  * ```javascript
@@ -80,6 +80,63 @@ export interface Action {
80
80
  */
81
81
  CrossRegionCopy: CrossRegionCopyAction[] | undefined;
82
82
  }
83
+ /**
84
+ * <p>
85
+ * <b>[Snapshot policies only]</b> Describes the retention rule for archived snapshots. Once the archive
86
+ * retention threshold is met, the snapshots are permanently deleted from the archive tier.</p>
87
+ * <note>
88
+ * <p>The archive retention rule must retain snapshots in the archive tier for a minimum
89
+ * of 90 days.</p>
90
+ * </note>
91
+ *
92
+ * <p>For <b>count-based schedules</b>, you must specify <b>Count</b>. For <b>age-based
93
+ * schedules</b>, you must specify <b>Interval</b> and
94
+ * <b> IntervalUnit</b>.</p>
95
+ * <p>For more information about using snapshot archiving, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-ami-policy.html#dlm-archive">Considerations for
96
+ * snapshot lifecycle policies</a>.</p>
97
+ */
98
+ export interface RetentionArchiveTier {
99
+ /**
100
+ * <p>The maximum number of snapshots to retain in the archive storage tier for each volume.
101
+ * The count must ensure that each snapshot remains in the archive tier for at least
102
+ * 90 days. For example, if the schedule creates snapshots every 30 days, you must specify a
103
+ * count of 3 or more to ensure that each snapshot is archived for at least 90 days.</p>
104
+ */
105
+ Count?: number;
106
+ /**
107
+ * <p>Specifies the period of time to retain snapshots in the archive tier. After this period
108
+ * expires, the snapshot is permanently deleted.</p>
109
+ */
110
+ Interval?: number;
111
+ /**
112
+ * <p>The unit of time in which to measure the <b>Interval</b>. For
113
+ * example, to retain a snapshots in the archive tier for 6 months, specify <code>Interval=6</code>
114
+ * and <code>IntervalUnit=MONTHS</code>.</p>
115
+ */
116
+ IntervalUnit?: RetentionIntervalUnitValues | string;
117
+ }
118
+ /**
119
+ * <p>
120
+ * <b>[Snapshot policies only]</b> Specifies information about the archive storage tier retention period.</p>
121
+ */
122
+ export interface ArchiveRetainRule {
123
+ /**
124
+ * <p>Information about retention period in the Amazon EBS Snapshots Archive. For more information, see
125
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/snapshot-archive.html">Archive Amazon
126
+ * EBS snapshots</a>.</p>
127
+ */
128
+ RetentionArchiveTier: RetentionArchiveTier | undefined;
129
+ }
130
+ /**
131
+ * <p>
132
+ * <b>[Snapshot policies only]</b> Specifies a snapshot archiving rule for a schedule.</p>
133
+ */
134
+ export interface ArchiveRule {
135
+ /**
136
+ * <p>Information about the retention period for the snapshot archiving rule.</p>
137
+ */
138
+ RetainRule: ArchiveRetainRule | undefined;
139
+ }
83
140
  export declare enum EventTypeValues {
84
141
  SHARE_SNAPSHOT = "shareSnapshot"
85
142
  }
@@ -143,7 +200,7 @@ export interface Tag {
143
200
  * set of valid parameters depends on the combination of policy type and target resource
144
201
  * type.</p>
145
202
  * <p>If you choose to exclude boot volumes and you specify tags that consequently exclude
146
- * all of the additional data volumes attached to an instance, then Amazon DLM will not create
203
+ * all of the additional data volumes attached to an instance, then Amazon Data Lifecycle Manager will not create
147
204
  * any snapshots for the affected instance, and it will emit a <code>SnapshotsCreateFailed</code>
148
205
  * Amazon CloudWatch metric. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-dlm-cw-metrics.html">Monitor your policies
149
206
  * using Amazon CloudWatch</a>.</p>
@@ -198,10 +255,19 @@ export declare enum LocationValues {
198
255
  /**
199
256
  * <p>
200
257
  * <b>[Snapshot and AMI policies only]</b> Specifies when the policy should create snapshots or AMIs.</p>
201
- * <important>
202
- * <p>You must specify either a Cron expression or an interval, interval unit, and start
203
- * time. You cannot specify both.</p>
204
- * </important>
258
+ * <note>
259
+ * <ul>
260
+ * <li>
261
+ * <p>You must specify either <b>CronExpression</b>, or
262
+ * <b>Interval</b>, <b>IntervalUnit</b>,
263
+ * and <b>Times</b>.</p>
264
+ * </li>
265
+ * <li>
266
+ * <p>If you need to specify an <a>ArchiveRule</a> for the schedule, then you must
267
+ * specify a creation frequency of at least 28 days.</p>
268
+ * </li>
269
+ * </ul>
270
+ * </note>
205
271
  */
206
272
  export interface CreateRule {
207
273
  /**
@@ -217,8 +283,7 @@ export interface CreateRule {
217
283
  */
218
284
  Location?: LocationValues | string;
219
285
  /**
220
- * <p>The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and
221
- * 24.</p>
286
+ * <p>The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and 24.</p>
222
287
  */
223
288
  Interval?: number;
224
289
  /**
@@ -228,7 +293,7 @@ export interface CreateRule {
228
293
  /**
229
294
  * <p>The time, in UTC, to start the operation. The supported format is hh:mm.</p>
230
295
  * <p>The operation occurs within a one-hour window following the specified time. If you do
231
- * not specify a time, Amazon DLM selects a time within the next 24 hours.</p>
296
+ * not specify a time, Amazon Data Lifecycle Manager selects a time within the next 24 hours.</p>
232
297
  */
233
298
  Times?: string[];
234
299
  /**
@@ -338,8 +403,8 @@ export interface DeprecateRule {
338
403
  /**
339
404
  * <p>
340
405
  * <b>[Snapshot policies only]</b> Specifies a rule for enabling fast snapshot restore for snapshots created by
341
- * snaspshot policies. You can enable fast snapshot restore based on either a count or a time
342
- * interval.</p>
406
+ * snapshot policies. You can enable fast snapshot restore based on either a count or a
407
+ * time interval.</p>
343
408
  */
344
409
  export interface FastRestoreRule {
345
410
  /**
@@ -362,14 +427,48 @@ export interface FastRestoreRule {
362
427
  }
363
428
  /**
364
429
  * <p>
365
- * <b>[Snapshot and AMI policies only]</b> Specifies a retention rule for snapshots created by snapshot policies
366
- * or for AMIs created by AMI policies. You can retain snapshots based on either a count or a time interval.</p>
367
- * <p>You must specify either <b>Count</b>, or <b>Interval</b>
368
- * and <b>IntervalUnit</b>.</p>
430
+ * <b>[Snapshot and AMI policies only]</b> Specifies a retention rule for snapshots created by snapshot policies, or for AMIs
431
+ * created by AMI policies.</p>
432
+ *
433
+ * <note>
434
+ * <p>For snapshot policies that have an <a>ArchiveRule</a>, this retention rule
435
+ * applies to standard tier retention. When the retention threshold is met, snapshots
436
+ * are moved from the standard to the archive tier.</p>
437
+ * <p>For snapshot policies that do not have an <b>ArchiveRule</b>, snapshots
438
+ * are permanently deleted when this retention threshold is met.</p>
439
+ * </note>
440
+ *
441
+ * <p>You can retain snapshots based on either a count or a time interval.</p>
442
+ * <ul>
443
+ * <li>
444
+ * <p>
445
+ * <b>Count-based retention</b>
446
+ * </p>
447
+ * <p>You must specify <b>Count</b>.
448
+ * If you specify an <a>ArchiveRule</a> for the schedule, then you can specify a retention count of
449
+ * <code>0</code> to archive snapshots immediately after creation. If you specify a <a>FastRestoreRule</a>,
450
+ * <a>ShareRule</a>, or a <a>CrossRegionCopyRule</a>, then you must specify a retention count
451
+ * of <code>1</code> or more.</p>
452
+ * </li>
453
+ * <li>
454
+ * <p>
455
+ * <b>Age-based retention</b>
456
+ * </p>
457
+ * <p>You must specify <b>Interval</b>
458
+ * and <b>IntervalUnit</b>. If you specify an <a>ArchiveRule</a> for the
459
+ * schedule, then you can specify a retention interval of <code>0</code> days to archive snapshots immediately
460
+ * after creation. If you specify a <a>FastRestoreRule</a>, <a>ShareRule</a>, or a
461
+ * <a>CrossRegionCopyRule</a>, then you must specify a retention interval of <code>1</code> day or
462
+ * more.</p>
463
+ * </li>
464
+ * </ul>
369
465
  */
370
466
  export interface RetainRule {
371
467
  /**
372
- * <p>The number of snapshots to retain for each volume, up to a maximum of 1000.</p>
468
+ * <p>The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to
469
+ * retain a maximum of three snapshots, specify <code>3</code>. When the fourth snapshot is created, the
470
+ * oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an
471
+ * <a>ArchiveRule</a>.</p>
373
472
  */
374
473
  Count?: number;
375
474
  /**
@@ -378,7 +477,10 @@ export interface RetainRule {
378
477
  */
379
478
  Interval?: number;
380
479
  /**
381
- * <p>The unit of time for time-based retention.</p>
480
+ * <p>The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify
481
+ * <code>Interval=3</code> and <code>IntervalUnit=MONTHS</code>. Once the snapshot has been retained for
482
+ * 3 months, it is deleted, or it is moved to the archive tier if you have specified an
483
+ * <a>ArchiveRule</a>.</p>
382
484
  */
383
485
  IntervalUnit?: RetentionIntervalUnitValues | string;
384
486
  }
@@ -461,6 +563,16 @@ export interface Schedule {
461
563
  * <b>[AMI policies only]</b> The AMI deprecation rule for the schedule.</p>
462
564
  */
463
565
  DeprecateRule?: DeprecateRule;
566
+ /**
567
+ * <p>
568
+ * <b>[Snapshot policies that target volumes only]</b> The snapshot archiving rule for the schedule. When you specify an archiving
569
+ * rule, snapshots are automatically moved from the standard tier to the archive tier once the schedule's
570
+ * retention threshold is met. Snapshots are then retained in the archive tier for the archive retention
571
+ * period that you specify. </p>
572
+ * <p>For more information about using snapshot archiving, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-ami-policy.html#dlm-archive">Considerations for
573
+ * snapshot lifecycle policies</a>.</p>
574
+ */
575
+ ArchiveRule?: ArchiveRule;
464
576
  }
465
577
  /**
466
578
  * <p>
@@ -844,6 +956,18 @@ export declare const CrossRegionCopyActionFilterSensitiveLog: (obj: CrossRegionC
844
956
  * @internal
845
957
  */
846
958
  export declare const ActionFilterSensitiveLog: (obj: Action) => any;
959
+ /**
960
+ * @internal
961
+ */
962
+ export declare const RetentionArchiveTierFilterSensitiveLog: (obj: RetentionArchiveTier) => any;
963
+ /**
964
+ * @internal
965
+ */
966
+ export declare const ArchiveRetainRuleFilterSensitiveLog: (obj: ArchiveRetainRule) => any;
967
+ /**
968
+ * @internal
969
+ */
970
+ export declare const ArchiveRuleFilterSensitiveLog: (obj: ArchiveRule) => any;
847
971
  /**
848
972
  * @internal
849
973
  */
@@ -23,6 +23,17 @@ export interface Action {
23
23
  Name: string | undefined;
24
24
  CrossRegionCopy: CrossRegionCopyAction[] | undefined;
25
25
  }
26
+ export interface RetentionArchiveTier {
27
+ Count?: number;
28
+ Interval?: number;
29
+ IntervalUnit?: RetentionIntervalUnitValues | string;
30
+ }
31
+ export interface ArchiveRetainRule {
32
+ RetentionArchiveTier: RetentionArchiveTier | undefined;
33
+ }
34
+ export interface ArchiveRule {
35
+ RetainRule: ArchiveRetainRule | undefined;
36
+ }
26
37
  export declare enum EventTypeValues {
27
38
  SHARE_SNAPSHOT = "shareSnapshot",
28
39
  }
@@ -119,6 +130,7 @@ export interface Schedule {
119
130
  CrossRegionCopyRules?: CrossRegionCopyRule[];
120
131
  ShareRules?: ShareRule[];
121
132
  DeprecateRule?: DeprecateRule;
133
+ ArchiveRule?: ArchiveRule;
122
134
  }
123
135
  export interface PolicyDetails {
124
136
  PolicyType?: PolicyTypeValues | string;
@@ -263,6 +275,13 @@ export declare const CrossRegionCopyActionFilterSensitiveLog: (
263
275
  obj: CrossRegionCopyAction
264
276
  ) => any;
265
277
  export declare const ActionFilterSensitiveLog: (obj: Action) => any;
278
+ export declare const RetentionArchiveTierFilterSensitiveLog: (
279
+ obj: RetentionArchiveTier
280
+ ) => any;
281
+ export declare const ArchiveRetainRuleFilterSensitiveLog: (
282
+ obj: ArchiveRetainRule
283
+ ) => any;
284
+ export declare const ArchiveRuleFilterSensitiveLog: (obj: ArchiveRule) => any;
266
285
  export declare const EventParametersFilterSensitiveLog: (
267
286
  obj: EventParameters
268
287
  ) => any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-dlm",
3
3
  "description": "AWS SDK for JavaScript Dlm Client for Node.js, Browser and React Native",
4
- "version": "3.181.0",
4
+ "version": "3.182.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",