NAME

Paws::DLM::UpdateLifecyclePolicy - Arguments for method UpdateLifecyclePolicy on Paws::DLM

DESCRIPTION

This class represents the parameters used for calling the method UpdateLifecyclePolicy on the Amazon Data Lifecycle Manager service. Use the attributes of this class as arguments to method UpdateLifecyclePolicy.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to UpdateLifecyclePolicy.

SYNOPSIS

my $dlm = Paws->service('DLM');
my $UpdateLifecyclePolicyResponse = $dlm->UpdateLifecyclePolicy(
  PolicyId         => 'MyPolicyId',
  Description      => 'MyPolicyDescription',    # OPTIONAL
  ExecutionRoleArn => 'MyExecutionRoleArn',     # OPTIONAL
  PolicyDetails    => {
    Actions => [
      {
        CrossRegionCopy => [
          {
            EncryptionConfiguration => {
              Encrypted => 1,
              CmkArn    => 'MyCmkArn',    # max: 2048; OPTIONAL
            },
            Target     => 'MyTarget',     # max: 2048
            RetainRule => {
              Interval     => 1,          # min: 1; OPTIONAL
              IntervalUnit =>
                'DAYS',    # values: DAYS, WEEKS, MONTHS, YEARS; OPTIONAL
            },    # OPTIONAL
          },
          ...
        ],    # max: 3
        Name => 'MyActionName',    # max: 120

      },
      ...
    ],    # min: 1, max: 1; OPTIONAL
    EventSource => {
      Type       => 'MANAGED_CWE',    # values: MANAGED_CWE
      Parameters => {
        DescriptionRegex => 'MyDescriptionRegex',    # max: 1000
        EventType        => 'shareSnapshot',         # values: shareSnapshot
        SnapshotOwner    => [
          'MyAwsAccountId', ...                      # min: 12, max: 12
        ],    # max: 50

      },    # OPTIONAL
    },    # OPTIONAL
    Parameters => {
      ExcludeBootVolume => 1,    # OPTIONAL
      NoReboot          => 1,    # OPTIONAL
    },    # OPTIONAL
    PolicyType => 'EBS_SNAPSHOT_MANAGEMENT'
    , # values: EBS_SNAPSHOT_MANAGEMENT, IMAGE_MANAGEMENT, EVENT_BASED_POLICY; OPTIONAL
    ResourceLocations => [
      'CLOUD', ...    # values: CLOUD, OUTPOST
    ],    # min: 1, max: 1; OPTIONAL
    ResourceTypes => [
      'VOLUME', ...    # values: VOLUME, INSTANCE
    ],    # min: 1, max: 1; OPTIONAL
    Schedules => [
      {
        CopyTags   => 1,    # OPTIONAL
        CreateRule => {
          CronExpression =>
            'MyCronExpression',    # min: 17, max: 106; OPTIONAL
          Interval     => 1,       # min: 1; OPTIONAL
          IntervalUnit => 'HOURS', # values: HOURS; OPTIONAL
          Location     => 'CLOUD', # values: CLOUD, OUTPOST_LOCAL; OPTIONAL
          Times        => [
            'MyTime', ...          # min: 5, max: 5
          ],    # max: 1; OPTIONAL
        },    # OPTIONAL
        CrossRegionCopyRules => [
          {
            Encrypted  => 1,
            CmkArn     => 'MyCmkArn',    # max: 2048; OPTIONAL
            CopyTags   => 1,             # OPTIONAL
            RetainRule => {
              Interval     => 1,         # min: 1; OPTIONAL
              IntervalUnit =>
                'DAYS',    # values: DAYS, WEEKS, MONTHS, YEARS; OPTIONAL
            },    # OPTIONAL
            Target       => 'MyTarget',          # max: 2048
            TargetRegion => 'MyTargetRegion',    # max: 16; OPTIONAL
          },
          ...
        ],    # max: 3; OPTIONAL
        FastRestoreRule => {
          AvailabilityZones => [
            'MyAvailabilityZone', ...    # max: 16
          ],    # min: 1, max: 10
          Count        => 1,    # min: 1, max: 1000; OPTIONAL
          Interval     => 1,    # min: 1; OPTIONAL
          IntervalUnit =>
            'DAYS',    # values: DAYS, WEEKS, MONTHS, YEARS; OPTIONAL
        },    # OPTIONAL
        Name       => 'MyScheduleName',    # max: 120; OPTIONAL
        RetainRule => {
          Count        => 1,               # min: 1, max: 1000; OPTIONAL
          Interval     => 1,               # min: 1; OPTIONAL
          IntervalUnit =>
            'DAYS',    # values: DAYS, WEEKS, MONTHS, YEARS; OPTIONAL
        },    # OPTIONAL
        ShareRules => [
          {
            TargetAccounts => [
              'MyAwsAccountId', ...    # min: 12, max: 12
            ],    # min: 1
            UnshareInterval     => 1,    # min: 1; OPTIONAL
            UnshareIntervalUnit =>
              'DAYS',    # values: DAYS, WEEKS, MONTHS, YEARS; OPTIONAL
          },
          ...
        ],    # max: 1; OPTIONAL
        TagsToAdd => [
          {
            Key   => 'MyString',    # max: 500
            Value => 'MyString',    # max: 500

          },
          ...
        ],    # max: 45; OPTIONAL
        VariableTags => [
          {
            Key   => 'MyString',    # max: 500
            Value => 'MyString',    # max: 500

          },
          ...
        ],    # max: 45; OPTIONAL
      },
      ...
    ],    # min: 1, max: 4; OPTIONAL
    TargetTags => [
      {
        Key   => 'MyString',    # max: 500
        Value => 'MyString',    # max: 500

      },
      ...
    ],    # min: 1, max: 50; OPTIONAL
  },    # OPTIONAL
  State => 'ENABLED',    # OPTIONAL
);

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/dlm/UpdateLifecyclePolicy

ATTRIBUTES

Description => Str

A description of the lifecycle policy.

ExecutionRoleArn => Str

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

PolicyDetails => Paws::DLM::PolicyDetails

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

REQUIRED PolicyId => Str

The identifier of the lifecycle policy.

State => Str

The desired activation state of the lifecycle policy after creation.

Valid values are: "ENABLED", "DISABLED"

SEE ALSO

This class forms part of Paws, documenting arguments for method UpdateLifecyclePolicy in Paws::DLM

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues