Amazon Data Lifecycle Manager

2019/11/25 - Amazon Data Lifecycle Manager - 3 updated api methods

Changes  Update dlm client to latest version

CreateLifecyclePolicy (updated) Link ¶
Changes (request)
{'PolicyDetails': {'Schedules': {'FastRestoreRule': {'Interval': 'integer',
                                                     'IntervalUnit': 'DAYS | '
                                                                     'WEEKS | '
                                                                     'MONTHS | '
                                                                     'YEARS'},
                                 'RetainRule': {'Interval': 'integer',
                                                'IntervalUnit': 'DAYS | WEEKS '
                                                                '| MONTHS | '
                                                                'YEARS'}}}}

Creates a policy to manage the lifecycle of the specified AWS resources. You can create up to 100 lifecycle policies.

See also: AWS API Documentation

Request Syntax

client.create_lifecycle_policy(
    ExecutionRoleArn='string',
    Description='string',
    State='ENABLED'|'DISABLED',
    PolicyDetails={
        'PolicyType': 'EBS_SNAPSHOT_MANAGEMENT',
        'ResourceTypes': [
            'VOLUME'|'INSTANCE',
        ],
        'TargetTags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'Schedules': [
            {
                'Name': 'string',
                'CopyTags': True|False,
                'TagsToAdd': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ],
                'VariableTags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ],
                'CreateRule': {
                    'Interval': 123,
                    'IntervalUnit': 'HOURS',
                    'Times': [
                        'string',
                    ]
                },
                'RetainRule': {
                    'Count': 123,
                    'Interval': 123,
                    'IntervalUnit': 'DAYS'|'WEEKS'|'MONTHS'|'YEARS'
                },
                'FastRestoreRule': {
                    'Count': 123,
                    'Interval': 123,
                    'IntervalUnit': 'DAYS'|'WEEKS'|'MONTHS'|'YEARS',
                    'AvailabilityZones': [
                        'string',
                    ]
                }
            },
        ],
        'Parameters': {
            'ExcludeBootVolume': True|False
        }
    },
    Tags={
        'string': 'string'
    }
)
type ExecutionRoleArn:

string

param ExecutionRoleArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

type Description:

string

param Description:

[REQUIRED]

A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.

type State:

string

param State:

[REQUIRED]

The desired activation state of the lifecycle policy after creation.

type PolicyDetails:

dict

param PolicyDetails:

[REQUIRED]

The configuration details of the lifecycle policy.

  • PolicyType (string) --

    This field determines the valid target resource types and actions a policy can manage. This field defaults to EBS_SNAPSHOT_MANAGEMENT if not present.

  • ResourceTypes (list) --

    The resource type.

    • (string) --

  • TargetTags (list) --

    The single tag that identifies targeted resources for this policy.

    • (dict) --

      Specifies a tag for a resource.

      • Key (string) -- [REQUIRED]

        The tag key.

      • Value (string) -- [REQUIRED]

        The tag value.

  • Schedules (list) --

    The schedule of policy-defined actions.

    • (dict) --

      Specifies a schedule.

      • Name (string) --

        The name of the schedule.

      • CopyTags (boolean) --

        Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.

      • TagsToAdd (list) --

        The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.

        • (dict) --

          Specifies a tag for a resource.

          • Key (string) -- [REQUIRED]

            The tag key.

          • Value (string) -- [REQUIRED]

            The tag value.

      • VariableTags (list) --

        A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: $(instance-id) or $(timestamp). Variable tags are only valid for EBS Snapshot Management – Instance policies.

        • (dict) --

          Specifies a tag for a resource.

          • Key (string) -- [REQUIRED]

            The tag key.

          • Value (string) -- [REQUIRED]

            The tag value.

      • CreateRule (dict) --

        The create rule.

        • Interval (integer) -- [REQUIRED]

          The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, and 24.

        • IntervalUnit (string) -- [REQUIRED]

          The interval unit.

        • 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.

          • (string) --

      • RetainRule (dict) --

        The retention rule.

        • Count (integer) --

          The number of snapshots to retain for each volume, up to a maximum of 1000.

        • Interval (integer) --

          The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

        • IntervalUnit (string) --

          The unit of time for time-based retention.

      • FastRestoreRule (dict) --

        Enable fast snapshot restore.

        • Count (integer) --

          The number of snapshots to be enabled with fast snapshot restore.

        • Interval (integer) --

          The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

        • IntervalUnit (string) --

          The unit of time for enabling fast snapshot restore.

        • AvailabilityZones (list) -- [REQUIRED]

          The Availability Zones in which to enable fast snapshot restore.

          • (string) --

  • Parameters (dict) --

    A set of optional parameters that can be provided by the policy.

    • ExcludeBootVolume (boolean) --

      When executing an EBS Snapshot Management – Instance policy, execute all CreateSnapshots calls with the excludeBootVolume set to the supplied field. Defaults to false. Only valid for EBS Snapshot Management – Instance policies.

