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