File Coverage

blib/lib/Paws/CloudFormation.pm
Criterion Covered Total %
statement 24 196 12.2
branch 0 24 0.0
condition n/a
subroutine 10 38 26.3
pod 32 36 88.8
total 66 294 22.4


line stmt bran cond sub pod time code
1             package Paws::CloudFormation;
2 1     1   7309 use Moose;
  1     3   2  
  1         8  
  3         3291  
  3         8  
  3         23  
3 16     16 0 82 sub service { 'cloudformation' }
4 1     1 0 5 sub version { '2010-05-15' }
5 3     3 0 23 sub flattened_arrays { 0 }
6             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
7             has retry => (is => 'ro', isa => 'HashRef', default => sub {
8             { base => 'rand', type => 'exponential', growth_factor => 2 }
9             });
10             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
11             ] });
12              
13             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::QueryCaller', 'Paws::Net::XMLResponse';
14              
15            
16             sub CancelUpdateStack {
17 0     0 1 0 my $self = shift;
18 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::CancelUpdateStack', @_);
19 0         0 return $self->caller->do_call($self, $call_object);
20             }
21             sub ContinueUpdateRollback {
22 0     0 1 0 my $self = shift;
23 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::ContinueUpdateRollback', @_);
24 0         0 return $self->caller->do_call($self, $call_object);
25             }
26             sub CreateChangeSet {
27 0     0 1 0 my $self = shift;
28 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::CreateChangeSet', @_);
29 0         0 return $self->caller->do_call($self, $call_object);
30             }
31             sub CreateStack {
32 1     1 1 13 my $self = shift;
33 1         6 my $call_object = $self->new_with_coercions('Paws::CloudFormation::CreateStack', @_);
34 1         3146 return $self->caller->do_call($self, $call_object);
35             }
36             sub DeleteChangeSet {
37 0     0 1 0 my $self = shift;
38 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::DeleteChangeSet', @_);
39 0         0 return $self->caller->do_call($self, $call_object);
40             }
41             sub DeleteStack {
42 0     0 1 0 my $self = shift;
43 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::DeleteStack', @_);
44 0         0 return $self->caller->do_call($self, $call_object);
45             }
46             sub DescribeAccountLimits {
47 0     0 1 0 my $self = shift;
48 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::DescribeAccountLimits', @_);
49 0         0 return $self->caller->do_call($self, $call_object);
50             }
51             sub DescribeChangeSet {
52 0     0 1 0 my $self = shift;
53 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::DescribeChangeSet', @_);
54 0         0 return $self->caller->do_call($self, $call_object);
55             }
56             sub DescribeStackEvents {
57 0     0 1 0 my $self = shift;
58 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::DescribeStackEvents', @_);
59 0         0 return $self->caller->do_call($self, $call_object);
60             }
61             sub DescribeStackResource {
62 0     0 1 0 my $self = shift;
63 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::DescribeStackResource', @_);
64 0         0 return $self->caller->do_call($self, $call_object);
65             }
66             sub DescribeStackResources {
67 0     0 1 0 my $self = shift;
68 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::DescribeStackResources', @_);
69 0         0 return $self->caller->do_call($self, $call_object);
70             }
71             sub DescribeStacks {
72 1     1 1 238 my $self = shift;
73 1         7 my $call_object = $self->new_with_coercions('Paws::CloudFormation::DescribeStacks', @_);
74 1         544 return $self->caller->do_call($self, $call_object);
75             }
76             sub EstimateTemplateCost {
77 0     0 1 0 my $self = shift;
78 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::EstimateTemplateCost', @_);
79 0         0 return $self->caller->do_call($self, $call_object);
80             }
81             sub ExecuteChangeSet {
82 0     0 1 0 my $self = shift;
83 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::ExecuteChangeSet', @_);
84 0         0 return $self->caller->do_call($self, $call_object);
85             }
86             sub GetStackPolicy {
87 0     0 1 0 my $self = shift;
88 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::GetStackPolicy', @_);
89 0         0 return $self->caller->do_call($self, $call_object);
90             }
91             sub GetTemplate {
92 1     1 1 282 my $self = shift;
93 1         8 my $call_object = $self->new_with_coercions('Paws::CloudFormation::GetTemplate', @_);
94 1         631 return $self->caller->do_call($self, $call_object);
95             }
96             sub GetTemplateSummary {
97 0     0 1 0 my $self = shift;
98 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::GetTemplateSummary', @_);
99 0         0 return $self->caller->do_call($self, $call_object);
100             }
101             sub ListChangeSets {
102 0     0 1 0 my $self = shift;
103 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::ListChangeSets', @_);
104 0         0 return $self->caller->do_call($self, $call_object);
105             }
106             sub ListExports {
107 0     0 1 0 my $self = shift;
108 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::ListExports', @_);
109 0         0 return $self->caller->do_call($self, $call_object);
110             }
111             sub ListImports {
112 0     0 1 0 my $self = shift;
113 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::ListImports', @_);
114 0         0 return $self->caller->do_call($self, $call_object);
115             }
116             sub ListStackResources {
117 0     0 1 0 my $self = shift;
118 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::ListStackResources', @_);
119 0         0 return $self->caller->do_call($self, $call_object);
120             }
121             sub ListStacks {
122 2     2 1 493 my $self = shift;
123 2         14 my $call_object = $self->new_with_coercions('Paws::CloudFormation::ListStacks', @_);
124 2         833 return $self->caller->do_call($self, $call_object);
125             }
126             sub SetStackPolicy {
127 0     0 1 0 my $self = shift;
128 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::SetStackPolicy', @_);
129 0         0 return $self->caller->do_call($self, $call_object);
130             }
131             sub SignalResource {
132 0     0 1 0 my $self = shift;
133 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::SignalResource', @_);
134 0         0 return $self->caller->do_call($self, $call_object);
135             }
136             sub UpdateStack {
137 0     0 1 0 my $self = shift;
138 0         0 my $call_object = $self->new_with_coercions('Paws::CloudFormation::UpdateStack', @_);
139 0         0 return $self->caller->do_call($self, $call_object);
140             }
141             sub ValidateTemplate {
142 1     1 1 403 my $self = shift;
143 1         14 my $call_object = $self->new_with_coercions('Paws::CloudFormation::ValidateTemplate', @_);
144 1         519 return $self->caller->do_call($self, $call_object);
145             }
146            
147             sub DescribeAllStackEvents {
148 0     0 1   my $self = shift;
149              
150 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
151 0           my $result = $self->DescribeStackEvents(@_);
152 0           my $next_result = $result;
153              
154 0 0         if (not defined $callback) {
155 0           while ($next_result->NextToken) {
156 0           $next_result = $self->DescribeStackEvents(@_, NextToken => $next_result->NextToken);
157 0           push @{ $result->StackEvents }, @{ $next_result->StackEvents };
  0            
  0            
158             }
159 0           return $result;
160             } else {
161 0           while ($result->NextToken) {
162 0           $callback->($_ => 'StackEvents') foreach (@{ $result->StackEvents });
  0            
163 0           $result = $self->DescribeStackEvents(@_, NextToken => $result->NextToken);
164             }
165 0           $callback->($_ => 'StackEvents') foreach (@{ $result->StackEvents });
  0            
166             }
167              
168             return undef
169 0           }
170             sub DescribeAllStacks {
171 0     0 1   my $self = shift;
172              
173 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
174 0           my $result = $self->DescribeStacks(@_);
175 0           my $next_result = $result;
176              
177 0 0         if (not defined $callback) {
178 0           while ($next_result->NextToken) {
179 0           $next_result = $self->DescribeStacks(@_, NextToken => $next_result->NextToken);
180 0           push @{ $result->Stacks }, @{ $next_result->Stacks };
  0            
  0            
181             }
182 0           return $result;
183             } else {
184 0           while ($result->NextToken) {
185 0           $callback->($_ => 'Stacks') foreach (@{ $result->Stacks });
  0            
186 0           $result = $self->DescribeStacks(@_, NextToken => $result->NextToken);
187             }
188 0           $callback->($_ => 'Stacks') foreach (@{ $result->Stacks });
  0            
189             }
190              
191             return undef
192 0           }
193             sub ListAllExports {
194 0     0 1   my $self = shift;
195              
196 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
197 0           my $result = $self->ListExports(@_);
198 0           my $next_result = $result;
199              
200 0 0         if (not defined $callback) {
201 0           while ($next_result->NextToken) {
202 0           $next_result = $self->ListExports(@_, NextToken => $next_result->NextToken);
203 0           push @{ $result->Exports }, @{ $next_result->Exports };
  0            
  0            
204             }
205 0           return $result;
206             } else {
207 0           while ($result->NextToken) {
208 0           $callback->($_ => 'Exports') foreach (@{ $result->Exports });
  0            
209 0           $result = $self->ListExports(@_, NextToken => $result->NextToken);
210             }
211 0           $callback->($_ => 'Exports') foreach (@{ $result->Exports });
  0            
212             }
213              
214             return undef
215 0           }
216             sub ListAllImports {
217 0     0 1   my $self = shift;
218              
219 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
220 0           my $result = $self->ListImports(@_);
221 0           my $next_result = $result;
222              
223 0 0         if (not defined $callback) {
224 0           while ($next_result->NextToken) {
225 0           $next_result = $self->ListImports(@_, NextToken => $next_result->NextToken);
226 0           push @{ $result->Imports }, @{ $next_result->Imports };
  0            
  0            
227             }
228 0           return $result;
229             } else {
230 0           while ($result->NextToken) {
231 0           $callback->($_ => 'Imports') foreach (@{ $result->Imports });
  0            
232 0           $result = $self->ListImports(@_, NextToken => $result->NextToken);
233             }
234 0           $callback->($_ => 'Imports') foreach (@{ $result->Imports });
  0            
235             }
236              
237             return undef
238 0           }
239             sub ListAllStackResources {
240 0     0 1   my $self = shift;
241              
242 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
243 0           my $result = $self->ListStackResources(@_);
244 0           my $next_result = $result;
245              
246 0 0         if (not defined $callback) {
247 0           while ($next_result->NextToken) {
248 0           $next_result = $self->ListStackResources(@_, NextToken => $next_result->NextToken);
249 0           push @{ $result->StackResourceSummaries }, @{ $next_result->StackResourceSummaries };
  0            
  0            
250             }
251 0           return $result;
252             } else {
253 0           while ($result->NextToken) {
254 0           $callback->($_ => 'StackResourceSummaries') foreach (@{ $result->StackResourceSummaries });
  0            
255 0           $result = $self->ListStackResources(@_, NextToken => $result->NextToken);
256             }
257 0           $callback->($_ => 'StackResourceSummaries') foreach (@{ $result->StackResourceSummaries });
  0            
258             }
259              
260             return undef
261 0           }
262             sub ListAllStacks {
263 0     0 1   my $self = shift;
264              
265 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
266 0           my $result = $self->ListStacks(@_);
267 0           my $next_result = $result;
268              
269 0 0         if (not defined $callback) {
270 0           while ($next_result->NextToken) {
271 0           $next_result = $self->ListStacks(@_, NextToken => $next_result->NextToken);
272 0           push @{ $result->StackSummaries }, @{ $next_result->StackSummaries };
  0            
  0            
273             }
274 0           return $result;
275             } else {
276 0           while ($result->NextToken) {
277 0           $callback->($_ => 'StackSummaries') foreach (@{ $result->StackSummaries });
  0            
278 0           $result = $self->ListStacks(@_, NextToken => $result->NextToken);
279             }
280 0           $callback->($_ => 'StackSummaries') foreach (@{ $result->StackSummaries });
  0            
281             }
282              
283             return undef
284 0           }
285              
286              
287 0     0 0   sub operations { qw/CancelUpdateStack ContinueUpdateRollback CreateChangeSet CreateStack DeleteChangeSet DeleteStack DescribeAccountLimits DescribeChangeSet DescribeStackEvents DescribeStackResource DescribeStackResources DescribeStacks EstimateTemplateCost ExecuteChangeSet GetStackPolicy GetTemplate GetTemplateSummary ListChangeSets ListExports ListImports ListStackResources ListStacks SetStackPolicy SignalResource UpdateStack ValidateTemplate / }
288              
289             1;
290              
291             ### main pod documentation begin ###
292              
293             =head1 NAME
294              
295             Paws::CloudFormation - Perl Interface to AWS AWS CloudFormation
296              
297             =head1 SYNOPSIS
298              
299             use Paws;
300              
301             my $obj = Paws->service('CloudFormation');
302             my $res = $obj->Method(
303             Arg1 => $val1,
304             Arg2 => [ 'V1', 'V2' ],
305             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
306             # of the arguments type
307             Arg3 => { Att1 => 'Val1' },
308             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
309             # the constructor of the arguments type
310             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
311             );
312              
313             =head1 DESCRIPTION
314              
315             AWS CloudFormation
316              
317             AWS CloudFormation allows you to create and manage AWS infrastructure
318             deployments predictably and repeatedly. You can use AWS CloudFormation
319             to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon
320             Elastic Block Store, Amazon Simple Notification Service, Elastic Load
321             Balancing, and Auto Scaling to build highly-reliable, highly scalable,
322             cost-effective applications without creating or configuring the
323             underlying AWS infrastructure.
324              
325             With AWS CloudFormation, you declare all of your resources and
326             dependencies in a template file. The template defines a collection of
327             resources as a single unit called a stack. AWS CloudFormation creates
328             and deletes all member resources of the stack together and manages all
329             dependencies between the resources for you.
330              
331             For more information about AWS CloudFormation, see the AWS
332             CloudFormation Product Page.
333              
334             Amazon CloudFormation makes use of other AWS products. If you need
335             additional technical information about a specific AWS product, you can
336             find the product's technical documentation at docs.aws.amazon.com.
337              
338             =head1 METHODS
339              
340             =head2 CancelUpdateStack(StackName => Str, [ClientRequestToken => Str])
341              
342             Each argument is described in detail in: L<Paws::CloudFormation::CancelUpdateStack>
343              
344             Returns: nothing
345              
346             Cancels an update on the specified stack. If the call completes
347             successfully, the stack rolls back the update and reverts to the
348             previous stack configuration.
349              
350             You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.
351              
352              
353             =head2 ContinueUpdateRollback(StackName => Str, [ClientRequestToken => Str, ResourcesToSkip => ArrayRef[Str|Undef], RoleARN => Str])
354              
355             Each argument is described in detail in: L<Paws::CloudFormation::ContinueUpdateRollback>
356              
357             Returns: a L<Paws::CloudFormation::ContinueUpdateRollbackOutput> instance
358              
359             For a specified stack that is in the C<UPDATE_ROLLBACK_FAILED> state,
360             continues rolling it back to the C<UPDATE_ROLLBACK_COMPLETE> state.
361             Depending on the cause of the failure, you can manually fix the error
362             and continue the rollback. By continuing the rollback, you can return
363             your stack to a working state (the C<UPDATE_ROLLBACK_COMPLETE> state),
364             and then try to update the stack again.
365              
366             A stack goes into the C<UPDATE_ROLLBACK_FAILED> state when AWS
367             CloudFormation cannot roll back all changes after a failed stack
368             update. For example, you might have a stack that is rolling back to an
369             old database instance that was deleted outside of AWS CloudFormation.
370             Because AWS CloudFormation doesn't know the database was deleted, it
371             assumes that the database instance still exists and attempts to roll
372             back to it, causing the update rollback to fail.
373              
374              
375             =head2 CreateChangeSet(ChangeSetName => Str, StackName => Str, [Capabilities => ArrayRef[Str|Undef], ChangeSetType => Str, ClientToken => Str, Description => Str, NotificationARNs => ArrayRef[Str|Undef], Parameters => ArrayRef[L<Paws::CloudFormation::Parameter>], ResourceTypes => ArrayRef[Str|Undef], RoleARN => Str, Tags => ArrayRef[L<Paws::CloudFormation::Tag>], TemplateBody => Str, TemplateURL => Str, UsePreviousTemplate => Bool])
376              
377             Each argument is described in detail in: L<Paws::CloudFormation::CreateChangeSet>
378              
379             Returns: a L<Paws::CloudFormation::CreateChangeSetOutput> instance
380              
381             Creates a list of changes that will be applied to a stack so that you
382             can review the changes before executing them. You can create a change
383             set for a stack that doesn't exist or an existing stack. If you create
384             a change set for a stack that doesn't exist, the change set shows all
385             of the resources that AWS CloudFormation will create. If you create a
386             change set for an existing stack, AWS CloudFormation compares the
387             stack's information with the information that you submit in the change
388             set and lists the differences. Use change sets to understand which
389             resources AWS CloudFormation will create or change, and how it will
390             change resources in an existing stack, before you create or update a
391             stack.
392              
393             To create a change set for a stack that doesn't exist, for the
394             C<ChangeSetType> parameter, specify C<CREATE>. To create a change set
395             for an existing stack, specify C<UPDATE> for the C<ChangeSetType>
396             parameter. After the C<CreateChangeSet> call successfully completes,
397             AWS CloudFormation starts creating the change set. To check the status
398             of the change set or to review it, use the DescribeChangeSet action.
399              
400             When you are satisfied with the changes the change set will make,
401             execute the change set by using the ExecuteChangeSet action. AWS
402             CloudFormation doesn't make changes until you execute the change set.
403              
404              
405             =head2 CreateStack(StackName => Str, [Capabilities => ArrayRef[Str|Undef], ClientRequestToken => Str, DisableRollback => Bool, NotificationARNs => ArrayRef[Str|Undef], OnFailure => Str, Parameters => ArrayRef[L<Paws::CloudFormation::Parameter>], ResourceTypes => ArrayRef[Str|Undef], RoleARN => Str, StackPolicyBody => Str, StackPolicyURL => Str, Tags => ArrayRef[L<Paws::CloudFormation::Tag>], TemplateBody => Str, TemplateURL => Str, TimeoutInMinutes => Int])
406              
407             Each argument is described in detail in: L<Paws::CloudFormation::CreateStack>
408              
409             Returns: a L<Paws::CloudFormation::CreateStackOutput> instance
410              
411             Creates a stack as specified in the template. After the call completes
412             successfully, the stack creation starts. You can check the status of
413             the stack via the DescribeStacks API.
414              
415              
416             =head2 DeleteChangeSet(ChangeSetName => Str, [StackName => Str])
417              
418             Each argument is described in detail in: L<Paws::CloudFormation::DeleteChangeSet>
419              
420             Returns: a L<Paws::CloudFormation::DeleteChangeSetOutput> instance
421              
422             Deletes the specified change set. Deleting change sets ensures that no
423             one executes the wrong change set.
424              
425             If the call successfully completes, AWS CloudFormation successfully
426             deleted the change set.
427              
428              
429             =head2 DeleteStack(StackName => Str, [ClientRequestToken => Str, RetainResources => ArrayRef[Str|Undef], RoleARN => Str])
430              
431             Each argument is described in detail in: L<Paws::CloudFormation::DeleteStack>
432              
433             Returns: nothing
434              
435             Deletes a specified stack. Once the call completes successfully, stack
436             deletion starts. Deleted stacks do not show up in the DescribeStacks
437             API if the deletion has been completed successfully.
438              
439              
440             =head2 DescribeAccountLimits([NextToken => Str])
441              
442             Each argument is described in detail in: L<Paws::CloudFormation::DescribeAccountLimits>
443              
444             Returns: a L<Paws::CloudFormation::DescribeAccountLimitsOutput> instance
445              
446             Retrieves your account's AWS CloudFormation limits, such as the maximum
447             number of stacks that you can create in your account.
448              
449              
450             =head2 DescribeChangeSet(ChangeSetName => Str, [NextToken => Str, StackName => Str])
451              
452             Each argument is described in detail in: L<Paws::CloudFormation::DescribeChangeSet>
453              
454             Returns: a L<Paws::CloudFormation::DescribeChangeSetOutput> instance
455              
456             Returns the inputs for the change set and a list of changes that AWS
457             CloudFormation will make if you execute the change set. For more
458             information, see Updating Stacks Using Change Sets in the AWS
459             CloudFormation User Guide.
460              
461              
462             =head2 DescribeStackEvents([NextToken => Str, StackName => Str])
463              
464             Each argument is described in detail in: L<Paws::CloudFormation::DescribeStackEvents>
465              
466             Returns: a L<Paws::CloudFormation::DescribeStackEventsOutput> instance
467              
468             Returns all stack related events for a specified stack in reverse
469             chronological order. For more information about a stack's event
470             history, go to Stacks in the AWS CloudFormation User Guide.
471              
472             You can list events for stacks that have failed to create or have been
473             deleted by specifying the unique stack identifier (stack ID).
474              
475              
476             =head2 DescribeStackResource(LogicalResourceId => Str, StackName => Str)
477              
478             Each argument is described in detail in: L<Paws::CloudFormation::DescribeStackResource>
479              
480             Returns: a L<Paws::CloudFormation::DescribeStackResourceOutput> instance
481              
482             Returns a description of the specified resource in the specified stack.
483              
484             For deleted stacks, DescribeStackResource returns resource information
485             for up to 90 days after the stack has been deleted.
486              
487              
488             =head2 DescribeStackResources([LogicalResourceId => Str, PhysicalResourceId => Str, StackName => Str])
489              
490             Each argument is described in detail in: L<Paws::CloudFormation::DescribeStackResources>
491              
492             Returns: a L<Paws::CloudFormation::DescribeStackResourcesOutput> instance
493              
494             Returns AWS resource descriptions for running and deleted stacks. If
495             C<StackName> is specified, all the associated resources that are part
496             of the stack are returned. If C<PhysicalResourceId> is specified, the
497             associated resources of the stack that the resource belongs to are
498             returned.
499              
500             Only the first 100 resources will be returned. If your stack has more
501             resources than this, you should use C<ListStackResources> instead.
502              
503             For deleted stacks, C<DescribeStackResources> returns resource
504             information for up to 90 days after the stack has been deleted.
505              
506             You must specify either C<StackName> or C<PhysicalResourceId>, but not
507             both. In addition, you can specify C<LogicalResourceId> to filter the
508             returned result. For more information about resources, the
509             C<LogicalResourceId> and C<PhysicalResourceId>, go to the AWS
510             CloudFormation User Guide.
511              
512             A C<ValidationError> is returned if you specify both C<StackName> and
513             C<PhysicalResourceId> in the same request.
514              
515              
516             =head2 DescribeStacks([NextToken => Str, StackName => Str])
517              
518             Each argument is described in detail in: L<Paws::CloudFormation::DescribeStacks>
519              
520             Returns: a L<Paws::CloudFormation::DescribeStacksOutput> instance
521              
522             Returns the description for the specified stack; if no stack name was
523             specified, then it returns the description for all the stacks created.
524              
525             If the stack does not exist, an C<AmazonCloudFormationException> is
526             returned.
527              
528              
529             =head2 EstimateTemplateCost([Parameters => ArrayRef[L<Paws::CloudFormation::Parameter>], TemplateBody => Str, TemplateURL => Str])
530              
531             Each argument is described in detail in: L<Paws::CloudFormation::EstimateTemplateCost>
532              
533             Returns: a L<Paws::CloudFormation::EstimateTemplateCostOutput> instance
534              
535             Returns the estimated monthly cost of a template. The return value is
536             an AWS Simple Monthly Calculator URL with a query string that describes
537             the resources required to run the template.
538              
539              
540             =head2 ExecuteChangeSet(ChangeSetName => Str, [ClientRequestToken => Str, StackName => Str])
541              
542             Each argument is described in detail in: L<Paws::CloudFormation::ExecuteChangeSet>
543              
544             Returns: a L<Paws::CloudFormation::ExecuteChangeSetOutput> instance
545              
546             Updates a stack using the input information that was provided when the
547             specified change set was created. After the call successfully
548             completes, AWS CloudFormation starts updating the stack. Use the
549             DescribeStacks action to view the status of the update.
550              
551             When you execute a change set, AWS CloudFormation deletes all other
552             change sets associated with the stack because they aren't valid for the
553             updated stack.
554              
555             If a stack policy is associated with the stack, AWS CloudFormation
556             enforces the policy during the update. You can't specify a temporary
557             stack policy that overrides the current policy.
558              
559              
560             =head2 GetStackPolicy(StackName => Str)
561              
562             Each argument is described in detail in: L<Paws::CloudFormation::GetStackPolicy>
563              
564             Returns: a L<Paws::CloudFormation::GetStackPolicyOutput> instance
565              
566             Returns the stack policy for a specified stack. If a stack doesn't have
567             a policy, a null value is returned.
568              
569              
570             =head2 GetTemplate([ChangeSetName => Str, StackName => Str, TemplateStage => Str])
571              
572             Each argument is described in detail in: L<Paws::CloudFormation::GetTemplate>
573              
574             Returns: a L<Paws::CloudFormation::GetTemplateOutput> instance
575              
576             Returns the template body for a specified stack. You can get the
577             template for running or deleted stacks.
578              
579             For deleted stacks, GetTemplate returns the template for up to 90 days
580             after the stack has been deleted.
581              
582             If the template does not exist, a C<ValidationError> is returned.
583              
584              
585             =head2 GetTemplateSummary([StackName => Str, TemplateBody => Str, TemplateURL => Str])
586              
587             Each argument is described in detail in: L<Paws::CloudFormation::GetTemplateSummary>
588              
589             Returns: a L<Paws::CloudFormation::GetTemplateSummaryOutput> instance
590              
591             Returns information about a new or existing template. The
592             C<GetTemplateSummary> action is useful for viewing parameter
593             information, such as default parameter values and parameter types,
594             before you create or update a stack.
595              
596             You can use the C<GetTemplateSummary> action when you submit a
597             template, or you can get template information for a running or deleted
598             stack.
599              
600             For deleted stacks, C<GetTemplateSummary> returns the template
601             information for up to 90 days after the stack has been deleted. If the
602             template does not exist, a C<ValidationError> is returned.
603              
604              
605             =head2 ListChangeSets(StackName => Str, [NextToken => Str])
606              
607             Each argument is described in detail in: L<Paws::CloudFormation::ListChangeSets>
608              
609             Returns: a L<Paws::CloudFormation::ListChangeSetsOutput> instance
610              
611             Returns the ID and status of each active change set for a stack. For
612             example, AWS CloudFormation lists change sets that are in the
613             C<CREATE_IN_PROGRESS> or C<CREATE_PENDING> state.
614              
615              
616             =head2 ListExports([NextToken => Str])
617              
618             Each argument is described in detail in: L<Paws::CloudFormation::ListExports>
619              
620             Returns: a L<Paws::CloudFormation::ListExportsOutput> instance
621              
622             Lists all exported output values in the account and region in which you
623             call this action. Use this action to see the exported output values
624             that you can import into other stacks. To import values, use the
625             C<Fn::ImportValue> function.
626              
627             For more information, see AWS CloudFormation Export Stack Output
628             Values.
629              
630              
631             =head2 ListImports(ExportName => Str, [NextToken => Str])
632              
633             Each argument is described in detail in: L<Paws::CloudFormation::ListImports>
634              
635             Returns: a L<Paws::CloudFormation::ListImportsOutput> instance
636              
637             Lists all stacks that are importing an exported output value. To modify
638             or remove an exported output value, first use this action to see which
639             stacks are using it. To see the exported output values in your account,
640             see ListExports.
641              
642             For more information about importing an exported output value, see the
643             C<Fn::ImportValue> function.
644              
645              
646             =head2 ListStackResources(StackName => Str, [NextToken => Str])
647              
648             Each argument is described in detail in: L<Paws::CloudFormation::ListStackResources>
649              
650             Returns: a L<Paws::CloudFormation::ListStackResourcesOutput> instance
651              
652             Returns descriptions of all resources of the specified stack.
653              
654             For deleted stacks, ListStackResources returns resource information for
655             up to 90 days after the stack has been deleted.
656              
657              
658             =head2 ListStacks([NextToken => Str, StackStatusFilter => ArrayRef[Str|Undef]])
659              
660             Each argument is described in detail in: L<Paws::CloudFormation::ListStacks>
661              
662             Returns: a L<Paws::CloudFormation::ListStacksOutput> instance
663              
664             Returns the summary information for stacks whose status matches the
665             specified StackStatusFilter. Summary information for stacks that have
666             been deleted is kept for 90 days after the stack is deleted. If no
667             StackStatusFilter is specified, summary information for all stacks is
668             returned (including existing stacks and stacks that have been deleted).
669              
670              
671             =head2 SetStackPolicy(StackName => Str, [StackPolicyBody => Str, StackPolicyURL => Str])
672              
673             Each argument is described in detail in: L<Paws::CloudFormation::SetStackPolicy>
674              
675             Returns: nothing
676              
677             Sets a stack policy for a specified stack.
678              
679              
680             =head2 SignalResource(LogicalResourceId => Str, StackName => Str, Status => Str, UniqueId => Str)
681              
682             Each argument is described in detail in: L<Paws::CloudFormation::SignalResource>
683              
684             Returns: nothing
685              
686             Sends a signal to the specified resource with a success or failure
687             status. You can use the SignalResource API in conjunction with a
688             creation policy or update policy. AWS CloudFormation doesn't proceed
689             with a stack creation or update until resources receive the required
690             number of signals or the timeout period is exceeded. The SignalResource
691             API is useful in cases where you want to send signals from anywhere
692             other than an Amazon EC2 instance.
693              
694              
695             =head2 UpdateStack(StackName => Str, [Capabilities => ArrayRef[Str|Undef], ClientRequestToken => Str, NotificationARNs => ArrayRef[Str|Undef], Parameters => ArrayRef[L<Paws::CloudFormation::Parameter>], ResourceTypes => ArrayRef[Str|Undef], RoleARN => Str, StackPolicyBody => Str, StackPolicyDuringUpdateBody => Str, StackPolicyDuringUpdateURL => Str, StackPolicyURL => Str, Tags => ArrayRef[L<Paws::CloudFormation::Tag>], TemplateBody => Str, TemplateURL => Str, UsePreviousTemplate => Bool])
696              
697             Each argument is described in detail in: L<Paws::CloudFormation::UpdateStack>
698              
699             Returns: a L<Paws::CloudFormation::UpdateStackOutput> instance
700              
701             Updates a stack as specified in the template. After the call completes
702             successfully, the stack update starts. You can check the status of the
703             stack via the DescribeStacks action.
704              
705             To get a copy of the template for an existing stack, you can use the
706             GetTemplate action.
707              
708             For more information about creating an update template, updating a
709             stack, and monitoring the progress of the update, see Updating a Stack.
710              
711              
712             =head2 ValidateTemplate([TemplateBody => Str, TemplateURL => Str])
713              
714             Each argument is described in detail in: L<Paws::CloudFormation::ValidateTemplate>
715              
716             Returns: a L<Paws::CloudFormation::ValidateTemplateOutput> instance
717              
718             Validates a specified template. AWS CloudFormation first checks if the
719             template is valid JSON. If it isn't, AWS CloudFormation checks if the
720             template is valid YAML. If both these checks fail, AWS CloudFormation
721             returns a template validation error.
722              
723              
724              
725              
726             =head1 PAGINATORS
727              
728             Paginator methods are helpers that repetively call methods that return partial results
729              
730             =head2 DescribeAllStackEvents(sub { },[NextToken => Str, StackName => Str])
731              
732             =head2 DescribeAllStackEvents([NextToken => Str, StackName => Str])
733              
734              
735             If passed a sub as first parameter, it will call the sub for each element found in :
736              
737             - StackEvents, passing the object as the first parameter, and the string 'StackEvents' as the second parameter
738              
739             If not, it will return a a L<Paws::CloudFormation::DescribeStackEventsOutput> 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.
740              
741              
742             =head2 DescribeAllStacks(sub { },[NextToken => Str, StackName => Str])
743              
744             =head2 DescribeAllStacks([NextToken => Str, StackName => Str])
745              
746              
747             If passed a sub as first parameter, it will call the sub for each element found in :
748              
749             - Stacks, passing the object as the first parameter, and the string 'Stacks' as the second parameter
750              
751             If not, it will return a a L<Paws::CloudFormation::DescribeStacksOutput> 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.
752              
753              
754             =head2 ListAllExports(sub { },[NextToken => Str])
755              
756             =head2 ListAllExports([NextToken => Str])
757              
758              
759             If passed a sub as first parameter, it will call the sub for each element found in :
760              
761             - Exports, passing the object as the first parameter, and the string 'Exports' as the second parameter
762              
763             If not, it will return a a L<Paws::CloudFormation::ListExportsOutput> 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.
764              
765              
766             =head2 ListAllImports(sub { },ExportName => Str, [NextToken => Str])
767              
768             =head2 ListAllImports(ExportName => Str, [NextToken => Str])
769              
770              
771             If passed a sub as first parameter, it will call the sub for each element found in :
772              
773             - Imports, passing the object as the first parameter, and the string 'Imports' as the second parameter
774              
775             If not, it will return a a L<Paws::CloudFormation::ListImportsOutput> 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.
776              
777              
778             =head2 ListAllStackResources(sub { },StackName => Str, [NextToken => Str])
779              
780             =head2 ListAllStackResources(StackName => Str, [NextToken => Str])
781              
782              
783             If passed a sub as first parameter, it will call the sub for each element found in :
784              
785             - StackResourceSummaries, passing the object as the first parameter, and the string 'StackResourceSummaries' as the second parameter
786              
787             If not, it will return a a L<Paws::CloudFormation::ListStackResourcesOutput> 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.
788              
789              
790             =head2 ListAllStacks(sub { },[NextToken => Str, StackStatusFilter => ArrayRef[Str|Undef]])
791              
792             =head2 ListAllStacks([NextToken => Str, StackStatusFilter => ArrayRef[Str|Undef]])
793              
794              
795             If passed a sub as first parameter, it will call the sub for each element found in :
796              
797             - StackSummaries, passing the object as the first parameter, and the string 'StackSummaries' as the second parameter
798              
799             If not, it will return a a L<Paws::CloudFormation::ListStacksOutput> 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.
800              
801              
802              
803              
804              
805             =head1 SEE ALSO
806              
807             This service class forms part of L<Paws>
808              
809             =head1 BUGS and CONTRIBUTIONS
810              
811             The source code is located here: https://github.com/pplu/aws-sdk-perl
812              
813             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
814              
815             =cut
816