package Paws::DLM;
  use Moose;
  sub service { 'dlm' }
  sub signing_name { 'dlm' }
  sub version { '2018-01-12' }
  sub flattened_arrays { 0 }
  has max_attempts => (is => 'ro', isa => 'Int', default => 5);
  has retry => (is => 'ro', isa => 'HashRef', default => sub {
    { base => 'rand', type => 'exponential', growth_factor => 2 }
  has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
  ] });

  with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::RestJsonCaller';

  sub CreateLifecyclePolicy {
    my $self = shift;
    my $call_object = $self->new_with_coercions('Paws::DLM::CreateLifecyclePolicy', @_);
    return $self->caller->do_call($self, $call_object);
  sub DeleteLifecyclePolicy {
    my $self = shift;
    my $call_object = $self->new_with_coercions('Paws::DLM::DeleteLifecyclePolicy', @_);
    return $self->caller->do_call($self, $call_object);
  sub GetLifecyclePolicies {
    my $self = shift;
    my $call_object = $self->new_with_coercions('Paws::DLM::GetLifecyclePolicies', @_);
    return $self->caller->do_call($self, $call_object);
  sub GetLifecyclePolicy {
    my $self = shift;
    my $call_object = $self->new_with_coercions('Paws::DLM::GetLifecyclePolicy', @_);
    return $self->caller->do_call($self, $call_object);
  sub UpdateLifecyclePolicy {
    my $self = shift;
    my $call_object = $self->new_with_coercions('Paws::DLM::UpdateLifecyclePolicy', @_);
    return $self->caller->do_call($self, $call_object);

  sub operations { qw/CreateLifecyclePolicy DeleteLifecyclePolicy GetLifecyclePolicies GetLifecyclePolicy UpdateLifecyclePolicy / }


### main pod documentation begin ###

=head1 NAME

Paws::DLM - Perl Interface to AWS Amazon Data Lifecycle Manager


  use Paws;

  my $obj = Paws->service('DLM');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],


Amazon Data Lifecycle Manager

With Amazon Data Lifecycle Manager, you can manage the lifecycle of
your AWS resources. You create lifecycle policies, which are used to
automate operations on the specified resources.

Amazon DLM supports Amazon EBS volumes and snapshots. For information
about using Amazon DLM with Amazon EBS, see Automating the Amazon EBS
Snapshot Lifecycle
in the I<Amazon EC2 User Guide>.

For the AWS API documentation, see L<>

=head1 METHODS

=head2 CreateLifecyclePolicy


=item Description => Str

=item ExecutionRoleArn => Str

=item PolicyDetails => L<Paws::DLM::PolicyDetails>

=item State => Str


Each argument is described in detail in: L<Paws::DLM::CreateLifecyclePolicy>

Returns: a L<Paws::DLM::CreateLifecyclePolicyResponse> instance

Creates a policy to manage the lifecycle of the specified AWS
resources. You can create up to 100 lifecycle policies.

=head2 DeleteLifecyclePolicy


=item PolicyId => Str


Each argument is described in detail in: L<Paws::DLM::DeleteLifecyclePolicy>

Returns: a L<Paws::DLM::DeleteLifecyclePolicyResponse> instance

Deletes the specified lifecycle policy and halts the automated
operations that the policy specified.

=head2 GetLifecyclePolicies


=item [PolicyIds => ArrayRef[Str|Undef]]

=item [ResourceTypes => ArrayRef[Str|Undef]]

=item [State => Str]

=item [TagsToAdd => ArrayRef[Str|Undef]]

=item [TargetTags => ArrayRef[Str|Undef]]


Each argument is described in detail in: L<Paws::DLM::GetLifecyclePolicies>

Returns: a L<Paws::DLM::GetLifecyclePoliciesResponse> instance

Gets summary information about all or the specified data lifecycle

To get complete information about a policy, use GetLifecyclePolicy.

=head2 GetLifecyclePolicy


=item PolicyId => Str


Each argument is described in detail in: L<Paws::DLM::GetLifecyclePolicy>

Returns: a L<Paws::DLM::GetLifecyclePolicyResponse> instance

Gets detailed information about the specified lifecycle policy.

=head2 UpdateLifecyclePolicy


=item PolicyId => Str

=item [Description => Str]

=item [ExecutionRoleArn => Str]

=item [PolicyDetails => L<Paws::DLM::PolicyDetails>]

=item [State => Str]


Each argument is described in detail in: L<Paws::DLM::UpdateLifecyclePolicy>

Returns: a L<Paws::DLM::UpdateLifecyclePolicyResponse> instance

Updates the specified lifecycle policy.


Paginator methods are helpers that repetively call methods that return partial results

=head1 SEE ALSO

This service class forms part of L<Paws>


The source code is located here: L<>

Please report bugs to: L<>