Amazon Data Lifecycle Manager

2018/07/12 - Amazon Data Lifecycle Manager - 5 new api methods

Changes  Amazon Data Lifecycle Manager (DLM) for EBS Snapshots provides a simple, automated way to back up data stored on Amazon EBS volumes. You can define backup and retention schedules for EBS snapshots by creating lifecycle policies based on tags. With this feature, you no longer have to rely on custom scripts to create and manage your backups. This feature is now available in the US East (N. Virginia), US West (Oregon), and Europe (Ireland) AWS regions at no additional cost.

GetLifecyclePolicies (new) Link ¶

Gets summary information about all or the specified data lifecycle policies.

To get complete information about a policy, use GetLifecyclePolicy .

See also: AWS API Documentation

Request Syntax

client.get_lifecycle_policies(
    PolicyIds=[
        'string',
    ],
    State='ENABLED'|'DISABLED'|'ERROR',
    ResourceTypes=[
        'VOLUME',
    ],
    TargetTags=[
        'string',
    ],
    TagsToAdd=[
        'string',
    ]
)
type PolicyIds

list

param PolicyIds

The identifiers of the data lifecycle policies.

  • (string) --

type State

string

param State

The activation state.

type ResourceTypes

list

param ResourceTypes

The resource type.

  • (string) --

type TargetTags

list

param TargetTags

The target tags.

Tags are strings in the format key:value .

  • (string) --

type TagsToAdd

list

param TagsToAdd

The tags to add to the resources.

Tags are strings in the format key:value .

These tags are added in addition to the AWS-added lifecycle tags.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'Policies': [
        {
            'PolicyId': 'string',
            'Description': 'string',
            'State': 'ENABLED'|'DISABLED'|'ERROR'
        },
    ]
}

Response Structure

  • (dict) --

    • Policies (list) --

      Summary information about the lifecycle policies.

      • (dict) --

        Summary information about a 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.

GetLifecyclePolicy (new) Link ¶

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',
        'ExecutionRoleArn': 'string',
        'DateCreated': datetime(2015, 1, 1),
        'DateModified': datetime(2015, 1, 1),
        'PolicyDetails': {
            'ResourceTypes': [
                'VOLUME',
            ],
            'TargetTags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'Schedules': [
                {
                    'Name': 'string',
                    'TagsToAdd': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ],
                    'CreateRule': {
                        'Interval': 123,
                        'IntervalUnit': 'HOURS',
                        'Times': [
                            'string',
                        ]
                    },
                    'RetainRule': {
                        'Count': 123
                    }
                },
            ]
        }
    }
}

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.

      • 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

        • ResourceTypes (list) --

          The resource type.

          • (string) --

        • TargetTags (list) --

          The target tags.

          • (dict) --

            Specifies a tag for a resource.

            • Key (string) --

              The tag key.

            • Value (string) --

              The tag value.

        • Schedules (list) --

          The schedule.

          • (dict) --

            Specifies a schedule.

            • Name (string) --

              The name of the schedule.

            • TagsToAdd (list) --

              The tags to add to policy-created resources. These tags are added in addition to the default lifecycle tags.

              • (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. The supported values are 12 and 24.

              • IntervalUnit (string) --

                The interval unit.

              • Times (list) --

                The time, in UTC, to start the operation.

                The operation occurs within a one-hour window following the specified time.

                • (string) --

            • RetainRule (dict) --

              The retain rule.

              • Count (integer) --

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

DeleteLifecyclePolicy (new) Link ¶

Deletes the specified lifecycle policy and halts the automated operations that the policy specified.

See also: AWS API Documentation

Request Syntax

client.delete_lifecycle_policy(
    PolicyId='string'
)
type PolicyId

string

param PolicyId

[REQUIRED]

The identifier of the lifecycle policy.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

UpdateLifecyclePolicy (new) Link ¶

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={
        'ResourceTypes': [
            'VOLUME',
        ],
        'TargetTags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'Schedules': [
            {
                'Name': 'string',
                'TagsToAdd': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ],
                'CreateRule': {
                    'Interval': 123,
                    'IntervalUnit': 'HOURS',
                    'Times': [
                        'string',
                    ]
                },
                'RetainRule': {
                    'Count': 123
                }
            },
        ]
    }
)
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.

Target tags cannot be re-used across policies.

  • ResourceTypes (list) --

    The resource type.

    • (string) --

  • TargetTags (list) --

    The target tags.

    • (dict) --

      Specifies a tag for a resource.

      • Key (string) -- [REQUIRED]

        The tag key.

      • Value (string) -- [REQUIRED]

        The tag value.

  • Schedules (list) --

    The schedule.

    • (dict) --

      Specifies a schedule.

      • Name (string) --

        The name of the schedule.

      • TagsToAdd (list) --

        The tags to add to policy-created resources. These tags are added in addition to the default lifecycle tags.

        • (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. The supported values are 12 and 24.

        • IntervalUnit (string) -- [REQUIRED]

          The interval unit.

        • Times (list) --

          The time, in UTC, to start the operation.

          The operation occurs within a one-hour window following the specified time.

          • (string) --

      • RetainRule (dict) --

        The retain rule.

        • Count (integer) -- [REQUIRED]

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

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

CreateLifecyclePolicy (new) Link ¶

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={
        'ResourceTypes': [
            'VOLUME',
        ],
        'TargetTags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'Schedules': [
            {
                'Name': 'string',
                'TagsToAdd': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ],
                'CreateRule': {
                    'Interval': 123,
                    'IntervalUnit': 'HOURS',
                    'Times': [
                        'string',
                    ]
                },
                'RetainRule': {
                    'Count': 123
                }
            },
        ]
    }
)
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 of the lifecycle policy.

Target tags cannot be re-used across lifecycle policies.

  • ResourceTypes (list) --

    The resource type.

    • (string) --

  • TargetTags (list) --

    The target tags.

    • (dict) --

      Specifies a tag for a resource.

      • Key (string) -- [REQUIRED]

        The tag key.

      • Value (string) -- [REQUIRED]

        The tag value.

  • Schedules (list) --

    The schedule.

    • (dict) --

      Specifies a schedule.

      • Name (string) --

        The name of the schedule.

      • TagsToAdd (list) --

        The tags to add to policy-created resources. These tags are added in addition to the default lifecycle tags.

        • (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. The supported values are 12 and 24.

        • IntervalUnit (string) -- [REQUIRED]

          The interval unit.

        • Times (list) --

          The time, in UTC, to start the operation.

          The operation occurs within a one-hour window following the specified time.

          • (string) --

      • RetainRule (dict) --

        The retain rule.

        • Count (integer) -- [REQUIRED]

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

rtype

dict

returns

Response Syntax

{
    'PolicyId': 'string'
}

Response Structure

  • (dict) --

    • PolicyId (string) --

      The identifier of the lifecycle policy.