@aws-sdk/client-dlm 3.181.0 → 3.183.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.
@@ -1,4 +1,3 @@
1
- import { __assign, __awaiter, __generator } from "tslib";
2
1
  import packageInfo from "../package.json";
3
2
  import { Sha256 } from "@aws-crypto/sha256-browser";
4
3
  import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@aws-sdk/config-resolver";
@@ -12,15 +11,30 @@ import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
12
11
  import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
13
12
  import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
14
13
  import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-browser";
15
- export var getRuntimeConfig = function (config) {
16
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
17
- var defaultsMode = resolveDefaultsModeConfig(config);
18
- var defaultConfigProvider = function () { return defaultsMode().then(loadConfigsForDefaultMode); };
19
- var clientSharedValues = getSharedRuntimeConfig(config);
20
- return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "browser", defaultsMode: defaultsMode, base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : (function (_) { return function () { return Promise.reject(new Error("Credential is missing")); }; }), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : DEFAULT_MAX_ATTEMPTS, region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : invalidProvider("Region is missing"), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new RequestHandler(defaultConfigProvider), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : (function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
21
- switch (_a.label) {
22
- case 0: return [4, defaultConfigProvider()];
23
- case 1: return [2, (_a.sent()).retryMode || DEFAULT_RETRY_MODE];
24
- }
25
- }); }); }), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Sha256, streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : (function () { return Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT); }), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : (function () { return Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT); }), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });
14
+ export const getRuntimeConfig = (config) => {
15
+ const defaultsMode = resolveDefaultsModeConfig(config);
16
+ const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
17
+ const clientSharedValues = getSharedRuntimeConfig(config);
18
+ return {
19
+ ...clientSharedValues,
20
+ ...config,
21
+ runtime: "browser",
22
+ defaultsMode,
23
+ base64Decoder: config?.base64Decoder ?? fromBase64,
24
+ base64Encoder: config?.base64Encoder ?? toBase64,
25
+ bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
26
+ credentialDefaultProvider: config?.credentialDefaultProvider ?? ((_) => () => Promise.reject(new Error("Credential is missing"))),
27
+ defaultUserAgentProvider: config?.defaultUserAgentProvider ??
28
+ defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
29
+ maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
30
+ region: config?.region ?? invalidProvider("Region is missing"),
31
+ requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
32
+ retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
33
+ sha256: config?.sha256 ?? Sha256,
34
+ streamCollector: config?.streamCollector ?? streamCollector,
35
+ useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),
36
+ useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)),
37
+ utf8Decoder: config?.utf8Decoder ?? fromUtf8,
38
+ utf8Encoder: config?.utf8Encoder ?? toUtf8,
39
+ };
26
40
  };
@@ -1,4 +1,3 @@
1
- import { __assign, __awaiter, __generator } from "tslib";
2
1
  import packageInfo from "../package.json";
3
2
  import { decorateDefaultCredentialProvider } from "@aws-sdk/client-sts";
4
3
  import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from "@aws-sdk/config-resolver";
@@ -15,16 +14,35 @@ import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shar
15
14
  import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
16
15
  import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-node";
17
16
  import { emitWarningIfUnsupportedVersion } from "@aws-sdk/smithy-client";
