update-lifecycle-policy
Description
Updates the specified lifecycle policy.
For more information about updating a policy, see Modify lifecycle policies .
See also: AWS API Documentation
Synopsis
update-lifecycle-policy
--policy-id <value>
[--execution-role-arn <value>]
[--state <value>]
[--description <value>]
[--policy-details <value>]
[--create-interval <value>]
[--retain-interval <value>]
[--copy-tags | --no-copy-tags]
[--extend-deletion | --no-extend-deletion]
[--cross-region-copy-targets <value>]
[--exclusions <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Options
--policy-id (string)
--execution-role-arn (string)
--state (string)
The desired activation state of the lifecycle policy after creation.
Possible values:
ENABLEDDISABLED
--description (string)
--policy-details (structure)
The configuration of the lifecycle policy. You cannot update the policy type or the resource type.
PolicyType -> (string)
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.
The default is EBS_SNAPSHOT_MANAGEMENT .
ResourceTypes -> (list)
VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume snapshots from the volumes for an instance.(string)
ResourceLocations -> (list)
- If the source resources are located in a Region, specify
CLOUD. In this case, the policy targets all resources of the specified type with matching target tags across all Availability Zones in the Region. -
[Custom snapshot policies only] If the source resources are located in a Local Zone, specify
LOCAL_ZONE. In this case, the policy targets all resources of the specified type with matching target tags across all Local Zones in the Region. - If the source resources are located on an Outpost in your account, specify
OUTPOST. In this case, the policy targets all resources of the specified type with matching target tags across all of the Outposts in your account.
(string)
TargetTags -> (list)
(structure)
Specifies a tag for a resource.
Key -> (string)
Value -> (string)
Schedules -> (list)
(structure)
Name -> (string)
CopyTags -> (boolean)
TagsToAdd -> (list)
The tags to apply to policy-created resources. These user-defined tags are in addition to the Amazon Web Services-added lifecycle tags.
(structure)
Specifies a tag for a resource.
Key -> (string)
Value -> (string)
VariableTags -> (list)
$(instance-id) or $(timestamp) . Variable tags are only valid for EBS Snapshot Management – Instance policies.(structure)
Specifies a tag for a resource.
Key -> (string)
Value -> (string)
CreateRule -> (structure)
The creation rule.
Location -> (string)
- If the policy targets resources in a Region, then you must create snapshots in the same Region as the source resource.
- If the policy targets resources in a Local Zone, you can create snapshots in the same Local Zone or in its parent Region.
- If the policy targets resources on an Outpost, then you can create snapshots on the same Outpost or in its parent Region.
Specify one of the following values:
- To create snapshots in the same Region as the source resource, specify
CLOUD. - To create snapshots in the same Local Zone as the source resource, specify
LOCAL_ZONE. - To create snapshots on the same Outpost as the source resource, specify
OUTPOST_LOCAL.
Default: CLOUD
Interval -> (integer)
IntervalUnit -> (string)
Times -> (list)
The time, in UTC, to start the operation. The supported format is hh:mm.
The operation occurs within a one-hour window following the specified time. If you do not specify a time, Amazon Data Lifecycle Manager selects a time within the next 24 hours.
(string)
CronExpression -> (string)
Scripts -> (list)
For more information, see Automating application-consistent snapshots with pre and post scripts .
(structure)
Stages -> (list)
Indicate which scripts Amazon Data Lifecycle Manager should run on target instances. Pre scripts run before Amazon Data Lifecycle Manager initiates snapshot creation. Post scripts run after Amazon Data Lifecycle Manager initiates snapshot creation.
- To run a pre script only, specify
PRE. In this case, Amazon Data Lifecycle Manager calls the SSM document with thepre-scriptparameter before initiating snapshot creation. - To run a post script only, specify
POST. In this case, Amazon Data Lifecycle Manager calls the SSM document with thepost-scriptparameter after initiating snapshot creation. - To run both pre and post scripts, specify both
PREandPOST. In this case, Amazon Data Lifecycle Manager calls the SSM document with thepre-scriptparameter before initiating snapshot creation, and then it calls the SSM document again with thepost-scriptparameter after initiating snapshot creation.
If you are automating VSS Backups, omit this parameter.
Default: PRE and POST
(string)
ExecutionHandlerService -> (string)
Indicates the service used to execute the pre and/or post scripts.
- If you are using custom SSM documents or automating application-consistent snapshots of SAP HANA workloads, specify
AWS_SYSTEMS_MANAGER. - If you are automating VSS Backups, omit this parameter.
Default: AWS_SYSTEMS_MANAGER
ExecutionHandler -> (string)
The SSM document that includes the pre and/or post scripts to run.
- If you are automating VSS backups, specify
AWS_VSS_BACKUP. In this case, Amazon Data Lifecycle Manager automatically uses theAWSEC2-CreateVssSnapshotSSM document. - If you are automating application-consistent snapshots for SAP HANA workloads, specify
AWSSystemsManagerSAP-CreateDLMSnapshotForSAPHANA. - If you are using a custom SSM document that you own, specify either the name or ARN of the SSM document. If you are using a custom SSM document that is shared with you, specify the ARN of the SSM document.
ExecuteOperationOnScriptFailure -> (boolean)
Indicates whether Amazon Data Lifecycle Manager should default to crash-consistent snapshots if the pre script fails.
- To default to crash consistent snapshot if the pre script fails, specify
true. - To skip the instance for snapshot creation if the pre script fails, specify
false.
This parameter is supported only if you run a pre script. If you run a post script only, omit this parameter.
Default: true
ExecutionTimeout -> (integer)
Specifies a timeout period, in seconds, after which Amazon Data Lifecycle Manager fails the script run attempt if it has not completed. If a script does not complete within its timeout period, Amazon Data Lifecycle Manager fails the attempt. The timeout period applies to the pre and post scripts individually.
If you are automating VSS Backups, omit this parameter.
Default: 10
MaximumRetryCount -> (integer)
Specifies the number of times Amazon Data Lifecycle Manager should retry scripts that fail.
- If the pre script fails, Amazon Data Lifecycle Manager retries the entire snapshot creation process, including running the pre and post scripts.
- If the post script fails, Amazon Data Lifecycle Manager retries the post script only; in this case, the pre script will have completed and the snapshot might have been created.
If you do not want Amazon Data Lifecycle Manager to retry failed scripts, specify 0 .
Default: 0
RetainRule -> (structure)
The retention rule for snapshots or AMIs created by the policy.
Count -> (integer)
3 . When the fourth snapshot is created, the oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule .Interval -> (integer)
IntervalUnit -> (string)
Interval=3 and IntervalUnit=MONTHS . Once the snapshot has been retained for 3 months, it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule .FastRestoreRule -> (structure)
Count -> (integer)
Interval -> (integer)
IntervalUnit -> (string)
AvailabilityZones -> (list)
The Availability Zones in which to enable fast snapshot restore.
(string)
CrossRegionCopyRules -> (list)
Specifies a rule for copying snapshots or AMIs across Regions.
Note
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.(structure)
Note
To specify a cross-Region copy action for event-based polices, use CrossRegionCopyAction .TargetRegion -> (string)
Note
[Custom AMI policies only] The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.
Target -> (string)
Note
[Custom snapshot policies only] The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.
Encrypted -> (boolean)
CmkArn -> (string)
CopyTags -> (boolean)
RetainRule -> (structure)
The retention rule that indicates how long the cross-Region snapshot or AMI copies are to be retained in the destination Region.
Interval -> (integer)
IntervalUnit -> (string)
Interval=3 and IntervalUnit=MONTHS .DeprecateRule -> (structure)
Interval -> (integer)
IntervalUnit -> (string)
Interval=3 and IntervalUnit=MONTHS .ShareRules -> (list)
(structure)
TargetAccounts -> (list)
The IDs of the Amazon Web Services accounts with which to share the snapshots.
(string)
UnshareInterval -> (integer)
UnshareIntervalUnit -> (string)
DeprecateRule -> (structure)
Count -> (integer)
Interval -> (integer)
IntervalUnit -> (string)
ArchiveRule -> (structure)
For more information about using snapshot archiving, see Considerations for snapshot lifecycle policies .
RetainRule -> (structure)
Information about the retention period for the snapshot archiving rule.
RetentionArchiveTier -> (structure)
Information about retention period in the Amazon EBS Snapshots Archive. For more information, see Archive Amazon EBS snapshots .
Count -> (integer)
Interval -> (integer)
IntervalUnit -> (string)
Interval=6 and IntervalUnit=MONTHS .Parameters -> (structure)
Note
If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager console, then you must include this parameter and specify either the default values or the new values that you require. You can’t omit this parameter or set its values to null.ExcludeBootVolume -> (boolean)
false . If you specify true , then the root volumes attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.NoReboot -> (boolean)
true indicates that targeted instances are not rebooted when the policy runs. false indicates that target instances are rebooted when the policy runs. The default is true (instances are not rebooted).ExcludeDataVolumeTags -> (list)
If you create a snapshot lifecycle policy that targets instances and you specify tags for this parameter, then data volumes with the specified tags that are attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.
(structure)
Specifies a tag for a resource.
Key -> (string)
Value -> (string)
EventSource -> (structure)
Type -> (string)
Parameters -> (structure)
Information about the event.
EventType -> (string)
SnapshotOwner -> (list)
The IDs of the Amazon Web Services accounts that can trigger policy by sharing snapshots with your account. The policy only runs if one of the specified Amazon Web Services accounts shares a snapshot with your account.
(string)
DescriptionRegex -> (string)
The snapshot description that can trigger the policy. The description pattern is specified using a regular expression. The policy runs only if a snapshot with a description that matches the specified pattern is shared with your account.
For example, specifying ^.*Created for policy: policy-1234567890abcdef0.*$ configures the policy to run only if snapshots created by policy policy-1234567890abcdef0 are shared with your account.
Actions -> (list)
(structure)
Name -> (string)
CrossRegionCopy -> (list)
The rule for copying shared snapshots across Regions.
(structure)
Note
To specify a cross-Region copy rule for snapshot and AMI policies, use CrossRegionCopyRule .Target -> (string)
EncryptionConfiguration -> (structure)
The encryption settings for the copied snapshot.
Encrypted -> (boolean)
CmkArn -> (string)
RetainRule -> (structure)
Specifies a retention rule for cross-Region snapshot copies created by snapshot or event-based policies, or cross-Region AMI copies created by AMI policies. After the retention period expires, the cross-Region copy is deleted.
Interval -> (integer)
IntervalUnit -> (string)
Interval=3 and IntervalUnit=MONTHS .PolicyLanguage -> (string)
The type of policy to create. Specify one of the following:
-
SIMPLIFIEDTo create a default policy. -
STANDARDTo create a custom policy.
ResourceType -> (string)
- To create a default policy for EBS snapshots, that creates snapshots of all volumes in the Region that do not have recent backups, specify
VOLUME. - To create a default policy for EBS-backed AMIs, that creates EBS-backed AMIs from all instances in the Region that do not have recent backups, specify
INSTANCE.
CreateInterval -> (integer)
Default: 1
RetainInterval -> (integer)
Default: 7
CopyTags -> (boolean)
false .Default: false
CrossRegionCopyTargets -> (list)
(structure)
TargetRegion -> (string)
us-east-1 .ExtendDeletion -> (boolean)
By default (ExtendDeletion=false ):
- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify
true. - If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify
true.
If you enable extended deletion (ExtendDeletion=true ), you override both default behaviors simultaneously.
If you do not specify a value, the default is false .
Default: false
Exclusions -> (structure)
ExcludeBootVolumes -> (boolean)
true .ExcludeVolumeTypes -> (list)
(string)
ExcludeTags -> (list)
(structure)
Specifies a tag for a resource.
Key -> (string)
Value -> (string)
JSON Syntax:
{
"PolicyType": "EBS_SNAPSHOT_MANAGEMENT"|"IMAGE_MANAGEMENT"|"EVENT_BASED_POLICY",
"ResourceTypes": ["VOLUME"|"INSTANCE", ...],
"ResourceLocations": ["CLOUD"|"OUTPOST"|"LOCAL_ZONE", ...],
"TargetTags": [
{
"Key": "string",
"Value": "string"
}
...
],
"Schedules": [
{
"Name": "string",
"CopyTags": true|false,
"TagsToAdd": [
{
"Key": "string",
"Value": "string"
}
...
],
"VariableTags": [
{
"Key": "string",
"Value": "string"
}
...
],
"CreateRule": {
"Location": "CLOUD"|"OUTPOST_LOCAL"|"LOCAL_ZONE",
"Interval": integer,
"IntervalUnit": "HOURS",
"Times": ["string", ...],
"CronExpression": "string",
"Scripts": [
{
"Stages": ["PRE"|"POST", ...],
"ExecutionHandlerService": "AWS_SYSTEMS_MANAGER",
"ExecutionHandler": "string",
"ExecuteOperationOnScriptFailure": true|false,
"ExecutionTimeout": integer,
"MaximumRetryCount": integer
}
...
]
},
"RetainRule": {
"Count": integer,
"Interval": integer,
"IntervalUnit": "DAYS"|"WEEKS"|"MONTHS"|"YEARS"
},
"FastRestoreRule": {
"Count": integer,
"Interval": integer,
"IntervalUnit": "DAYS"|"WEEKS"|"MONTHS"|"YEARS",
"AvailabilityZones": ["string", ...]
},
"CrossRegionCopyRules": [
{
"TargetRegion": "string",
"Target": "string",
"Encrypted": true|false,
"CmkArn": "string",
"CopyTags": true|false,
"RetainRule": {
"Interval": integer,
"IntervalUnit": "DAYS"|"WEEKS"|"MONTHS"|"YEARS"
},
"DeprecateRule": {
"Interval": integer,
"IntervalUnit": "DAYS"|"WEEKS"|"MONTHS"|"YEARS"
}
}
...
],
"ShareRules": [
{
"TargetAccounts": ["string", ...],
"UnshareInterval": integer,
"UnshareIntervalUnit": "DAYS"|"WEEKS"|"MONTHS"|"YEARS"
}
...
],
"DeprecateRule": {
"Count": integer,
"Interval": integer,
"IntervalUnit": "DAYS"|"WEEKS"|"MONTHS"|"YEARS"
},
"ArchiveRule": {
"RetainRule": {
"RetentionArchiveTier": {
"Count": integer,
"Interval": integer,
"IntervalUnit": "DAYS"|"WEEKS"|"MONTHS"|"YEARS"
}
}
}
}
...
],
"Parameters": {
"ExcludeBootVolume": true|false,
"NoReboot": true|false,
"ExcludeDataVolumeTags": [
{
"Key": "string",
"Value": "string"
}
...
]
},
"EventSource": {
"Type": "MANAGED_CWE",
"Parameters": {
"EventType": "shareSnapshot",
"SnapshotOwner": ["string", ...],
"DescriptionRegex": "string"
}
},
"Actions": [
{
"Name": "string",
"CrossRegionCopy": [
{
"Target": "string",
"EncryptionConfiguration": {
"Encrypted": true|false,
"CmkArn": "string"
},
"RetainRule": {
"Interval": integer,
"IntervalUnit": "DAYS"|"WEEKS"|"MONTHS"|"YEARS"
}
}
...
]
}
...
],
"PolicyLanguage": "SIMPLIFIED"|"STANDARD",
"ResourceType": "VOLUME"|"INSTANCE",
"CreateInterval": integer,
"RetainInterval": integer,
"CopyTags": true|false,
"CrossRegionCopyTargets": [
{
"TargetRegion": "string"
}
...
],
"ExtendDeletion": true|false,
"Exclusions": {
"ExcludeBootVolumes": true|false,
"ExcludeVolumeTypes": ["string", ...],
"ExcludeTags": [
{
"Key": "string",
"Value": "string"
}
...
]
}
}
--create-interval (integer)
--retain-interval (integer)
--copy-tags | --no-copy-tags (boolean)
--extend-deletion | --no-extend-deletion (boolean)
By default (ExtendDeletion=false ):
- If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify
true. - If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify
true.
If you enable extended deletion (ExtendDeletion=true ), you override both default behaviors simultaneously.
Default: false
--cross-region-copy-targets (list)
(structure)
TargetRegion -> (string)
us-east-1 .Shorthand Syntax:
TargetRegion=string ...
JSON Syntax:
[
{
"TargetRegion": "string"
}
...
]
--exclusions (structure)
ExcludeBootVolumes -> (boolean)
true .ExcludeVolumeTypes -> (list)
(string)
ExcludeTags -> (list)
(structure)
Specifies a tag for a resource.
Key -> (string)
Value -> (string)
Shorthand Syntax:
ExcludeBootVolumes=boolean,ExcludeVolumeTypes=string,string,ExcludeTags=[{Key=string,Value=string},{Key=string,Value=string}]
JSON Syntax:
{
"ExcludeBootVolumes": true|false,
"ExcludeVolumeTypes": ["string", ...],
"ExcludeTags": [
{
"Key": "string",
"Value": "string"
}
...
]
}
--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.
--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
Global Options
--debug (boolean)
Turn on debug logging.
--endpoint-url (string)
Override command’s default URL with the given URL.
--no-verify-ssl (boolean)
By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.
--no-paginate (boolean)
Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.
--output (string)
The formatting style for command output.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
A JMESPath query to use in filtering the response data.
--profile (string)
Use a specific profile from your credential file.
--region (string)
The region to use. Overrides config/env settings.
--version (string)
Display the version of this tool.
--color (string)
Turn on/off color output.
- on
- off
- auto
--no-sign-request (boolean)
Do not sign requests. Credentials will not be loaded if this argument is provided.
--ca-bundle (string)
The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.
--cli-read-timeout (int)
The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.
--cli-connect-timeout (int)
The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.
--cli-binary-format (string)
The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob fileb:// will always be treated as binary and use the file contents directly regardless of the cli-binary-format setting. When using file:// the file contents will need to properly formatted for the configured cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Disable cli pager for output.
--cli-auto-prompt (boolean)
Automatically prompt for CLI input parameters.
--no-cli-auto-prompt (boolean)
Disable automatically prompt for CLI input parameters.
Examples
Note
To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.
Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .
Example 1: To enable a lifecycle policy
The following update-lifecycle-policy example enables the specified lifecycle policy.
aws dlm update-lifecycle-policy \
--policy-id policy-0123456789abcdef0 \
--state ENABLED
Example 2: To disable a lifecycle policy
The following update-lifecycle-policy example disables the specified lifecycle policy.
aws dlm update-lifecycle-policy \
--policy-id policy-0123456789abcdef0 \
--state DISABLED
Example 3: To update the details for lifecycle policy
The following update-lifecycle-policy example updates the target tags for the specified lifecycle policy.
aws dlm update-lifecycle-policy \
--policy-id policy-0123456789abcdef0
--policy-details file://policyDetails.json
Contents of policyDetails.json. Other details not referenced in this file are not changed by the command.
{
"TargetTags": [
{
"Key": "costCenter",
"Value": "120"
},
{
"Key": "project",
"Value": "lima"
}
]
}
Output
None
© Copyright 2025, Amazon Web Services. Created using Sphinx.