File Coverage

blib/lib/Paws/CloudFormation/CreateStack.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1              
2             package Paws::CloudFormation::CreateStack;
3 1     1   559 use Moose;
  1     1   3  
  1         13  
  1         486  
  1         2  
  1         7  
4             has Capabilities => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
5             has ClientRequestToken => (is => 'ro', isa => 'Str');
6             has DisableRollback => (is => 'ro', isa => 'Bool');
7             has EnableTerminationProtection => (is => 'ro', isa => 'Bool');
8             has NotificationARNs => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
9             has OnFailure => (is => 'ro', isa => 'Str');
10             has Parameters => (is => 'ro', isa => 'ArrayRef[Paws::CloudFormation::Parameter]');
11             has ResourceTypes => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
12             has RoleARN => (is => 'ro', isa => 'Str');
13             has RollbackConfiguration => (is => 'ro', isa => 'Paws::CloudFormation::RollbackConfiguration');
14             has StackName => (is => 'ro', isa => 'Str', required => 1);
15             has StackPolicyBody => (is => 'ro', isa => 'Str');
16             has StackPolicyURL => (is => 'ro', isa => 'Str');
17             has Tags => (is => 'ro', isa => 'ArrayRef[Paws::CloudFormation::Tag]');
18             has TemplateBody => (is => 'ro', isa => 'Str');
19             has TemplateURL => (is => 'ro', isa => 'Str');
20             has TimeoutInMinutes => (is => 'ro', isa => 'Int');
21              
22 1     1   8143 use MooseX::ClassAttribute;
  1     1   3  
  1         9  
  1         5787  
  1         2  
  1         8  