type Tags:

dict

param Tags:

The tags to apply to the lifecycle policy during creation.

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'PolicyId': 'string'
}

Response Structure

  • (dict) --

    • PolicyId (string) --

      The identifier of the lifecycle policy.

GetLifecyclePolicy (updated) Link ¶
Changes (response)
{'Policy': {'PolicyDetails': {'Schedules': {'FastRestoreRule': {'Interval': 'integer',
                                                                'IntervalUnit': 'DAYS '
                                                                                '| '
                                                                                'WEEKS '
                                                                                '| '
                                                                                'MONTHS '
                                                                                '| '
                                                                                'YEARS'},
                                            'RetainRule': {'Interval': 'integer',
                                                           'IntervalUnit': 'DAYS '
                                                                           '| '
                                                                           'WEEKS '
                                                                           '| '
                                                                           'MONTHS '
                                                                           '| '
                                                                           'YEARS'}}}}}

Gets detailed information about the specified lifecycle policy.

See also: AWS API Documentation

Request Syntax

client.get_lifecycle_policy(
    PolicyId='string'
)
type PolicyId:

string

param PolicyId:

[REQUIRED]

The identifier of the lifecycle policy.

rtype:

dict

returns:

Response Syntax

{
    'Policy': {
        'PolicyId': 'string',
        'Description': 'string',
        'State': 'ENABLED'|'DISABLED'|'ERROR',
        'StatusMessage': 'string',
        'ExecutionRoleArn': 'string',
        'DateCreated': datetime(2015, 1, 1),
        'DateModified': datetime(2015, 1, 1),
        'PolicyDetails': {
            'PolicyType': 'EBS_SNAPSHOT_MANAGEMENT',
            'ResourceTypes': [
                'VOLUME'|'INSTANCE',
            ],
            'TargetTags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'Schedules': [
                {
                    'Name': 'string',
                    'CopyTags': True|False,
                    'TagsToAdd': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ],
                    'VariableTags': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ],
                    'CreateRule': {
                        'Interval': 123,
                        'IntervalUnit': 'HOURS',
                        'Times': [
                            'string',
                        ]
                    },
                    'RetainRule': {
                        'Count': 123,
                        'Interval': 123,
                        'IntervalUnit': 'DAYS'|'WEEKS'|'MONTHS'|'YEARS'
                    },
                    'FastRestoreRule': {
                        'Count': 123,
                        'Interval': 123,
                        'IntervalUnit': 'DAYS'|'WEEKS'|'MONTHS'|'YEARS',
                        'AvailabilityZones': [
                            'string',
                        ]
                    }
                },
            ],
            'Parameters': {
                'ExcludeBootVolume': True|False
            }
        },
        'Tags': {
            'string': 'string'
        },
        'PolicyArn': 'string'
    }
}

