From 36c9b5add4913254dfb4cbec876b985366f4d96d Mon Sep 17 00:00:00 2001 From: awstools Date: Mon, 16 Dec 2024 19:19:12 +0000 Subject: [PATCH] feat(client-dlm): This release adds support for Local Zones in Amazon Data Lifecycle Manager EBS snapshot lifecycle policies. --- .../commands/CreateLifecyclePolicyCommand.ts | 4 +- .../src/commands/GetLifecyclePolicyCommand.ts | 4 +- .../commands/UpdateLifecyclePolicyCommand.ts | 4 +- clients/client-dlm/src/models/models_0.ts | 94 +++++++++++++------ codegen/sdk-codegen/aws-models/dlm.json | 26 +++-- 5 files changed, 92 insertions(+), 40 deletions(-) diff --git a/clients/client-dlm/src/commands/CreateLifecyclePolicyCommand.ts b/clients/client-dlm/src/commands/CreateLifecyclePolicyCommand.ts index bf0b2be23cb41..10868fca78ff3 100644 --- a/clients/client-dlm/src/commands/CreateLifecyclePolicyCommand.ts +++ b/clients/client-dlm/src/commands/CreateLifecyclePolicyCommand.ts @@ -68,7 +68,7 @@ export interface CreateLifecyclePolicyCommandOutput extends CreateLifecyclePolic * "VOLUME" || "INSTANCE", * ], * ResourceLocations: [ // ResourceLocationList - * "CLOUD" || "OUTPOST", + * "CLOUD" || "OUTPOST" || "LOCAL_ZONE", * ], * TargetTags: [ // TargetTagList * { // Tag @@ -93,7 +93,7 @@ export interface CreateLifecyclePolicyCommandOutput extends CreateLifecyclePolic * }, * ], * CreateRule: { // CreateRule - * Location: "CLOUD" || "OUTPOST_LOCAL", + * Location: "CLOUD" || "OUTPOST_LOCAL" || "LOCAL_ZONE", * Interval: Number("int"), * IntervalUnit: "HOURS", * Times: [ // TimesList diff --git a/clients/client-dlm/src/commands/GetLifecyclePolicyCommand.ts b/clients/client-dlm/src/commands/GetLifecyclePolicyCommand.ts index debae7aab3215..8a8fbebf01a5d 100644 --- a/clients/client-dlm/src/commands/GetLifecyclePolicyCommand.ts +++ b/clients/client-dlm/src/commands/GetLifecyclePolicyCommand.ts @@ -55,7 +55,7 @@ export interface GetLifecyclePolicyCommandOutput extends GetLifecyclePolicyRespo * // "VOLUME" || "INSTANCE", * // ], * // ResourceLocations: [ // ResourceLocationList - * // "CLOUD" || "OUTPOST", + * // "CLOUD" || "OUTPOST" || "LOCAL_ZONE", * // ], * // TargetTags: [ // TargetTagList * // { // Tag @@ -80,7 +80,7 @@ export interface GetLifecyclePolicyCommandOutput extends GetLifecyclePolicyRespo * // }, * // ], * // CreateRule: { // CreateRule - * // Location: "CLOUD" || "OUTPOST_LOCAL", + * // Location: "CLOUD" || "OUTPOST_LOCAL" || "LOCAL_ZONE", * // Interval: Number("int"), * // IntervalUnit: "HOURS", * // Times: [ // TimesList diff --git a/clients/client-dlm/src/commands/UpdateLifecyclePolicyCommand.ts b/clients/client-dlm/src/commands/UpdateLifecyclePolicyCommand.ts index f6fc289e3c3ad..f1b15d7ab66f5 100644 --- a/clients/client-dlm/src/commands/UpdateLifecyclePolicyCommand.ts +++ b/clients/client-dlm/src/commands/UpdateLifecyclePolicyCommand.ts @@ -48,7 +48,7 @@ export interface UpdateLifecyclePolicyCommandOutput extends UpdateLifecyclePolic * "VOLUME" || "INSTANCE", * ], * ResourceLocations: [ // ResourceLocationList - * "CLOUD" || "OUTPOST", + * "CLOUD" || "OUTPOST" || "LOCAL_ZONE", * ], * TargetTags: [ // TargetTagList * { // Tag @@ -73,7 +73,7 @@ export interface UpdateLifecyclePolicyCommandOutput extends UpdateLifecyclePolic * }, * ], * CreateRule: { // CreateRule - * Location: "CLOUD" || "OUTPOST_LOCAL", + * Location: "CLOUD" || "OUTPOST_LOCAL" || "LOCAL_ZONE", * Interval: Number("int"), * IntervalUnit: "HOURS", * Times: [ // TimesList diff --git a/clients/client-dlm/src/models/models_0.ts b/clients/client-dlm/src/models/models_0.ts index b11088c2b58b5..baafdc3004bca 100644 --- a/clients/client-dlm/src/models/models_0.ts +++ b/clients/client-dlm/src/models/models_0.ts @@ -419,6 +419,7 @@ export type PolicyTypeValues = (typeof PolicyTypeValues)[keyof typeof PolicyType */ export const ResourceLocationValues = { CLOUD: "CLOUD", + LOCAL_ZONE: "LOCAL_ZONE", OUTPOST: "OUTPOST", } as const; @@ -460,6 +461,7 @@ export type IntervalUnitValues = (typeof IntervalUnitValues)[keyof typeof Interv */ export const LocationValues = { CLOUD: "CLOUD", + LOCAL_ZONE: "LOCAL_ZONE", OUTPOST_LOCAL: "OUTPOST_LOCAL", } as const; @@ -646,14 +648,39 @@ export interface Script { export interface CreateRule { /** *

- * [Custom snapshot policies only] Specifies the destination for snapshots created by the policy. To create - * snapshots in the same Region as the source resource, specify CLOUD. To create - * snapshots on the same Outpost as the source resource, specify OUTPOST_LOCAL. - * If you omit this parameter, CLOUD is used by default.

- *

If the policy targets resources in an Amazon Web Services Region, then you must create - * snapshots in the same Region as the source resource. If the policy targets resources on an - * Outpost, then you can create snapshots on the same Outpost as the source resource, or in - * the Region of that Outpost.

+ * [Custom snapshot policies only] Specifies the destination for snapshots created by the policy. The + * allowed destinations depend on the location of the targeted resources.

+ * + *

Specify one of the following values:

+ * + *

Default: CLOUD + *

* @public */ Location?: LocationValues | undefined; @@ -680,8 +707,8 @@ export interface CreateRule { /** *

The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1 - * year. For more information, see Cron - * expressions in the Amazon CloudWatch User Guide.

+ * year. For more information, see the Cron expressions reference in + * the Amazon EventBridge User Guide.

* @public */ CronExpression?: string | undefined; @@ -1011,11 +1038,11 @@ export interface Schedule { FastRestoreRule?: FastRestoreRule | undefined; /** - *

Specifies a rule for copying snapshots or AMIs across regions.

+ *

Specifies a rule for copying snapshots or AMIs across Regions.

* - *

You can't specify cross-Region copy rules for policies that create snapshots on an Outpost. - * If the policy creates snapshots in a Region, then snapshots can be copied to up to three - * Regions or Outposts.

+ *

You can't specify cross-Region copy rules for policies that create snapshots on an + * Outpost or in a Local Zone. If the policy creates snapshots in a Region, then snapshots + * can be copied to up to three Regions or Outposts.

*
* @public */ @@ -1054,8 +1081,7 @@ export interface Schedule { */ export interface PolicyDetails { /** - *

- * [Custom policies only] The valid target resource types and actions a policy can manage. Specify EBS_SNAPSHOT_MANAGEMENT + *

The type of policy. Specify EBS_SNAPSHOT_MANAGEMENT * to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify IMAGE_MANAGEMENT * to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify EVENT_BASED_POLICY * to create an event-based policy that performs specific actions when a defined event occurs in your Amazon Web Services account.

@@ -1075,11 +1101,26 @@ export interface PolicyDetails { /** *

- * [Custom snapshot and AMI policies only] The location of the resources to backup. If the source resources are located in an - * Amazon Web Services Region, specify CLOUD. If the source resources are located on an Outpost - * in your account, specify OUTPOST.

- *

If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources - * of the specified type with matching target tags across all of the Outposts in your account.

+ * [Custom snapshot and AMI policies only] The location of the resources to backup.

+ * + *

* @public */ ResourceLocations?: ResourceLocationValues[] | undefined; @@ -1712,8 +1753,7 @@ export interface GetLifecyclePolicyRequest { } /** - *

- * [Custom policies only] Detailed information about a snapshot, AMI, or event-based lifecycle policy.

+ *

Information about a lifecycle policy.

* @public */ export interface LifecyclePolicy { @@ -1779,16 +1819,16 @@ export interface LifecyclePolicy { PolicyArn?: string | undefined; /** - *

- * [Default policies only] The type of default policy. Values include:

+ *

Indicates whether the policy is a default lifecycle policy or a custom + * lifecycle policy.

* * @public diff --git a/codegen/sdk-codegen/aws-models/dlm.json b/codegen/sdk-codegen/aws-models/dlm.json index 30585e5466a64..8b3c7b10c0473 100644 --- a/codegen/sdk-codegen/aws-models/dlm.json +++ b/codegen/sdk-codegen/aws-models/dlm.json @@ -306,7 +306,7 @@ "Location": { "target": "com.amazonaws.dlm#LocationValues", "traits": { - "smithy.api#documentation": "

\n [Custom snapshot policies only] Specifies the destination for snapshots created by the policy. To create \n\t\t\tsnapshots in the same Region as the source resource, specify CLOUD. To create \n\t\t\tsnapshots on the same Outpost as the source resource, specify OUTPOST_LOCAL. \n\t\t\tIf you omit this parameter, CLOUD is used by default.

\n

If the policy targets resources in an Amazon Web Services Region, then you must create \n\t\t\tsnapshots in the same Region as the source resource. If the policy targets resources on an \n\t\t\tOutpost, then you can create snapshots on the same Outpost as the source resource, or in \n\t\t\tthe Region of that Outpost.

" + "smithy.api#documentation": "

\n [Custom snapshot policies only] Specifies the destination for snapshots created by the policy. The \n\t\t\tallowed destinations depend on the location of the targeted resources.

\n \n

Specify one of the following values:

\n \n

Default: CLOUD\n

" } }, "Interval": { @@ -330,7 +330,7 @@ "CronExpression": { "target": "com.amazonaws.dlm#CronExpression", "traits": { - "smithy.api#documentation": "

The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1\n\t\t\tyear. For more information, see Cron\n\t\t\t\texpressions in the Amazon CloudWatch User Guide.

" + "smithy.api#documentation": "

The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1\n\t\t\tyear. For more information, see the Cron expressions reference in \n\t\t\tthe Amazon EventBridge User Guide.

" } }, "Scripts": { @@ -1204,12 +1204,12 @@ "DefaultPolicy": { "target": "com.amazonaws.dlm#DefaultPolicy", "traits": { - "smithy.api#documentation": "

\n [Default policies only] The type of default policy. Values include:

\n " + "smithy.api#documentation": "

Indicates whether the policy is a default lifecycle policy or a custom \n\t\t\tlifecycle policy.

\n " } } }, "traits": { - "smithy.api#documentation": "

\n [Custom policies only] Detailed information about a snapshot, AMI, or event-based lifecycle policy.

" + "smithy.api#documentation": "

Information about a lifecycle policy.

" } }, "com.amazonaws.dlm#LifecyclePolicySummary": { @@ -1356,6 +1356,12 @@ "traits": { "smithy.api#enumValue": "OUTPOST_LOCAL" } + }, + "LOCAL_ZONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOCAL_ZONE" + } } } }, @@ -1423,7 +1429,7 @@ "PolicyType": { "target": "com.amazonaws.dlm#PolicyTypeValues", "traits": { - "smithy.api#documentation": "

\n [Custom policies only] The valid target resource types and actions a policy can manage. Specify EBS_SNAPSHOT_MANAGEMENT \n\t\t\tto create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify IMAGE_MANAGEMENT \n\t\t\tto create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify EVENT_BASED_POLICY \n\t\t\tto create an event-based policy that performs specific actions when a defined event occurs in your Amazon Web Services account.

\n

The default is EBS_SNAPSHOT_MANAGEMENT.

" + "smithy.api#documentation": "

The type of policy. Specify EBS_SNAPSHOT_MANAGEMENT \n\t\t\tto create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify IMAGE_MANAGEMENT \n\t\t\tto create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify EVENT_BASED_POLICY \n\t\t\tto create an event-based policy that performs specific actions when a defined event occurs in your Amazon Web Services account.

\n

The default is EBS_SNAPSHOT_MANAGEMENT.

" } }, "ResourceTypes": { @@ -1435,7 +1441,7 @@ "ResourceLocations": { "target": "com.amazonaws.dlm#ResourceLocationList", "traits": { - "smithy.api#documentation": "

\n [Custom snapshot and AMI policies only] The location of the resources to backup. If the source resources are located in an \n\t\t\tAmazon Web Services Region, specify CLOUD. If the source resources are located on an Outpost \n\t\t\tin your account, specify OUTPOST.

\n

If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources \n\t\t\t\tof the specified type with matching target tags across all of the Outposts in your account.

" + "smithy.api#documentation": "

\n [Custom snapshot and AMI policies only] The location of the resources to backup.

\n \n

" } }, "TargetTags": { @@ -1603,6 +1609,12 @@ "traits": { "smithy.api#enumValue": "OUTPOST" } + }, + "LOCAL_ZONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOCAL_ZONE" + } } } }, @@ -1800,7 +1812,7 @@ "CrossRegionCopyRules": { "target": "com.amazonaws.dlm#CrossRegionCopyRules", "traits": { - "smithy.api#documentation": "

Specifies a rule for copying snapshots or AMIs across regions.

\n \n

You can't specify cross-Region copy rules for policies that create snapshots on an Outpost. \n\t\t\tIf the policy creates snapshots in a Region, then snapshots can be copied to up to three \n\t\t\tRegions or Outposts.

\n
" + "smithy.api#documentation": "

Specifies a rule for copying snapshots or AMIs across Regions.

\n \n

You can't specify cross-Region copy rules for policies that create snapshots on an \n\t\t\t\tOutpost or in a Local Zone. If the policy creates snapshots in a Region, then snapshots \n\t\t\t\tcan be copied to up to three Regions or Outposts.

\n
" } }, "ShareRules": {