class Aws::DLM::Types::CreateLifecyclePolicyRequest

@note When making an API call, you may pass CreateLifecyclePolicyRequest

data as a hash:

    {
      execution_role_arn: "ExecutionRoleArn", # required
      description: "PolicyDescription", # required
      state: "ENABLED", # required, accepts ENABLED, DISABLED
      policy_details: { # required
        policy_type: "EBS_SNAPSHOT_MANAGEMENT", # accepts EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT, EVENT_BASED_POLICY
        resource_types: ["VOLUME"], # accepts VOLUME, INSTANCE
        resource_locations: ["CLOUD"], # accepts CLOUD, OUTPOST
        target_tags: [
          {
            key: "String", # required
            value: "String", # required
          },
        ],
        schedules: [
          {
            name: "ScheduleName",
            copy_tags: false,
            tags_to_add: [
              {
                key: "String", # required
                value: "String", # required
              },
            ],
            variable_tags: [
              {
                key: "String", # required
                value: "String", # required
              },
            ],
            create_rule: {
              location: "CLOUD", # accepts CLOUD, OUTPOST_LOCAL
              interval: 1,
              interval_unit: "HOURS", # accepts HOURS
              times: ["Time"],
              cron_expression: "CronExpression",
            },
            retain_rule: {
              count: 1,
              interval: 1,
              interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
            },
            fast_restore_rule: {
              count: 1,
              interval: 1,
              interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
              availability_zones: ["AvailabilityZone"], # required
            },
            cross_region_copy_rules: [
              {
                target_region: "TargetRegion",
                target: "Target",
                encrypted: false, # required
                cmk_arn: "CmkArn",
                copy_tags: false,
                retain_rule: {
                  interval: 1,
                  interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
                },
                deprecate_rule: {
                  interval: 1,
                  interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
                },
              },
            ],
            share_rules: [
              {
                target_accounts: ["AwsAccountId"], # required
                unshare_interval: 1,
                unshare_interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
              },
            ],
            deprecate_rule: {
              count: 1,
              interval: 1,
              interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
            },
          },
        ],
        parameters: {
          exclude_boot_volume: false,
          no_reboot: false,
        },
        event_source: {
          type: "MANAGED_CWE", # required, accepts MANAGED_CWE
          parameters: {
            event_type: "shareSnapshot", # required, accepts shareSnapshot
            snapshot_owner: ["AwsAccountId"], # required
            description_regex: "DescriptionRegex", # required
          },
        },
        actions: [
          {
            name: "ActionName", # required
            cross_region_copy: [ # required
              {
                target: "Target", # required
                encryption_configuration: { # required
                  encrypted: false, # required
                  cmk_arn: "CmkArn",
                },
                retain_rule: {
                  interval: 1,
                  interval_unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
                },
              },
            ],
          },
        ],
      },
      tags: {
        "TagKey" => "TagValue",
      },
    }

@!attribute [rw] execution_role_arn

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

@!attribute [rw] description

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

@!attribute [rw] state

The desired activation state of the lifecycle policy after creation.
@return [String]

@!attribute [rw] policy_details

The configuration details of the lifecycle policy.
@return [Types::PolicyDetails]

@!attribute [rw] tags

The tags to apply to the lifecycle policy during creation.
@return [Hash<String,String>]

@see docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CreateLifecyclePolicyRequest AWS API Documentation

Constants

SENSITIVE