File Coverage

blib/lib/Paws/Config.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::Config;
2 1     1   3561 use Moose;
  1         3  
  1         7  
3             sub service { 'config' }
4             sub version { '2014-11-12' }
5             sub target_prefix { 'StarlingDoveService' }
6             sub json_version { "1.1" }
7             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
8             has retry => (is => 'ro', isa => 'HashRef', default => sub {
9             { base => 'rand', type => 'exponential', growth_factor => 2 }
10             });
11             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
12             ] });
13              
14             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::JsonCaller', 'Paws::Net::JsonResponse';
15              
16            
17             sub DeleteConfigRule {
18             my $self = shift;
19             my $call_object = $self->new_with_coercions('Paws::Config::DeleteConfigRule', @_);
20             return $self->caller->do_call($self, $call_object);
21             }
22             sub DeleteConfigurationRecorder {
23             my $self = shift;
24             my $call_object = $self->new_with_coercions('Paws::Config::DeleteConfigurationRecorder', @_);
25             return $self->caller->do_call($self, $call_object);
26             }
27             sub DeleteDeliveryChannel {
28             my $self = shift;
29             my $call_object = $self->new_with_coercions('Paws::Config::DeleteDeliveryChannel', @_);
30             return $self->caller->do_call($self, $call_object);
31             }
32             sub DeleteEvaluationResults {
33             my $self = shift;
34             my $call_object = $self->new_with_coercions('Paws::Config::DeleteEvaluationResults', @_);
35             return $self->caller->do_call($self, $call_object);
36             }
37             sub DeliverConfigSnapshot {
38             my $self = shift;
39             my $call_object = $self->new_with_coercions('Paws::Config::DeliverConfigSnapshot', @_);
40             return $self->caller->do_call($self, $call_object);
41             }
42             sub DescribeComplianceByConfigRule {
43             my $self = shift;
44             my $call_object = $self->new_with_coercions('Paws::Config::DescribeComplianceByConfigRule', @_);
45             return $self->caller->do_call($self, $call_object);
46             }
47             sub DescribeComplianceByResource {
48             my $self = shift;
49             my $call_object = $self->new_with_coercions('Paws::Config::DescribeComplianceByResource', @_);
50             return $self->caller->do_call($self, $call_object);
51             }
52             sub DescribeConfigRuleEvaluationStatus {
53             my $self = shift;
54             my $call_object = $self->new_with_coercions('Paws::Config::DescribeConfigRuleEvaluationStatus', @_);
55             return $self->caller->do_call($self, $call_object);
56             }
57             sub DescribeConfigRules {
58             my $self = shift;
59             my $call_object = $self->new_with_coercions('Paws::Config::DescribeConfigRules', @_);
60             return $self->caller->do_call($self, $call_object);
61             }
62             sub DescribeConfigurationRecorders {
63             my $self = shift;
64             my $call_object = $self->new_with_coercions('Paws::Config::DescribeConfigurationRecorders', @_);
65             return $self->caller->do_call($self, $call_object);
66             }
67             sub DescribeConfigurationRecorderStatus {
68             my $self = shift;
69             my $call_object = $self->new_with_coercions('Paws::Config::DescribeConfigurationRecorderStatus', @_);
70             return $self->caller->do_call($self, $call_object);
71             }
72             sub DescribeDeliveryChannels {
73             my $self = shift;
74             my $call_object = $self->new_with_coercions('Paws::Config::DescribeDeliveryChannels', @_);
75             return $self->caller->do_call($self, $call_object);
76             }
77             sub DescribeDeliveryChannelStatus {
78             my $self = shift;
79             my $call_object = $self->new_with_coercions('Paws::Config::DescribeDeliveryChannelStatus', @_);
80             return $self->caller->do_call($self, $call_object);
81             }
82             sub GetComplianceDetailsByConfigRule {
83             my $self = shift;
84             my $call_object = $self->new_with_coercions('Paws::Config::GetComplianceDetailsByConfigRule', @_);
85             return $self->caller->do_call($self, $call_object);
86             }
87             sub GetComplianceDetailsByResource {
88             my $self = shift;
89             my $call_object = $self->new_with_coercions('Paws::Config::GetComplianceDetailsByResource', @_);
90             return $self->caller->do_call($self, $call_object);
91             }
92             sub GetComplianceSummaryByConfigRule {
93             my $self = shift;
94             my $call_object = $self->new_with_coercions('Paws::Config::GetComplianceSummaryByConfigRule', @_);
95             return $self->caller->do_call($self, $call_object);
96             }
97             sub GetComplianceSummaryByResourceType {
98             my $self = shift;
99             my $call_object = $self->new_with_coercions('Paws::Config::GetComplianceSummaryByResourceType', @_);
100             return $self->caller->do_call($self, $call_object);
101             }
102             sub GetResourceConfigHistory {
103             my $self = shift;
104             my $call_object = $self->new_with_coercions('Paws::Config::GetResourceConfigHistory', @_);
105             return $self->caller->do_call($self, $call_object);
106             }
107             sub ListDiscoveredResources {
108             my $self = shift;
109             my $call_object = $self->new_with_coercions('Paws::Config::ListDiscoveredResources', @_);
110             return $self->caller->do_call($self, $call_object);
111             }
112             sub PutConfigRule {
113             my $self = shift;
114             my $call_object = $self->new_with_coercions('Paws::Config::PutConfigRule', @_);
115             return $self->caller->do_call($self, $call_object);
116             }
117             sub PutConfigurationRecorder {
118             my $self = shift;
119             my $call_object = $self->new_with_coercions('Paws::Config::PutConfigurationRecorder', @_);
120             return $self->caller->do_call($self, $call_object);
121             }
122             sub PutDeliveryChannel {
123             my $self = shift;
124             my $call_object = $self->new_with_coercions('Paws::Config::PutDeliveryChannel', @_);
125             return $self->caller->do_call($self, $call_object);
126             }
127             sub PutEvaluations {
128             my $self = shift;
129             my $call_object = $self->new_with_coercions('Paws::Config::PutEvaluations', @_);
130             return $self->caller->do_call($self, $call_object);
131             }
132             sub StartConfigRulesEvaluation {
133             my $self = shift;
134             my $call_object = $self->new_with_coercions('Paws::Config::StartConfigRulesEvaluation', @_);
135             return $self->caller->do_call($self, $call_object);
136             }
137             sub StartConfigurationRecorder {
138             my $self = shift;
139             my $call_object = $self->new_with_coercions('Paws::Config::StartConfigurationRecorder', @_);
140             return $self->caller->do_call($self, $call_object);
141             }
142             sub StopConfigurationRecorder {
143             my $self = shift;
144             my $call_object = $self->new_with_coercions('Paws::Config::StopConfigurationRecorder', @_);
145             return $self->caller->do_call($self, $call_object);
146             }
147            
148             sub DescribeAllComplianceByConfigRule {
149             my $self = shift;
150              
151             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
152             my $result = $self->DescribeComplianceByConfigRule(@_);
153             my $next_result = $result;
154              
155             if (not defined $callback) {
156             while ($next_result->NextToken) {
157             $next_result = $self->DescribeComplianceByConfigRule(@_, NextToken => $next_result->NextToken);
158             push @{ $result->ComplianceByConfigRules }, @{ $next_result->ComplianceByConfigRules };
159             }
160             return $result;
161             } else {
162             while ($result->NextToken) {
163             $callback->($_ => 'ComplianceByConfigRules') foreach (@{ $result->ComplianceByConfigRules });
164             $result = $self->DescribeComplianceByConfigRule(@_, NextToken => $result->NextToken);
165             }
166             $callback->($_ => 'ComplianceByConfigRules') foreach (@{ $result->ComplianceByConfigRules });
167             }
168              
169             return undef
170             }
171             sub DescribeAllComplianceByResource {
172             my $self = shift;
173              
174             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
175             my $result = $self->DescribeComplianceByResource(@_);
176             my $next_result = $result;
177              
178             if (not defined $callback) {
179             while ($next_result->NextToken) {
180             $next_result = $self->DescribeComplianceByResource(@_, NextToken => $next_result->NextToken);
181             push @{ $result->ComplianceByResources }, @{ $next_result->ComplianceByResources };
182             }
183             return $result;
184             } else {
185             while ($result->NextToken) {
186             $callback->($_ => 'ComplianceByResources') foreach (@{ $result->ComplianceByResources });
187             $result = $self->DescribeComplianceByResource(@_, NextToken => $result->NextToken);
188             }
189             $callback->($_ => 'ComplianceByResources') foreach (@{ $result->ComplianceByResources });
190             }
191              
192             return undef
193             }
194             sub DescribeAllConfigRules {
195             my $self = shift;
196              
197             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
198             my $result = $self->DescribeConfigRules(@_);
199             my $next_result = $result;
200              
201             if (not defined $callback) {
202             while ($next_result->NextToken) {
203             $next_result = $self->DescribeConfigRules(@_, NextToken => $next_result->NextToken);
204             push @{ $result->ConfigRules }, @{ $next_result->ConfigRules };
205             }
206             return $result;
207             } else {
208             while ($result->NextToken) {
209             $callback->($_ => 'ConfigRules') foreach (@{ $result->ConfigRules });
210             $result = $self->DescribeConfigRules(@_, NextToken => $result->NextToken);
211             }
212             $callback->($_ => 'ConfigRules') foreach (@{ $result->ConfigRules });
213             }
214              
215             return undef
216             }
217             sub GetAllComplianceDetailsByConfigRule {
218             my $self = shift;
219              
220             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
221             my $result = $self->GetComplianceDetailsByConfigRule(@_);
222             my $next_result = $result;
223              
224             if (not defined $callback) {
225             while ($next_result->NextToken) {
226             $next_result = $self->GetComplianceDetailsByConfigRule(@_, NextToken => $next_result->NextToken);
227             push @{ $result->EvaluationResults }, @{ $next_result->EvaluationResults };
228             }
229             return $result;
230             } else {
231             while ($result->NextToken) {
232             $callback->($_ => 'EvaluationResults') foreach (@{ $result->EvaluationResults });
233             $result = $self->GetComplianceDetailsByConfigRule(@_, NextToken => $result->NextToken);
234             }
235             $callback->($_ => 'EvaluationResults') foreach (@{ $result->EvaluationResults });
236             }
237              
238             return undef
239             }
240             sub GetAllComplianceDetailsByResource {
241             my $self = shift;
242              
243             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
244             my $result = $self->GetComplianceDetailsByResource(@_);
245             my $next_result = $result;
246              
247             if (not defined $callback) {
248             while ($next_result->NextToken) {
249             $next_result = $self->GetComplianceDetailsByResource(@_, NextToken => $next_result->NextToken);
250             push @{ $result->EvaluationResults }, @{ $next_result->EvaluationResults };
251             }
252             return $result;
253             } else {
254             while ($result->NextToken) {
255             $callback->($_ => 'EvaluationResults') foreach (@{ $result->EvaluationResults });
256             $result = $self->GetComplianceDetailsByResource(@_, NextToken => $result->NextToken);
257             }
258             $callback->($_ => 'EvaluationResults') foreach (@{ $result->EvaluationResults });
259             }
260              
261             return undef
262             }
263             sub GetAllResourceConfigHistory {
264             my $self = shift;
265              
266             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
267             my $result = $self->GetResourceConfigHistory(@_);
268             my $next_result = $result;
269              
270             if (not defined $callback) {
271             while ($next_result->nextToken) {
272             $next_result = $self->GetResourceConfigHistory(@_, nextToken => $next_result->nextToken);
273             push @{ $result->configurationItems }, @{ $next_result->configurationItems };
274             }
275             return $result;
276             } else {
277             while ($result->nextToken) {
278             $callback->($_ => 'configurationItems') foreach (@{ $result->configurationItems });
279             $result = $self->GetResourceConfigHistory(@_, nextToken => $result->nextToken);
280             }
281             $callback->($_ => 'configurationItems') foreach (@{ $result->configurationItems });
282             }
283              
284             return undef
285             }
286             sub ListAllDiscoveredResources {
287             my $self = shift;
288              
289             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
290             my $result = $self->ListDiscoveredResources(@_);
291             my $next_result = $result;
292              
293             if (not defined $callback) {
294             while ($next_result->nextToken) {
295             $next_result = $self->ListDiscoveredResources(@_, nextToken => $next_result->nextToken);
296             push @{ $result->resourceIdentifiers }, @{ $next_result->resourceIdentifiers };
297             }
298             return $result;
299             } else {
300             while ($result->nextToken) {
301             $callback->($_ => 'resourceIdentifiers') foreach (@{ $result->resourceIdentifiers });
302             $result = $self->ListDiscoveredResources(@_, nextToken => $result->nextToken);
303             }
304             $callback->($_ => 'resourceIdentifiers') foreach (@{ $result->resourceIdentifiers });
305             }
306              
307             return undef
308             }
309              
310              
311             sub operations { qw/DeleteConfigRule DeleteConfigurationRecorder DeleteDeliveryChannel DeleteEvaluationResults DeliverConfigSnapshot DescribeComplianceByConfigRule DescribeComplianceByResource DescribeConfigRuleEvaluationStatus DescribeConfigRules DescribeConfigurationRecorders DescribeConfigurationRecorderStatus DescribeDeliveryChannels DescribeDeliveryChannelStatus GetComplianceDetailsByConfigRule GetComplianceDetailsByResource GetComplianceSummaryByConfigRule GetComplianceSummaryByResourceType GetResourceConfigHistory ListDiscoveredResources PutConfigRule PutConfigurationRecorder PutDeliveryChannel PutEvaluations StartConfigRulesEvaluation StartConfigurationRecorder StopConfigurationRecorder / }
312              
313             1;
314              
315             ### main pod documentation begin ###
316              
317             =head1 NAME
318              
319             Paws::Config - Perl Interface to AWS AWS Config
320              
321             =head1 SYNOPSIS
322              
323             use Paws;
324              
325             my $obj = Paws->service('Config');
326             my $res = $obj->Method(
327             Arg1 => $val1,
328             Arg2 => [ 'V1', 'V2' ],
329             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
330             # of the arguments type
331             Arg3 => { Att1 => 'Val1' },
332             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
333             # the constructor of the arguments type
334             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
335             );
336              
337             =head1 DESCRIPTION
338              
339             AWS Config
340              
341             AWS Config provides a way to keep track of the configurations of all
342             the AWS resources associated with your AWS account. You can use AWS
343             Config to get the current and historical configurations of each AWS
344             resource and also to get information about the relationship between the
345             resources. An AWS resource can be an Amazon Compute Cloud (Amazon EC2)
346             instance, an Elastic Block Store (EBS) volume, an Elastic network
347             Interface (ENI), or a security group. For a complete list of resources
348             currently supported by AWS Config, see Supported AWS Resources.
349              
350             You can access and manage AWS Config through the AWS Management
351             Console, the AWS Command Line Interface (AWS CLI), the AWS Config API,
352             or the AWS SDKs for AWS Config
353              
354             This reference guide contains documentation for the AWS Config API and
355             the AWS CLI commands that you can use to manage AWS Config.
356              
357             The AWS Config API uses the Signature Version 4 protocol for signing
358             requests. For more information about how to sign a request with this
359             protocol, see Signature Version 4 Signing Process.
360              
361             For detailed information about AWS Config features and their associated
362             actions or commands, as well as how to work with AWS Management
363             Console, see What Is AWS Config? in the I<AWS Config Developer Guide>.
364              
365             =head1 METHODS
366              
367             =head2 DeleteConfigRule(ConfigRuleName => Str)
368              
369             Each argument is described in detail in: L<Paws::Config::DeleteConfigRule>
370              
371             Returns: nothing
372              
373             Deletes the specified AWS Config rule and all of its evaluation
374             results.
375              
376             AWS Config sets the state of a rule to C<DELETING> until the deletion
377             is complete. You cannot update a rule while it is in this state. If you
378             make a C<PutConfigRule> or C<DeleteConfigRule> request for the rule,
379             you will receive a C<ResourceInUseException>.
380              
381             You can check the state of a rule by using the C<DescribeConfigRules>
382             request.
383              
384              
385             =head2 DeleteConfigurationRecorder(ConfigurationRecorderName => Str)
386              
387             Each argument is described in detail in: L<Paws::Config::DeleteConfigurationRecorder>
388              
389             Returns: nothing
390              
391             Deletes the configuration recorder.
392              
393             After the configuration recorder is deleted, AWS Config will not record
394             resource configuration changes until you create a new configuration
395             recorder.
396              
397             This action does not delete the configuration information that was
398             previously recorded. You will be able to access the previously recorded
399             information by using the C<GetResourceConfigHistory> action, but you
400             will not be able to access this information in the AWS Config console
401             until you create a new configuration recorder.
402              
403              
404             =head2 DeleteDeliveryChannel(DeliveryChannelName => Str)
405              
406             Each argument is described in detail in: L<Paws::Config::DeleteDeliveryChannel>
407              
408             Returns: nothing
409              
410             Deletes the delivery channel.
411              
412             Before you can delete the delivery channel, you must stop the
413             configuration recorder by using the StopConfigurationRecorder action.
414              
415              
416             =head2 DeleteEvaluationResults(ConfigRuleName => Str)
417              
418             Each argument is described in detail in: L<Paws::Config::DeleteEvaluationResults>
419              
420             Returns: a L<Paws::Config::DeleteEvaluationResultsResponse> instance
421              
422             Deletes the evaluation results for the specified Config rule. You can
423             specify one Config rule per request. After you delete the evaluation
424             results, you can call the StartConfigRulesEvaluation API to start
425             evaluating your AWS resources against the rule.
426              
427              
428             =head2 DeliverConfigSnapshot(DeliveryChannelName => Str)
429              
430             Each argument is described in detail in: L<Paws::Config::DeliverConfigSnapshot>
431              
432             Returns: a L<Paws::Config::DeliverConfigSnapshotResponse> instance
433              
434             Schedules delivery of a configuration snapshot to the Amazon S3 bucket
435             in the specified delivery channel. After the delivery has started, AWS
436             Config sends following notifications using an Amazon SNS topic that you
437             have specified.
438              
439             =over
440              
441             =item *
442              
443             Notification of starting the delivery.
444              
445             =item *
446              
447             Notification of delivery completed, if the delivery was successfully
448             completed.
449              
450             =item *
451              
452             Notification of delivery failure, if the delivery failed to complete.
453              
454             =back
455              
456              
457              
458             =head2 DescribeComplianceByConfigRule([ComplianceTypes => ArrayRef[Str|Undef], ConfigRuleNames => ArrayRef[Str|Undef], NextToken => Str])
459              
460             Each argument is described in detail in: L<Paws::Config::DescribeComplianceByConfigRule>
461              
462             Returns: a L<Paws::Config::DescribeComplianceByConfigRuleResponse> instance
463              
464             Indicates whether the specified AWS Config rules are compliant. If a
465             rule is noncompliant, this action returns the number of AWS resources
466             that do not comply with the rule.
467              
468             A rule is compliant if all of the evaluated resources comply with it,
469             and it is noncompliant if any of these resources do not comply.
470              
471             If AWS Config has no current evaluation results for the rule, it
472             returns C<INSUFFICIENT_DATA>. This result might indicate one of the
473             following conditions:
474              
475             =over
476              
477             =item *
478              
479             AWS Config has never invoked an evaluation for the rule. To check
480             whether it has, use the C<DescribeConfigRuleEvaluationStatus> action to
481             get the C<LastSuccessfulInvocationTime> and
482             C<LastFailedInvocationTime>.
483              
484             =item *
485              
486             The rule's AWS Lambda function is failing to send evaluation results to
487             AWS Config. Verify that the role that you assigned to your
488             configuration recorder includes the C<config:PutEvaluations>
489             permission. If the rule is a custom rule, verify that the AWS Lambda
490             execution role includes the C<config:PutEvaluations> permission.
491              
492             =item *
493              
494             The rule's AWS Lambda function has returned C<NOT_APPLICABLE> for all
495             evaluation results. This can occur if the resources were deleted or
496             removed from the rule's scope.
497              
498             =back
499              
500              
501              
502             =head2 DescribeComplianceByResource([ComplianceTypes => ArrayRef[Str|Undef], Limit => Int, NextToken => Str, ResourceId => Str, ResourceType => Str])
503              
504             Each argument is described in detail in: L<Paws::Config::DescribeComplianceByResource>
505              
506             Returns: a L<Paws::Config::DescribeComplianceByResourceResponse> instance
507              
508             Indicates whether the specified AWS resources are compliant. If a
509             resource is noncompliant, this action returns the number of AWS Config
510             rules that the resource does not comply with.
511              
512             A resource is compliant if it complies with all the AWS Config rules
513             that evaluate it. It is noncompliant if it does not comply with one or
514             more of these rules.
515              
516             If AWS Config has no current evaluation results for the resource, it
517             returns C<INSUFFICIENT_DATA>. This result might indicate one of the
518             following conditions about the rules that evaluate the resource:
519              
520             =over
521              
522             =item *
523              
524             AWS Config has never invoked an evaluation for the rule. To check
525             whether it has, use the C<DescribeConfigRuleEvaluationStatus> action to
526             get the C<LastSuccessfulInvocationTime> and
527             C<LastFailedInvocationTime>.
528              
529             =item *
530              
531             The rule's AWS Lambda function is failing to send evaluation results to
532             AWS Config. Verify that the role that you assigned to your
533             configuration recorder includes the C<config:PutEvaluations>
534             permission. If the rule is a custom rule, verify that the AWS Lambda
535             execution role includes the C<config:PutEvaluations> permission.
536              
537             =item *
538              
539             The rule's AWS Lambda function has returned C<NOT_APPLICABLE> for all
540             evaluation results. This can occur if the resources were deleted or
541             removed from the rule's scope.
542              
543             =back
544              
545              
546              
547             =head2 DescribeConfigRuleEvaluationStatus([ConfigRuleNames => ArrayRef[Str|Undef], Limit => Int, NextToken => Str])
548              
549             Each argument is described in detail in: L<Paws::Config::DescribeConfigRuleEvaluationStatus>
550              
551             Returns: a L<Paws::Config::DescribeConfigRuleEvaluationStatusResponse> instance
552              
553             Returns status information for each of your AWS managed Config rules.
554             The status includes information such as the last time AWS Config
555             invoked the rule, the last time AWS Config failed to invoke the rule,
556             and the related error for the last failure.
557              
558              
559             =head2 DescribeConfigRules([ConfigRuleNames => ArrayRef[Str|Undef], NextToken => Str])
560              
561             Each argument is described in detail in: L<Paws::Config::DescribeConfigRules>
562              
563             Returns: a L<Paws::Config::DescribeConfigRulesResponse> instance
564              
565             Returns details about your AWS Config rules.
566              
567              
568             =head2 DescribeConfigurationRecorders([ConfigurationRecorderNames => ArrayRef[Str|Undef]])
569              
570             Each argument is described in detail in: L<Paws::Config::DescribeConfigurationRecorders>
571              
572             Returns: a L<Paws::Config::DescribeConfigurationRecordersResponse> instance
573              
574             Returns the details for the specified configuration recorders. If the
575             configuration recorder is not specified, this action returns the
576             details for all configuration recorders associated with the account.
577              
578             Currently, you can specify only one configuration recorder per region
579             in your account.
580              
581              
582             =head2 DescribeConfigurationRecorderStatus([ConfigurationRecorderNames => ArrayRef[Str|Undef]])
583              
584             Each argument is described in detail in: L<Paws::Config::DescribeConfigurationRecorderStatus>
585              
586             Returns: a L<Paws::Config::DescribeConfigurationRecorderStatusResponse> instance
587              
588             Returns the current status of the specified configuration recorder. If
589             a configuration recorder is not specified, this action returns the
590             status of all configuration recorder associated with the account.
591              
592             Currently, you can specify only one configuration recorder per region
593             in your account.
594              
595              
596             =head2 DescribeDeliveryChannels([DeliveryChannelNames => ArrayRef[Str|Undef]])
597              
598             Each argument is described in detail in: L<Paws::Config::DescribeDeliveryChannels>
599              
600             Returns: a L<Paws::Config::DescribeDeliveryChannelsResponse> instance
601              
602             Returns details about the specified delivery channel. If a delivery
603             channel is not specified, this action returns the details of all
604             delivery channels associated with the account.
605              
606             Currently, you can specify only one delivery channel per region in your
607             account.
608              
609              
610             =head2 DescribeDeliveryChannelStatus([DeliveryChannelNames => ArrayRef[Str|Undef]])
611              
612             Each argument is described in detail in: L<Paws::Config::DescribeDeliveryChannelStatus>
613              
614             Returns: a L<Paws::Config::DescribeDeliveryChannelStatusResponse> instance
615              
616             Returns the current status of the specified delivery channel. If a
617             delivery channel is not specified, this action returns the current
618             status of all delivery channels associated with the account.
619              
620             Currently, you can specify only one delivery channel per region in your
621             account.
622              
623              
624             =head2 GetComplianceDetailsByConfigRule(ConfigRuleName => Str, [ComplianceTypes => ArrayRef[Str|Undef], Limit => Int, NextToken => Str])
625              
626             Each argument is described in detail in: L<Paws::Config::GetComplianceDetailsByConfigRule>
627              
628             Returns: a L<Paws::Config::GetComplianceDetailsByConfigRuleResponse> instance
629              
630             Returns the evaluation results for the specified AWS Config rule. The
631             results indicate which AWS resources were evaluated by the rule, when
632             each resource was last evaluated, and whether each resource complies
633             with the rule.
634              
635              
636             =head2 GetComplianceDetailsByResource(ResourceId => Str, ResourceType => Str, [ComplianceTypes => ArrayRef[Str|Undef], NextToken => Str])
637              
638             Each argument is described in detail in: L<Paws::Config::GetComplianceDetailsByResource>
639              
640             Returns: a L<Paws::Config::GetComplianceDetailsByResourceResponse> instance
641              
642             Returns the evaluation results for the specified AWS resource. The
643             results indicate which AWS Config rules were used to evaluate the
644             resource, when each rule was last used, and whether the resource
645             complies with each rule.
646              
647              
648             =head2 GetComplianceSummaryByConfigRule( => )
649              
650             Each argument is described in detail in: L<Paws::Config::GetComplianceSummaryByConfigRule>
651              
652             Returns: a L<Paws::Config::GetComplianceSummaryByConfigRuleResponse> instance
653              
654             Returns the number of AWS Config rules that are compliant and
655             noncompliant, up to a maximum of 25 for each.
656              
657              
658             =head2 GetComplianceSummaryByResourceType([ResourceTypes => ArrayRef[Str|Undef]])
659              
660             Each argument is described in detail in: L<Paws::Config::GetComplianceSummaryByResourceType>
661              
662             Returns: a L<Paws::Config::GetComplianceSummaryByResourceTypeResponse> instance
663              
664             Returns the number of resources that are compliant and the number that
665             are noncompliant. You can specify one or more resource types to get
666             these numbers for each resource type. The maximum number returned is
667             100.
668              
669              
670             =head2 GetResourceConfigHistory(ResourceId => Str, ResourceType => Str, [ChronologicalOrder => Str, EarlierTime => Str, LaterTime => Str, Limit => Int, NextToken => Str])
671              
672             Each argument is described in detail in: L<Paws::Config::GetResourceConfigHistory>
673              
674             Returns: a L<Paws::Config::GetResourceConfigHistoryResponse> instance
675              
676             Returns a list of configuration items for the specified resource. The
677             list contains details about each state of the resource during the
678             specified time interval.
679              
680             The response is paginated, and by default, AWS Config returns a limit
681             of 10 configuration items per page. You can customize this number with
682             the C<limit> parameter. The response includes a C<nextToken> string,
683             and to get the next page of results, run the request again and enter
684             this string for the C<nextToken> parameter.
685              
686             Each call to the API is limited to span a duration of seven days. It is
687             likely that the number of records returned is smaller than the
688             specified C<limit>. In such cases, you can make another call, using the
689             C<nextToken>.
690              
691              
692             =head2 ListDiscoveredResources(ResourceType => Str, [IncludeDeletedResources => Bool, Limit => Int, NextToken => Str, ResourceIds => ArrayRef[Str|Undef], ResourceName => Str])
693              
694             Each argument is described in detail in: L<Paws::Config::ListDiscoveredResources>
695              
696             Returns: a L<Paws::Config::ListDiscoveredResourcesResponse> instance
697              
698             Accepts a resource type and returns a list of resource identifiers for
699             the resources of that type. A resource identifier includes the resource
700             type, ID, and (if available) the custom resource name. The results
701             consist of resources that AWS Config has discovered, including those
702             that AWS Config is not currently recording. You can narrow the results
703             to include only resources that have specific resource IDs or a resource
704             name.
705              
706             You can specify either resource IDs or a resource name but not both in
707             the same request.
708              
709             The response is paginated, and by default AWS Config lists 100 resource
710             identifiers on each page. You can customize this number with the
711             C<limit> parameter. The response includes a C<nextToken> string, and to
712             get the next page of results, run the request again and enter this
713             string for the C<nextToken> parameter.
714              
715              
716             =head2 PutConfigRule(ConfigRule => L<Paws::Config::ConfigRule>)
717              
718             Each argument is described in detail in: L<Paws::Config::PutConfigRule>
719              
720             Returns: nothing
721              
722             Adds or updates an AWS Config rule for evaluating whether your AWS
723             resources comply with your desired configurations.
724              
725             You can use this action for custom Config rules and AWS managed Config
726             rules. A custom Config rule is a rule that you develop and maintain. An
727             AWS managed Config rule is a customizable, predefined rule that AWS
728             Config provides.
729              
730             If you are adding a new custom Config rule, you must first create the
731             AWS Lambda function that the rule invokes to evaluate your resources.
732             When you use the C<PutConfigRule> action to add the rule to AWS Config,
733             you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns
734             to the function. Specify the ARN for the C<SourceIdentifier> key. This
735             key is part of the C<Source> object, which is part of the C<ConfigRule>
736             object.
737              
738             If you are adding an AWS managed Config rule, specify the rule's
739             identifier for the C<SourceIdentifier> key. To reference AWS managed
740             Config rule identifiers, see About AWS Managed Config Rules.
741              
742             For any new rule that you add, specify the C<ConfigRuleName> in the
743             C<ConfigRule> object. Do not specify the C<ConfigRuleArn> or the
744             C<ConfigRuleId>. These values are generated by AWS Config for new
745             rules.
746              
747             If you are updating a rule that you added previously, you can specify
748             the rule by C<ConfigRuleName>, C<ConfigRuleId>, or C<ConfigRuleArn> in
749             the C<ConfigRule> data type that you use in this request.
750              
751             The maximum number of rules that AWS Config supports is 50.
752              
753             For more information about requesting a rule limit increase, see AWS
754             Config Limits in the I<AWS General Reference Guide>.
755              
756             For more information about developing and using AWS Config rules, see
757             Evaluating AWS Resource Configurations with AWS Config in the I<AWS
758             Config Developer Guide>.
759              
760              
761             =head2 PutConfigurationRecorder(ConfigurationRecorder => L<Paws::Config::ConfigurationRecorder>)
762              
763             Each argument is described in detail in: L<Paws::Config::PutConfigurationRecorder>
764              
765             Returns: nothing
766              
767             Creates a new configuration recorder to record the selected resource
768             configurations.
769              
770             You can use this action to change the role C<roleARN> and/or the
771             C<recordingGroup> of an existing recorder. To change the role, call the
772             action on the existing configuration recorder and specify a role.
773              
774             Currently, you can specify only one configuration recorder per region
775             in your account.
776              
777             If C<ConfigurationRecorder> does not have the B<recordingGroup>
778             parameter specified, the default is to record all supported resource
779             types.
780              
781              
782             =head2 PutDeliveryChannel(DeliveryChannel => L<Paws::Config::DeliveryChannel>)
783              
784             Each argument is described in detail in: L<Paws::Config::PutDeliveryChannel>
785              
786             Returns: nothing
787              
788             Creates a delivery channel object to deliver configuration information
789             to an Amazon S3 bucket and Amazon SNS topic.
790              
791             Before you can create a delivery channel, you must create a
792             configuration recorder.
793              
794             You can use this action to change the Amazon S3 bucket or an Amazon SNS
795             topic of the existing delivery channel. To change the Amazon S3 bucket
796             or an Amazon SNS topic, call this action and specify the changed values
797             for the S3 bucket and the SNS topic. If you specify a different value
798             for either the S3 bucket or the SNS topic, this action will keep the
799             existing value for the parameter that is not changed.
800              
801             You can have only one delivery channel per region in your account.
802              
803              
804             =head2 PutEvaluations(ResultToken => Str, [Evaluations => ArrayRef[L<Paws::Config::Evaluation>], TestMode => Bool])
805              
806             Each argument is described in detail in: L<Paws::Config::PutEvaluations>
807              
808             Returns: a L<Paws::Config::PutEvaluationsResponse> instance
809              
810             Used by an AWS Lambda function to deliver evaluation results to AWS
811             Config. This action is required in every AWS Lambda function that is
812             invoked by an AWS Config rule.
813              
814              
815             =head2 StartConfigRulesEvaluation([ConfigRuleNames => ArrayRef[Str|Undef]])
816              
817             Each argument is described in detail in: L<Paws::Config::StartConfigRulesEvaluation>
818              
819             Returns: a L<Paws::Config::StartConfigRulesEvaluationResponse> instance
820              
821             Runs an on-demand evaluation for the specified Config rules against the
822             last known configuration state of the resources. Use
823             C<StartConfigRulesEvaluation> when you want to test a rule that you
824             updated is working as expected. C<StartConfigRulesEvaluation> does not
825             re-record the latest configuration state for your resources; it re-runs
826             an evaluation against the last known state of your resources.
827              
828             You can specify up to 25 Config rules per request.
829              
830             An existing C<StartConfigRulesEvaluation> call must complete for the
831             specified rules before you can call the API again. If you chose to have
832             AWS Config stream to an Amazon SNS topic, you will receive a
833             C<ConfigRuleEvaluationStarted> notification when the evaluation starts.
834              
835             You don't need to call the C<StartConfigRulesEvaluation> API to run an
836             evaluation for a new rule. When you create a new rule, AWS Config
837             automatically evaluates your resources against the rule.
838              
839             The C<StartConfigRulesEvaluation> API is useful if you want to run
840             on-demand evaluations, such as the following example:
841              
842             =over
843              
844             =item 1.
845              
846             You have a custom rule that evaluates your IAM resources every 24
847             hours.
848              
849             =item 2.
850              
851             You update your Lambda function to add additional conditions to your
852             rule.
853              
854             =item 3.
855              
856             Instead of waiting for the next periodic evaluation, you call the
857             C<StartConfigRulesEvaluation> API.
858              
859             =item 4.
860              
861             AWS Config invokes your Lambda function and evaluates your IAM
862             resources.
863              
864             =item 5.
865              
866             Your custom rule will still run periodic evaluations every 24 hours.
867              
868             =back
869              
870              
871              
872             =head2 StartConfigurationRecorder(ConfigurationRecorderName => Str)
873              
874             Each argument is described in detail in: L<Paws::Config::StartConfigurationRecorder>
875              
876             Returns: nothing
877              
878             Starts recording configurations of the AWS resources you have selected
879             to record in your AWS account.
880              
881             You must have created at least one delivery channel to successfully
882             start the configuration recorder.
883              
884              
885             =head2 StopConfigurationRecorder(ConfigurationRecorderName => Str)
886              
887             Each argument is described in detail in: L<Paws::Config::StopConfigurationRecorder>
888              
889             Returns: nothing
890              
891             Stops recording configurations of the AWS resources you have selected
892             to record in your AWS account.
893              
894              
895              
896              
897             =head1 PAGINATORS
898              
899             Paginator methods are helpers that repetively call methods that return partial results
900              
901             =head2 DescribeAllComplianceByConfigRule(sub { },[ComplianceTypes => ArrayRef[Str|Undef], ConfigRuleNames => ArrayRef[Str|Undef], NextToken => Str])
902              
903             =head2 DescribeAllComplianceByConfigRule([ComplianceTypes => ArrayRef[Str|Undef], ConfigRuleNames => ArrayRef[Str|Undef], NextToken => Str])
904              
905              
906             If passed a sub as first parameter, it will call the sub for each element found in :
907              
908             - ComplianceByConfigRules, passing the object as the first parameter, and the string 'ComplianceByConfigRules' as the second parameter
909              
910             If not, it will return a a L<Paws::Config::DescribeComplianceByConfigRuleResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
911              
912              
913             =head2 DescribeAllComplianceByResource(sub { },[ComplianceTypes => ArrayRef[Str|Undef], Limit => Int, NextToken => Str, ResourceId => Str, ResourceType => Str])
914              
915             =head2 DescribeAllComplianceByResource([ComplianceTypes => ArrayRef[Str|Undef], Limit => Int, NextToken => Str, ResourceId => Str, ResourceType => Str])
916              
917              
918             If passed a sub as first parameter, it will call the sub for each element found in :
919              
920             - ComplianceByResources, passing the object as the first parameter, and the string 'ComplianceByResources' as the second parameter
921              
922             If not, it will return a a L<Paws::Config::DescribeComplianceByResourceResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
923              
924              
925             =head2 DescribeAllConfigRules(sub { },[ConfigRuleNames => ArrayRef[Str|Undef], NextToken => Str])
926              
927             =head2 DescribeAllConfigRules([ConfigRuleNames => ArrayRef[Str|Undef], NextToken => Str])
928              
929              
930             If passed a sub as first parameter, it will call the sub for each element found in :
931              
932             - ConfigRules, passing the object as the first parameter, and the string 'ConfigRules' as the second parameter
933              
934             If not, it will return a a L<Paws::Config::DescribeConfigRulesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
935              
936              
937             =head2 GetAllComplianceDetailsByConfigRule(sub { },ConfigRuleName => Str, [ComplianceTypes => ArrayRef[Str|Undef], Limit => Int, NextToken => Str])
938              
939             =head2 GetAllComplianceDetailsByConfigRule(ConfigRuleName => Str, [ComplianceTypes => ArrayRef[Str|Undef], Limit => Int, NextToken => Str])
940              
941              
942             If passed a sub as first parameter, it will call the sub for each element found in :
943              
944             - EvaluationResults, passing the object as the first parameter, and the string 'EvaluationResults' as the second parameter
945              
946             If not, it will return a a L<Paws::Config::GetComplianceDetailsByConfigRuleResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
947              
948              
949             =head2 GetAllComplianceDetailsByResource(sub { },ResourceId => Str, ResourceType => Str, [ComplianceTypes => ArrayRef[Str|Undef], NextToken => Str])
950              
951             =head2 GetAllComplianceDetailsByResource(ResourceId => Str, ResourceType => Str, [ComplianceTypes => ArrayRef[Str|Undef], NextToken => Str])
952              
953              
954             If passed a sub as first parameter, it will call the sub for each element found in :
955              
956             - EvaluationResults, passing the object as the first parameter, and the string 'EvaluationResults' as the second parameter
957              
958             If not, it will return a a L<Paws::Config::GetComplianceDetailsByResourceResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
959              
960              
961             =head2 GetAllResourceConfigHistory(sub { },ResourceId => Str, ResourceType => Str, [ChronologicalOrder => Str, EarlierTime => Str, LaterTime => Str, Limit => Int, NextToken => Str])
962              
963             =head2 GetAllResourceConfigHistory(ResourceId => Str, ResourceType => Str, [ChronologicalOrder => Str, EarlierTime => Str, LaterTime => Str, Limit => Int, NextToken => Str])
964              
965              
966             If passed a sub as first parameter, it will call the sub for each element found in :
967              
968             - configurationItems, passing the object as the first parameter, and the string 'configurationItems' as the second parameter
969              
970             If not, it will return a a L<Paws::Config::GetResourceConfigHistoryResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
971              
972              
973             =head2 ListAllDiscoveredResources(sub { },ResourceType => Str, [IncludeDeletedResources => Bool, Limit => Int, NextToken => Str, ResourceIds => ArrayRef[Str|Undef], ResourceName => Str])
974              
975             =head2 ListAllDiscoveredResources(ResourceType => Str, [IncludeDeletedResources => Bool, Limit => Int, NextToken => Str, ResourceIds => ArrayRef[Str|Undef], ResourceName => Str])
976              
977              
978             If passed a sub as first parameter, it will call the sub for each element found in :
979              
980             - resourceIdentifiers, passing the object as the first parameter, and the string 'resourceIdentifiers' as the second parameter
981              
982             If not, it will return a a L<Paws::Config::ListDiscoveredResourcesResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
983              
984              
985              
986              
987              
988             =head1 SEE ALSO
989              
990             This service class forms part of L<Paws>
991              
992             =head1 BUGS and CONTRIBUTIONS
993              
994             The source code is located here: https://github.com/pplu/aws-sdk-perl
995              
996             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
997              
998             =cut
999