18
- export var getRuntimeConfig = function (config) {
19
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
17
+ export const getRuntimeConfig = (config) => {
20
18
  emitWarningIfUnsupportedVersion(process.version);
21
- var defaultsMode = resolveDefaultsModeConfig(config);
22
- var defaultConfigProvider = function () { return defaultsMode().then(loadConfigsForDefaultMode); };
23
- var clientSharedValues = getSharedRuntimeConfig(config);
24
- return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "node", defaultsMode: defaultsMode, base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : decorateDefaultCredentialProvider(credentialDefaultProvider), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new RequestHandler(defaultConfigProvider), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : loadNodeConfig(__assign(__assign({}, NODE_RETRY_MODE_CONFIG_OPTIONS), { default: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
25
- switch (_a.label) {
26
- case 0: return [4, defaultConfigProvider()];
27
- case 1: return [2, (_a.sent()).retryMode || DEFAULT_RETRY_MODE];
28
- }
29
- }); }); } })), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Hash.bind(null, "sha256"), streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });
19
+ const defaultsMode = resolveDefaultsModeConfig(config);
20
+ const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
21
+ const clientSharedValues = getSharedRuntimeConfig(config);
22
+ return {
23
+ ...clientSharedValues,
24
+ ...config,
25
+ runtime: "node",
26
+ defaultsMode,
27
+ base64Decoder: config?.base64Decoder ?? fromBase64,
28
+ base64Encoder: config?.base64Encoder ?? toBase64,
29
+ bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
30
+ credentialDefaultProvider: config?.credentialDefaultProvider ?? decorateDefaultCredentialProvider(credentialDefaultProvider),
31
+ defaultUserAgentProvider: config?.defaultUserAgentProvider ??
32
+ defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
33
+ maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
34
+ region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),
35
+ requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
36
+ retryMode: config?.retryMode ??
37
+ loadNodeConfig({
38
+ ...NODE_RETRY_MODE_CONFIG_OPTIONS,
39
+ default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
40
+ }),
41
+ sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
42
+ streamCollector: config?.streamCollector ?? streamCollector,
43
+ useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),
44
+ useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),
45
+ utf8Decoder: config?.utf8Decoder ?? fromUtf8,
46
+ utf8Encoder: config?.utf8Encoder ?? toUtf8,
47
+ };
30
48
  };
@@ -1,8 +1,11 @@
1
- import { __assign } from "tslib";
2
1
  import { Sha256 } from "@aws-crypto/sha256-js";
3
2
  import { getRuntimeConfig as getBrowserRuntimeConfig } from "./runtimeConfig.browser";
