File Coverage

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