NAME
Paws::DLM::CreateLifecyclePolicy - Arguments for method CreateLifecyclePolicy on Paws::DLM
DESCRIPTION
This class represents the parameters used for calling the method CreateLifecyclePolicy on the Amazon Data Lifecycle Manager service. Use the attributes of this class as arguments to method CreateLifecyclePolicy.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateLifecyclePolicy.
SYNOPSIS
my $dlm = Paws->service('DLM');
my $CreateLifecyclePolicyResponse = $dlm->CreateLifecyclePolicy(
Description => 'MyPolicyDescription',
ExecutionRoleArn => 'MyExecutionRoleArn',
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
},
State => 'ENABLED',
Tags => {
'MyTagKey' => 'MyTagValue', # key: min: 1, max: 128, value: max: 256
}, # OPTIONAL
);
# Results:
my $PolicyId = $CreateLifecyclePolicyResponse->PolicyId;
# Returns a L<Paws::DLM::CreateLifecyclePolicyResponse> object.
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/CreateLifecyclePolicy
ATTRIBUTES
REQUIRED Description => Str
A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.
REQUIRED ExecutionRoleArn => Str
The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.
REQUIRED PolicyDetails => Paws::DLM::PolicyDetails
The configuration details of the lifecycle policy.
REQUIRED State => Str
The desired activation state of the lifecycle policy after creation.
Valid values are: "ENABLED"
, "DISABLED"
Tags => Paws::DLM::TagMap
The tags to apply to the lifecycle policy during creation.
SEE ALSO
This class forms part of Paws, documenting arguments for method CreateLifecyclePolicy 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