@aws-sdk/client-dlm 3.145.0 → 3.147.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.147.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.146.0...v3.147.0) (2022-08-10)
7
+
8
+
9
+ ### Features
10
+
11
+ * **client-dlm:** This release adds support for excluding specific data (non-boot) volumes from multi-volume snapshot sets created by snapshot lifecycle policies ([8e19146](https://github.com/aws/aws-sdk-js-v3/commit/8e1914626f36f637db33c833bca93a038bd06fa6))
12
+
13
+
14
+
15
+
16
+
6
17
  # [3.145.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.144.0...v3.145.0) (2022-08-08)
7
18
 
8
19
  **Note:** Version bump only for package @aws-sdk/client-dlm
@@ -1,6 +1,6 @@
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.TagFilterSensitiveLog = exports.ShareRuleFilterSensitiveLog = exports.RetainRuleFilterSensitiveLog = exports.FastRestoreRuleFilterSensitiveLog = exports.DeprecateRuleFilterSensitiveLog = exports.CrossRegionCopyRuleFilterSensitiveLog = exports.CrossRegionCopyDeprecateRuleFilterSensitiveLog = exports.CreateRuleFilterSensitiveLog = exports._ParametersFilterSensitiveLog = 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.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;
4
4
  const DLMServiceException_1 = require("./DLMServiceException");
5
5
  var RetentionIntervalUnitValues;
6
6
  (function (RetentionIntervalUnitValues) {
@@ -142,6 +142,10 @@ const EventSourceFilterSensitiveLog = (obj) => ({
142
142
  ...obj,
143
143
  });
144
144
  exports.EventSourceFilterSensitiveLog = EventSourceFilterSensitiveLog;
145
+ const TagFilterSensitiveLog = (obj) => ({
146
+ ...obj,
147
+ });
148
+ exports.TagFilterSensitiveLog = TagFilterSensitiveLog;
145
149
  const _ParametersFilterSensitiveLog = (obj) => ({
146
150
  ...obj,
147
151
  });
@@ -174,10 +178,6 @@ const ShareRuleFilterSensitiveLog = (obj) => ({
174
178
  ...obj,
175
179
  });
176
180
  exports.ShareRuleFilterSensitiveLog = ShareRuleFilterSensitiveLog;
177
- const TagFilterSensitiveLog = (obj) => ({
178
- ...obj,
179
- });
180
- exports.TagFilterSensitiveLog = TagFilterSensitiveLog;
181
181
  const ScheduleFilterSensitiveLog = (obj) => ({
182
182
  ...obj,
183
183
  });
@@ -681,6 +681,13 @@ const serializeAws_restJson1EventSource = (input, context) => {
681
681
  ...(input.Type != null && { Type: input.Type }),
682
682
  };
683
683
  };
684
+ const serializeAws_restJson1ExcludeDataVolumeTagList = (input, context) => {
685
+ return input
686
+ .filter((e) => e != null)
687
+ .map((entry) => {
688
+ return serializeAws_restJson1Tag(entry, context);
689
+ });
690
+ };
684
691
  const serializeAws_restJson1FastRestoreRule = (input, context) => {
685
692
  return {
686
693
  ...(input.AvailabilityZones != null && {
@@ -694,6 +701,9 @@ const serializeAws_restJson1FastRestoreRule = (input, context) => {
694
701
  const serializeAws_restJson1_Parameters = (input, context) => {
695
702
  return {
696
703
  ...(input.ExcludeBootVolume != null && { ExcludeBootVolume: input.ExcludeBootVolume }),
704
+ ...(input.ExcludeDataVolumeTags != null && {
705
+ ExcludeDataVolumeTags: serializeAws_restJson1ExcludeDataVolumeTagList(input.ExcludeDataVolumeTags, context),
706
+ }),
697
707
  ...(input.NoReboot != null && { NoReboot: input.NoReboot }),
698
708
  };
699
709
  };
@@ -965,6 +975,17 @@ const deserializeAws_restJson1EventSource = (output, context) => {
965
975
  Type: (0, smithy_client_1.expectString)(output.Type),
966
976
  };
967
977
  };
978
+ const deserializeAws_restJson1ExcludeDataVolumeTagList = (output, context) => {
979
+ const retVal = (output || [])
980
+ .filter((e) => e != null)
981
+ .map((entry) => {
982
+ if (entry === null) {
983
+ return null;
984
+ }
985
+ return deserializeAws_restJson1Tag(entry, context);
986
+ });
987
+ return retVal;
988
+ };
968
989
  const deserializeAws_restJson1FastRestoreRule = (output, context) => {
969
990
  return {
970
991
  AvailabilityZones: output.AvailabilityZones != null
@@ -1027,6 +1048,9 @@ const deserializeAws_restJson1ParameterList = (output, context) => {
1027
1048
  const deserializeAws_restJson1_Parameters = (output, context) => {
1028
1049
  return {
1029
1050
  ExcludeBootVolume: (0, smithy_client_1.expectBoolean)(output.ExcludeBootVolume),
1051
+ ExcludeDataVolumeTags: output.ExcludeDataVolumeTags != null
1052
+ ? deserializeAws_restJson1ExcludeDataVolumeTagList(output.ExcludeDataVolumeTags, context)
1053
+ : undefined,
1030
1054
  NoReboot: (0, smithy_client_1.expectBoolean)(output.NoReboot),
1031
1055
  };
1032
1056
  };
@@ -118,6 +118,7 @@ export var CrossRegionCopyActionFilterSensitiveLog = function (obj) { return (__
118
118
  export var ActionFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
119
119
  export var EventParametersFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
120
120
  export var EventSourceFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
121
+ export var TagFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
121
122
  export var _ParametersFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
122
123
  export var CreateRuleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
123
124
  export var CrossRegionCopyDeprecateRuleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
@@ -126,7 +127,6 @@ export var DeprecateRuleFilterSensitiveLog = function (obj) { return (__assign({
126
127
  export var FastRestoreRuleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
127
128
  export var RetainRuleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
128
129
  export var ShareRuleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
129
- export var TagFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
130
130
  export var ScheduleFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
131
131
  export var PolicyDetailsFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
132
132
  export var CreateLifecyclePolicyRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };
@@ -851,13 +851,22 @@ var serializeAws_restJson1EventParameters = function (input, context) {
851
851
  var serializeAws_restJson1EventSource = function (input, context) {
852
852
  return __assign(__assign({}, (input.Parameters != null && { Parameters: serializeAws_restJson1EventParameters(input.Parameters, context) })), (input.Type != null && { Type: input.Type }));
853
853
  };
854
+ var serializeAws_restJson1ExcludeDataVolumeTagList = function (input, context) {
855
+ return input
856
+ .filter(function (e) { return e != null; })
857
+ .map(function (entry) {
858
+ return serializeAws_restJson1Tag(entry, context);
859
+ });
860
+ };
854
861
  var serializeAws_restJson1FastRestoreRule = function (input, context) {
855
862
  return __assign(__assign(__assign(__assign({}, (input.AvailabilityZones != null && {
856
863
  AvailabilityZones: serializeAws_restJson1AvailabilityZoneList(input.AvailabilityZones, context),
857
864
  })), (input.Count != null && { Count: input.Count })), (input.Interval != null && { Interval: input.Interval })), (input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }));
858
865
  };
859
866
  var serializeAws_restJson1_Parameters = function (input, context) {
860
- return __assign(__assign({}, (input.ExcludeBootVolume != null && { ExcludeBootVolume: input.ExcludeBootVolume })), (input.NoReboot != null && { NoReboot: input.NoReboot }));
867
+ return __assign(__assign(__assign({}, (input.ExcludeBootVolume != null && { ExcludeBootVolume: input.ExcludeBootVolume })), (input.ExcludeDataVolumeTags != null && {
868
+ ExcludeDataVolumeTags: serializeAws_restJson1ExcludeDataVolumeTagList(input.ExcludeDataVolumeTags, context),
869
+ })), (input.NoReboot != null && { NoReboot: input.NoReboot }));
861
870
  };
862
871
  var serializeAws_restJson1PolicyDetails = function (input, context) {
863
872
  return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.Actions != null && { Actions: serializeAws_restJson1ActionList(input.Actions, context) })), (input.EventSource != null && { EventSource: serializeAws_restJson1EventSource(input.EventSource, context) })), (input.Parameters != null && { Parameters: serializeAws_restJson1_Parameters(input.Parameters, context) })), (input.PolicyType != null && { PolicyType: input.PolicyType })), (input.ResourceLocations != null && {
@@ -1095,6 +1104,17 @@ var deserializeAws_restJson1EventSource = function (output, context) {
1095
1104
  Type: __expectString(output.Type),
1096
1105
  };
1097
1106
  };
1107
+ var deserializeAws_restJson1ExcludeDataVolumeTagList = function (output, context) {
1108
+ var retVal = (output || [])
1109
+ .filter(function (e) { return e != null; })
1110
+ .map(function (entry) {
1111
+ if (entry === null) {
1112
+ return null;
1113
+ }
1114
+ return deserializeAws_restJson1Tag(entry, context);
1115
+ });
1116
+ return retVal;
1117
+ };
1098
1118
  var deserializeAws_restJson1FastRestoreRule = function (output, context) {
1099
1119
  return {
1100
1120
  AvailabilityZones: output.AvailabilityZones != null
@@ -1157,6 +1177,9 @@ var deserializeAws_restJson1ParameterList = function (output, context) {
1157
1177
  var deserializeAws_restJson1_Parameters = function (output, context) {
1158
1178
  return {
1159
1179
  ExcludeBootVolume: __expectBoolean(output.ExcludeBootVolume),
1180
+ ExcludeDataVolumeTags: output.ExcludeDataVolumeTags != null
1181
+ ? deserializeAws_restJson1ExcludeDataVolumeTagList(output.ExcludeDataVolumeTags, context)
1182
+ : undefined,
1160
1183
  NoReboot: __expectBoolean(output.NoReboot),
1161
1184
  };
1162
1185
  };
@@ -1,7 +1,9 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@aws-sdk/smithy-client";
2
2
  import { DLMServiceException as __BaseException } from "./DLMServiceException";
3
3
  /**
4
- * <p>Specifies the encryption settings for shared snapshots that are copied across Regions.</p>
4
+ * <p>
5
+ * <b>[Event-based policies only]</b> Specifies the encryption settings for cross-Region snapshot copies created by
6
+ * event-based policies.</p>
5
7
  */
6
8
  export interface EncryptionConfiguration {
7
9
  /**
@@ -23,21 +25,30 @@ export declare enum RetentionIntervalUnitValues {
23
25
  YEARS = "YEARS"
24
26
  }
25
27
  /**
26
- * <p>Specifies the retention rule for cross-Region snapshot copies.</p>
28
+ * <p>Specifies a retention rule for cross-Region snapshot copies created by snapshot or
29
+ * event-based policies, or cross-Region AMI copies created by AMI policies. After the
30
+ * retention period expires, the cross-Region copy is deleted.</p>
27
31
  */
28
32
  export interface CrossRegionCopyRetainRule {
29
33
  /**
30
- * <p>The amount of time to retain each snapshot. The maximum is 100 years. This is
31
- * equivalent to 1200 months, 5200 weeks, or 36500 days.</p>
34
+ * <p>The amount of time to retain a cross-Region snapshot or AMI copy. The maximum is 100 years.
35
+ * This is equivalent to 1200 months, 5200 weeks, or 36500 days.</p>
32
36
  */
33
37
  Interval?: number;
34
38
  /**
35
- * <p>The unit of time for time-based retention.</p>
39
+ * <p>The unit of time for time-based retention. For example, to retain a cross-Region copy for
40
+ * 3 months, specify <code>Interval=3</code> and <code>IntervalUnit=MONTHS</code>.</p>
36
41
  */
37
42
  IntervalUnit?: RetentionIntervalUnitValues | string;
38
43
  }
39
44
  /**
40
- * <p>Specifies a rule for copying shared snapshots across Regions.</p>
45
+ * <p>
46
+ * <b>[Event-based policies only]</b> Specifies a cross-Region copy action for event-based policies.</p>
47
+ *
48
+ * <note>
49
+ * <p>To specify a cross-Region copy rule for snapshot and AMI policies, use
50
+ * <a>CrossRegionCopyRule</a>.</p>
51
+ * </note>
41
52
  */
42
53
  export interface CrossRegionCopyAction {
43
54
  /**
@@ -49,12 +60,15 @@ export interface CrossRegionCopyAction {
49
60
  */
50
61
  EncryptionConfiguration: EncryptionConfiguration | undefined;
51
62
  /**
52
- * <p>Specifies the retention rule for cross-Region snapshot copies.</p>
63
+ * <p>Specifies a retention rule for cross-Region snapshot copies created by snapshot or
64
+ * event-based policies, or cross-Region AMI copies created by AMI policies. After the
65
+ * retention period expires, the cross-Region copy is deleted.</p>
53
66
  */
54
67
  RetainRule?: CrossRegionCopyRetainRule;
55
68
  }
56
69
  /**
57
- * <p>Specifies an action for an event-based policy.</p>
70
+ * <p>
71
+ * <b>[Event-based policies only]</b> Specifies an action for an event-based policy.</p>
58
72
  */
59
73
  export interface Action {
60
74
  /**
@@ -70,7 +84,8 @@ export declare enum EventTypeValues {
70
84
  SHARE_SNAPSHOT = "shareSnapshot"
71
85
  }
72
86
  /**
73
- * <p>Specifies an event that triggers an event-based policy.</p>
87
+ * <p>
88
+ * <b>[Event-based policies only]</b> Specifies an event that activates an event-based policy.</p>
74
89
  */
75
90
  export interface EventParameters {
76
91
  /**
@@ -96,7 +111,8 @@ export declare enum EventSourceValues {
96
111
  MANAGED_CWE = "MANAGED_CWE"
97
112
  }
98
113
  /**
99
- * <p>Specifies an event that triggers an event-based policy.</p>
114
+ * <p>
115
+ * <b>[Event-based policies only]</b> Specifies an event that activates an event-based policy.</p>
100
116
  */
101
117
  export interface EventSource {
102
118
  /**
@@ -109,23 +125,55 @@ export interface EventSource {
109
125
  Parameters?: EventParameters;
110
126
  }
111
127
  /**
112
- * <p>Specifies optional parameters to add to a policy. The set of valid parameters depends
113
- * on the combination of policy type and resource type.</p>
128
+ * <p>Specifies a tag for a resource.</p>
129
+ */
130
+ export interface Tag {
131
+ /**
132
+ * <p>The tag key.</p>
133
+ */
134
+ Key: string | undefined;
135
+ /**
136
+ * <p>The tag value.</p>
137
+ */
138
+ Value: string | undefined;
139
+ }
140
+ /**
141
+ * <p>
142
+ * <b>[Snapshot and AMI policies only]</b> Specifies optional parameters for snapshot and AMI policies. The
143
+ * set of valid parameters depends on the combination of policy type and target resource
144
+ * type.</p>
145
+ * <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
147
+ * any snapshots for the affected instance, and it will emit a <code>SnapshotsCreateFailed</code>
148
+ * 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
+ * using Amazon CloudWatch</a>.</p>
114
150
  */
115
151
  export interface _Parameters {
116
152
  /**
117
- * <p>[EBS Snapshot Management – Instance policies only] Indicates whether to exclude the
118
- * root volume from snapshots created using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSnapshots.html">CreateSnapshots</a>.
119
- * The default is false.</p>
153
+ * <p>
154
+ * <b>[Snapshot policies that target instances only]</b> Indicates whether to exclude the root volume from multi-volume
155
+ * snapshot sets. The default is <code>false</code>. If you specify <code>true</code>,
156
+ * then the root volumes attached to targeted instances will be excluded from the multi-volume
157
+ * snapshot sets created by the policy.</p>
120
158
  */
121
159
  ExcludeBootVolume?: boolean;
122
160
  /**
123
- * <p>Applies to AMI lifecycle policies only. Indicates whether targeted instances are rebooted when the lifecycle
124
- * policy runs. <code>true</code> indicates that targeted instances are not rebooted when the policy
125
- * runs. <code>false</code> indicates that target instances are rebooted when the policy runs. The
126
- * default is <code>true</code> (instances are not rebooted).</p>
161
+ * <p>
162
+ * <b>[AMI policies only]</b> Indicates whether targeted instances are rebooted when the lifecycle policy
163
+ * runs. <code>true</code> indicates that targeted instances are not rebooted when the policy
164
+ * runs. <code>false</code> indicates that target instances are rebooted when the policy runs.
165
+ * The default is <code>true</code> (instances are not rebooted).</p>
127
166
  */
128
167
  NoReboot?: boolean;
168
+ /**
169
+ * <p>
170
+ * <b>[Snapshot policies that target instances only]</b> The tags used to identify data (non-root) volumes to exclude from
171
+ * multi-volume snapshot sets.</p>
172
+ * <p>If you create a snapshot lifecycle policy that targets instances and you specify tags for
173
+ * this parameter, then data volumes with the specified tags that are attached to targeted
174
+ * instances will be excluded from the multi-volume snapshot sets created by the policy.</p>
175
+ */
176
+ ExcludeDataVolumeTags?: Tag[];
129
177
  }
130
178
  export declare enum PolicyTypeValues {
131
179
  EBS_SNAPSHOT_MANAGEMENT = "EBS_SNAPSHOT_MANAGEMENT",
@@ -148,20 +196,24 @@ export declare enum LocationValues {
148
196
  OUTPOST_LOCAL = "OUTPOST_LOCAL"
149
197
  }
150
198
  /**
151
- * <p>Specifies when to create snapshots of EBS volumes.</p>
152
- * <p>You must specify either a Cron expression or an interval, interval unit, and start
199
+ * <p>
200
+ * <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
153
203
  * time. You cannot specify both.</p>
204
+ * </important>
154
205
  */
155
206
  export interface CreateRule {
156
207
  /**
157
- * <p>Specifies the destination for snapshots created by the policy. To create snapshots in the same
158
- * Region as the source resource, specify <code>CLOUD</code>. To create snapshots on the same
159
- * Outpost as the source resource, specify <code>OUTPOST_LOCAL</code>. If you omit this
160
- * parameter, <code>CLOUD</code> is used by default.</p>
161
- * <p>If the policy targets resources in an Amazon Web Services Region, then you must create snapshots in the same
162
- * Region as the source resource.</p>
163
- * <p>If the policy targets resources on an Outpost, then you can create snapshots on the same Outpost
164
- * as the source resource, or in the Region of that Outpost.</p>
208
+ * <p>
209
+ * <b>[Snapshot policies only]</b> Specifies the destination for snapshots created by the policy. To create
210
+ * snapshots in the same Region as the source resource, specify <code>CLOUD</code>. To create
211
+ * snapshots on the same Outpost as the source resource, specify <code>OUTPOST_LOCAL</code>.
212
+ * If you omit this parameter, <code>CLOUD</code> is used by default.</p>
213
+ * <p>If the policy targets resources in an Amazon Web Services Region, then you must create
214
+ * snapshots in the same Region as the source resource. If the policy targets resources on an
215
+ * Outpost, then you can create snapshots on the same Outpost as the source resource, or in
216
+ * the Region of that Outpost.</p>
165
217
  */
166
218
  Location?: LocationValues | string;
167
219
  /**
@@ -187,7 +239,8 @@ export interface CreateRule {
187
239
  CronExpression?: string;
188
240
  }
189
241
  /**
190
- * <p>Specifies an AMI deprecation rule for cross-Region AMI copies created by a cross-Region copy rule.</p>
242
+ * <p>
243
+ * <b>[AMI policies only]</b> Specifies an AMI deprecation rule for cross-Region AMI copies created by an AMI policy.</p>
191
244
  */
192
245
  export interface CrossRegionCopyDeprecateRule {
193
246
  /**
@@ -197,19 +250,29 @@ export interface CrossRegionCopyDeprecateRule {
197
250
  */
198
251
  Interval?: number;
199
252
  /**
200
- * <p>The unit of time in which to measure the <b>Interval</b>.</p>
253
+ * <p>The unit of time in which to measure the <b>Interval</b>. For example,
254
+ * to deprecate a cross-Region AMI copy after 3 months, specify <code>Interval=3</code> and
255
+ * <code>IntervalUnit=MONTHS</code>.</p>
201
256
  */
202
257
  IntervalUnit?: RetentionIntervalUnitValues | string;
203
258
  }
204
259
  /**
205
- * <p>Specifies a rule for cross-Region snapshot copies.</p>
260
+ * <p>
261
+ * <b>[Snapshot and AMI policies only]</b> Specifies a cross-Region copy rule for snapshot and AMI policies.</p>
262
+ * <note>
263
+ * <p>To specify a cross-Region copy action for event-based polices, use
264
+ * <a>CrossRegionCopyAction</a>.</p>
265
+ * </note>
206
266
  */
207
267
  export interface CrossRegionCopyRule {
208
268
  /**
209
- * <p>Avoid using this parameter when creating new policies. Instead, use <b>Target</b>
210
- * to specify a target Region or a target Outpost for snapshot copies.</p>
211
- * <p>For policies created before the <b>Target</b> parameter
212
- * was introduced, this parameter indicates the target Region for snapshot copies.</p>
269
+ * <note>
270
+ * <p>Avoid using this parameter when creating new policies. Instead, use
271
+ * <b>Target</b> to specify a target Region or a target
272
+ * Outpost for snapshot copies.</p>
273
+ * <p>For policies created before the <b>Target</b> parameter
274
+ * was introduced, this parameter indicates the target Region for snapshot copies.</p>
275
+ * </note>
213
276
  */
214
277
  TargetRegion?: string;
215
278
  /**
@@ -231,22 +294,27 @@ export interface CrossRegionCopyRule {
231
294
  */
232
295
  CmkArn?: string;
233
296
  /**
234
- * <p>Indicates whether to copy all user-defined tags from the source snapshot to the cross-Region
235
- * snapshot copy.</p>
297
+ * <p>Indicates whether to copy all user-defined tags from the source snapshot or AMI to the
298
+ * cross-Region copy.</p>
236
299
  */
237
300
  CopyTags?: boolean;
238
301
  /**
239
- * <p>The retention rule that indicates how long snapshot copies are to be retained in the
240
- * destination Region.</p>
302
+ * <p>The retention rule that indicates how long the cross-Region snapshot or AMI copies are
303
+ * to be retained in the destination Region.</p>
241
304
  */
242
305
  RetainRule?: CrossRegionCopyRetainRule;
243
306
  /**
244
- * <p>The AMI deprecation rule for cross-Region AMI copies created by the rule.</p>
307
+ * <p>
308
+ * <b>[AMI policies only]</b> The AMI deprecation rule for cross-Region AMI copies created by the rule.</p>
245
309
  */
246
310
  DeprecateRule?: CrossRegionCopyDeprecateRule;
247
311
  }
248
312
  /**
249
- * <p>Specifies an AMI deprecation rule for a schedule.</p>
313
+ * <p>
314
+ * <b>[AMI policies only]</b> Specifies an AMI deprecation rule for AMIs created by an AMI lifecycle policy.</p>
315
+ * <p>For age-based schedules, you must specify <b>Interval</b> and
316
+ * <b>IntervalUnit</b>. For count-based schedules, you must specify
317
+ * <b>Count</b>.</p>
250
318
  */
251
319
  export interface DeprecateRule {
252
320
  /**
@@ -268,8 +336,10 @@ export interface DeprecateRule {
268
336
  IntervalUnit?: RetentionIntervalUnitValues | string;
269
337
  }
270
338
  /**
271
- * <p>Specifies a rule for enabling fast snapshot restore. You can enable fast snapshot
272
- * restore based on either a count or a time interval.</p>
339
+ * <p>
340
+ * <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>
273
343
  */
274
344
  export interface FastRestoreRule {
275
345
  /**
@@ -291,8 +361,11 @@ export interface FastRestoreRule {
291
361
  AvailabilityZones: string[] | undefined;
292
362
  }
293
363
  /**
294
- * <p>Specifies the retention rule for a lifecycle policy. You can retain snapshots based on
295
- * either a count or a time interval.</p>
364
+ * <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>
296
369
  */
297
370
  export interface RetainRule {
298
371
  /**
@@ -310,7 +383,8 @@ export interface RetainRule {
310
383
  IntervalUnit?: RetentionIntervalUnitValues | string;
311
384
  }
312
385
  /**
313
- * <p>Specifies a rule for sharing snapshots across Amazon Web Services accounts.</p>
386
+ * <p>
387
+ * <b>[Snapshot policies only]</b> Specifies a rule for sharing snapshots across Amazon Web Services accounts.</p>
314
388
  */
315
389
  export interface ShareRule {
316
390
  /**
@@ -327,20 +401,8 @@ export interface ShareRule {
327
401
  UnshareIntervalUnit?: RetentionIntervalUnitValues | string;
328
402
  }
329
403
  /**
330
- * <p>Specifies a tag for a resource.</p>
331
- */
332
- export interface Tag {
333
- /**
334
- * <p>The tag key.</p>
335
- */
336
- Key: string | undefined;
337
- /**
338
- * <p>The tag value.</p>
339
- */
340
- Value: string | undefined;
341
- }
342
- /**
343
- * <p>Specifies a backup schedule for a snapshot or AMI lifecycle policy.</p>
404
+ * <p>
405
+ * <b>[Snapshot and AMI policies only]</b> Specifies a schedule for a snapshot or AMI lifecycle policy.</p>
344
406
  */
345
407
  export interface Schedule {
346
408
  /**
@@ -358,7 +420,9 @@ export interface Schedule {
358
420
  */
359
421
  TagsToAdd?: Tag[];
360
422
  /**
361
- * <p>A collection of key/value pairs with values determined dynamically when the policy is
423
+ * <p>
424
+ * <b>[AMI policies and snapshot policies that target instances only]</b>
425
+ * A collection of key/value pairs with values determined dynamically when the policy is
362
426
  * executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two
363
427
  * following formats: <code>$(instance-id)</code> or <code>$(timestamp)</code>. Variable
364
428
  * tags are only valid for EBS Snapshot Management – Instance policies.</p>
@@ -369,36 +433,43 @@ export interface Schedule {
369
433
  */
370
434
  CreateRule?: CreateRule;
371
435
  /**
372
- * <p>The retention rule.</p>
436
+ * <p>The retention rule for snapshots or AMIs created by the policy.</p>
373
437
  */
374
438
  RetainRule?: RetainRule;
375
439
  /**
376
- * <p>The rule for enabling fast snapshot restore.</p>
440
+ * <p>
441
+ * <b>[Snapshot policies only]</b> The rule for enabling fast snapshot restore.</p>
377
442
  */
378
443
  FastRestoreRule?: FastRestoreRule;
379
444
  /**
380
- * <p>The rule for cross-Region snapshot copies.</p>
381
- * <p>You can only specify cross-Region copy rules for policies that create snapshots in a Region.
382
- * If the policy creates snapshots on an Outpost, then you cannot copy the snapshots to a Region or
383
- * to an Outpost. If the policy creates snapshots in a Region, then snapshots can be copied to up to three
445
+ * <p>Specifies a rule for copying snapshots or AMIs across regions.</p>
446
+ *
447
+ * <note>
448
+ * <p>You can't specify cross-Region copy rules for policies that create snapshots on an Outpost.
449
+ * If the policy creates snapshots in a Region, then snapshots can be copied to up to three
384
450
  * Regions or Outposts.</p>
451
+ * </note>
385
452
  */
386
453
  CrossRegionCopyRules?: CrossRegionCopyRule[];
387
454
  /**
388
- * <p>The rule for sharing snapshots with other Amazon Web Services accounts.</p>
455
+ * <p>
456
+ * <b>[Snapshot policies only]</b> The rule for sharing snapshots with other Amazon Web Services accounts.</p>
389
457
  */
390
458
  ShareRules?: ShareRule[];
391
459
  /**
392
- * <p>The AMI deprecation rule for the schedule.</p>
460
+ * <p>
461
+ * <b>[AMI policies only]</b> The AMI deprecation rule for the schedule.</p>
393
462
  */
394
463
  DeprecateRule?: DeprecateRule;
395
464
  }
396
465
  /**
397
- * <p>Specifies the configuration of a lifecycle policy.</p>
466
+ * <p>
467
+ * <b>[All policy types]</b> Specifies the configuration of a lifecycle policy.</p>
398
468
  */
399
469
  export interface PolicyDetails {
400
470
  /**
401
- * <p>The valid target resource types and actions a policy can manage. Specify <code>EBS_SNAPSHOT_MANAGEMENT</code>
471
+ * <p>
472
+ * <b>[All policy types]</b> The valid target resource types and actions a policy can manage. Specify <code>EBS_SNAPSHOT_MANAGEMENT</code>
402
473
  * to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify <code>IMAGE_MANAGEMENT</code>
403
474
  * to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify <code>EVENT_BASED_POLICY </code>
404
475
  * to create an event-based policy that performs specific actions when a defined event occurs in your Amazon Web Services account.</p>
@@ -406,45 +477,53 @@ export interface PolicyDetails {
406
477
  */
407
478
  PolicyType?: PolicyTypeValues | string;
408
479
  /**
409
- * <p>The target resource type for snapshot and AMI lifecycle policies. Use <code>VOLUME </code>to
480
+ * <p>
481
+ * <b>[Snapshot policies only]</b> The target resource type for snapshot and AMI lifecycle policies. Use <code>VOLUME </code>to
410
482
  * create snapshots of individual volumes or use <code>INSTANCE</code> to create multi-volume
411
483
  * snapshots from the volumes for an instance.</p>
412
- * <p>This parameter is required for snapshot and AMI policies only. If you are creating an event-based policy, omit this parameter.</p>
413
484
  */
414
485
  ResourceTypes?: (ResourceTypeValues | string)[];
415
486
  /**
416
- * <p>The location of the resources to backup. If the source resources are located in an Amazon Web Services Region,
417
- * specify <code>CLOUD</code>. If the source resources are located on an Outpost
418
- * in your account, specify <code>OUTPOST</code>. </p>
487
+ * <p>
488
+ * <b>[Snapshot and AMI policies only]</b> The location of the resources to backup. If the source resources are located in an
489
+ * Amazon Web Services Region, specify <code>CLOUD</code>. If the source resources are located on an Outpost
490
+ * in your account, specify <code>OUTPOST</code>.</p>
419
491
  * <p>If you specify <code>OUTPOST</code>, Amazon Data Lifecycle Manager backs up all resources
420
492
  * of the specified type with matching target tags across all of the Outposts in your account.</p>
421
493
  */
422
494
  ResourceLocations?: (ResourceLocationValues | string)[];
423
495
  /**
424
- * <p>The single tag that identifies targeted resources for this policy.</p>
425
- * <p>This parameter is required for snapshot and AMI policies only. If you are creating an event-based policy, omit this parameter.</p>
496
+ * <p>
497
+ * <b>[Snapshot and AMI policies only]</b> The single tag that identifies targeted resources for this policy.</p>
426
498
  */
427
499
  TargetTags?: Tag[];
428
500
  /**
429
- * <p>The schedules of policy-defined actions for snapshot and AMI lifecycle policies. A policy
501
+ * <p>
502
+ * <b>[Snapshot and AMI policies only]</b> The schedules of policy-defined actions for snapshot and AMI lifecycle policies. A policy
430
503
  * can have up to four schedules—one mandatory schedule and up to three optional schedules.</p>
431
- * <p>This parameter is required for snapshot and AMI policies only. If you are creating an event-based policy, omit this parameter.</p>
432
504
  */
433
505
  Schedules?: Schedule[];
434
506
  /**
435
- * <p>A set of optional parameters for snapshot and AMI lifecycle policies. </p>
436
- * <p>This parameter is required for snapshot and AMI policies only. If you are creating an event-based policy, omit this parameter.</p>
507
+ * <p>
508
+ * <b>[Snapshot and AMI policies only]</b> A set of optional parameters for snapshot and AMI lifecycle policies. </p>
509
+ *
510
+ * <note>
511
+ * <p>If you are modifying a policy that was created or previously modified using the Amazon
512
+ * Data Lifecycle Manager console, then you must include this parameter and specify either
513
+ * the default values or the new values that you require. You can't omit this parameter or
514
+ * set its values to null.</p>
515
+ * </note>
437
516
  */
438
517
  Parameters?: _Parameters;
439
518
  /**
440
- * <p>The event that triggers the event-based policy. </p>
441
- * <p>This parameter is required for event-based policies only. If you are creating a snapshot or AMI policy, omit this parameter.</p>
519
+ * <p>
520
+ * <b>[Event-based policies only]</b> The event that activates the event-based policy.</p>
442
521
  */
443
522
  EventSource?: EventSource;
444
523
  /**
445
- * <p>The actions to be performed when the event-based policy is triggered. You can specify
446
- * only one action per policy.</p>
447
- * <p>This parameter is required for event-based policies only. If you are creating a snapshot or AMI policy, omit this parameter.</p>
524
+ * <p>
525
+ * <b>[Event-based policies only]</b> The actions to be performed when the event-based policy is activated. You can specify
526
+ * only one action per policy.</p>
448
527
  */
449
528
  Actions?: Action[];
450
529
  }
@@ -616,7 +695,9 @@ export interface LifecyclePolicySummary {
616
695
  /**
617
696
  * <p>The type of policy. <code>EBS_SNAPSHOT_MANAGEMENT</code> indicates that the policy
618
697
  * manages the lifecycle of Amazon EBS snapshots. <code>IMAGE_MANAGEMENT</code>
619
- * indicates that the policy manages the lifecycle of EBS-backed AMIs.</p>
698
+ * indicates that the policy manages the lifecycle of EBS-backed AMIs.
699
+ * <code>EVENT_BASED_POLICY</code> indicates that the policy automates cross-account
700
+ * snapshot copies for snapshots that are shared with your account.</p>
620
701
  */
621
702
  PolicyType?: PolicyTypeValues | string;
622
703
  }
@@ -633,7 +714,8 @@ export interface GetLifecyclePolicyRequest {
633
714
  PolicyId: string | undefined;
634
715
  }
635
716
  /**
636
- * <p>Detailed information about a lifecycle policy.</p>
717
+ * <p>
718
+ * <b>[All policy types]</b> Detailed information about a snapshot, AMI, or event-based lifecycle policy.</p>
637
719
  */
638
720
  export interface LifecyclePolicy {
639
721
  /**
@@ -770,6 +852,10 @@ export declare const EventParametersFilterSensitiveLog: (obj: EventParameters) =
770
852
  * @internal
771
853
  */
772
854
  export declare const EventSourceFilterSensitiveLog: (obj: EventSource) => any;
855
+ /**
856
+ * @internal
857
+ */
858
+ export declare const TagFilterSensitiveLog: (obj: Tag) => any;
773
859
  /**
774
860
  * @internal
775
861
  */
@@ -802,10 +888,6 @@ export declare const RetainRuleFilterSensitiveLog: (obj: RetainRule) => any;
802
888
  * @internal
803
889
  */
804
890
  export declare const ShareRuleFilterSensitiveLog: (obj: ShareRule) => any;
805
- /**
806
- * @internal
807
- */
808
- export declare const TagFilterSensitiveLog: (obj: Tag) => any;
809
891
  /**
810
892
  * @internal
811
893
  */
@@ -59,11 +59,20 @@ export interface EventSource {
59
59
  Parameters?: EventParameters;
60
60
  }
61
61
 
62
+ export interface Tag {
63
+
64
+ Key: string | undefined;
65
+
66
+ Value: string | undefined;
67
+ }
68
+
62
69
  export interface _Parameters {
63
70
 
64
71
  ExcludeBootVolume?: boolean;
65
72
 
66
73
  NoReboot?: boolean;
74
+
75
+ ExcludeDataVolumeTags?: Tag[];
67
76
  }
68
77
  export declare enum PolicyTypeValues {
69
78
  EBS_SNAPSHOT_MANAGEMENT = "EBS_SNAPSHOT_MANAGEMENT",
@@ -161,13 +170,6 @@ export interface ShareRule {
161
170
  UnshareIntervalUnit?: RetentionIntervalUnitValues | string;
162
171
  }
163
172
 
164
- export interface Tag {
165
-
166
- Key: string | undefined;
167
-
168
- Value: string | undefined;
169
- }
170
-
171
173
  export interface Schedule {
172
174
 
173
175
  Name?: string;
@@ -397,6 +399,8 @@ export declare const EventParametersFilterSensitiveLog: (obj: EventParameters) =
397
399
 
398
400
  export declare const EventSourceFilterSensitiveLog: (obj: EventSource) => any;
399
401
 
402
+ export declare const TagFilterSensitiveLog: (obj: Tag) => any;
403
+
400
404
  export declare const _ParametersFilterSensitiveLog: (obj: _Parameters) => any;
401
405
 
402
406
  export declare const CreateRuleFilterSensitiveLog: (obj: CreateRule) => any;
@@ -413,8 +417,6 @@ export declare const RetainRuleFilterSensitiveLog: (obj: RetainRule) => any;
413
417
 
414
418
  export declare const ShareRuleFilterSensitiveLog: (obj: ShareRule) => any;
415
419
 
416
- export declare const TagFilterSensitiveLog: (obj: Tag) => any;
417
-
418
420
  export declare const ScheduleFilterSensitiveLog: (obj: Schedule) => any;
419
421
 
420
422
  export declare const PolicyDetailsFilterSensitiveLog: (obj: PolicyDetails) => 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.145.0",
4
+ "version": "3.147.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",