The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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