4
- export var getRuntimeConfig = function (config) {
5
- var _a;
6
- var browserDefaults = getBrowserRuntimeConfig(config);
7
- return __assign(__assign(__assign({}, browserDefaults), config), { runtime: "react-native", sha256: (_a = config === null || config === void 0 ? void 0 : config.sha256) !== null && _a !== void 0 ? _a : Sha256 });
3
+ export const getRuntimeConfig = (config) => {
4
+ const browserDefaults = getBrowserRuntimeConfig(config);
5
+ return {
6
+ ...browserDefaults,
7
+ ...config,
8
+ runtime: "react-native",
9
+ sha256: config?.sha256 ?? Sha256,
10
+ };
8
11
  };
@@ -1,13 +1,10 @@
1
1
  import { parseUrl } from "@aws-sdk/url-parser";
2
2
  import { defaultRegionInfoProvider } from "./endpoints";
3
- export var getRuntimeConfig = function (config) {
4
- var _a, _b, _c, _d, _e;
5
- return ({
6
- apiVersion: "2018-01-12",
7
- disableHostPrefix: (_a = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _a !== void 0 ? _a : false,
8
- logger: (_b = config === null || config === void 0 ? void 0 : config.logger) !== null && _b !== void 0 ? _b : {},
9
- regionInfoProvider: (_c = config === null || config === void 0 ? void 0 : config.regionInfoProvider) !== null && _c !== void 0 ? _c : defaultRegionInfoProvider,
10
- serviceId: (_d = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _d !== void 0 ? _d : "DLM",
11
- urlParser: (_e = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _e !== void 0 ? _e : parseUrl,
12
- });
13
- };
3
+ export const getRuntimeConfig = (config) => ({
4
+ apiVersion: "2018-01-12",
5
+ disableHostPrefix: config?.disableHostPrefix ?? false,
6
+ logger: config?.logger ?? {},
7
+ regionInfoProvider: config?.regionInfoProvider ?? defaultRegionInfoProvider,
8
+ serviceId: config?.serviceId ?? "DLM",
9
+ urlParser: config?.urlParser ?? parseUrl,
10
+ });
@@ -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.183.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",
@@ -19,41 +19,41 @@
19
19
  "dependencies": {
20
20
  "@aws-crypto/sha256-browser": "2.0.0",
21
21
  "@aws-crypto/sha256-js": "2.0.0",
22
- "@aws-sdk/client-sts": "3.181.0",
23
- "@aws-sdk/config-resolver": "3.178.0",
24
- "@aws-sdk/credential-provider-node": "3.181.0",
25
- "@aws-sdk/fetch-http-handler": "3.178.0",
26
- "@aws-sdk/hash-node": "3.178.0",
27
- "@aws-sdk/invalid-dependency": "3.178.0",
28
- "@aws-sdk/middleware-content-length": "3.178.0",
29
- "@aws-sdk/middleware-host-header": "3.178.0",
30
- "@aws-sdk/middleware-logger": "3.178.0",
31
- "@aws-sdk/middleware-recursion-detection": "3.178.0",
32
- "@aws-sdk/middleware-retry": "3.178.0",
33
- "@aws-sdk/middleware-serde": "3.178.0",
34
- "@aws-sdk/middleware-signing": "3.179.0",
35
- "@aws-sdk/middleware-stack": "3.178.0",
36
- "@aws-sdk/middleware-user-agent": "3.178.0",
37
- "@aws-sdk/node-config-provider": "3.178.0",
38
- "@aws-sdk/node-http-handler": "3.178.0",
39
- "@aws-sdk/protocol-http": "3.178.0",
40
- "@aws-sdk/smithy-client": "3.180.0",
41
- "@aws-sdk/types": "3.178.0",
42
- "@aws-sdk/url-parser": "3.178.0",
43
- "@aws-sdk/util-base64-browser": "3.170.0",
44
- "@aws-sdk/util-base64-node": "3.170.0",
45
- "@aws-sdk/util-body-length-browser": "3.170.0",
46
- "@aws-sdk/util-body-length-node": "3.170.0",
47
- "@aws-sdk/util-defaults-mode-browser": "3.180.0",
48
- "@aws-sdk/util-defaults-mode-node": "3.180.0",
49
- "@aws-sdk/util-user-agent-browser": "3.178.0",
50
- "@aws-sdk/util-user-agent-node": "3.178.0",
51
- "@aws-sdk/util-utf8-browser": "3.170.0",
52
- "@aws-sdk/util-utf8-node": "3.170.0",
22
+ "@aws-sdk/client-sts": "3.183.0",
23
+ "@aws-sdk/config-resolver": "3.183.0",
24
+ "@aws-sdk/credential-provider-node": "3.183.0",
25
+ "@aws-sdk/fetch-http-handler": "3.183.0",
26
+ "@aws-sdk/hash-node": "3.183.0",
27
+ "@aws-sdk/invalid-dependency": "3.183.0",
28
+ "@aws-sdk/middleware-content-length": "3.183.0",
29
+ "@aws-sdk/middleware-host-header": "3.183.0",
30
+ "@aws-sdk/middleware-logger": "3.183.0",
31
+ "@aws-sdk/middleware-recursion-detection": "3.183.0",
32
+ "@aws-sdk/middleware-retry": "3.183.0",
33
+ "@aws-sdk/middleware-serde": "3.183.0",
34
+ "@aws-sdk/middleware-signing": "3.183.0",
35
+ "@aws-sdk/middleware-stack": "3.183.0",
36
+ "@aws-sdk/middleware-user-agent": "3.183.0",
37
+ "@aws-sdk/node-config-provider": "3.183.0",
38
+ "@aws-sdk/node-http-handler": "3.183.0",
39
+ "@aws-sdk/protocol-http": "3.183.0",
40
+ "@aws-sdk/smithy-client": "3.183.0",
41
+ "@aws-sdk/types": "3.183.0",
42
+ "@aws-sdk/url-parser": "3.183.0",
43
+ "@aws-sdk/util-base64-browser": "3.183.0",
44
+ "@aws-sdk/util-base64-node": "3.183.0",
45
+ "@aws-sdk/util-body-length-browser": "3.183.0",
46
+ "@aws-sdk/util-body-length-node": "3.183.0",
47
+ "@aws-sdk/util-defaults-mode-browser": "3.183.0",
48
+ "@aws-sdk/util-defaults-mode-node": "3.183.0",
49
+ "@aws-sdk/util-user-agent-browser": "3.183.0",
50
+ "@aws-sdk/util-user-agent-node": "3.183.0",
51
+ "@aws-sdk/util-utf8-browser": "3.183.0",
52
+ "@aws-sdk/util-utf8-node": "3.183.0",
53
53
  "tslib": "^2.3.1"
54
54
  },
55
55
  "devDependencies": {
56
- "@aws-sdk/service-client-documentation-generator": "3.170.0",
56
+ "@aws-sdk/service-client-documentation-generator": "3.183.0",
57
57
  "@tsconfig/recommended": "1.0.1",
58
58
  "@types/node": "^12.7.5",
59
59
  "concurrently": "7.0.0",