Response Structure

  • (dict) --

    • Policy (dict) --

      Detailed information about the lifecycle policy.

      • PolicyId (string) --

        The identifier of the lifecycle policy.

      • Description (string) --

        The description of the lifecycle policy.

      • State (string) --

        The activation state of the lifecycle policy.

      • StatusMessage (string) --

        The description of the status.

      • ExecutionRoleArn (string) --

        The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

      • DateCreated (datetime) --

        The local date and time when the lifecycle policy was created.

      • DateModified (datetime) --

        The local date and time when the lifecycle policy was last modified.

      • PolicyDetails (dict) --

        The configuration of the lifecycle policy

        • PolicyType (string) --

          This field determines the valid target resource types and actions a policy can manage. This field defaults to EBS_SNAPSHOT_MANAGEMENT if not present.

        • ResourceTypes (list) --

          The resource type.

          • (string) --

        • TargetTags (list) --

          The single tag that identifies targeted resources for this policy.

          • (dict) --

            Specifies a tag for a resource.

            • Key (string) --

              The tag key.

            • Value (string) --

              The tag value.

        • Schedules (list) --

          The schedule of policy-defined actions.

          • (dict) --

            Specifies a schedule.

            • Name (string) --

              The name of the schedule.

            • CopyTags (boolean) --

              Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.

            • TagsToAdd (list) --

              The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.

              • (dict) --

                Specifies a tag for a resource.

                • Key (string) --

                  The tag key.

                • Value (string) --

                  The tag value.

            • VariableTags (list) --

              A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: $(instance-id) or $(timestamp). Variable tags are only valid for EBS Snapshot Management – Instance policies.

              • (dict) --

                Specifies a tag for a resource.

                • Key (string) --

                  The tag key.

                • Value (string) --

                  The tag value.

            • CreateRule (dict) --

              The create rule.

              • Interval (integer) --

                The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, and 24.

              • IntervalUnit (string) --

                The interval unit.

              • 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.

                • (string) --

            • RetainRule (dict) --

              The retention rule.

              • Count (integer) --

                The number of snapshots to retain for each volume, up to a maximum of 1000.

              • Interval (integer) --

                The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

              • IntervalUnit (string) --

                The unit of time for time-based retention.

            • FastRestoreRule (dict) --

              Enable fast snapshot restore.

              • Count (integer) --

                The number of snapshots to be enabled with fast snapshot restore.

              • Interval (integer) --

                The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

              • IntervalUnit (string) --

                The unit of time for enabling fast snapshot restore.

              • AvailabilityZones (list) --

                The Availability Zones in which to enable fast snapshot restore.

                • (string) --

        • Parameters (dict) --

          A set of optional parameters that can be provided by the policy.

          • ExcludeBootVolume (boolean) --

            When executing an EBS Snapshot Management – Instance policy, execute all CreateSnapshots calls with the excludeBootVolume set to the supplied field. Defaults to false. Only valid for EBS Snapshot Management – Instance policies.

      • Tags (dict) --

        The tags.

        • (string) --

          • (string) --

      • PolicyArn (string) --

        The Amazon Resource Name (ARN) of the policy.

UpdateLifecyclePolicy (updated) Link ¶
Changes (request)
{'PolicyDetails': {'Schedules': {'FastRestoreRule': {'Interval': 'integer',
                                                     'IntervalUnit': 'DAYS | '
                                                                     'WEEKS | '
                                                                     'MONTHS | '
                                                                     'YEARS'},
                                 'RetainRule': {'Interval': 'integer',
                                                'IntervalUnit': 'DAYS | WEEKS '
                                                                '| MONTHS | '
                                                                'YEARS'}}}}

Updates the specified lifecycle policy.

See also: AWS API Documentation

Request Syntax