23              
24             class_has _api_call => (isa => 'Str', is => 'ro', default => 'CreateStack');
25             class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::CloudFormation::CreateStackOutput');
26             class_has _result_key => (isa => 'Str', is => 'ro', default => 'CreateStackResult');
27             1;
28              
29             ### main pod documentation begin ###
30              
31             =head1 NAME
32              
33             Paws::CloudFormation::CreateStack - Arguments for method CreateStack on Paws::CloudFormation
34              
35             =head1 DESCRIPTION
36              
37             This class represents the parameters used for calling the method CreateStack on the
38             AWS CloudFormation service. Use the attributes of this class
39             as arguments to method CreateStack.
40              
41             You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateStack.
42              
43             As an example:
44              
45             $service_obj->CreateStack(Att1 => $value1, Att2 => $value2, ...);
46              
47             Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object.
48              
49             =head1 ATTRIBUTES
50              
51              
52             =head2 Capabilities => ArrayRef[Str|Undef]
53              
54             A list of values that you must specify before AWS CloudFormation can
55             create certain stacks. Some stack templates might include resources
56             that can affect permissions in your AWS account, for example, by
57             creating new AWS Identity and Access Management (IAM) users. For those
58             stacks, you must explicitly acknowledge their capabilities by
59             specifying this parameter.
60              
61             The only valid values are C<CAPABILITY_IAM> and
62             C<CAPABILITY_NAMED_IAM>. The following resources require you to specify
63             this parameter: AWS::IAM::AccessKey, AWS::IAM::Group,
64             AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role,
65             AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack
66             template contains these resources, we recommend that you review all
67             permissions associated with them and edit their permissions if
68             necessary.
69              
70             If you have IAM resources, you can specify either capability. If you
71             have IAM resources with custom names, you must specify
72             C<CAPABILITY_NAMED_IAM>. If you don't specify this parameter, this
73             action returns an C<InsufficientCapabilities> error.
74              
75             For more information, see Acknowledging IAM Resources in AWS
76             CloudFormation Templates.
77              
78              
79              
80             =head2 ClientRequestToken => Str
81              
82             A unique identifier for this C<CreateStack> request. Specify this token
83             if you plan to retry requests so that AWS CloudFormation knows that
84             you're not attempting to create a stack with the same name. You might
85             retry C<CreateStack> requests to ensure that AWS CloudFormation
86             successfully received them.
87              
88             All events triggered by a given stack operation are assigned the same
89             client request token, which you can use to track operations. For
90             example, if you execute a C<CreateStack> operation with the token
91             C<token1>, then all the C<StackEvents> generated by that operation will
92             have C<ClientRequestToken> set as C<token1>.
93              
94             In the console, stack operations display the client request token on
95             the Events tab. Stack operations that are initiated from the console
96             use the token format I<Console-StackOperation-ID>, which helps you
97             easily identify the stack operation . For example, if you create a
98             stack using the console, each stack event would be assigned the same
99             token in the following format:
100             C<Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002>.
101              
102              
103              
104             =head2 DisableRollback => Bool
105              
106             Set to C<true> to disable rollback of the stack if stack creation
107             failed. You can specify either C<DisableRollback> or C<OnFailure>, but
108             not both.
109              
110             Default: C<false>
111              
112              
113              
114             =head2 EnableTerminationProtection => Bool
115              
116             Whether to enable termination protection on the specified stack. If a
117             user attempts to delete a stack with termination protection enabled,
118             the operation fails and the stack remains unchanged. For more
119             information, see Protecting a Stack From Being Deleted in the I<AWS
120             CloudFormation User Guide>. Termination protection is disabled on
121             stacks by default.
122              
123             For nested stacks, termination protection is set on the root stack and
124             cannot be changed directly on the nested stack.
125              
126              
127              
128             =head2 NotificationARNs => ArrayRef[Str|Undef]
129              
130             The Simple Notification Service (SNS) topic ARNs to publish stack
131             related events. You can find your SNS topic ARNs using the SNS console
132             or your Command Line Interface (CLI).
133              
134              
135              
136             =head2 OnFailure => Str
137              
138             Determines what action will be taken if stack creation fails. This must
139             be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either
140             C<OnFailure> or C<DisableRollback>, but not both.
141              
142             Default: C<ROLLBACK>
143              
144             Valid values are: C<"DO_NOTHING">, C<"ROLLBACK">, C<"DELETE">
145              
146             =head2 Parameters => ArrayRef[L<Paws::CloudFormation::Parameter>]
147              
148             A list of C<Parameter> structures that specify input parameters for the
149             stack. For more information, see the Parameter data type.
150              
151              
152              
153             =head2 ResourceTypes => ArrayRef[Str|Undef]
154              
155             The template resource types that you have permissions to work with for
156             this create stack action, such as C<AWS::EC2::Instance>,
157             C<AWS::EC2::*>, or C<Custom::MyCustomInstance>. Use the following
158             syntax to describe template resource types: C<AWS::*> (for all AWS
159             resource), C<Custom::*> (for all custom resources),
160             C<Custom::I<logical_ID> > (for a specific custom resource),
161             C<AWS::I<service_name>::*> (for all resources of a particular AWS
162             service), and C<AWS::I<service_name>::I<resource_logical_ID> > (for a
163             specific AWS resource).
164              
165             If the list of resource types doesn't include a resource that you're
166             creating, the stack creation fails. By default, AWS CloudFormation
167             grants permissions to all resource types. AWS Identity and Access
168             Management (IAM) uses this parameter for AWS CloudFormation-specific
169             condition keys in IAM policies. For more information, see Controlling
170             Access with AWS Identity and Access Management.
171              
172              
173              
174             =head2 RoleARN => Str
175              
176             The Amazon Resource Name (ARN) of an AWS Identity and Access Management
177             (IAM) role that AWS CloudFormation assumes to create the stack. AWS
178             CloudFormation uses the role's credentials to make calls on your
179             behalf. AWS CloudFormation always uses this role for all future
180             operations on the stack. As long as users have permission to operate on
181             the stack, AWS CloudFormation uses this role even if the users don't
182             have permission to pass it. Ensure that the role grants least
183             privilege.
184              
185             If you don't specify a value, AWS CloudFormation uses the role that was
186             previously associated with the stack. If no role is available, AWS
187             CloudFormation uses a temporary session that is generated from your
188             user credentials.
189              
190              
191              
192             =head2 RollbackConfiguration => L<Paws::CloudFormation::RollbackConfiguration>
193              
194             The rollback triggers for AWS CloudFormation to monitor during stack
195             creation and updating operations, and for the specified monitoring
196             period afterwards.
197              
198              
199              
200             =head2 B<REQUIRED> StackName => Str
201              
202             The name that is associated with the stack. The name must be unique in
203             the region in which you are creating the stack.
204              
205             A stack name can contain only alphanumeric characters (case sensitive)
206             and hyphens. It must start with an alphabetic character and cannot be
207             longer than 128 characters.
208              
209              
210              
211             =head2 StackPolicyBody => Str
212              
213             Structure containing the stack policy body. For more information, go to
214             Prevent Updates to Stack Resources in the I<AWS CloudFormation User
215             Guide>. You can specify either the C<StackPolicyBody> or the
216             C<StackPolicyURL> parameter, but not both.
217              
218              
219              
220             =head2 StackPolicyURL => Str
221              
222             Location of a file containing the stack policy. The URL must point to a
223             policy (maximum size: 16 KB) located in an S3 bucket in the same region
224             as the stack. You can specify either the C<StackPolicyBody> or the
225             C<StackPolicyURL> parameter, but not both.
226              
227              
228              
229             =head2 Tags => ArrayRef[L<Paws::CloudFormation::Tag>]
230              
231             Key-value pairs to associate with this stack. AWS CloudFormation also
232             propagates these tags to the resources created in the stack. A maximum
233             number of 50 tags can be specified.
234              
235              
236              
237             =head2 TemplateBody => Str
238              
239             Structure containing the template body with a minimum length of 1 byte
240             and a maximum length of 51,200 bytes. For more information, go to
241             Template Anatomy in the AWS CloudFormation User Guide.
242              
243             Conditional: You must specify either the C<TemplateBody> or the
244             C<TemplateURL> parameter, but not both.
245              
246              
247              
248             =head2 TemplateURL => Str
249              
250             Location of file containing the template body. The URL must point to a
251             template (max size: 460,800 bytes) that is located in an Amazon S3
252             bucket. For more information, go to the Template Anatomy in the AWS
253             CloudFormation User Guide.
254              
255             Conditional: You must specify either the C<TemplateBody> or the
256             C<TemplateURL> parameter, but not both.
257              
258              
259              
260             =head2 TimeoutInMinutes => Int
261              
262             The amount of time that can pass before the stack status becomes
263             CREATE_FAILED; if C<DisableRollback> is not set or is set to C<false>,
264             the stack will be rolled back.
265              
266              
267              
268              
269             =head1 SEE ALSO
270              
271             This class forms part of L<Paws>, documenting arguments for method CreateStack in L<Paws::CloudFormation>
272              
273             =head1 BUGS and CONTRIBUTIONS
274              
275             The source code is located here: https://github.com/pplu/aws-sdk-perl
276              
277             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
278              
279             =cut
280