File Coverage

blib/lib/Paws/OpsWorks/CreateStack.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1              
2             package Paws::OpsWorks::CreateStack;
3 1     1   581 use Moose;
  1         5  
  1         8  
4             has AgentVersion => (is => 'ro', isa => 'Str');
5             has Attributes => (is => 'ro', isa => 'Paws::OpsWorks::StackAttributes');
6             has ChefConfiguration => (is => 'ro', isa => 'Paws::OpsWorks::ChefConfiguration');
7             has ConfigurationManager => (is => 'ro', isa => 'Paws::OpsWorks::StackConfigurationManager');
8             has CustomCookbooksSource => (is => 'ro', isa => 'Paws::OpsWorks::Source');
9             has CustomJson => (is => 'ro', isa => 'Str');
10             has DefaultAvailabilityZone => (is => 'ro', isa => 'Str');
11             has DefaultInstanceProfileArn => (is => 'ro', isa => 'Str', required => 1);
12             has DefaultOs => (is => 'ro', isa => 'Str');
13             has DefaultRootDeviceType => (is => 'ro', isa => 'Str');
14             has DefaultSshKeyName => (is => 'ro', isa => 'Str');
15             has DefaultSubnetId => (is => 'ro', isa => 'Str');
16             has HostnameTheme => (is => 'ro', isa => 'Str');
17             has Name => (is => 'ro', isa => 'Str', required => 1);
18             has Region => (is => 'ro', isa => 'Str', required => 1);
19             has ServiceRoleArn => (is => 'ro', isa => 'Str', required => 1);
20             has UseCustomCookbooks => (is => 'ro', isa => 'Bool');
21             has UseOpsworksSecurityGroups => (is => 'ro', isa => 'Bool');
22             has VpcId => (is => 'ro', isa => 'Str');
23              
24 1     1   7025 use MooseX::ClassAttribute;
  1         3  
  1         12  