client.update_lifecycle_policy(
    PolicyId='string',
    ExecutionRoleArn='string',
    State='ENABLED'|'DISABLED',
    Description='string',
    PolicyDetails={
        'PolicyType': 'EBS_SNAPSHOT_MANAGEMENT',
        'ResourceTypes': [
            'VOLUME'|'INSTANCE',
        ],
        'TargetTags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'Schedules': [
            {
                'Name': 'string',
                'CopyTags': True|False,
                'TagsToAdd': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ],
                'VariableTags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ],
                'CreateRule': {
                    'Interval': 123,
                    'IntervalUnit': 'HOURS',
                    'Times': [
                        'string',
                    ]
                },
                'RetainRule': {
                    'Count': 123,
                    'Interval': 123,
                    'IntervalUnit': 'DAYS'|'WEEKS'|'MONTHS'|'YEARS'
                },
                'FastRestoreRule': {
                    'Count': 123,
                    'Interval': 123,
                    'IntervalUnit': 'DAYS'|'WEEKS'|'MONTHS'|'YEARS',
                    'AvailabilityZones': [
                        'string',
                    ]
                }
            },
        ],
        'Parameters': {
            'ExcludeBootVolume': True|False
        }
    }
)
type PolicyId:

string

param PolicyId:

[REQUIRED]

The identifier of the lifecycle policy.

type ExecutionRoleArn:

string

param ExecutionRoleArn:

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

type State:

string

param State:

The desired activation state of the lifecycle policy after creation.

type Description:

string

param Description:

A description of the lifecycle policy.

type PolicyDetails:

dict

param PolicyDetails:

The configuration of the lifecycle policy. You cannot update the policy type or the resource type.

  • PolicyType (string) --

    This field determines the valid target resource types and actions a policy can manage. This field defaults to EBS_SNAPSHOT_MANAGEMENT if not present.

  • ResourceTypes (list) --

    The resource type.

    • (string) --

  • TargetTags (list) --

    The single tag that identifies targeted resources for this policy.

    • (dict) --

      Specifies a tag for a resource.

      • Key (string) -- [REQUIRED]

        The tag key.

      • Value (string) -- [REQUIRED]

        The tag value.

  • Schedules (list) --

    The schedule of policy-defined actions.

    • (dict) --

      Specifies a schedule.

      • Name (string) --

        The name of the schedule.

      • CopyTags (boolean) --

        Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.

      • TagsToAdd (list) --

        The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.

        • (dict) --

          Specifies a tag for a resource.

          • Key (string) -- [REQUIRED]

            The tag key.

          • Value (string) -- [REQUIRED]

            The tag value.

      • VariableTags (list) --

        A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: $(instance-id) or $(timestamp). Variable tags are only valid for EBS Snapshot Management – Instance policies.

        • (dict) --

          Specifies a tag for a resource.

          • Key (string) -- [REQUIRED]

            The tag key.

          • Value (string) -- [REQUIRED]

            The tag value.

      • CreateRule (dict) --

        The create rule.

        • Interval (integer) -- [REQUIRED]

          The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, and 24.

        • IntervalUnit (string) -- [REQUIRED]

          The interval unit.

        • 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.

          • (string) --

      • RetainRule (dict) --

        The retention rule.

        • Count (integer) --

          The number of snapshots to retain for each volume, up to a maximum of 1000.

        • Interval (integer) --

          The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

        • IntervalUnit (string) --

          The unit of time for time-based retention.

      • FastRestoreRule (dict) --

        Enable fast snapshot restore.

        • Count (integer) --

          The number of snapshots to be enabled with fast snapshot restore.

        • Interval (integer) --

          The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

        • IntervalUnit (string) --

          The unit of time for enabling fast snapshot restore.

        • AvailabilityZones (list) -- [REQUIRED]

          The Availability Zones in which to enable fast snapshot restore.

          • (string) --

  • Parameters (dict) --

    A set of optional parameters that can be provided by the policy.

    • ExcludeBootVolume (boolean) --

      When executing an EBS Snapshot Management – Instance policy, execute all CreateSnapshots calls with the excludeBootVolume set to the supplied field. Defaults to false. Only valid for EBS Snapshot Management – Instance policies.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --