Amazon Data Lifecycle Manager

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

Changes  Update dlm client to latest version

TagResource (new) Link ¶

Adds the specified tags to the specified resource.

See also: AWS API Documentation

Request Syntax

client.tag_resource(
    ResourceArn='string',
    Tags={
        'string': 'string'
    }
)
type ResourceArn:

string

param ResourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the resource.

type Tags:

dict

param Tags:

[REQUIRED]

One or more tags.

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

UntagResource (new) Link ¶

Removes the specified tags from the specified resource.

See also: AWS API Documentation

Request Syntax

client.untag_resource(
    ResourceArn='string',
    TagKeys=[
        'string',
    ]
)
type ResourceArn:

string

param ResourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the resource.

type TagKeys:

list

param TagKeys:

[REQUIRED]

The tag keys.

  • (string) --

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

ListTagsForResource (new) Link ¶

Lists the tags for the specified resource.

See also: AWS API Documentation

Request Syntax

client.list_tags_for_resource(
    ResourceArn='string'
)
type ResourceArn:

string

param ResourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the resource.

rtype:

dict

returns:

Response Syntax

{
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • Tags (dict) --

      Information about the tags.

      • (string) --

        • (string) --

CreateLifecyclePolicy (updated) Link ¶
Changes (request)
{'Tags': {'string': 'string'}}

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
                }
            },
        ],
        '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 retain rule.

        • Count (integer) -- [REQUIRED]

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

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

GetLifecyclePolicies (updated) Link ¶
Changes (response)
{'Policies': {'Tags': {'string': 'string'}}}

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'|'INSTANCE',
    ],
    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 tag for a policy.

Tags are strings in the format key=value.

  • (string) --

type TagsToAdd:

list

param TagsToAdd:

The tags to add to objects created by the policy.

Tags are strings in the format key=value.

These user-defined 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',
            'Tags': {
                'string': 'string'
            }
        },
    ]
}

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.

        • Tags (dict) --

          The tags.

          • (string) --

            • (string) --

GetLifecyclePolicy (updated) Link ¶
Changes (response)
{'Policy': {'PolicyArn': 'string',
            'StatusMessage': 'string',
            'Tags': {'string': 'string'}}}

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
                    }
                },
            ],
            '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 retain rule.

              • Count (integer) --

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

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