25              
26             class_has _api_call => (isa => 'Str', is => 'ro', default => 'CreateStack');
27             class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::OpsWorks::CreateStackResult');
28             class_has _result_key => (isa => 'Str', is => 'ro');
29             1;
30              
31             ### main pod documentation begin ###
32              
33             =head1 NAME
34              
35             Paws::OpsWorks::CreateStack - Arguments for method CreateStack on Paws::OpsWorks
36              
37             =head1 DESCRIPTION
38              
39             This class represents the parameters used for calling the method CreateStack on the
40             AWS OpsWorks service. Use the attributes of this class
41             as arguments to method CreateStack.
42              
43             You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateStack.
44              
45             As an example:
46              
47             $service_obj->CreateStack(Att1 => $value1, Att2 => $value2, ...);
48              
49             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.
50              
51             =head1 ATTRIBUTES
52              
53              
54             =head2 AgentVersion => Str
55              
56             The default AWS OpsWorks Stacks agent version. You have the following
57             options:
58              
59             =over
60              
61             =item *
62              
63             Auto-update - Set this parameter to C<LATEST>. AWS OpsWorks Stacks
64             automatically installs new agent versions on the stack's instances as
65             soon as they are available.
66              
67             =item *
68              
69             Fixed version - Set this parameter to your preferred agent version. To
70             update the agent version, you must edit the stack configuration and
71             specify a new version. AWS OpsWorks Stacks then automatically installs
72             that version on the stack's instances.
73              
74             =back
75              
76             The default setting is the most recent release of the agent. To specify
77             an agent version, you must use the complete version number, not the
78             abbreviated number shown on the console. For a list of available agent
79             version numbers, call DescribeAgentVersions. AgentVersion cannot be set
80             to Chef 12.2.
81              
82             You can also specify an agent version when you create or update an
83             instance, which overrides the stack's default setting.
84              
85              
86              
87             =head2 Attributes => L<Paws::OpsWorks::StackAttributes>
88              
89             One or more user-defined key-value pairs to be added to the stack
90             attributes.
91              
92              
93              
94             =head2 ChefConfiguration => L<Paws::OpsWorks::ChefConfiguration>
95              
96             A C<ChefConfiguration> object that specifies whether to enable
97             Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more
98             information, see Create a New Stack.
99              
100              
101              
102             =head2 ConfigurationManager => L<Paws::OpsWorks::StackConfigurationManager>
103              
104             The configuration manager. When you create a stack we recommend that
105             you use the configuration manager to specify the Chef version: 12,
106             11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The
107             default value for Linux stacks is currently 11.4.
108              
109              
110              
111             =head2 CustomCookbooksSource => L<Paws::OpsWorks::Source>
112              
113              
114              
115              
116              
117             =head2 CustomJson => Str
118              
119             A string that contains user-defined, custom JSON. It can be used to
120             override the corresponding default stack configuration attribute values
121             or to pass data to recipes. The string should be in the following
122             format:
123              
124             C<"{\"key1\": \"value1\", \"key2\": \"value2\",...}">
125              
126             For more information on custom JSON, see Use Custom JSON to Modify the
127             Stack Configuration Attributes.
128              
129              
130              
131             =head2 DefaultAvailabilityZone => Str
132              
133             The stack's default Availability Zone, which must be in the specified
134             region. For more information, see Regions and Endpoints. If you also
135             specify a value for C<DefaultSubnetId>, the subnet must be in the same
136             zone. For more information, see the C<VpcId> parameter description.
137              
138              
139              
140             =head2 B<REQUIRED> DefaultInstanceProfileArn => Str
141              
142             The Amazon Resource Name (ARN) of an IAM profile that is the default
143             profile for all of the stack's EC2 instances. For more information
144             about IAM ARNs, see Using Identifiers.
145              
146              
147              
148             =head2 DefaultOs => Str
149              
150             The stack's default operating system, which is installed on every
151             instance unless you specify a different operating system when you
152             create the instance. You can specify one of the following.
153              
154             =over
155              
156             =item *
157              
158             A supported Linux operating system: An Amazon Linux version, such as
159             C<Amazon Linux 2017.03>, C<Amazon Linux 2016.09>, C<Amazon Linux
160             2016.03>, C<Amazon Linux 2015.09>, or C<Amazon Linux 2015.03>.
161              
162             =item *
163              
164             A supported Ubuntu operating system, such as C<Ubuntu 16.04 LTS>,
165             C<Ubuntu 14.04 LTS>, or C<Ubuntu 12.04 LTS>.
166              
167             =item *
168              
169             C<CentOS Linux 7>
170              
171             =item *
172              
173             C<Red Hat Enterprise Linux 7>
174              
175             =item *
176              
177             A supported Windows operating system, such as C<Microsoft Windows
178             Server 2012 R2 Base>, C<Microsoft Windows Server 2012 R2 with SQL
179             Server Express>, C<Microsoft Windows Server 2012 R2 with SQL Server
180             Standard>, or C<Microsoft Windows Server 2012 R2 with SQL Server Web>.
181              
182             =item *
183              
184             A custom AMI: C<Custom>. You specify the custom AMI you want to use
185             when you create instances. For more information, see Using Custom AMIs.
186              
187             =back
188              
189             The default option is the current Amazon Linux version. For more
190             information on the supported operating systems, see AWS OpsWorks Stacks
191             Operating Systems.
192              
193              
194              
195             =head2 DefaultRootDeviceType => Str
196              
197             The default root device type. This value is the default for all
198             instances in the stack, but you can override it when you create an
199             instance. The default option is C<instance-store>. For more
200             information, see Storage for the Root Device.
201              
202             Valid values are: C<"ebs">, C<"instance-store">
203              
204             =head2 DefaultSshKeyName => Str
205              
206             A default Amazon EC2 key pair name. The default value is none. If you
207             specify a key pair name, AWS OpsWorks installs the public key on the
208             instance and you can use the private key with an SSH client to log in
209             to the instance. For more information, see Using SSH to Communicate
210             with an Instance and Managing SSH Access. You can override this setting
211             by specifying a different key pair, or no key pair, when you create an
212             instance.
213              
214              
215              
216             =head2 DefaultSubnetId => Str
217              
218             The stack's default VPC subnet ID. This parameter is required if you
219             specify a value for the C<VpcId> parameter. All instances are launched
220             into this subnet unless you specify otherwise when you create the
221             instance. If you also specify a value for C<DefaultAvailabilityZone>,
222             the subnet must be in that zone. For information on default values and
223             when this parameter is required, see the C<VpcId> parameter
224             description.
225              
226              
227              
228             =head2 HostnameTheme => Str
229              
230             The stack's host name theme, with spaces replaced by underscores. The
231             theme is used to generate host names for the stack's instances. By
232             default, C<HostnameTheme> is set to C<Layer_Dependent>, which creates
233             host names by appending integers to the layer's short name. The other
234             themes are:
235              
236             =over
237              
238             =item *
239              
240             C<Baked_Goods>
241              
242             =item *
243              
244             C<Clouds>
245              
246             =item *
247              
248             C<Europe_Cities>
249              
250             =item *
251              
252             C<Fruits>
253              
254             =item *
255              
256             C<Greek_Deities>
257              
258             =item *
259              
260             C<Legendary_creatures_from_Japan>
261              
262             =item *
263              
264             C<Planets_and_Moons>
265              
266             =item *
267              
268             C<Roman_Deities>
269              
270             =item *
271              
272             C<Scottish_Islands>
273              
274             =item *
275              
276             C<US_Cities>
277              
278             =item *
279              
280             C<Wild_Cats>
281              
282             =back
283              
284             To obtain a generated host name, call C<GetHostNameSuggestion>, which
285             returns a host name based on the current theme.
286              
287              
288              
289             =head2 B<REQUIRED> Name => Str
290              
291             The stack name.
292              
293              
294              
295             =head2 B<REQUIRED> Region => Str
296              
297             The stack's AWS region, such as "ap-south-1". For more information
298             about Amazon regions, see Regions and Endpoints.
299              
300              
301              
302             =head2 B<REQUIRED> ServiceRoleArn => Str
303              
304             The stack's AWS Identity and Access Management (IAM) role, which allows
305             AWS OpsWorks Stacks to work with AWS resources on your behalf. You must
306             set this parameter to the Amazon Resource Name (ARN) for an existing
307             IAM role. For more information about IAM ARNs, see Using Identifiers.
308              
309              
310              
311             =head2 UseCustomCookbooks => Bool
312              
313             Whether the stack uses custom cookbooks.
314              
315              
316              
317             =head2 UseOpsworksSecurityGroups => Bool
318              
319             Whether to associate the AWS OpsWorks Stacks built-in security groups
320             with the stack's layers.
321              
322             AWS OpsWorks Stacks provides a standard set of built-in security
323             groups, one for each layer, which are associated with layers by
324             default. With C<UseOpsworksSecurityGroups> you can instead provide your
325             own custom security groups. C<UseOpsworksSecurityGroups> has the
326             following settings:
327              
328             =over
329              
330             =item *
331              
332             True - AWS OpsWorks Stacks automatically associates the appropriate
333             built-in security group with each layer (default setting). You can
334             associate additional security groups with a layer after you create it,
335             but you cannot delete the built-in security group.
336              
337             =item *
338              
339             False - AWS OpsWorks Stacks does not associate built-in security groups
340             with layers. You must create appropriate EC2 security groups and
341             associate a security group with each layer that you create. However,
342             you can still manually associate a built-in security group with a layer
343             on creation; custom security groups are required only for those layers
344             that need custom settings.
345              
346             =back
347              
348             For more information, see Create a New Stack.
349              
350              
351              
352             =head2 VpcId => Str
353              
354             The ID of the VPC that the stack is to be launched into. The VPC must
355             be in the stack's region. All instances are launched into this VPC. You
356             cannot change the ID later.
357              
358             =over
359              
360             =item *
361              
362             If your account supports EC2-Classic, the default value is C<no VPC>.
363              
364             =item *
365              
366             If your account does not support EC2-Classic, the default value is the
367             default VPC for the specified region.
368              
369             =back
370              
371             If the VPC ID corresponds to a default VPC and you have specified
372             either the C<DefaultAvailabilityZone> or the C<DefaultSubnetId>
373             parameter only, AWS OpsWorks Stacks infers the value of the other
374             parameter. If you specify neither parameter, AWS OpsWorks Stacks sets
375             these parameters to the first valid Availability Zone for the specified
376             region and the corresponding default VPC subnet ID, respectively.
377              
378             If you specify a nondefault VPC ID, note the following:
379              
380             =over
381              
382             =item *
383              
384             It must belong to a VPC in your account that is in the specified
385             region.
386              
387             =item *
388              
389             You must specify a value for C<DefaultSubnetId>.
390              
391             =back
392              
393             For more information on how to use AWS OpsWorks Stacks with a VPC, see
394             Running a Stack in a VPC. For more information on default VPC and
395             EC2-Classic, see Supported Platforms.
396              
397              
398              
399              
400             =head1 SEE ALSO
401              
402             This class forms part of L<Paws>, documenting arguments for method CreateStack in L<Paws::OpsWorks>
403              
404             =head1 BUGS and CONTRIBUTIONS
405              
406             The source code is located here: https://github.com/pplu/aws-sdk-perl
407              
408             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
409              
410             =cut
411