1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package opsworks
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
13)
14
15const opAssignInstance = "AssignInstance"
16
17// AssignInstanceRequest generates a "aws/request.Request" representing the
18// client's request for the AssignInstance operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AssignInstance for more information on using the AssignInstance
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AssignInstanceRequest method.
33//    req, resp := client.AssignInstanceRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssignInstance
41func (c *OpsWorks) AssignInstanceRequest(input *AssignInstanceInput) (req *request.Request, output *AssignInstanceOutput) {
42	op := &request.Operation{
43		Name:       opAssignInstance,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &AssignInstanceInput{}
50	}
51
52	output = &AssignInstanceOutput{}
53	req = c.newRequest(op, input, output)
54	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
55	return
56}
57
58// AssignInstance API operation for AWS OpsWorks.
59//
60// Assign a registered instance to a layer.
61//
62//    * You can assign registered on-premises instances to any layer type.
63//
64//    * You can assign registered Amazon EC2 instances only to custom layers.
65//
66//    * You cannot use this action with instances that were created with AWS
67//    OpsWorks Stacks.
68//
69// Required Permissions: To use this action, an AWS Identity and Access Management
70// (IAM) user must have a Manage permissions level for the stack or an attached
71// policy that explicitly grants permissions. For more information on user permissions,
72// see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
73//
74// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
75// with awserr.Error's Code and Message methods to get detailed information about
76// the error.
77//
78// See the AWS API reference guide for AWS OpsWorks's
79// API operation AssignInstance for usage and error information.
80//
81// Returned Error Types:
82//   * ValidationException
83//   Indicates that a request was not valid.
84//
85//   * ResourceNotFoundException
86//   Indicates that a resource was not found.
87//
88// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssignInstance
89func (c *OpsWorks) AssignInstance(input *AssignInstanceInput) (*AssignInstanceOutput, error) {
90	req, out := c.AssignInstanceRequest(input)
91	return out, req.Send()
92}
93
94// AssignInstanceWithContext is the same as AssignInstance with the addition of
95// the ability to pass a context and additional request options.
96//
97// See AssignInstance for details on how to use this API operation.
98//
99// The context must be non-nil and will be used for request cancellation. If
100// the context is nil a panic will occur. In the future the SDK may create
101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
102// for more information on using Contexts.
103func (c *OpsWorks) AssignInstanceWithContext(ctx aws.Context, input *AssignInstanceInput, opts ...request.Option) (*AssignInstanceOutput, error) {
104	req, out := c.AssignInstanceRequest(input)
105	req.SetContext(ctx)
106	req.ApplyOptions(opts...)
107	return out, req.Send()
108}
109
110const opAssignVolume = "AssignVolume"
111
112// AssignVolumeRequest generates a "aws/request.Request" representing the
113// client's request for the AssignVolume operation. The "output" return
114// value will be populated with the request's response once the request completes
115// successfully.
116//
117// Use "Send" method on the returned Request to send the API call to the service.
118// the "output" return value is not valid until after Send returns without error.
119//
120// See AssignVolume for more information on using the AssignVolume
121// API call, and error handling.
122//
123// This method is useful when you want to inject custom logic or configuration
124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
125//
126//
127//    // Example sending a request using the AssignVolumeRequest method.
128//    req, resp := client.AssignVolumeRequest(params)
129//
130//    err := req.Send()
131//    if err == nil { // resp is now filled
132//        fmt.Println(resp)
133//    }
134//
135// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssignVolume
136func (c *OpsWorks) AssignVolumeRequest(input *AssignVolumeInput) (req *request.Request, output *AssignVolumeOutput) {
137	op := &request.Operation{
138		Name:       opAssignVolume,
139		HTTPMethod: "POST",
140		HTTPPath:   "/",
141	}
142
143	if input == nil {
144		input = &AssignVolumeInput{}
145	}
146
147	output = &AssignVolumeOutput{}
148	req = c.newRequest(op, input, output)
149	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
150	return
151}
152
153// AssignVolume API operation for AWS OpsWorks.
154//
155// Assigns one of the stack's registered Amazon EBS volumes to a specified instance.
156// The volume must first be registered with the stack by calling RegisterVolume.
157// After you register the volume, you must call UpdateVolume to specify a mount
158// point before calling AssignVolume. For more information, see Resource Management
159// (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
160//
161// Required Permissions: To use this action, an IAM user must have a Manage
162// permissions level for the stack, or an attached policy that explicitly grants
163// permissions. For more information on user permissions, see Managing User
164// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
165//
166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
167// with awserr.Error's Code and Message methods to get detailed information about
168// the error.
169//
170// See the AWS API reference guide for AWS OpsWorks's
171// API operation AssignVolume for usage and error information.
172//
173// Returned Error Types:
174//   * ValidationException
175//   Indicates that a request was not valid.
176//
177//   * ResourceNotFoundException
178//   Indicates that a resource was not found.
179//
180// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssignVolume
181func (c *OpsWorks) AssignVolume(input *AssignVolumeInput) (*AssignVolumeOutput, error) {
182	req, out := c.AssignVolumeRequest(input)
183	return out, req.Send()
184}
185
186// AssignVolumeWithContext is the same as AssignVolume with the addition of
187// the ability to pass a context and additional request options.
188//
189// See AssignVolume for details on how to use this API operation.
190//
191// The context must be non-nil and will be used for request cancellation. If
192// the context is nil a panic will occur. In the future the SDK may create
193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
194// for more information on using Contexts.
195func (c *OpsWorks) AssignVolumeWithContext(ctx aws.Context, input *AssignVolumeInput, opts ...request.Option) (*AssignVolumeOutput, error) {
196	req, out := c.AssignVolumeRequest(input)
197	req.SetContext(ctx)
198	req.ApplyOptions(opts...)
199	return out, req.Send()
200}
201
202const opAssociateElasticIp = "AssociateElasticIp"
203
204// AssociateElasticIpRequest generates a "aws/request.Request" representing the
205// client's request for the AssociateElasticIp operation. The "output" return
206// value will be populated with the request's response once the request completes
207// successfully.
208//
209// Use "Send" method on the returned Request to send the API call to the service.
210// the "output" return value is not valid until after Send returns without error.
211//
212// See AssociateElasticIp for more information on using the AssociateElasticIp
213// API call, and error handling.
214//
215// This method is useful when you want to inject custom logic or configuration
216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
217//
218//
219//    // Example sending a request using the AssociateElasticIpRequest method.
220//    req, resp := client.AssociateElasticIpRequest(params)
221//
222//    err := req.Send()
223//    if err == nil { // resp is now filled
224//        fmt.Println(resp)
225//    }
226//
227// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssociateElasticIp
228func (c *OpsWorks) AssociateElasticIpRequest(input *AssociateElasticIpInput) (req *request.Request, output *AssociateElasticIpOutput) {
229	op := &request.Operation{
230		Name:       opAssociateElasticIp,
231		HTTPMethod: "POST",
232		HTTPPath:   "/",
233	}
234
235	if input == nil {
236		input = &AssociateElasticIpInput{}
237	}
238
239	output = &AssociateElasticIpOutput{}
240	req = c.newRequest(op, input, output)
241	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
242	return
243}
244
245// AssociateElasticIp API operation for AWS OpsWorks.
246//
247// Associates one of the stack's registered Elastic IP addresses with a specified
248// instance. The address must first be registered with the stack by calling
249// RegisterElasticIp. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
250//
251// Required Permissions: To use this action, an IAM user must have a Manage
252// permissions level for the stack, or an attached policy that explicitly grants
253// permissions. For more information on user permissions, see Managing User
254// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
255//
256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
257// with awserr.Error's Code and Message methods to get detailed information about
258// the error.
259//
260// See the AWS API reference guide for AWS OpsWorks's
261// API operation AssociateElasticIp for usage and error information.
262//
263// Returned Error Types:
264//   * ValidationException
265//   Indicates that a request was not valid.
266//
267//   * ResourceNotFoundException
268//   Indicates that a resource was not found.
269//
270// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AssociateElasticIp
271func (c *OpsWorks) AssociateElasticIp(input *AssociateElasticIpInput) (*AssociateElasticIpOutput, error) {
272	req, out := c.AssociateElasticIpRequest(input)
273	return out, req.Send()
274}
275
276// AssociateElasticIpWithContext is the same as AssociateElasticIp with the addition of
277// the ability to pass a context and additional request options.
278//
279// See AssociateElasticIp for details on how to use this API operation.
280//
281// The context must be non-nil and will be used for request cancellation. If
282// the context is nil a panic will occur. In the future the SDK may create
283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
284// for more information on using Contexts.
285func (c *OpsWorks) AssociateElasticIpWithContext(ctx aws.Context, input *AssociateElasticIpInput, opts ...request.Option) (*AssociateElasticIpOutput, error) {
286	req, out := c.AssociateElasticIpRequest(input)
287	req.SetContext(ctx)
288	req.ApplyOptions(opts...)
289	return out, req.Send()
290}
291
292const opAttachElasticLoadBalancer = "AttachElasticLoadBalancer"
293
294// AttachElasticLoadBalancerRequest generates a "aws/request.Request" representing the
295// client's request for the AttachElasticLoadBalancer operation. The "output" return
296// value will be populated with the request's response once the request completes
297// successfully.
298//
299// Use "Send" method on the returned Request to send the API call to the service.
300// the "output" return value is not valid until after Send returns without error.
301//
302// See AttachElasticLoadBalancer for more information on using the AttachElasticLoadBalancer
303// API call, and error handling.
304//
305// This method is useful when you want to inject custom logic or configuration
306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
307//
308//
309//    // Example sending a request using the AttachElasticLoadBalancerRequest method.
310//    req, resp := client.AttachElasticLoadBalancerRequest(params)
311//
312//    err := req.Send()
313//    if err == nil { // resp is now filled
314//        fmt.Println(resp)
315//    }
316//
317// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AttachElasticLoadBalancer
318func (c *OpsWorks) AttachElasticLoadBalancerRequest(input *AttachElasticLoadBalancerInput) (req *request.Request, output *AttachElasticLoadBalancerOutput) {
319	op := &request.Operation{
320		Name:       opAttachElasticLoadBalancer,
321		HTTPMethod: "POST",
322		HTTPPath:   "/",
323	}
324
325	if input == nil {
326		input = &AttachElasticLoadBalancerInput{}
327	}
328
329	output = &AttachElasticLoadBalancerOutput{}
330	req = c.newRequest(op, input, output)
331	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
332	return
333}
334
335// AttachElasticLoadBalancer API operation for AWS OpsWorks.
336//
337// Attaches an Elastic Load Balancing load balancer to a specified layer. AWS
338// OpsWorks Stacks does not support Application Load Balancer. You can only
339// use Classic Load Balancer with AWS OpsWorks Stacks. For more information,
340// see Elastic Load Balancing (https://docs.aws.amazon.com/opsworks/latest/userguide/layers-elb.html).
341//
342// You must create the Elastic Load Balancing instance separately, by using
343// the Elastic Load Balancing console, API, or CLI. For more information, see
344// Elastic Load Balancing Developer Guide (https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/Welcome.html).
345//
346// Required Permissions: To use this action, an IAM user must have a Manage
347// permissions level for the stack, or an attached policy that explicitly grants
348// permissions. For more information on user permissions, see Managing User
349// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
350//
351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
352// with awserr.Error's Code and Message methods to get detailed information about
353// the error.
354//
355// See the AWS API reference guide for AWS OpsWorks's
356// API operation AttachElasticLoadBalancer for usage and error information.
357//
358// Returned Error Types:
359//   * ValidationException
360//   Indicates that a request was not valid.
361//
362//   * ResourceNotFoundException
363//   Indicates that a resource was not found.
364//
365// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/AttachElasticLoadBalancer
366func (c *OpsWorks) AttachElasticLoadBalancer(input *AttachElasticLoadBalancerInput) (*AttachElasticLoadBalancerOutput, error) {
367	req, out := c.AttachElasticLoadBalancerRequest(input)
368	return out, req.Send()
369}
370
371// AttachElasticLoadBalancerWithContext is the same as AttachElasticLoadBalancer with the addition of
372// the ability to pass a context and additional request options.
373//
374// See AttachElasticLoadBalancer for details on how to use this API operation.
375//
376// The context must be non-nil and will be used for request cancellation. If
377// the context is nil a panic will occur. In the future the SDK may create
378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
379// for more information on using Contexts.
380func (c *OpsWorks) AttachElasticLoadBalancerWithContext(ctx aws.Context, input *AttachElasticLoadBalancerInput, opts ...request.Option) (*AttachElasticLoadBalancerOutput, error) {
381	req, out := c.AttachElasticLoadBalancerRequest(input)
382	req.SetContext(ctx)
383	req.ApplyOptions(opts...)
384	return out, req.Send()
385}
386
387const opCloneStack = "CloneStack"
388
389// CloneStackRequest generates a "aws/request.Request" representing the
390// client's request for the CloneStack operation. The "output" return
391// value will be populated with the request's response once the request completes
392// successfully.
393//
394// Use "Send" method on the returned Request to send the API call to the service.
395// the "output" return value is not valid until after Send returns without error.
396//
397// See CloneStack for more information on using the CloneStack
398// API call, and error handling.
399//
400// This method is useful when you want to inject custom logic or configuration
401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
402//
403//
404//    // Example sending a request using the CloneStackRequest method.
405//    req, resp := client.CloneStackRequest(params)
406//
407//    err := req.Send()
408//    if err == nil { // resp is now filled
409//        fmt.Println(resp)
410//    }
411//
412// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CloneStack
413func (c *OpsWorks) CloneStackRequest(input *CloneStackInput) (req *request.Request, output *CloneStackOutput) {
414	op := &request.Operation{
415		Name:       opCloneStack,
416		HTTPMethod: "POST",
417		HTTPPath:   "/",
418	}
419
420	if input == nil {
421		input = &CloneStackInput{}
422	}
423
424	output = &CloneStackOutput{}
425	req = c.newRequest(op, input, output)
426	return
427}
428
429// CloneStack API operation for AWS OpsWorks.
430//
431// Creates a clone of a specified stack. For more information, see Clone a Stack
432// (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-cloning.html).
433// By default, all parameters are set to the values used by the parent stack.
434//
435// Required Permissions: To use this action, an IAM user must have an attached
436// policy that explicitly grants permissions. For more information about user
437// permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
438//
439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
440// with awserr.Error's Code and Message methods to get detailed information about
441// the error.
442//
443// See the AWS API reference guide for AWS OpsWorks's
444// API operation CloneStack for usage and error information.
445//
446// Returned Error Types:
447//   * ValidationException
448//   Indicates that a request was not valid.
449//
450//   * ResourceNotFoundException
451//   Indicates that a resource was not found.
452//
453// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CloneStack
454func (c *OpsWorks) CloneStack(input *CloneStackInput) (*CloneStackOutput, error) {
455	req, out := c.CloneStackRequest(input)
456	return out, req.Send()
457}
458
459// CloneStackWithContext is the same as CloneStack with the addition of
460// the ability to pass a context and additional request options.
461//
462// See CloneStack for details on how to use this API operation.
463//
464// The context must be non-nil and will be used for request cancellation. If
465// the context is nil a panic will occur. In the future the SDK may create
466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
467// for more information on using Contexts.
468func (c *OpsWorks) CloneStackWithContext(ctx aws.Context, input *CloneStackInput, opts ...request.Option) (*CloneStackOutput, error) {
469	req, out := c.CloneStackRequest(input)
470	req.SetContext(ctx)
471	req.ApplyOptions(opts...)
472	return out, req.Send()
473}
474
475const opCreateApp = "CreateApp"
476
477// CreateAppRequest generates a "aws/request.Request" representing the
478// client's request for the CreateApp operation. The "output" return
479// value will be populated with the request's response once the request completes
480// successfully.
481//
482// Use "Send" method on the returned Request to send the API call to the service.
483// the "output" return value is not valid until after Send returns without error.
484//
485// See CreateApp for more information on using the CreateApp
486// API call, and error handling.
487//
488// This method is useful when you want to inject custom logic or configuration
489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
490//
491//
492//    // Example sending a request using the CreateAppRequest method.
493//    req, resp := client.CreateAppRequest(params)
494//
495//    err := req.Send()
496//    if err == nil { // resp is now filled
497//        fmt.Println(resp)
498//    }
499//
500// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateApp
501func (c *OpsWorks) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) {
502	op := &request.Operation{
503		Name:       opCreateApp,
504		HTTPMethod: "POST",
505		HTTPPath:   "/",
506	}
507
508	if input == nil {
509		input = &CreateAppInput{}
510	}
511
512	output = &CreateAppOutput{}
513	req = c.newRequest(op, input, output)
514	return
515}
516
517// CreateApp API operation for AWS OpsWorks.
518//
519// Creates an app for a specified stack. For more information, see Creating
520// Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html).
521//
522// Required Permissions: To use this action, an IAM user must have a Manage
523// permissions level for the stack, or an attached policy that explicitly grants
524// permissions. For more information on user permissions, see Managing User
525// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
526//
527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
528// with awserr.Error's Code and Message methods to get detailed information about
529// the error.
530//
531// See the AWS API reference guide for AWS OpsWorks's
532// API operation CreateApp for usage and error information.
533//
534// Returned Error Types:
535//   * ValidationException
536//   Indicates that a request was not valid.
537//
538//   * ResourceNotFoundException
539//   Indicates that a resource was not found.
540//
541// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateApp
542func (c *OpsWorks) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) {
543	req, out := c.CreateAppRequest(input)
544	return out, req.Send()
545}
546
547// CreateAppWithContext is the same as CreateApp with the addition of
548// the ability to pass a context and additional request options.
549//
550// See CreateApp for details on how to use this API operation.
551//
552// The context must be non-nil and will be used for request cancellation. If
553// the context is nil a panic will occur. In the future the SDK may create
554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
555// for more information on using Contexts.
556func (c *OpsWorks) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) {
557	req, out := c.CreateAppRequest(input)
558	req.SetContext(ctx)
559	req.ApplyOptions(opts...)
560	return out, req.Send()
561}
562
563const opCreateDeployment = "CreateDeployment"
564
565// CreateDeploymentRequest generates a "aws/request.Request" representing the
566// client's request for the CreateDeployment operation. The "output" return
567// value will be populated with the request's response once the request completes
568// successfully.
569//
570// Use "Send" method on the returned Request to send the API call to the service.
571// the "output" return value is not valid until after Send returns without error.
572//
573// See CreateDeployment for more information on using the CreateDeployment
574// API call, and error handling.
575//
576// This method is useful when you want to inject custom logic or configuration
577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
578//
579//
580//    // Example sending a request using the CreateDeploymentRequest method.
581//    req, resp := client.CreateDeploymentRequest(params)
582//
583//    err := req.Send()
584//    if err == nil { // resp is now filled
585//        fmt.Println(resp)
586//    }
587//
588// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateDeployment
589func (c *OpsWorks) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) {
590	op := &request.Operation{
591		Name:       opCreateDeployment,
592		HTTPMethod: "POST",
593		HTTPPath:   "/",
594	}
595
596	if input == nil {
597		input = &CreateDeploymentInput{}
598	}
599
600	output = &CreateDeploymentOutput{}
601	req = c.newRequest(op, input, output)
602	return
603}
604
605// CreateDeployment API operation for AWS OpsWorks.
606//
607// Runs deployment or stack commands. For more information, see Deploying Apps
608// (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-deploying.html)
609// and Run Stack Commands (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-commands.html).
610//
611// Required Permissions: To use this action, an IAM user must have a Deploy
612// or Manage permissions level for the stack, or an attached policy that explicitly
613// grants permissions. For more information on user permissions, see Managing
614// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
615//
616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
617// with awserr.Error's Code and Message methods to get detailed information about
618// the error.
619//
620// See the AWS API reference guide for AWS OpsWorks's
621// API operation CreateDeployment for usage and error information.
622//
623// Returned Error Types:
624//   * ValidationException
625//   Indicates that a request was not valid.
626//
627//   * ResourceNotFoundException
628//   Indicates that a resource was not found.
629//
630// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateDeployment
631func (c *OpsWorks) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) {
632	req, out := c.CreateDeploymentRequest(input)
633	return out, req.Send()
634}
635
636// CreateDeploymentWithContext is the same as CreateDeployment with the addition of
637// the ability to pass a context and additional request options.
638//
639// See CreateDeployment for details on how to use this API operation.
640//
641// The context must be non-nil and will be used for request cancellation. If
642// the context is nil a panic will occur. In the future the SDK may create
643// sub-contexts for http.Requests. See https://golang.org/pkg/context/
644// for more information on using Contexts.
645func (c *OpsWorks) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) {
646	req, out := c.CreateDeploymentRequest(input)
647	req.SetContext(ctx)
648	req.ApplyOptions(opts...)
649	return out, req.Send()
650}
651
652const opCreateInstance = "CreateInstance"
653
654// CreateInstanceRequest generates a "aws/request.Request" representing the
655// client's request for the CreateInstance operation. The "output" return
656// value will be populated with the request's response once the request completes
657// successfully.
658//
659// Use "Send" method on the returned Request to send the API call to the service.
660// the "output" return value is not valid until after Send returns without error.
661//
662// See CreateInstance for more information on using the CreateInstance
663// API call, and error handling.
664//
665// This method is useful when you want to inject custom logic or configuration
666// into the SDK's request lifecycle. Such as custom headers, or retry logic.
667//
668//
669//    // Example sending a request using the CreateInstanceRequest method.
670//    req, resp := client.CreateInstanceRequest(params)
671//
672//    err := req.Send()
673//    if err == nil { // resp is now filled
674//        fmt.Println(resp)
675//    }
676//
677// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateInstance
678func (c *OpsWorks) CreateInstanceRequest(input *CreateInstanceInput) (req *request.Request, output *CreateInstanceOutput) {
679	op := &request.Operation{
680		Name:       opCreateInstance,
681		HTTPMethod: "POST",
682		HTTPPath:   "/",
683	}
684
685	if input == nil {
686		input = &CreateInstanceInput{}
687	}
688
689	output = &CreateInstanceOutput{}
690	req = c.newRequest(op, input, output)
691	return
692}
693
694// CreateInstance API operation for AWS OpsWorks.
695//
696// Creates an instance in a specified stack. For more information, see Adding
697// an Instance to a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
698//
699// Required Permissions: To use this action, an IAM user must have a Manage
700// permissions level for the stack, or an attached policy that explicitly grants
701// permissions. For more information on user permissions, see Managing User
702// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
703//
704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
705// with awserr.Error's Code and Message methods to get detailed information about
706// the error.
707//
708// See the AWS API reference guide for AWS OpsWorks's
709// API operation CreateInstance for usage and error information.
710//
711// Returned Error Types:
712//   * ValidationException
713//   Indicates that a request was not valid.
714//
715//   * ResourceNotFoundException
716//   Indicates that a resource was not found.
717//
718// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateInstance
719func (c *OpsWorks) CreateInstance(input *CreateInstanceInput) (*CreateInstanceOutput, error) {
720	req, out := c.CreateInstanceRequest(input)
721	return out, req.Send()
722}
723
724// CreateInstanceWithContext is the same as CreateInstance with the addition of
725// the ability to pass a context and additional request options.
726//
727// See CreateInstance for details on how to use this API operation.
728//
729// The context must be non-nil and will be used for request cancellation. If
730// the context is nil a panic will occur. In the future the SDK may create
731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
732// for more information on using Contexts.
733func (c *OpsWorks) CreateInstanceWithContext(ctx aws.Context, input *CreateInstanceInput, opts ...request.Option) (*CreateInstanceOutput, error) {
734	req, out := c.CreateInstanceRequest(input)
735	req.SetContext(ctx)
736	req.ApplyOptions(opts...)
737	return out, req.Send()
738}
739
740const opCreateLayer = "CreateLayer"
741
742// CreateLayerRequest generates a "aws/request.Request" representing the
743// client's request for the CreateLayer operation. The "output" return
744// value will be populated with the request's response once the request completes
745// successfully.
746//
747// Use "Send" method on the returned Request to send the API call to the service.
748// the "output" return value is not valid until after Send returns without error.
749//
750// See CreateLayer for more information on using the CreateLayer
751// API call, and error handling.
752//
753// This method is useful when you want to inject custom logic or configuration
754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
755//
756//
757//    // Example sending a request using the CreateLayerRequest method.
758//    req, resp := client.CreateLayerRequest(params)
759//
760//    err := req.Send()
761//    if err == nil { // resp is now filled
762//        fmt.Println(resp)
763//    }
764//
765// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateLayer
766func (c *OpsWorks) CreateLayerRequest(input *CreateLayerInput) (req *request.Request, output *CreateLayerOutput) {
767	op := &request.Operation{
768		Name:       opCreateLayer,
769		HTTPMethod: "POST",
770		HTTPPath:   "/",
771	}
772
773	if input == nil {
774		input = &CreateLayerInput{}
775	}
776
777	output = &CreateLayerOutput{}
778	req = c.newRequest(op, input, output)
779	return
780}
781
782// CreateLayer API operation for AWS OpsWorks.
783//
784// Creates a layer. For more information, see How to Create a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-create.html).
785//
786// You should use CreateLayer for noncustom layer types such as PHP App Server
787// only if the stack does not have an existing layer of that type. A stack can
788// have at most one instance of each noncustom layer; if you attempt to create
789// a second instance, CreateLayer fails. A stack can have an arbitrary number
790// of custom layers, so you can call CreateLayer as many times as you like for
791// that layer type.
792//
793// Required Permissions: To use this action, an IAM user must have a Manage
794// permissions level for the stack, or an attached policy that explicitly grants
795// permissions. For more information on user permissions, see Managing User
796// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
797//
798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
799// with awserr.Error's Code and Message methods to get detailed information about
800// the error.
801//
802// See the AWS API reference guide for AWS OpsWorks's
803// API operation CreateLayer for usage and error information.
804//
805// Returned Error Types:
806//   * ValidationException
807//   Indicates that a request was not valid.
808//
809//   * ResourceNotFoundException
810//   Indicates that a resource was not found.
811//
812// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateLayer
813func (c *OpsWorks) CreateLayer(input *CreateLayerInput) (*CreateLayerOutput, error) {
814	req, out := c.CreateLayerRequest(input)
815	return out, req.Send()
816}
817
818// CreateLayerWithContext is the same as CreateLayer with the addition of
819// the ability to pass a context and additional request options.
820//
821// See CreateLayer for details on how to use this API operation.
822//
823// The context must be non-nil and will be used for request cancellation. If
824// the context is nil a panic will occur. In the future the SDK may create
825// sub-contexts for http.Requests. See https://golang.org/pkg/context/
826// for more information on using Contexts.
827func (c *OpsWorks) CreateLayerWithContext(ctx aws.Context, input *CreateLayerInput, opts ...request.Option) (*CreateLayerOutput, error) {
828	req, out := c.CreateLayerRequest(input)
829	req.SetContext(ctx)
830	req.ApplyOptions(opts...)
831	return out, req.Send()
832}
833
834const opCreateStack = "CreateStack"
835
836// CreateStackRequest generates a "aws/request.Request" representing the
837// client's request for the CreateStack operation. The "output" return
838// value will be populated with the request's response once the request completes
839// successfully.
840//
841// Use "Send" method on the returned Request to send the API call to the service.
842// the "output" return value is not valid until after Send returns without error.
843//
844// See CreateStack for more information on using the CreateStack
845// API call, and error handling.
846//
847// This method is useful when you want to inject custom logic or configuration
848// into the SDK's request lifecycle. Such as custom headers, or retry logic.
849//
850//
851//    // Example sending a request using the CreateStackRequest method.
852//    req, resp := client.CreateStackRequest(params)
853//
854//    err := req.Send()
855//    if err == nil { // resp is now filled
856//        fmt.Println(resp)
857//    }
858//
859// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateStack
860func (c *OpsWorks) CreateStackRequest(input *CreateStackInput) (req *request.Request, output *CreateStackOutput) {
861	op := &request.Operation{
862		Name:       opCreateStack,
863		HTTPMethod: "POST",
864		HTTPPath:   "/",
865	}
866
867	if input == nil {
868		input = &CreateStackInput{}
869	}
870
871	output = &CreateStackOutput{}
872	req = c.newRequest(op, input, output)
873	return
874}
875
876// CreateStack API operation for AWS OpsWorks.
877//
878// Creates a new stack. For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-edit.html).
879//
880// Required Permissions: To use this action, an IAM user must have an attached
881// policy that explicitly grants permissions. For more information about user
882// permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
883//
884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
885// with awserr.Error's Code and Message methods to get detailed information about
886// the error.
887//
888// See the AWS API reference guide for AWS OpsWorks's
889// API operation CreateStack for usage and error information.
890//
891// Returned Error Types:
892//   * ValidationException
893//   Indicates that a request was not valid.
894//
895// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateStack
896func (c *OpsWorks) CreateStack(input *CreateStackInput) (*CreateStackOutput, error) {
897	req, out := c.CreateStackRequest(input)
898	return out, req.Send()
899}
900
901// CreateStackWithContext is the same as CreateStack with the addition of
902// the ability to pass a context and additional request options.
903//
904// See CreateStack for details on how to use this API operation.
905//
906// The context must be non-nil and will be used for request cancellation. If
907// the context is nil a panic will occur. In the future the SDK may create
908// sub-contexts for http.Requests. See https://golang.org/pkg/context/
909// for more information on using Contexts.
910func (c *OpsWorks) CreateStackWithContext(ctx aws.Context, input *CreateStackInput, opts ...request.Option) (*CreateStackOutput, error) {
911	req, out := c.CreateStackRequest(input)
912	req.SetContext(ctx)
913	req.ApplyOptions(opts...)
914	return out, req.Send()
915}
916
917const opCreateUserProfile = "CreateUserProfile"
918
919// CreateUserProfileRequest generates a "aws/request.Request" representing the
920// client's request for the CreateUserProfile operation. The "output" return
921// value will be populated with the request's response once the request completes
922// successfully.
923//
924// Use "Send" method on the returned Request to send the API call to the service.
925// the "output" return value is not valid until after Send returns without error.
926//
927// See CreateUserProfile for more information on using the CreateUserProfile
928// API call, and error handling.
929//
930// This method is useful when you want to inject custom logic or configuration
931// into the SDK's request lifecycle. Such as custom headers, or retry logic.
932//
933//
934//    // Example sending a request using the CreateUserProfileRequest method.
935//    req, resp := client.CreateUserProfileRequest(params)
936//
937//    err := req.Send()
938//    if err == nil { // resp is now filled
939//        fmt.Println(resp)
940//    }
941//
942// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateUserProfile
943func (c *OpsWorks) CreateUserProfileRequest(input *CreateUserProfileInput) (req *request.Request, output *CreateUserProfileOutput) {
944	op := &request.Operation{
945		Name:       opCreateUserProfile,
946		HTTPMethod: "POST",
947		HTTPPath:   "/",
948	}
949
950	if input == nil {
951		input = &CreateUserProfileInput{}
952	}
953
954	output = &CreateUserProfileOutput{}
955	req = c.newRequest(op, input, output)
956	return
957}
958
959// CreateUserProfile API operation for AWS OpsWorks.
960//
961// Creates a new user profile.
962//
963// Required Permissions: To use this action, an IAM user must have an attached
964// policy that explicitly grants permissions. For more information about user
965// permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
966//
967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
968// with awserr.Error's Code and Message methods to get detailed information about
969// the error.
970//
971// See the AWS API reference guide for AWS OpsWorks's
972// API operation CreateUserProfile for usage and error information.
973//
974// Returned Error Types:
975//   * ValidationException
976//   Indicates that a request was not valid.
977//
978// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateUserProfile
979func (c *OpsWorks) CreateUserProfile(input *CreateUserProfileInput) (*CreateUserProfileOutput, error) {
980	req, out := c.CreateUserProfileRequest(input)
981	return out, req.Send()
982}
983
984// CreateUserProfileWithContext is the same as CreateUserProfile with the addition of
985// the ability to pass a context and additional request options.
986//
987// See CreateUserProfile for details on how to use this API operation.
988//
989// The context must be non-nil and will be used for request cancellation. If
990// the context is nil a panic will occur. In the future the SDK may create
991// sub-contexts for http.Requests. See https://golang.org/pkg/context/
992// for more information on using Contexts.
993func (c *OpsWorks) CreateUserProfileWithContext(ctx aws.Context, input *CreateUserProfileInput, opts ...request.Option) (*CreateUserProfileOutput, error) {
994	req, out := c.CreateUserProfileRequest(input)
995	req.SetContext(ctx)
996	req.ApplyOptions(opts...)
997	return out, req.Send()
998}
999
1000const opDeleteApp = "DeleteApp"
1001
1002// DeleteAppRequest generates a "aws/request.Request" representing the
1003// client's request for the DeleteApp operation. The "output" return
1004// value will be populated with the request's response once the request completes
1005// successfully.
1006//
1007// Use "Send" method on the returned Request to send the API call to the service.
1008// the "output" return value is not valid until after Send returns without error.
1009//
1010// See DeleteApp for more information on using the DeleteApp
1011// API call, and error handling.
1012//
1013// This method is useful when you want to inject custom logic or configuration
1014// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1015//
1016//
1017//    // Example sending a request using the DeleteAppRequest method.
1018//    req, resp := client.DeleteAppRequest(params)
1019//
1020//    err := req.Send()
1021//    if err == nil { // resp is now filled
1022//        fmt.Println(resp)
1023//    }
1024//
1025// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteApp
1026func (c *OpsWorks) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
1027	op := &request.Operation{
1028		Name:       opDeleteApp,
1029		HTTPMethod: "POST",
1030		HTTPPath:   "/",
1031	}
1032
1033	if input == nil {
1034		input = &DeleteAppInput{}
1035	}
1036
1037	output = &DeleteAppOutput{}
1038	req = c.newRequest(op, input, output)
1039	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1040	return
1041}
1042
1043// DeleteApp API operation for AWS OpsWorks.
1044//
1045// Deletes a specified app.
1046//
1047// Required Permissions: To use this action, an IAM user must have a Manage
1048// permissions level for the stack, or an attached policy that explicitly grants
1049// permissions. For more information on user permissions, see Managing User
1050// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1051//
1052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1053// with awserr.Error's Code and Message methods to get detailed information about
1054// the error.
1055//
1056// See the AWS API reference guide for AWS OpsWorks's
1057// API operation DeleteApp for usage and error information.
1058//
1059// Returned Error Types:
1060//   * ValidationException
1061//   Indicates that a request was not valid.
1062//
1063//   * ResourceNotFoundException
1064//   Indicates that a resource was not found.
1065//
1066// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteApp
1067func (c *OpsWorks) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
1068	req, out := c.DeleteAppRequest(input)
1069	return out, req.Send()
1070}
1071
1072// DeleteAppWithContext is the same as DeleteApp with the addition of
1073// the ability to pass a context and additional request options.
1074//
1075// See DeleteApp for details on how to use this API operation.
1076//
1077// The context must be non-nil and will be used for request cancellation. If
1078// the context is nil a panic will occur. In the future the SDK may create
1079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1080// for more information on using Contexts.
1081func (c *OpsWorks) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
1082	req, out := c.DeleteAppRequest(input)
1083	req.SetContext(ctx)
1084	req.ApplyOptions(opts...)
1085	return out, req.Send()
1086}
1087
1088const opDeleteInstance = "DeleteInstance"
1089
1090// DeleteInstanceRequest generates a "aws/request.Request" representing the
1091// client's request for the DeleteInstance operation. The "output" return
1092// value will be populated with the request's response once the request completes
1093// successfully.
1094//
1095// Use "Send" method on the returned Request to send the API call to the service.
1096// the "output" return value is not valid until after Send returns without error.
1097//
1098// See DeleteInstance for more information on using the DeleteInstance
1099// API call, and error handling.
1100//
1101// This method is useful when you want to inject custom logic or configuration
1102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1103//
1104//
1105//    // Example sending a request using the DeleteInstanceRequest method.
1106//    req, resp := client.DeleteInstanceRequest(params)
1107//
1108//    err := req.Send()
1109//    if err == nil { // resp is now filled
1110//        fmt.Println(resp)
1111//    }
1112//
1113// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteInstance
1114func (c *OpsWorks) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
1115	op := &request.Operation{
1116		Name:       opDeleteInstance,
1117		HTTPMethod: "POST",
1118		HTTPPath:   "/",
1119	}
1120
1121	if input == nil {
1122		input = &DeleteInstanceInput{}
1123	}
1124
1125	output = &DeleteInstanceOutput{}
1126	req = c.newRequest(op, input, output)
1127	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1128	return
1129}
1130
1131// DeleteInstance API operation for AWS OpsWorks.
1132//
1133// Deletes a specified instance, which terminates the associated Amazon EC2
1134// instance. You must stop an instance before you can delete it.
1135//
1136// For more information, see Deleting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-delete.html).
1137//
1138// Required Permissions: To use this action, an IAM user must have a Manage
1139// permissions level for the stack, or an attached policy that explicitly grants
1140// permissions. For more information on user permissions, see Managing User
1141// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1142//
1143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1144// with awserr.Error's Code and Message methods to get detailed information about
1145// the error.
1146//
1147// See the AWS API reference guide for AWS OpsWorks's
1148// API operation DeleteInstance for usage and error information.
1149//
1150// Returned Error Types:
1151//   * ValidationException
1152//   Indicates that a request was not valid.
1153//
1154//   * ResourceNotFoundException
1155//   Indicates that a resource was not found.
1156//
1157// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteInstance
1158func (c *OpsWorks) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
1159	req, out := c.DeleteInstanceRequest(input)
1160	return out, req.Send()
1161}
1162
1163// DeleteInstanceWithContext is the same as DeleteInstance with the addition of
1164// the ability to pass a context and additional request options.
1165//
1166// See DeleteInstance for details on how to use this API operation.
1167//
1168// The context must be non-nil and will be used for request cancellation. If
1169// the context is nil a panic will occur. In the future the SDK may create
1170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1171// for more information on using Contexts.
1172func (c *OpsWorks) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
1173	req, out := c.DeleteInstanceRequest(input)
1174	req.SetContext(ctx)
1175	req.ApplyOptions(opts...)
1176	return out, req.Send()
1177}
1178
1179const opDeleteLayer = "DeleteLayer"
1180
1181// DeleteLayerRequest generates a "aws/request.Request" representing the
1182// client's request for the DeleteLayer operation. The "output" return
1183// value will be populated with the request's response once the request completes
1184// successfully.
1185//
1186// Use "Send" method on the returned Request to send the API call to the service.
1187// the "output" return value is not valid until after Send returns without error.
1188//
1189// See DeleteLayer for more information on using the DeleteLayer
1190// API call, and error handling.
1191//
1192// This method is useful when you want to inject custom logic or configuration
1193// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1194//
1195//
1196//    // Example sending a request using the DeleteLayerRequest method.
1197//    req, resp := client.DeleteLayerRequest(params)
1198//
1199//    err := req.Send()
1200//    if err == nil { // resp is now filled
1201//        fmt.Println(resp)
1202//    }
1203//
1204// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteLayer
1205func (c *OpsWorks) DeleteLayerRequest(input *DeleteLayerInput) (req *request.Request, output *DeleteLayerOutput) {
1206	op := &request.Operation{
1207		Name:       opDeleteLayer,
1208		HTTPMethod: "POST",
1209		HTTPPath:   "/",
1210	}
1211
1212	if input == nil {
1213		input = &DeleteLayerInput{}
1214	}
1215
1216	output = &DeleteLayerOutput{}
1217	req = c.newRequest(op, input, output)
1218	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1219	return
1220}
1221
1222// DeleteLayer API operation for AWS OpsWorks.
1223//
1224// Deletes a specified layer. You must first stop and then delete all associated
1225// instances or unassign registered instances. For more information, see How
1226// to Delete a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-delete.html).
1227//
1228// Required Permissions: To use this action, an IAM user must have a Manage
1229// permissions level for the stack, or an attached policy that explicitly grants
1230// permissions. For more information on user permissions, see Managing User
1231// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1232//
1233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1234// with awserr.Error's Code and Message methods to get detailed information about
1235// the error.
1236//
1237// See the AWS API reference guide for AWS OpsWorks's
1238// API operation DeleteLayer for usage and error information.
1239//
1240// Returned Error Types:
1241//   * ValidationException
1242//   Indicates that a request was not valid.
1243//
1244//   * ResourceNotFoundException
1245//   Indicates that a resource was not found.
1246//
1247// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteLayer
1248func (c *OpsWorks) DeleteLayer(input *DeleteLayerInput) (*DeleteLayerOutput, error) {
1249	req, out := c.DeleteLayerRequest(input)
1250	return out, req.Send()
1251}
1252
1253// DeleteLayerWithContext is the same as DeleteLayer with the addition of
1254// the ability to pass a context and additional request options.
1255//
1256// See DeleteLayer for details on how to use this API operation.
1257//
1258// The context must be non-nil and will be used for request cancellation. If
1259// the context is nil a panic will occur. In the future the SDK may create
1260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1261// for more information on using Contexts.
1262func (c *OpsWorks) DeleteLayerWithContext(ctx aws.Context, input *DeleteLayerInput, opts ...request.Option) (*DeleteLayerOutput, error) {
1263	req, out := c.DeleteLayerRequest(input)
1264	req.SetContext(ctx)
1265	req.ApplyOptions(opts...)
1266	return out, req.Send()
1267}
1268
1269const opDeleteStack = "DeleteStack"
1270
1271// DeleteStackRequest generates a "aws/request.Request" representing the
1272// client's request for the DeleteStack operation. The "output" return
1273// value will be populated with the request's response once the request completes
1274// successfully.
1275//
1276// Use "Send" method on the returned Request to send the API call to the service.
1277// the "output" return value is not valid until after Send returns without error.
1278//
1279// See DeleteStack for more information on using the DeleteStack
1280// API call, and error handling.
1281//
1282// This method is useful when you want to inject custom logic or configuration
1283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1284//
1285//
1286//    // Example sending a request using the DeleteStackRequest method.
1287//    req, resp := client.DeleteStackRequest(params)
1288//
1289//    err := req.Send()
1290//    if err == nil { // resp is now filled
1291//        fmt.Println(resp)
1292//    }
1293//
1294// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteStack
1295func (c *OpsWorks) DeleteStackRequest(input *DeleteStackInput) (req *request.Request, output *DeleteStackOutput) {
1296	op := &request.Operation{
1297		Name:       opDeleteStack,
1298		HTTPMethod: "POST",
1299		HTTPPath:   "/",
1300	}
1301
1302	if input == nil {
1303		input = &DeleteStackInput{}
1304	}
1305
1306	output = &DeleteStackOutput{}
1307	req = c.newRequest(op, input, output)
1308	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1309	return
1310}
1311
1312// DeleteStack API operation for AWS OpsWorks.
1313//
1314// Deletes a specified stack. You must first delete all instances, layers, and
1315// apps or deregister registered instances. For more information, see Shut Down
1316// a Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-shutting.html).
1317//
1318// Required Permissions: To use this action, an IAM user must have a Manage
1319// permissions level for the stack, or an attached policy that explicitly grants
1320// permissions. For more information on user permissions, see Managing User
1321// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1322//
1323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1324// with awserr.Error's Code and Message methods to get detailed information about
1325// the error.
1326//
1327// See the AWS API reference guide for AWS OpsWorks's
1328// API operation DeleteStack for usage and error information.
1329//
1330// Returned Error Types:
1331//   * ValidationException
1332//   Indicates that a request was not valid.
1333//
1334//   * ResourceNotFoundException
1335//   Indicates that a resource was not found.
1336//
1337// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteStack
1338func (c *OpsWorks) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, error) {
1339	req, out := c.DeleteStackRequest(input)
1340	return out, req.Send()
1341}
1342
1343// DeleteStackWithContext is the same as DeleteStack with the addition of
1344// the ability to pass a context and additional request options.
1345//
1346// See DeleteStack for details on how to use this API operation.
1347//
1348// The context must be non-nil and will be used for request cancellation. If
1349// the context is nil a panic will occur. In the future the SDK may create
1350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1351// for more information on using Contexts.
1352func (c *OpsWorks) DeleteStackWithContext(ctx aws.Context, input *DeleteStackInput, opts ...request.Option) (*DeleteStackOutput, error) {
1353	req, out := c.DeleteStackRequest(input)
1354	req.SetContext(ctx)
1355	req.ApplyOptions(opts...)
1356	return out, req.Send()
1357}
1358
1359const opDeleteUserProfile = "DeleteUserProfile"
1360
1361// DeleteUserProfileRequest generates a "aws/request.Request" representing the
1362// client's request for the DeleteUserProfile operation. The "output" return
1363// value will be populated with the request's response once the request completes
1364// successfully.
1365//
1366// Use "Send" method on the returned Request to send the API call to the service.
1367// the "output" return value is not valid until after Send returns without error.
1368//
1369// See DeleteUserProfile for more information on using the DeleteUserProfile
1370// API call, and error handling.
1371//
1372// This method is useful when you want to inject custom logic or configuration
1373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1374//
1375//
1376//    // Example sending a request using the DeleteUserProfileRequest method.
1377//    req, resp := client.DeleteUserProfileRequest(params)
1378//
1379//    err := req.Send()
1380//    if err == nil { // resp is now filled
1381//        fmt.Println(resp)
1382//    }
1383//
1384// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteUserProfile
1385func (c *OpsWorks) DeleteUserProfileRequest(input *DeleteUserProfileInput) (req *request.Request, output *DeleteUserProfileOutput) {
1386	op := &request.Operation{
1387		Name:       opDeleteUserProfile,
1388		HTTPMethod: "POST",
1389		HTTPPath:   "/",
1390	}
1391
1392	if input == nil {
1393		input = &DeleteUserProfileInput{}
1394	}
1395
1396	output = &DeleteUserProfileOutput{}
1397	req = c.newRequest(op, input, output)
1398	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1399	return
1400}
1401
1402// DeleteUserProfile API operation for AWS OpsWorks.
1403//
1404// Deletes a user profile.
1405//
1406// Required Permissions: To use this action, an IAM user must have an attached
1407// policy that explicitly grants permissions. For more information about user
1408// permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1409//
1410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1411// with awserr.Error's Code and Message methods to get detailed information about
1412// the error.
1413//
1414// See the AWS API reference guide for AWS OpsWorks's
1415// API operation DeleteUserProfile for usage and error information.
1416//
1417// Returned Error Types:
1418//   * ValidationException
1419//   Indicates that a request was not valid.
1420//
1421//   * ResourceNotFoundException
1422//   Indicates that a resource was not found.
1423//
1424// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteUserProfile
1425func (c *OpsWorks) DeleteUserProfile(input *DeleteUserProfileInput) (*DeleteUserProfileOutput, error) {
1426	req, out := c.DeleteUserProfileRequest(input)
1427	return out, req.Send()
1428}
1429
1430// DeleteUserProfileWithContext is the same as DeleteUserProfile with the addition of
1431// the ability to pass a context and additional request options.
1432//
1433// See DeleteUserProfile for details on how to use this API operation.
1434//
1435// The context must be non-nil and will be used for request cancellation. If
1436// the context is nil a panic will occur. In the future the SDK may create
1437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1438// for more information on using Contexts.
1439func (c *OpsWorks) DeleteUserProfileWithContext(ctx aws.Context, input *DeleteUserProfileInput, opts ...request.Option) (*DeleteUserProfileOutput, error) {
1440	req, out := c.DeleteUserProfileRequest(input)
1441	req.SetContext(ctx)
1442	req.ApplyOptions(opts...)
1443	return out, req.Send()
1444}
1445
1446const opDeregisterEcsCluster = "DeregisterEcsCluster"
1447
1448// DeregisterEcsClusterRequest generates a "aws/request.Request" representing the
1449// client's request for the DeregisterEcsCluster operation. The "output" return
1450// value will be populated with the request's response once the request completes
1451// successfully.
1452//
1453// Use "Send" method on the returned Request to send the API call to the service.
1454// the "output" return value is not valid until after Send returns without error.
1455//
1456// See DeregisterEcsCluster for more information on using the DeregisterEcsCluster
1457// API call, and error handling.
1458//
1459// This method is useful when you want to inject custom logic or configuration
1460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1461//
1462//
1463//    // Example sending a request using the DeregisterEcsClusterRequest method.
1464//    req, resp := client.DeregisterEcsClusterRequest(params)
1465//
1466//    err := req.Send()
1467//    if err == nil { // resp is now filled
1468//        fmt.Println(resp)
1469//    }
1470//
1471// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterEcsCluster
1472func (c *OpsWorks) DeregisterEcsClusterRequest(input *DeregisterEcsClusterInput) (req *request.Request, output *DeregisterEcsClusterOutput) {
1473	op := &request.Operation{
1474		Name:       opDeregisterEcsCluster,
1475		HTTPMethod: "POST",
1476		HTTPPath:   "/",
1477	}
1478
1479	if input == nil {
1480		input = &DeregisterEcsClusterInput{}
1481	}
1482
1483	output = &DeregisterEcsClusterOutput{}
1484	req = c.newRequest(op, input, output)
1485	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1486	return
1487}
1488
1489// DeregisterEcsCluster API operation for AWS OpsWorks.
1490//
1491// Deregisters a specified Amazon ECS cluster from a stack. For more information,
1492// see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html#workinglayers-ecscluster-delete).
1493//
1494// Required Permissions: To use this action, an IAM user must have a Manage
1495// permissions level for the stack or an attached policy that explicitly grants
1496// permissions. For more information on user permissions, see https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1497// (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1498//
1499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1500// with awserr.Error's Code and Message methods to get detailed information about
1501// the error.
1502//
1503// See the AWS API reference guide for AWS OpsWorks's
1504// API operation DeregisterEcsCluster for usage and error information.
1505//
1506// Returned Error Types:
1507//   * ValidationException
1508//   Indicates that a request was not valid.
1509//
1510//   * ResourceNotFoundException
1511//   Indicates that a resource was not found.
1512//
1513// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterEcsCluster
1514func (c *OpsWorks) DeregisterEcsCluster(input *DeregisterEcsClusterInput) (*DeregisterEcsClusterOutput, error) {
1515	req, out := c.DeregisterEcsClusterRequest(input)
1516	return out, req.Send()
1517}
1518
1519// DeregisterEcsClusterWithContext is the same as DeregisterEcsCluster with the addition of
1520// the ability to pass a context and additional request options.
1521//
1522// See DeregisterEcsCluster for details on how to use this API operation.
1523//
1524// The context must be non-nil and will be used for request cancellation. If
1525// the context is nil a panic will occur. In the future the SDK may create
1526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1527// for more information on using Contexts.
1528func (c *OpsWorks) DeregisterEcsClusterWithContext(ctx aws.Context, input *DeregisterEcsClusterInput, opts ...request.Option) (*DeregisterEcsClusterOutput, error) {
1529	req, out := c.DeregisterEcsClusterRequest(input)
1530	req.SetContext(ctx)
1531	req.ApplyOptions(opts...)
1532	return out, req.Send()
1533}
1534
1535const opDeregisterElasticIp = "DeregisterElasticIp"
1536
1537// DeregisterElasticIpRequest generates a "aws/request.Request" representing the
1538// client's request for the DeregisterElasticIp operation. The "output" return
1539// value will be populated with the request's response once the request completes
1540// successfully.
1541//
1542// Use "Send" method on the returned Request to send the API call to the service.
1543// the "output" return value is not valid until after Send returns without error.
1544//
1545// See DeregisterElasticIp for more information on using the DeregisterElasticIp
1546// API call, and error handling.
1547//
1548// This method is useful when you want to inject custom logic or configuration
1549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1550//
1551//
1552//    // Example sending a request using the DeregisterElasticIpRequest method.
1553//    req, resp := client.DeregisterElasticIpRequest(params)
1554//
1555//    err := req.Send()
1556//    if err == nil { // resp is now filled
1557//        fmt.Println(resp)
1558//    }
1559//
1560// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterElasticIp
1561func (c *OpsWorks) DeregisterElasticIpRequest(input *DeregisterElasticIpInput) (req *request.Request, output *DeregisterElasticIpOutput) {
1562	op := &request.Operation{
1563		Name:       opDeregisterElasticIp,
1564		HTTPMethod: "POST",
1565		HTTPPath:   "/",
1566	}
1567
1568	if input == nil {
1569		input = &DeregisterElasticIpInput{}
1570	}
1571
1572	output = &DeregisterElasticIpOutput{}
1573	req = c.newRequest(op, input, output)
1574	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1575	return
1576}
1577
1578// DeregisterElasticIp API operation for AWS OpsWorks.
1579//
1580// Deregisters a specified Elastic IP address. The address can then be registered
1581// by another stack. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
1582//
1583// Required Permissions: To use this action, an IAM user must have a Manage
1584// permissions level for the stack, or an attached policy that explicitly grants
1585// permissions. For more information on user permissions, see Managing User
1586// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1587//
1588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1589// with awserr.Error's Code and Message methods to get detailed information about
1590// the error.
1591//
1592// See the AWS API reference guide for AWS OpsWorks's
1593// API operation DeregisterElasticIp for usage and error information.
1594//
1595// Returned Error Types:
1596//   * ValidationException
1597//   Indicates that a request was not valid.
1598//
1599//   * ResourceNotFoundException
1600//   Indicates that a resource was not found.
1601//
1602// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterElasticIp
1603func (c *OpsWorks) DeregisterElasticIp(input *DeregisterElasticIpInput) (*DeregisterElasticIpOutput, error) {
1604	req, out := c.DeregisterElasticIpRequest(input)
1605	return out, req.Send()
1606}
1607
1608// DeregisterElasticIpWithContext is the same as DeregisterElasticIp with the addition of
1609// the ability to pass a context and additional request options.
1610//
1611// See DeregisterElasticIp for details on how to use this API operation.
1612//
1613// The context must be non-nil and will be used for request cancellation. If
1614// the context is nil a panic will occur. In the future the SDK may create
1615// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1616// for more information on using Contexts.
1617func (c *OpsWorks) DeregisterElasticIpWithContext(ctx aws.Context, input *DeregisterElasticIpInput, opts ...request.Option) (*DeregisterElasticIpOutput, error) {
1618	req, out := c.DeregisterElasticIpRequest(input)
1619	req.SetContext(ctx)
1620	req.ApplyOptions(opts...)
1621	return out, req.Send()
1622}
1623
1624const opDeregisterInstance = "DeregisterInstance"
1625
1626// DeregisterInstanceRequest generates a "aws/request.Request" representing the
1627// client's request for the DeregisterInstance operation. The "output" return
1628// value will be populated with the request's response once the request completes
1629// successfully.
1630//
1631// Use "Send" method on the returned Request to send the API call to the service.
1632// the "output" return value is not valid until after Send returns without error.
1633//
1634// See DeregisterInstance for more information on using the DeregisterInstance
1635// API call, and error handling.
1636//
1637// This method is useful when you want to inject custom logic or configuration
1638// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1639//
1640//
1641//    // Example sending a request using the DeregisterInstanceRequest method.
1642//    req, resp := client.DeregisterInstanceRequest(params)
1643//
1644//    err := req.Send()
1645//    if err == nil { // resp is now filled
1646//        fmt.Println(resp)
1647//    }
1648//
1649// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterInstance
1650func (c *OpsWorks) DeregisterInstanceRequest(input *DeregisterInstanceInput) (req *request.Request, output *DeregisterInstanceOutput) {
1651	op := &request.Operation{
1652		Name:       opDeregisterInstance,
1653		HTTPMethod: "POST",
1654		HTTPPath:   "/",
1655	}
1656
1657	if input == nil {
1658		input = &DeregisterInstanceInput{}
1659	}
1660
1661	output = &DeregisterInstanceOutput{}
1662	req = c.newRequest(op, input, output)
1663	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1664	return
1665}
1666
1667// DeregisterInstance API operation for AWS OpsWorks.
1668//
1669// Deregister a registered Amazon EC2 or on-premises instance. This action removes
1670// the instance from the stack and returns it to your control. This action cannot
1671// be used with instances that were created with AWS OpsWorks Stacks.
1672//
1673// Required Permissions: To use this action, an IAM user must have a Manage
1674// permissions level for the stack or an attached policy that explicitly grants
1675// permissions. For more information on user permissions, see Managing User
1676// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1677//
1678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1679// with awserr.Error's Code and Message methods to get detailed information about
1680// the error.
1681//
1682// See the AWS API reference guide for AWS OpsWorks's
1683// API operation DeregisterInstance for usage and error information.
1684//
1685// Returned Error Types:
1686//   * ValidationException
1687//   Indicates that a request was not valid.
1688//
1689//   * ResourceNotFoundException
1690//   Indicates that a resource was not found.
1691//
1692// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterInstance
1693func (c *OpsWorks) DeregisterInstance(input *DeregisterInstanceInput) (*DeregisterInstanceOutput, error) {
1694	req, out := c.DeregisterInstanceRequest(input)
1695	return out, req.Send()
1696}
1697
1698// DeregisterInstanceWithContext is the same as DeregisterInstance with the addition of
1699// the ability to pass a context and additional request options.
1700//
1701// See DeregisterInstance for details on how to use this API operation.
1702//
1703// The context must be non-nil and will be used for request cancellation. If
1704// the context is nil a panic will occur. In the future the SDK may create
1705// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1706// for more information on using Contexts.
1707func (c *OpsWorks) DeregisterInstanceWithContext(ctx aws.Context, input *DeregisterInstanceInput, opts ...request.Option) (*DeregisterInstanceOutput, error) {
1708	req, out := c.DeregisterInstanceRequest(input)
1709	req.SetContext(ctx)
1710	req.ApplyOptions(opts...)
1711	return out, req.Send()
1712}
1713
1714const opDeregisterRdsDbInstance = "DeregisterRdsDbInstance"
1715
1716// DeregisterRdsDbInstanceRequest generates a "aws/request.Request" representing the
1717// client's request for the DeregisterRdsDbInstance operation. The "output" return
1718// value will be populated with the request's response once the request completes
1719// successfully.
1720//
1721// Use "Send" method on the returned Request to send the API call to the service.
1722// the "output" return value is not valid until after Send returns without error.
1723//
1724// See DeregisterRdsDbInstance for more information on using the DeregisterRdsDbInstance
1725// API call, and error handling.
1726//
1727// This method is useful when you want to inject custom logic or configuration
1728// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1729//
1730//
1731//    // Example sending a request using the DeregisterRdsDbInstanceRequest method.
1732//    req, resp := client.DeregisterRdsDbInstanceRequest(params)
1733//
1734//    err := req.Send()
1735//    if err == nil { // resp is now filled
1736//        fmt.Println(resp)
1737//    }
1738//
1739// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterRdsDbInstance
1740func (c *OpsWorks) DeregisterRdsDbInstanceRequest(input *DeregisterRdsDbInstanceInput) (req *request.Request, output *DeregisterRdsDbInstanceOutput) {
1741	op := &request.Operation{
1742		Name:       opDeregisterRdsDbInstance,
1743		HTTPMethod: "POST",
1744		HTTPPath:   "/",
1745	}
1746
1747	if input == nil {
1748		input = &DeregisterRdsDbInstanceInput{}
1749	}
1750
1751	output = &DeregisterRdsDbInstanceOutput{}
1752	req = c.newRequest(op, input, output)
1753	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1754	return
1755}
1756
1757// DeregisterRdsDbInstance API operation for AWS OpsWorks.
1758//
1759// Deregisters an Amazon RDS instance.
1760//
1761// Required Permissions: To use this action, an IAM user must have a Manage
1762// permissions level for the stack, or an attached policy that explicitly grants
1763// permissions. For more information on user permissions, see Managing User
1764// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1765//
1766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1767// with awserr.Error's Code and Message methods to get detailed information about
1768// the error.
1769//
1770// See the AWS API reference guide for AWS OpsWorks's
1771// API operation DeregisterRdsDbInstance for usage and error information.
1772//
1773// Returned Error Types:
1774//   * ValidationException
1775//   Indicates that a request was not valid.
1776//
1777//   * ResourceNotFoundException
1778//   Indicates that a resource was not found.
1779//
1780// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterRdsDbInstance
1781func (c *OpsWorks) DeregisterRdsDbInstance(input *DeregisterRdsDbInstanceInput) (*DeregisterRdsDbInstanceOutput, error) {
1782	req, out := c.DeregisterRdsDbInstanceRequest(input)
1783	return out, req.Send()
1784}
1785
1786// DeregisterRdsDbInstanceWithContext is the same as DeregisterRdsDbInstance with the addition of
1787// the ability to pass a context and additional request options.
1788//
1789// See DeregisterRdsDbInstance for details on how to use this API operation.
1790//
1791// The context must be non-nil and will be used for request cancellation. If
1792// the context is nil a panic will occur. In the future the SDK may create
1793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1794// for more information on using Contexts.
1795func (c *OpsWorks) DeregisterRdsDbInstanceWithContext(ctx aws.Context, input *DeregisterRdsDbInstanceInput, opts ...request.Option) (*DeregisterRdsDbInstanceOutput, error) {
1796	req, out := c.DeregisterRdsDbInstanceRequest(input)
1797	req.SetContext(ctx)
1798	req.ApplyOptions(opts...)
1799	return out, req.Send()
1800}
1801
1802const opDeregisterVolume = "DeregisterVolume"
1803
1804// DeregisterVolumeRequest generates a "aws/request.Request" representing the
1805// client's request for the DeregisterVolume operation. The "output" return
1806// value will be populated with the request's response once the request completes
1807// successfully.
1808//
1809// Use "Send" method on the returned Request to send the API call to the service.
1810// the "output" return value is not valid until after Send returns without error.
1811//
1812// See DeregisterVolume for more information on using the DeregisterVolume
1813// API call, and error handling.
1814//
1815// This method is useful when you want to inject custom logic or configuration
1816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1817//
1818//
1819//    // Example sending a request using the DeregisterVolumeRequest method.
1820//    req, resp := client.DeregisterVolumeRequest(params)
1821//
1822//    err := req.Send()
1823//    if err == nil { // resp is now filled
1824//        fmt.Println(resp)
1825//    }
1826//
1827// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterVolume
1828func (c *OpsWorks) DeregisterVolumeRequest(input *DeregisterVolumeInput) (req *request.Request, output *DeregisterVolumeOutput) {
1829	op := &request.Operation{
1830		Name:       opDeregisterVolume,
1831		HTTPMethod: "POST",
1832		HTTPPath:   "/",
1833	}
1834
1835	if input == nil {
1836		input = &DeregisterVolumeInput{}
1837	}
1838
1839	output = &DeregisterVolumeOutput{}
1840	req = c.newRequest(op, input, output)
1841	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1842	return
1843}
1844
1845// DeregisterVolume API operation for AWS OpsWorks.
1846//
1847// Deregisters an Amazon EBS volume. The volume can then be registered by another
1848// stack. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
1849//
1850// Required Permissions: To use this action, an IAM user must have a Manage
1851// permissions level for the stack, or an attached policy that explicitly grants
1852// permissions. For more information on user permissions, see Managing User
1853// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
1854//
1855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1856// with awserr.Error's Code and Message methods to get detailed information about
1857// the error.
1858//
1859// See the AWS API reference guide for AWS OpsWorks's
1860// API operation DeregisterVolume for usage and error information.
1861//
1862// Returned Error Types:
1863//   * ValidationException
1864//   Indicates that a request was not valid.
1865//
1866//   * ResourceNotFoundException
1867//   Indicates that a resource was not found.
1868//
1869// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeregisterVolume
1870func (c *OpsWorks) DeregisterVolume(input *DeregisterVolumeInput) (*DeregisterVolumeOutput, error) {
1871	req, out := c.DeregisterVolumeRequest(input)
1872	return out, req.Send()
1873}
1874
1875// DeregisterVolumeWithContext is the same as DeregisterVolume with the addition of
1876// the ability to pass a context and additional request options.
1877//
1878// See DeregisterVolume for details on how to use this API operation.
1879//
1880// The context must be non-nil and will be used for request cancellation. If
1881// the context is nil a panic will occur. In the future the SDK may create
1882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1883// for more information on using Contexts.
1884func (c *OpsWorks) DeregisterVolumeWithContext(ctx aws.Context, input *DeregisterVolumeInput, opts ...request.Option) (*DeregisterVolumeOutput, error) {
1885	req, out := c.DeregisterVolumeRequest(input)
1886	req.SetContext(ctx)
1887	req.ApplyOptions(opts...)
1888	return out, req.Send()
1889}
1890
1891const opDescribeAgentVersions = "DescribeAgentVersions"
1892
1893// DescribeAgentVersionsRequest generates a "aws/request.Request" representing the
1894// client's request for the DescribeAgentVersions operation. The "output" return
1895// value will be populated with the request's response once the request completes
1896// successfully.
1897//
1898// Use "Send" method on the returned Request to send the API call to the service.
1899// the "output" return value is not valid until after Send returns without error.
1900//
1901// See DescribeAgentVersions for more information on using the DescribeAgentVersions
1902// API call, and error handling.
1903//
1904// This method is useful when you want to inject custom logic or configuration
1905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1906//
1907//
1908//    // Example sending a request using the DescribeAgentVersionsRequest method.
1909//    req, resp := client.DescribeAgentVersionsRequest(params)
1910//
1911//    err := req.Send()
1912//    if err == nil { // resp is now filled
1913//        fmt.Println(resp)
1914//    }
1915//
1916// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeAgentVersions
1917func (c *OpsWorks) DescribeAgentVersionsRequest(input *DescribeAgentVersionsInput) (req *request.Request, output *DescribeAgentVersionsOutput) {
1918	op := &request.Operation{
1919		Name:       opDescribeAgentVersions,
1920		HTTPMethod: "POST",
1921		HTTPPath:   "/",
1922	}
1923
1924	if input == nil {
1925		input = &DescribeAgentVersionsInput{}
1926	}
1927
1928	output = &DescribeAgentVersionsOutput{}
1929	req = c.newRequest(op, input, output)
1930	return
1931}
1932
1933// DescribeAgentVersions API operation for AWS OpsWorks.
1934//
1935// Describes the available AWS OpsWorks Stacks agent versions. You must specify
1936// a stack ID or a configuration manager. DescribeAgentVersions returns a list
1937// of available agent versions for the specified stack or configuration manager.
1938//
1939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1940// with awserr.Error's Code and Message methods to get detailed information about
1941// the error.
1942//
1943// See the AWS API reference guide for AWS OpsWorks's
1944// API operation DescribeAgentVersions for usage and error information.
1945//
1946// Returned Error Types:
1947//   * ValidationException
1948//   Indicates that a request was not valid.
1949//
1950//   * ResourceNotFoundException
1951//   Indicates that a resource was not found.
1952//
1953// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeAgentVersions
1954func (c *OpsWorks) DescribeAgentVersions(input *DescribeAgentVersionsInput) (*DescribeAgentVersionsOutput, error) {
1955	req, out := c.DescribeAgentVersionsRequest(input)
1956	return out, req.Send()
1957}
1958
1959// DescribeAgentVersionsWithContext is the same as DescribeAgentVersions with the addition of
1960// the ability to pass a context and additional request options.
1961//
1962// See DescribeAgentVersions for details on how to use this API operation.
1963//
1964// The context must be non-nil and will be used for request cancellation. If
1965// the context is nil a panic will occur. In the future the SDK may create
1966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1967// for more information on using Contexts.
1968func (c *OpsWorks) DescribeAgentVersionsWithContext(ctx aws.Context, input *DescribeAgentVersionsInput, opts ...request.Option) (*DescribeAgentVersionsOutput, error) {
1969	req, out := c.DescribeAgentVersionsRequest(input)
1970	req.SetContext(ctx)
1971	req.ApplyOptions(opts...)
1972	return out, req.Send()
1973}
1974
1975const opDescribeApps = "DescribeApps"
1976
1977// DescribeAppsRequest generates a "aws/request.Request" representing the
1978// client's request for the DescribeApps operation. The "output" return
1979// value will be populated with the request's response once the request completes
1980// successfully.
1981//
1982// Use "Send" method on the returned Request to send the API call to the service.
1983// the "output" return value is not valid until after Send returns without error.
1984//
1985// See DescribeApps for more information on using the DescribeApps
1986// API call, and error handling.
1987//
1988// This method is useful when you want to inject custom logic or configuration
1989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1990//
1991//
1992//    // Example sending a request using the DescribeAppsRequest method.
1993//    req, resp := client.DescribeAppsRequest(params)
1994//
1995//    err := req.Send()
1996//    if err == nil { // resp is now filled
1997//        fmt.Println(resp)
1998//    }
1999//
2000// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeApps
2001func (c *OpsWorks) DescribeAppsRequest(input *DescribeAppsInput) (req *request.Request, output *DescribeAppsOutput) {
2002	op := &request.Operation{
2003		Name:       opDescribeApps,
2004		HTTPMethod: "POST",
2005		HTTPPath:   "/",
2006	}
2007
2008	if input == nil {
2009		input = &DescribeAppsInput{}
2010	}
2011
2012	output = &DescribeAppsOutput{}
2013	req = c.newRequest(op, input, output)
2014	return
2015}
2016
2017// DescribeApps API operation for AWS OpsWorks.
2018//
2019// Requests a description of a specified set of apps.
2020//
2021// This call accepts only one resource-identifying parameter.
2022//
2023// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2024// or Manage permissions level for the stack, or an attached policy that explicitly
2025// grants permissions. For more information about user permissions, see Managing
2026// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2027//
2028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2029// with awserr.Error's Code and Message methods to get detailed information about
2030// the error.
2031//
2032// See the AWS API reference guide for AWS OpsWorks's
2033// API operation DescribeApps for usage and error information.
2034//
2035// Returned Error Types:
2036//   * ValidationException
2037//   Indicates that a request was not valid.
2038//
2039//   * ResourceNotFoundException
2040//   Indicates that a resource was not found.
2041//
2042// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeApps
2043func (c *OpsWorks) DescribeApps(input *DescribeAppsInput) (*DescribeAppsOutput, error) {
2044	req, out := c.DescribeAppsRequest(input)
2045	return out, req.Send()
2046}
2047
2048// DescribeAppsWithContext is the same as DescribeApps with the addition of
2049// the ability to pass a context and additional request options.
2050//
2051// See DescribeApps for details on how to use this API operation.
2052//
2053// The context must be non-nil and will be used for request cancellation. If
2054// the context is nil a panic will occur. In the future the SDK may create
2055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2056// for more information on using Contexts.
2057func (c *OpsWorks) DescribeAppsWithContext(ctx aws.Context, input *DescribeAppsInput, opts ...request.Option) (*DescribeAppsOutput, error) {
2058	req, out := c.DescribeAppsRequest(input)
2059	req.SetContext(ctx)
2060	req.ApplyOptions(opts...)
2061	return out, req.Send()
2062}
2063
2064const opDescribeCommands = "DescribeCommands"
2065
2066// DescribeCommandsRequest generates a "aws/request.Request" representing the
2067// client's request for the DescribeCommands operation. The "output" return
2068// value will be populated with the request's response once the request completes
2069// successfully.
2070//
2071// Use "Send" method on the returned Request to send the API call to the service.
2072// the "output" return value is not valid until after Send returns without error.
2073//
2074// See DescribeCommands for more information on using the DescribeCommands
2075// API call, and error handling.
2076//
2077// This method is useful when you want to inject custom logic or configuration
2078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2079//
2080//
2081//    // Example sending a request using the DescribeCommandsRequest method.
2082//    req, resp := client.DescribeCommandsRequest(params)
2083//
2084//    err := req.Send()
2085//    if err == nil { // resp is now filled
2086//        fmt.Println(resp)
2087//    }
2088//
2089// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeCommands
2090func (c *OpsWorks) DescribeCommandsRequest(input *DescribeCommandsInput) (req *request.Request, output *DescribeCommandsOutput) {
2091	op := &request.Operation{
2092		Name:       opDescribeCommands,
2093		HTTPMethod: "POST",
2094		HTTPPath:   "/",
2095	}
2096
2097	if input == nil {
2098		input = &DescribeCommandsInput{}
2099	}
2100
2101	output = &DescribeCommandsOutput{}
2102	req = c.newRequest(op, input, output)
2103	return
2104}
2105
2106// DescribeCommands API operation for AWS OpsWorks.
2107//
2108// Describes the results of specified commands.
2109//
2110// This call accepts only one resource-identifying parameter.
2111//
2112// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2113// or Manage permissions level for the stack, or an attached policy that explicitly
2114// grants permissions. For more information about user permissions, see Managing
2115// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2116//
2117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2118// with awserr.Error's Code and Message methods to get detailed information about
2119// the error.
2120//
2121// See the AWS API reference guide for AWS OpsWorks's
2122// API operation DescribeCommands for usage and error information.
2123//
2124// Returned Error Types:
2125//   * ValidationException
2126//   Indicates that a request was not valid.
2127//
2128//   * ResourceNotFoundException
2129//   Indicates that a resource was not found.
2130//
2131// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeCommands
2132func (c *OpsWorks) DescribeCommands(input *DescribeCommandsInput) (*DescribeCommandsOutput, error) {
2133	req, out := c.DescribeCommandsRequest(input)
2134	return out, req.Send()
2135}
2136
2137// DescribeCommandsWithContext is the same as DescribeCommands with the addition of
2138// the ability to pass a context and additional request options.
2139//
2140// See DescribeCommands for details on how to use this API operation.
2141//
2142// The context must be non-nil and will be used for request cancellation. If
2143// the context is nil a panic will occur. In the future the SDK may create
2144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2145// for more information on using Contexts.
2146func (c *OpsWorks) DescribeCommandsWithContext(ctx aws.Context, input *DescribeCommandsInput, opts ...request.Option) (*DescribeCommandsOutput, error) {
2147	req, out := c.DescribeCommandsRequest(input)
2148	req.SetContext(ctx)
2149	req.ApplyOptions(opts...)
2150	return out, req.Send()
2151}
2152
2153const opDescribeDeployments = "DescribeDeployments"
2154
2155// DescribeDeploymentsRequest generates a "aws/request.Request" representing the
2156// client's request for the DescribeDeployments operation. The "output" return
2157// value will be populated with the request's response once the request completes
2158// successfully.
2159//
2160// Use "Send" method on the returned Request to send the API call to the service.
2161// the "output" return value is not valid until after Send returns without error.
2162//
2163// See DescribeDeployments for more information on using the DescribeDeployments
2164// API call, and error handling.
2165//
2166// This method is useful when you want to inject custom logic or configuration
2167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2168//
2169//
2170//    // Example sending a request using the DescribeDeploymentsRequest method.
2171//    req, resp := client.DescribeDeploymentsRequest(params)
2172//
2173//    err := req.Send()
2174//    if err == nil { // resp is now filled
2175//        fmt.Println(resp)
2176//    }
2177//
2178// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeDeployments
2179func (c *OpsWorks) DescribeDeploymentsRequest(input *DescribeDeploymentsInput) (req *request.Request, output *DescribeDeploymentsOutput) {
2180	op := &request.Operation{
2181		Name:       opDescribeDeployments,
2182		HTTPMethod: "POST",
2183		HTTPPath:   "/",
2184	}
2185
2186	if input == nil {
2187		input = &DescribeDeploymentsInput{}
2188	}
2189
2190	output = &DescribeDeploymentsOutput{}
2191	req = c.newRequest(op, input, output)
2192	return
2193}
2194
2195// DescribeDeployments API operation for AWS OpsWorks.
2196//
2197// Requests a description of a specified set of deployments.
2198//
2199// This call accepts only one resource-identifying parameter.
2200//
2201// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2202// or Manage permissions level for the stack, or an attached policy that explicitly
2203// grants permissions. For more information about user permissions, see Managing
2204// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2205//
2206// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2207// with awserr.Error's Code and Message methods to get detailed information about
2208// the error.
2209//
2210// See the AWS API reference guide for AWS OpsWorks's
2211// API operation DescribeDeployments for usage and error information.
2212//
2213// Returned Error Types:
2214//   * ValidationException
2215//   Indicates that a request was not valid.
2216//
2217//   * ResourceNotFoundException
2218//   Indicates that a resource was not found.
2219//
2220// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeDeployments
2221func (c *OpsWorks) DescribeDeployments(input *DescribeDeploymentsInput) (*DescribeDeploymentsOutput, error) {
2222	req, out := c.DescribeDeploymentsRequest(input)
2223	return out, req.Send()
2224}
2225
2226// DescribeDeploymentsWithContext is the same as DescribeDeployments with the addition of
2227// the ability to pass a context and additional request options.
2228//
2229// See DescribeDeployments for details on how to use this API operation.
2230//
2231// The context must be non-nil and will be used for request cancellation. If
2232// the context is nil a panic will occur. In the future the SDK may create
2233// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2234// for more information on using Contexts.
2235func (c *OpsWorks) DescribeDeploymentsWithContext(ctx aws.Context, input *DescribeDeploymentsInput, opts ...request.Option) (*DescribeDeploymentsOutput, error) {
2236	req, out := c.DescribeDeploymentsRequest(input)
2237	req.SetContext(ctx)
2238	req.ApplyOptions(opts...)
2239	return out, req.Send()
2240}
2241
2242const opDescribeEcsClusters = "DescribeEcsClusters"
2243
2244// DescribeEcsClustersRequest generates a "aws/request.Request" representing the
2245// client's request for the DescribeEcsClusters operation. The "output" return
2246// value will be populated with the request's response once the request completes
2247// successfully.
2248//
2249// Use "Send" method on the returned Request to send the API call to the service.
2250// the "output" return value is not valid until after Send returns without error.
2251//
2252// See DescribeEcsClusters for more information on using the DescribeEcsClusters
2253// API call, and error handling.
2254//
2255// This method is useful when you want to inject custom logic or configuration
2256// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2257//
2258//
2259//    // Example sending a request using the DescribeEcsClustersRequest method.
2260//    req, resp := client.DescribeEcsClustersRequest(params)
2261//
2262//    err := req.Send()
2263//    if err == nil { // resp is now filled
2264//        fmt.Println(resp)
2265//    }
2266//
2267// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeEcsClusters
2268func (c *OpsWorks) DescribeEcsClustersRequest(input *DescribeEcsClustersInput) (req *request.Request, output *DescribeEcsClustersOutput) {
2269	op := &request.Operation{
2270		Name:       opDescribeEcsClusters,
2271		HTTPMethod: "POST",
2272		HTTPPath:   "/",
2273		Paginator: &request.Paginator{
2274			InputTokens:     []string{"NextToken"},
2275			OutputTokens:    []string{"NextToken"},
2276			LimitToken:      "MaxResults",
2277			TruncationToken: "",
2278		},
2279	}
2280
2281	if input == nil {
2282		input = &DescribeEcsClustersInput{}
2283	}
2284
2285	output = &DescribeEcsClustersOutput{}
2286	req = c.newRequest(op, input, output)
2287	return
2288}
2289
2290// DescribeEcsClusters API operation for AWS OpsWorks.
2291//
2292// Describes Amazon ECS clusters that are registered with a stack. If you specify
2293// only a stack ID, you can use the MaxResults and NextToken parameters to paginate
2294// the response. However, AWS OpsWorks Stacks currently supports only one cluster
2295// per layer, so the result set has a maximum of one element.
2296//
2297// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2298// or Manage permissions level for the stack or an attached policy that explicitly
2299// grants permission. For more information about user permissions, see Managing
2300// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2301//
2302// This call accepts only one resource-identifying parameter.
2303//
2304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2305// with awserr.Error's Code and Message methods to get detailed information about
2306// the error.
2307//
2308// See the AWS API reference guide for AWS OpsWorks's
2309// API operation DescribeEcsClusters for usage and error information.
2310//
2311// Returned Error Types:
2312//   * ValidationException
2313//   Indicates that a request was not valid.
2314//
2315//   * ResourceNotFoundException
2316//   Indicates that a resource was not found.
2317//
2318// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeEcsClusters
2319func (c *OpsWorks) DescribeEcsClusters(input *DescribeEcsClustersInput) (*DescribeEcsClustersOutput, error) {
2320	req, out := c.DescribeEcsClustersRequest(input)
2321	return out, req.Send()
2322}
2323
2324// DescribeEcsClustersWithContext is the same as DescribeEcsClusters with the addition of
2325// the ability to pass a context and additional request options.
2326//
2327// See DescribeEcsClusters for details on how to use this API operation.
2328//
2329// The context must be non-nil and will be used for request cancellation. If
2330// the context is nil a panic will occur. In the future the SDK may create
2331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2332// for more information on using Contexts.
2333func (c *OpsWorks) DescribeEcsClustersWithContext(ctx aws.Context, input *DescribeEcsClustersInput, opts ...request.Option) (*DescribeEcsClustersOutput, error) {
2334	req, out := c.DescribeEcsClustersRequest(input)
2335	req.SetContext(ctx)
2336	req.ApplyOptions(opts...)
2337	return out, req.Send()
2338}
2339
2340// DescribeEcsClustersPages iterates over the pages of a DescribeEcsClusters operation,
2341// calling the "fn" function with the response data for each page. To stop
2342// iterating, return false from the fn function.
2343//
2344// See DescribeEcsClusters method for more information on how to use this operation.
2345//
2346// Note: This operation can generate multiple requests to a service.
2347//
2348//    // Example iterating over at most 3 pages of a DescribeEcsClusters operation.
2349//    pageNum := 0
2350//    err := client.DescribeEcsClustersPages(params,
2351//        func(page *opsworks.DescribeEcsClustersOutput, lastPage bool) bool {
2352//            pageNum++
2353//            fmt.Println(page)
2354//            return pageNum <= 3
2355//        })
2356//
2357func (c *OpsWorks) DescribeEcsClustersPages(input *DescribeEcsClustersInput, fn func(*DescribeEcsClustersOutput, bool) bool) error {
2358	return c.DescribeEcsClustersPagesWithContext(aws.BackgroundContext(), input, fn)
2359}
2360
2361// DescribeEcsClustersPagesWithContext same as DescribeEcsClustersPages except
2362// it takes a Context and allows setting request options on the pages.
2363//
2364// The context must be non-nil and will be used for request cancellation. If
2365// the context is nil a panic will occur. In the future the SDK may create
2366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2367// for more information on using Contexts.
2368func (c *OpsWorks) DescribeEcsClustersPagesWithContext(ctx aws.Context, input *DescribeEcsClustersInput, fn func(*DescribeEcsClustersOutput, bool) bool, opts ...request.Option) error {
2369	p := request.Pagination{
2370		NewRequest: func() (*request.Request, error) {
2371			var inCpy *DescribeEcsClustersInput
2372			if input != nil {
2373				tmp := *input
2374				inCpy = &tmp
2375			}
2376			req, _ := c.DescribeEcsClustersRequest(inCpy)
2377			req.SetContext(ctx)
2378			req.ApplyOptions(opts...)
2379			return req, nil
2380		},
2381	}
2382
2383	for p.Next() {
2384		if !fn(p.Page().(*DescribeEcsClustersOutput), !p.HasNextPage()) {
2385			break
2386		}
2387	}
2388
2389	return p.Err()
2390}
2391
2392const opDescribeElasticIps = "DescribeElasticIps"
2393
2394// DescribeElasticIpsRequest generates a "aws/request.Request" representing the
2395// client's request for the DescribeElasticIps operation. The "output" return
2396// value will be populated with the request's response once the request completes
2397// successfully.
2398//
2399// Use "Send" method on the returned Request to send the API call to the service.
2400// the "output" return value is not valid until after Send returns without error.
2401//
2402// See DescribeElasticIps for more information on using the DescribeElasticIps
2403// API call, and error handling.
2404//
2405// This method is useful when you want to inject custom logic or configuration
2406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2407//
2408//
2409//    // Example sending a request using the DescribeElasticIpsRequest method.
2410//    req, resp := client.DescribeElasticIpsRequest(params)
2411//
2412//    err := req.Send()
2413//    if err == nil { // resp is now filled
2414//        fmt.Println(resp)
2415//    }
2416//
2417// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticIps
2418func (c *OpsWorks) DescribeElasticIpsRequest(input *DescribeElasticIpsInput) (req *request.Request, output *DescribeElasticIpsOutput) {
2419	op := &request.Operation{
2420		Name:       opDescribeElasticIps,
2421		HTTPMethod: "POST",
2422		HTTPPath:   "/",
2423	}
2424
2425	if input == nil {
2426		input = &DescribeElasticIpsInput{}
2427	}
2428
2429	output = &DescribeElasticIpsOutput{}
2430	req = c.newRequest(op, input, output)
2431	return
2432}
2433
2434// DescribeElasticIps API operation for AWS OpsWorks.
2435//
2436// Describes Elastic IP addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html).
2437//
2438// This call accepts only one resource-identifying parameter.
2439//
2440// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2441// or Manage permissions level for the stack, or an attached policy that explicitly
2442// grants permissions. For more information about user permissions, see Managing
2443// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2444//
2445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2446// with awserr.Error's Code and Message methods to get detailed information about
2447// the error.
2448//
2449// See the AWS API reference guide for AWS OpsWorks's
2450// API operation DescribeElasticIps for usage and error information.
2451//
2452// Returned Error Types:
2453//   * ValidationException
2454//   Indicates that a request was not valid.
2455//
2456//   * ResourceNotFoundException
2457//   Indicates that a resource was not found.
2458//
2459// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticIps
2460func (c *OpsWorks) DescribeElasticIps(input *DescribeElasticIpsInput) (*DescribeElasticIpsOutput, error) {
2461	req, out := c.DescribeElasticIpsRequest(input)
2462	return out, req.Send()
2463}
2464
2465// DescribeElasticIpsWithContext is the same as DescribeElasticIps with the addition of
2466// the ability to pass a context and additional request options.
2467//
2468// See DescribeElasticIps for details on how to use this API operation.
2469//
2470// The context must be non-nil and will be used for request cancellation. If
2471// the context is nil a panic will occur. In the future the SDK may create
2472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2473// for more information on using Contexts.
2474func (c *OpsWorks) DescribeElasticIpsWithContext(ctx aws.Context, input *DescribeElasticIpsInput, opts ...request.Option) (*DescribeElasticIpsOutput, error) {
2475	req, out := c.DescribeElasticIpsRequest(input)
2476	req.SetContext(ctx)
2477	req.ApplyOptions(opts...)
2478	return out, req.Send()
2479}
2480
2481const opDescribeElasticLoadBalancers = "DescribeElasticLoadBalancers"
2482
2483// DescribeElasticLoadBalancersRequest generates a "aws/request.Request" representing the
2484// client's request for the DescribeElasticLoadBalancers operation. The "output" return
2485// value will be populated with the request's response once the request completes
2486// successfully.
2487//
2488// Use "Send" method on the returned Request to send the API call to the service.
2489// the "output" return value is not valid until after Send returns without error.
2490//
2491// See DescribeElasticLoadBalancers for more information on using the DescribeElasticLoadBalancers
2492// API call, and error handling.
2493//
2494// This method is useful when you want to inject custom logic or configuration
2495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2496//
2497//
2498//    // Example sending a request using the DescribeElasticLoadBalancersRequest method.
2499//    req, resp := client.DescribeElasticLoadBalancersRequest(params)
2500//
2501//    err := req.Send()
2502//    if err == nil { // resp is now filled
2503//        fmt.Println(resp)
2504//    }
2505//
2506// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticLoadBalancers
2507func (c *OpsWorks) DescribeElasticLoadBalancersRequest(input *DescribeElasticLoadBalancersInput) (req *request.Request, output *DescribeElasticLoadBalancersOutput) {
2508	op := &request.Operation{
2509		Name:       opDescribeElasticLoadBalancers,
2510		HTTPMethod: "POST",
2511		HTTPPath:   "/",
2512	}
2513
2514	if input == nil {
2515		input = &DescribeElasticLoadBalancersInput{}
2516	}
2517
2518	output = &DescribeElasticLoadBalancersOutput{}
2519	req = c.newRequest(op, input, output)
2520	return
2521}
2522
2523// DescribeElasticLoadBalancers API operation for AWS OpsWorks.
2524//
2525// Describes a stack's Elastic Load Balancing instances.
2526//
2527// This call accepts only one resource-identifying parameter.
2528//
2529// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2530// or Manage permissions level for the stack, or an attached policy that explicitly
2531// grants permissions. For more information about user permissions, see Managing
2532// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2533//
2534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2535// with awserr.Error's Code and Message methods to get detailed information about
2536// the error.
2537//
2538// See the AWS API reference guide for AWS OpsWorks's
2539// API operation DescribeElasticLoadBalancers for usage and error information.
2540//
2541// Returned Error Types:
2542//   * ValidationException
2543//   Indicates that a request was not valid.
2544//
2545//   * ResourceNotFoundException
2546//   Indicates that a resource was not found.
2547//
2548// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticLoadBalancers
2549func (c *OpsWorks) DescribeElasticLoadBalancers(input *DescribeElasticLoadBalancersInput) (*DescribeElasticLoadBalancersOutput, error) {
2550	req, out := c.DescribeElasticLoadBalancersRequest(input)
2551	return out, req.Send()
2552}
2553
2554// DescribeElasticLoadBalancersWithContext is the same as DescribeElasticLoadBalancers with the addition of
2555// the ability to pass a context and additional request options.
2556//
2557// See DescribeElasticLoadBalancers for details on how to use this API operation.
2558//
2559// The context must be non-nil and will be used for request cancellation. If
2560// the context is nil a panic will occur. In the future the SDK may create
2561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2562// for more information on using Contexts.
2563func (c *OpsWorks) DescribeElasticLoadBalancersWithContext(ctx aws.Context, input *DescribeElasticLoadBalancersInput, opts ...request.Option) (*DescribeElasticLoadBalancersOutput, error) {
2564	req, out := c.DescribeElasticLoadBalancersRequest(input)
2565	req.SetContext(ctx)
2566	req.ApplyOptions(opts...)
2567	return out, req.Send()
2568}
2569
2570const opDescribeInstances = "DescribeInstances"
2571
2572// DescribeInstancesRequest generates a "aws/request.Request" representing the
2573// client's request for the DescribeInstances operation. The "output" return
2574// value will be populated with the request's response once the request completes
2575// successfully.
2576//
2577// Use "Send" method on the returned Request to send the API call to the service.
2578// the "output" return value is not valid until after Send returns without error.
2579//
2580// See DescribeInstances for more information on using the DescribeInstances
2581// API call, and error handling.
2582//
2583// This method is useful when you want to inject custom logic or configuration
2584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2585//
2586//
2587//    // Example sending a request using the DescribeInstancesRequest method.
2588//    req, resp := client.DescribeInstancesRequest(params)
2589//
2590//    err := req.Send()
2591//    if err == nil { // resp is now filled
2592//        fmt.Println(resp)
2593//    }
2594//
2595// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeInstances
2596func (c *OpsWorks) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
2597	op := &request.Operation{
2598		Name:       opDescribeInstances,
2599		HTTPMethod: "POST",
2600		HTTPPath:   "/",
2601	}
2602
2603	if input == nil {
2604		input = &DescribeInstancesInput{}
2605	}
2606
2607	output = &DescribeInstancesOutput{}
2608	req = c.newRequest(op, input, output)
2609	return
2610}
2611
2612// DescribeInstances API operation for AWS OpsWorks.
2613//
2614// Requests a description of a set of instances.
2615//
2616// This call accepts only one resource-identifying parameter.
2617//
2618// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2619// or Manage permissions level for the stack, or an attached policy that explicitly
2620// grants permissions. For more information about user permissions, see Managing
2621// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2622//
2623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2624// with awserr.Error's Code and Message methods to get detailed information about
2625// the error.
2626//
2627// See the AWS API reference guide for AWS OpsWorks's
2628// API operation DescribeInstances for usage and error information.
2629//
2630// Returned Error Types:
2631//   * ValidationException
2632//   Indicates that a request was not valid.
2633//
2634//   * ResourceNotFoundException
2635//   Indicates that a resource was not found.
2636//
2637// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeInstances
2638func (c *OpsWorks) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
2639	req, out := c.DescribeInstancesRequest(input)
2640	return out, req.Send()
2641}
2642
2643// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
2644// the ability to pass a context and additional request options.
2645//
2646// See DescribeInstances for details on how to use this API operation.
2647//
2648// The context must be non-nil and will be used for request cancellation. If
2649// the context is nil a panic will occur. In the future the SDK may create
2650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2651// for more information on using Contexts.
2652func (c *OpsWorks) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
2653	req, out := c.DescribeInstancesRequest(input)
2654	req.SetContext(ctx)
2655	req.ApplyOptions(opts...)
2656	return out, req.Send()
2657}
2658
2659const opDescribeLayers = "DescribeLayers"
2660
2661// DescribeLayersRequest generates a "aws/request.Request" representing the
2662// client's request for the DescribeLayers operation. The "output" return
2663// value will be populated with the request's response once the request completes
2664// successfully.
2665//
2666// Use "Send" method on the returned Request to send the API call to the service.
2667// the "output" return value is not valid until after Send returns without error.
2668//
2669// See DescribeLayers for more information on using the DescribeLayers
2670// API call, and error handling.
2671//
2672// This method is useful when you want to inject custom logic or configuration
2673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2674//
2675//
2676//    // Example sending a request using the DescribeLayersRequest method.
2677//    req, resp := client.DescribeLayersRequest(params)
2678//
2679//    err := req.Send()
2680//    if err == nil { // resp is now filled
2681//        fmt.Println(resp)
2682//    }
2683//
2684// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLayers
2685func (c *OpsWorks) DescribeLayersRequest(input *DescribeLayersInput) (req *request.Request, output *DescribeLayersOutput) {
2686	op := &request.Operation{
2687		Name:       opDescribeLayers,
2688		HTTPMethod: "POST",
2689		HTTPPath:   "/",
2690	}
2691
2692	if input == nil {
2693		input = &DescribeLayersInput{}
2694	}
2695
2696	output = &DescribeLayersOutput{}
2697	req = c.newRequest(op, input, output)
2698	return
2699}
2700
2701// DescribeLayers API operation for AWS OpsWorks.
2702//
2703// Requests a description of one or more layers in a specified stack.
2704//
2705// This call accepts only one resource-identifying parameter.
2706//
2707// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2708// or Manage permissions level for the stack, or an attached policy that explicitly
2709// grants permissions. For more information about user permissions, see Managing
2710// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2711//
2712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2713// with awserr.Error's Code and Message methods to get detailed information about
2714// the error.
2715//
2716// See the AWS API reference guide for AWS OpsWorks's
2717// API operation DescribeLayers for usage and error information.
2718//
2719// Returned Error Types:
2720//   * ValidationException
2721//   Indicates that a request was not valid.
2722//
2723//   * ResourceNotFoundException
2724//   Indicates that a resource was not found.
2725//
2726// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLayers
2727func (c *OpsWorks) DescribeLayers(input *DescribeLayersInput) (*DescribeLayersOutput, error) {
2728	req, out := c.DescribeLayersRequest(input)
2729	return out, req.Send()
2730}
2731
2732// DescribeLayersWithContext is the same as DescribeLayers with the addition of
2733// the ability to pass a context and additional request options.
2734//
2735// See DescribeLayers for details on how to use this API operation.
2736//
2737// The context must be non-nil and will be used for request cancellation. If
2738// the context is nil a panic will occur. In the future the SDK may create
2739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2740// for more information on using Contexts.
2741func (c *OpsWorks) DescribeLayersWithContext(ctx aws.Context, input *DescribeLayersInput, opts ...request.Option) (*DescribeLayersOutput, error) {
2742	req, out := c.DescribeLayersRequest(input)
2743	req.SetContext(ctx)
2744	req.ApplyOptions(opts...)
2745	return out, req.Send()
2746}
2747
2748const opDescribeLoadBasedAutoScaling = "DescribeLoadBasedAutoScaling"
2749
2750// DescribeLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the
2751// client's request for the DescribeLoadBasedAutoScaling operation. The "output" return
2752// value will be populated with the request's response once the request completes
2753// successfully.
2754//
2755// Use "Send" method on the returned Request to send the API call to the service.
2756// the "output" return value is not valid until after Send returns without error.
2757//
2758// See DescribeLoadBasedAutoScaling for more information on using the DescribeLoadBasedAutoScaling
2759// API call, and error handling.
2760//
2761// This method is useful when you want to inject custom logic or configuration
2762// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2763//
2764//
2765//    // Example sending a request using the DescribeLoadBasedAutoScalingRequest method.
2766//    req, resp := client.DescribeLoadBasedAutoScalingRequest(params)
2767//
2768//    err := req.Send()
2769//    if err == nil { // resp is now filled
2770//        fmt.Println(resp)
2771//    }
2772//
2773// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLoadBasedAutoScaling
2774func (c *OpsWorks) DescribeLoadBasedAutoScalingRequest(input *DescribeLoadBasedAutoScalingInput) (req *request.Request, output *DescribeLoadBasedAutoScalingOutput) {
2775	op := &request.Operation{
2776		Name:       opDescribeLoadBasedAutoScaling,
2777		HTTPMethod: "POST",
2778		HTTPPath:   "/",
2779	}
2780
2781	if input == nil {
2782		input = &DescribeLoadBasedAutoScalingInput{}
2783	}
2784
2785	output = &DescribeLoadBasedAutoScalingOutput{}
2786	req = c.newRequest(op, input, output)
2787	return
2788}
2789
2790// DescribeLoadBasedAutoScaling API operation for AWS OpsWorks.
2791//
2792// Describes load-based auto scaling configurations for specified layers.
2793//
2794// You must specify at least one of the parameters.
2795//
2796// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2797// or Manage permissions level for the stack, or an attached policy that explicitly
2798// grants permissions. For more information about user permissions, see Managing
2799// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2800//
2801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2802// with awserr.Error's Code and Message methods to get detailed information about
2803// the error.
2804//
2805// See the AWS API reference guide for AWS OpsWorks's
2806// API operation DescribeLoadBasedAutoScaling for usage and error information.
2807//
2808// Returned Error Types:
2809//   * ValidationException
2810//   Indicates that a request was not valid.
2811//
2812//   * ResourceNotFoundException
2813//   Indicates that a resource was not found.
2814//
2815// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLoadBasedAutoScaling
2816func (c *OpsWorks) DescribeLoadBasedAutoScaling(input *DescribeLoadBasedAutoScalingInput) (*DescribeLoadBasedAutoScalingOutput, error) {
2817	req, out := c.DescribeLoadBasedAutoScalingRequest(input)
2818	return out, req.Send()
2819}
2820
2821// DescribeLoadBasedAutoScalingWithContext is the same as DescribeLoadBasedAutoScaling with the addition of
2822// the ability to pass a context and additional request options.
2823//
2824// See DescribeLoadBasedAutoScaling for details on how to use this API operation.
2825//
2826// The context must be non-nil and will be used for request cancellation. If
2827// the context is nil a panic will occur. In the future the SDK may create
2828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2829// for more information on using Contexts.
2830func (c *OpsWorks) DescribeLoadBasedAutoScalingWithContext(ctx aws.Context, input *DescribeLoadBasedAutoScalingInput, opts ...request.Option) (*DescribeLoadBasedAutoScalingOutput, error) {
2831	req, out := c.DescribeLoadBasedAutoScalingRequest(input)
2832	req.SetContext(ctx)
2833	req.ApplyOptions(opts...)
2834	return out, req.Send()
2835}
2836
2837const opDescribeMyUserProfile = "DescribeMyUserProfile"
2838
2839// DescribeMyUserProfileRequest generates a "aws/request.Request" representing the
2840// client's request for the DescribeMyUserProfile operation. The "output" return
2841// value will be populated with the request's response once the request completes
2842// successfully.
2843//
2844// Use "Send" method on the returned Request to send the API call to the service.
2845// the "output" return value is not valid until after Send returns without error.
2846//
2847// See DescribeMyUserProfile for more information on using the DescribeMyUserProfile
2848// API call, and error handling.
2849//
2850// This method is useful when you want to inject custom logic or configuration
2851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2852//
2853//
2854//    // Example sending a request using the DescribeMyUserProfileRequest method.
2855//    req, resp := client.DescribeMyUserProfileRequest(params)
2856//
2857//    err := req.Send()
2858//    if err == nil { // resp is now filled
2859//        fmt.Println(resp)
2860//    }
2861//
2862// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeMyUserProfile
2863func (c *OpsWorks) DescribeMyUserProfileRequest(input *DescribeMyUserProfileInput) (req *request.Request, output *DescribeMyUserProfileOutput) {
2864	op := &request.Operation{
2865		Name:       opDescribeMyUserProfile,
2866		HTTPMethod: "POST",
2867		HTTPPath:   "/",
2868	}
2869
2870	if input == nil {
2871		input = &DescribeMyUserProfileInput{}
2872	}
2873
2874	output = &DescribeMyUserProfileOutput{}
2875	req = c.newRequest(op, input, output)
2876	return
2877}
2878
2879// DescribeMyUserProfile API operation for AWS OpsWorks.
2880//
2881// Describes a user's SSH information.
2882//
2883// Required Permissions: To use this action, an IAM user must have self-management
2884// enabled or an attached policy that explicitly grants permissions. For more
2885// information about user permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2886//
2887// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2888// with awserr.Error's Code and Message methods to get detailed information about
2889// the error.
2890//
2891// See the AWS API reference guide for AWS OpsWorks's
2892// API operation DescribeMyUserProfile for usage and error information.
2893// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeMyUserProfile
2894func (c *OpsWorks) DescribeMyUserProfile(input *DescribeMyUserProfileInput) (*DescribeMyUserProfileOutput, error) {
2895	req, out := c.DescribeMyUserProfileRequest(input)
2896	return out, req.Send()
2897}
2898
2899// DescribeMyUserProfileWithContext is the same as DescribeMyUserProfile with the addition of
2900// the ability to pass a context and additional request options.
2901//
2902// See DescribeMyUserProfile for details on how to use this API operation.
2903//
2904// The context must be non-nil and will be used for request cancellation. If
2905// the context is nil a panic will occur. In the future the SDK may create
2906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2907// for more information on using Contexts.
2908func (c *OpsWorks) DescribeMyUserProfileWithContext(ctx aws.Context, input *DescribeMyUserProfileInput, opts ...request.Option) (*DescribeMyUserProfileOutput, error) {
2909	req, out := c.DescribeMyUserProfileRequest(input)
2910	req.SetContext(ctx)
2911	req.ApplyOptions(opts...)
2912	return out, req.Send()
2913}
2914
2915const opDescribeOperatingSystems = "DescribeOperatingSystems"
2916
2917// DescribeOperatingSystemsRequest generates a "aws/request.Request" representing the
2918// client's request for the DescribeOperatingSystems operation. The "output" return
2919// value will be populated with the request's response once the request completes
2920// successfully.
2921//
2922// Use "Send" method on the returned Request to send the API call to the service.
2923// the "output" return value is not valid until after Send returns without error.
2924//
2925// See DescribeOperatingSystems for more information on using the DescribeOperatingSystems
2926// API call, and error handling.
2927//
2928// This method is useful when you want to inject custom logic or configuration
2929// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2930//
2931//
2932//    // Example sending a request using the DescribeOperatingSystemsRequest method.
2933//    req, resp := client.DescribeOperatingSystemsRequest(params)
2934//
2935//    err := req.Send()
2936//    if err == nil { // resp is now filled
2937//        fmt.Println(resp)
2938//    }
2939//
2940// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeOperatingSystems
2941func (c *OpsWorks) DescribeOperatingSystemsRequest(input *DescribeOperatingSystemsInput) (req *request.Request, output *DescribeOperatingSystemsOutput) {
2942	op := &request.Operation{
2943		Name:       opDescribeOperatingSystems,
2944		HTTPMethod: "POST",
2945		HTTPPath:   "/",
2946	}
2947
2948	if input == nil {
2949		input = &DescribeOperatingSystemsInput{}
2950	}
2951
2952	output = &DescribeOperatingSystemsOutput{}
2953	req = c.newRequest(op, input, output)
2954	return
2955}
2956
2957// DescribeOperatingSystems API operation for AWS OpsWorks.
2958//
2959// Describes the operating systems that are supported by AWS OpsWorks Stacks.
2960//
2961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2962// with awserr.Error's Code and Message methods to get detailed information about
2963// the error.
2964//
2965// See the AWS API reference guide for AWS OpsWorks's
2966// API operation DescribeOperatingSystems for usage and error information.
2967// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeOperatingSystems
2968func (c *OpsWorks) DescribeOperatingSystems(input *DescribeOperatingSystemsInput) (*DescribeOperatingSystemsOutput, error) {
2969	req, out := c.DescribeOperatingSystemsRequest(input)
2970	return out, req.Send()
2971}
2972
2973// DescribeOperatingSystemsWithContext is the same as DescribeOperatingSystems with the addition of
2974// the ability to pass a context and additional request options.
2975//
2976// See DescribeOperatingSystems for details on how to use this API operation.
2977//
2978// The context must be non-nil and will be used for request cancellation. If
2979// the context is nil a panic will occur. In the future the SDK may create
2980// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2981// for more information on using Contexts.
2982func (c *OpsWorks) DescribeOperatingSystemsWithContext(ctx aws.Context, input *DescribeOperatingSystemsInput, opts ...request.Option) (*DescribeOperatingSystemsOutput, error) {
2983	req, out := c.DescribeOperatingSystemsRequest(input)
2984	req.SetContext(ctx)
2985	req.ApplyOptions(opts...)
2986	return out, req.Send()
2987}
2988
2989const opDescribePermissions = "DescribePermissions"
2990
2991// DescribePermissionsRequest generates a "aws/request.Request" representing the
2992// client's request for the DescribePermissions operation. The "output" return
2993// value will be populated with the request's response once the request completes
2994// successfully.
2995//
2996// Use "Send" method on the returned Request to send the API call to the service.
2997// the "output" return value is not valid until after Send returns without error.
2998//
2999// See DescribePermissions for more information on using the DescribePermissions
3000// API call, and error handling.
3001//
3002// This method is useful when you want to inject custom logic or configuration
3003// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3004//
3005//
3006//    // Example sending a request using the DescribePermissionsRequest method.
3007//    req, resp := client.DescribePermissionsRequest(params)
3008//
3009//    err := req.Send()
3010//    if err == nil { // resp is now filled
3011//        fmt.Println(resp)
3012//    }
3013//
3014// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribePermissions
3015func (c *OpsWorks) DescribePermissionsRequest(input *DescribePermissionsInput) (req *request.Request, output *DescribePermissionsOutput) {
3016	op := &request.Operation{
3017		Name:       opDescribePermissions,
3018		HTTPMethod: "POST",
3019		HTTPPath:   "/",
3020	}
3021
3022	if input == nil {
3023		input = &DescribePermissionsInput{}
3024	}
3025
3026	output = &DescribePermissionsOutput{}
3027	req = c.newRequest(op, input, output)
3028	return
3029}
3030
3031// DescribePermissions API operation for AWS OpsWorks.
3032//
3033// Describes the permissions for a specified stack.
3034//
3035// Required Permissions: To use this action, an IAM user must have a Manage
3036// permissions level for the stack, or an attached policy that explicitly grants
3037// permissions. For more information on user permissions, see Managing User
3038// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3039//
3040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3041// with awserr.Error's Code and Message methods to get detailed information about
3042// the error.
3043//
3044// See the AWS API reference guide for AWS OpsWorks's
3045// API operation DescribePermissions for usage and error information.
3046//
3047// Returned Error Types:
3048//   * ValidationException
3049//   Indicates that a request was not valid.
3050//
3051//   * ResourceNotFoundException
3052//   Indicates that a resource was not found.
3053//
3054// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribePermissions
3055func (c *OpsWorks) DescribePermissions(input *DescribePermissionsInput) (*DescribePermissionsOutput, error) {
3056	req, out := c.DescribePermissionsRequest(input)
3057	return out, req.Send()
3058}
3059
3060// DescribePermissionsWithContext is the same as DescribePermissions with the addition of
3061// the ability to pass a context and additional request options.
3062//
3063// See DescribePermissions for details on how to use this API operation.
3064//
3065// The context must be non-nil and will be used for request cancellation. If
3066// the context is nil a panic will occur. In the future the SDK may create
3067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3068// for more information on using Contexts.
3069func (c *OpsWorks) DescribePermissionsWithContext(ctx aws.Context, input *DescribePermissionsInput, opts ...request.Option) (*DescribePermissionsOutput, error) {
3070	req, out := c.DescribePermissionsRequest(input)
3071	req.SetContext(ctx)
3072	req.ApplyOptions(opts...)
3073	return out, req.Send()
3074}
3075
3076const opDescribeRaidArrays = "DescribeRaidArrays"
3077
3078// DescribeRaidArraysRequest generates a "aws/request.Request" representing the
3079// client's request for the DescribeRaidArrays operation. The "output" return
3080// value will be populated with the request's response once the request completes
3081// successfully.
3082//
3083// Use "Send" method on the returned Request to send the API call to the service.
3084// the "output" return value is not valid until after Send returns without error.
3085//
3086// See DescribeRaidArrays for more information on using the DescribeRaidArrays
3087// API call, and error handling.
3088//
3089// This method is useful when you want to inject custom logic or configuration
3090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3091//
3092//
3093//    // Example sending a request using the DescribeRaidArraysRequest method.
3094//    req, resp := client.DescribeRaidArraysRequest(params)
3095//
3096//    err := req.Send()
3097//    if err == nil { // resp is now filled
3098//        fmt.Println(resp)
3099//    }
3100//
3101// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRaidArrays
3102func (c *OpsWorks) DescribeRaidArraysRequest(input *DescribeRaidArraysInput) (req *request.Request, output *DescribeRaidArraysOutput) {
3103	op := &request.Operation{
3104		Name:       opDescribeRaidArrays,
3105		HTTPMethod: "POST",
3106		HTTPPath:   "/",
3107	}
3108
3109	if input == nil {
3110		input = &DescribeRaidArraysInput{}
3111	}
3112
3113	output = &DescribeRaidArraysOutput{}
3114	req = c.newRequest(op, input, output)
3115	return
3116}
3117
3118// DescribeRaidArrays API operation for AWS OpsWorks.
3119//
3120// Describe an instance's RAID arrays.
3121//
3122// This call accepts only one resource-identifying parameter.
3123//
3124// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3125// or Manage permissions level for the stack, or an attached policy that explicitly
3126// grants permissions. For more information about user permissions, see Managing
3127// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3128//
3129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3130// with awserr.Error's Code and Message methods to get detailed information about
3131// the error.
3132//
3133// See the AWS API reference guide for AWS OpsWorks's
3134// API operation DescribeRaidArrays for usage and error information.
3135//
3136// Returned Error Types:
3137//   * ValidationException
3138//   Indicates that a request was not valid.
3139//
3140//   * ResourceNotFoundException
3141//   Indicates that a resource was not found.
3142//
3143// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRaidArrays
3144func (c *OpsWorks) DescribeRaidArrays(input *DescribeRaidArraysInput) (*DescribeRaidArraysOutput, error) {
3145	req, out := c.DescribeRaidArraysRequest(input)
3146	return out, req.Send()
3147}
3148
3149// DescribeRaidArraysWithContext is the same as DescribeRaidArrays with the addition of
3150// the ability to pass a context and additional request options.
3151//
3152// See DescribeRaidArrays for details on how to use this API operation.
3153//
3154// The context must be non-nil and will be used for request cancellation. If
3155// the context is nil a panic will occur. In the future the SDK may create
3156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3157// for more information on using Contexts.
3158func (c *OpsWorks) DescribeRaidArraysWithContext(ctx aws.Context, input *DescribeRaidArraysInput, opts ...request.Option) (*DescribeRaidArraysOutput, error) {
3159	req, out := c.DescribeRaidArraysRequest(input)
3160	req.SetContext(ctx)
3161	req.ApplyOptions(opts...)
3162	return out, req.Send()
3163}
3164
3165const opDescribeRdsDbInstances = "DescribeRdsDbInstances"
3166
3167// DescribeRdsDbInstancesRequest generates a "aws/request.Request" representing the
3168// client's request for the DescribeRdsDbInstances operation. The "output" return
3169// value will be populated with the request's response once the request completes
3170// successfully.
3171//
3172// Use "Send" method on the returned Request to send the API call to the service.
3173// the "output" return value is not valid until after Send returns without error.
3174//
3175// See DescribeRdsDbInstances for more information on using the DescribeRdsDbInstances
3176// API call, and error handling.
3177//
3178// This method is useful when you want to inject custom logic or configuration
3179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3180//
3181//
3182//    // Example sending a request using the DescribeRdsDbInstancesRequest method.
3183//    req, resp := client.DescribeRdsDbInstancesRequest(params)
3184//
3185//    err := req.Send()
3186//    if err == nil { // resp is now filled
3187//        fmt.Println(resp)
3188//    }
3189//
3190// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRdsDbInstances
3191func (c *OpsWorks) DescribeRdsDbInstancesRequest(input *DescribeRdsDbInstancesInput) (req *request.Request, output *DescribeRdsDbInstancesOutput) {
3192	op := &request.Operation{
3193		Name:       opDescribeRdsDbInstances,
3194		HTTPMethod: "POST",
3195		HTTPPath:   "/",
3196	}
3197
3198	if input == nil {
3199		input = &DescribeRdsDbInstancesInput{}
3200	}
3201
3202	output = &DescribeRdsDbInstancesOutput{}
3203	req = c.newRequest(op, input, output)
3204	return
3205}
3206
3207// DescribeRdsDbInstances API operation for AWS OpsWorks.
3208//
3209// Describes Amazon RDS instances.
3210//
3211// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3212// or Manage permissions level for the stack, or an attached policy that explicitly
3213// grants permissions. For more information about user permissions, see Managing
3214// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3215//
3216// This call accepts only one resource-identifying parameter.
3217//
3218// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3219// with awserr.Error's Code and Message methods to get detailed information about
3220// the error.
3221//
3222// See the AWS API reference guide for AWS OpsWorks's
3223// API operation DescribeRdsDbInstances for usage and error information.
3224//
3225// Returned Error Types:
3226//   * ValidationException
3227//   Indicates that a request was not valid.
3228//
3229//   * ResourceNotFoundException
3230//   Indicates that a resource was not found.
3231//
3232// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRdsDbInstances
3233func (c *OpsWorks) DescribeRdsDbInstances(input *DescribeRdsDbInstancesInput) (*DescribeRdsDbInstancesOutput, error) {
3234	req, out := c.DescribeRdsDbInstancesRequest(input)
3235	return out, req.Send()
3236}
3237
3238// DescribeRdsDbInstancesWithContext is the same as DescribeRdsDbInstances with the addition of
3239// the ability to pass a context and additional request options.
3240//
3241// See DescribeRdsDbInstances for details on how to use this API operation.
3242//
3243// The context must be non-nil and will be used for request cancellation. If
3244// the context is nil a panic will occur. In the future the SDK may create
3245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3246// for more information on using Contexts.
3247func (c *OpsWorks) DescribeRdsDbInstancesWithContext(ctx aws.Context, input *DescribeRdsDbInstancesInput, opts ...request.Option) (*DescribeRdsDbInstancesOutput, error) {
3248	req, out := c.DescribeRdsDbInstancesRequest(input)
3249	req.SetContext(ctx)
3250	req.ApplyOptions(opts...)
3251	return out, req.Send()
3252}
3253
3254const opDescribeServiceErrors = "DescribeServiceErrors"
3255
3256// DescribeServiceErrorsRequest generates a "aws/request.Request" representing the
3257// client's request for the DescribeServiceErrors operation. The "output" return
3258// value will be populated with the request's response once the request completes
3259// successfully.
3260//
3261// Use "Send" method on the returned Request to send the API call to the service.
3262// the "output" return value is not valid until after Send returns without error.
3263//
3264// See DescribeServiceErrors for more information on using the DescribeServiceErrors
3265// API call, and error handling.
3266//
3267// This method is useful when you want to inject custom logic or configuration
3268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3269//
3270//
3271//    // Example sending a request using the DescribeServiceErrorsRequest method.
3272//    req, resp := client.DescribeServiceErrorsRequest(params)
3273//
3274//    err := req.Send()
3275//    if err == nil { // resp is now filled
3276//        fmt.Println(resp)
3277//    }
3278//
3279// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeServiceErrors
3280func (c *OpsWorks) DescribeServiceErrorsRequest(input *DescribeServiceErrorsInput) (req *request.Request, output *DescribeServiceErrorsOutput) {
3281	op := &request.Operation{
3282		Name:       opDescribeServiceErrors,
3283		HTTPMethod: "POST",
3284		HTTPPath:   "/",
3285	}
3286
3287	if input == nil {
3288		input = &DescribeServiceErrorsInput{}
3289	}
3290
3291	output = &DescribeServiceErrorsOutput{}
3292	req = c.newRequest(op, input, output)
3293	return
3294}
3295
3296// DescribeServiceErrors API operation for AWS OpsWorks.
3297//
3298// Describes AWS OpsWorks Stacks service errors.
3299//
3300// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3301// or Manage permissions level for the stack, or an attached policy that explicitly
3302// grants permissions. For more information about user permissions, see Managing
3303// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3304//
3305// This call accepts only one resource-identifying parameter.
3306//
3307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3308// with awserr.Error's Code and Message methods to get detailed information about
3309// the error.
3310//
3311// See the AWS API reference guide for AWS OpsWorks's
3312// API operation DescribeServiceErrors for usage and error information.
3313//
3314// Returned Error Types:
3315//   * ValidationException
3316//   Indicates that a request was not valid.
3317//
3318//   * ResourceNotFoundException
3319//   Indicates that a resource was not found.
3320//
3321// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeServiceErrors
3322func (c *OpsWorks) DescribeServiceErrors(input *DescribeServiceErrorsInput) (*DescribeServiceErrorsOutput, error) {
3323	req, out := c.DescribeServiceErrorsRequest(input)
3324	return out, req.Send()
3325}
3326
3327// DescribeServiceErrorsWithContext is the same as DescribeServiceErrors with the addition of
3328// the ability to pass a context and additional request options.
3329//
3330// See DescribeServiceErrors for details on how to use this API operation.
3331//
3332// The context must be non-nil and will be used for request cancellation. If
3333// the context is nil a panic will occur. In the future the SDK may create
3334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3335// for more information on using Contexts.
3336func (c *OpsWorks) DescribeServiceErrorsWithContext(ctx aws.Context, input *DescribeServiceErrorsInput, opts ...request.Option) (*DescribeServiceErrorsOutput, error) {
3337	req, out := c.DescribeServiceErrorsRequest(input)
3338	req.SetContext(ctx)
3339	req.ApplyOptions(opts...)
3340	return out, req.Send()
3341}
3342
3343const opDescribeStackProvisioningParameters = "DescribeStackProvisioningParameters"
3344
3345// DescribeStackProvisioningParametersRequest generates a "aws/request.Request" representing the
3346// client's request for the DescribeStackProvisioningParameters operation. The "output" return
3347// value will be populated with the request's response once the request completes
3348// successfully.
3349//
3350// Use "Send" method on the returned Request to send the API call to the service.
3351// the "output" return value is not valid until after Send returns without error.
3352//
3353// See DescribeStackProvisioningParameters for more information on using the DescribeStackProvisioningParameters
3354// API call, and error handling.
3355//
3356// This method is useful when you want to inject custom logic or configuration
3357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3358//
3359//
3360//    // Example sending a request using the DescribeStackProvisioningParametersRequest method.
3361//    req, resp := client.DescribeStackProvisioningParametersRequest(params)
3362//
3363//    err := req.Send()
3364//    if err == nil { // resp is now filled
3365//        fmt.Println(resp)
3366//    }
3367//
3368// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackProvisioningParameters
3369func (c *OpsWorks) DescribeStackProvisioningParametersRequest(input *DescribeStackProvisioningParametersInput) (req *request.Request, output *DescribeStackProvisioningParametersOutput) {
3370	op := &request.Operation{
3371		Name:       opDescribeStackProvisioningParameters,
3372		HTTPMethod: "POST",
3373		HTTPPath:   "/",
3374	}
3375
3376	if input == nil {
3377		input = &DescribeStackProvisioningParametersInput{}
3378	}
3379
3380	output = &DescribeStackProvisioningParametersOutput{}
3381	req = c.newRequest(op, input, output)
3382	return
3383}
3384
3385// DescribeStackProvisioningParameters API operation for AWS OpsWorks.
3386//
3387// Requests a description of a stack's provisioning parameters.
3388//
3389// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3390// or Manage permissions level for the stack or an attached policy that explicitly
3391// grants permissions. For more information about user permissions, see Managing
3392// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3393//
3394// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3395// with awserr.Error's Code and Message methods to get detailed information about
3396// the error.
3397//
3398// See the AWS API reference guide for AWS OpsWorks's
3399// API operation DescribeStackProvisioningParameters for usage and error information.
3400//
3401// Returned Error Types:
3402//   * ValidationException
3403//   Indicates that a request was not valid.
3404//
3405//   * ResourceNotFoundException
3406//   Indicates that a resource was not found.
3407//
3408// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackProvisioningParameters
3409func (c *OpsWorks) DescribeStackProvisioningParameters(input *DescribeStackProvisioningParametersInput) (*DescribeStackProvisioningParametersOutput, error) {
3410	req, out := c.DescribeStackProvisioningParametersRequest(input)
3411	return out, req.Send()
3412}
3413
3414// DescribeStackProvisioningParametersWithContext is the same as DescribeStackProvisioningParameters with the addition of
3415// the ability to pass a context and additional request options.
3416//
3417// See DescribeStackProvisioningParameters for details on how to use this API operation.
3418//
3419// The context must be non-nil and will be used for request cancellation. If
3420// the context is nil a panic will occur. In the future the SDK may create
3421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3422// for more information on using Contexts.
3423func (c *OpsWorks) DescribeStackProvisioningParametersWithContext(ctx aws.Context, input *DescribeStackProvisioningParametersInput, opts ...request.Option) (*DescribeStackProvisioningParametersOutput, error) {
3424	req, out := c.DescribeStackProvisioningParametersRequest(input)
3425	req.SetContext(ctx)
3426	req.ApplyOptions(opts...)
3427	return out, req.Send()
3428}
3429
3430const opDescribeStackSummary = "DescribeStackSummary"
3431
3432// DescribeStackSummaryRequest generates a "aws/request.Request" representing the
3433// client's request for the DescribeStackSummary operation. The "output" return
3434// value will be populated with the request's response once the request completes
3435// successfully.
3436//
3437// Use "Send" method on the returned Request to send the API call to the service.
3438// the "output" return value is not valid until after Send returns without error.
3439//
3440// See DescribeStackSummary for more information on using the DescribeStackSummary
3441// API call, and error handling.
3442//
3443// This method is useful when you want to inject custom logic or configuration
3444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3445//
3446//
3447//    // Example sending a request using the DescribeStackSummaryRequest method.
3448//    req, resp := client.DescribeStackSummaryRequest(params)
3449//
3450//    err := req.Send()
3451//    if err == nil { // resp is now filled
3452//        fmt.Println(resp)
3453//    }
3454//
3455// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackSummary
3456func (c *OpsWorks) DescribeStackSummaryRequest(input *DescribeStackSummaryInput) (req *request.Request, output *DescribeStackSummaryOutput) {
3457	op := &request.Operation{
3458		Name:       opDescribeStackSummary,
3459		HTTPMethod: "POST",
3460		HTTPPath:   "/",
3461	}
3462
3463	if input == nil {
3464		input = &DescribeStackSummaryInput{}
3465	}
3466
3467	output = &DescribeStackSummaryOutput{}
3468	req = c.newRequest(op, input, output)
3469	return
3470}
3471
3472// DescribeStackSummary API operation for AWS OpsWorks.
3473//
3474// Describes the number of layers and apps in a specified stack, and the number
3475// of instances in each state, such as running_setup or online.
3476//
3477// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3478// or Manage permissions level for the stack, or an attached policy that explicitly
3479// grants permissions. For more information about user permissions, see Managing
3480// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3481//
3482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3483// with awserr.Error's Code and Message methods to get detailed information about
3484// the error.
3485//
3486// See the AWS API reference guide for AWS OpsWorks's
3487// API operation DescribeStackSummary for usage and error information.
3488//
3489// Returned Error Types:
3490//   * ValidationException
3491//   Indicates that a request was not valid.
3492//
3493//   * ResourceNotFoundException
3494//   Indicates that a resource was not found.
3495//
3496// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackSummary
3497func (c *OpsWorks) DescribeStackSummary(input *DescribeStackSummaryInput) (*DescribeStackSummaryOutput, error) {
3498	req, out := c.DescribeStackSummaryRequest(input)
3499	return out, req.Send()
3500}
3501
3502// DescribeStackSummaryWithContext is the same as DescribeStackSummary with the addition of
3503// the ability to pass a context and additional request options.
3504//
3505// See DescribeStackSummary for details on how to use this API operation.
3506//
3507// The context must be non-nil and will be used for request cancellation. If
3508// the context is nil a panic will occur. In the future the SDK may create
3509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3510// for more information on using Contexts.
3511func (c *OpsWorks) DescribeStackSummaryWithContext(ctx aws.Context, input *DescribeStackSummaryInput, opts ...request.Option) (*DescribeStackSummaryOutput, error) {
3512	req, out := c.DescribeStackSummaryRequest(input)
3513	req.SetContext(ctx)
3514	req.ApplyOptions(opts...)
3515	return out, req.Send()
3516}
3517
3518const opDescribeStacks = "DescribeStacks"
3519
3520// DescribeStacksRequest generates a "aws/request.Request" representing the
3521// client's request for the DescribeStacks operation. The "output" return
3522// value will be populated with the request's response once the request completes
3523// successfully.
3524//
3525// Use "Send" method on the returned Request to send the API call to the service.
3526// the "output" return value is not valid until after Send returns without error.
3527//
3528// See DescribeStacks for more information on using the DescribeStacks
3529// API call, and error handling.
3530//
3531// This method is useful when you want to inject custom logic or configuration
3532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3533//
3534//
3535//    // Example sending a request using the DescribeStacksRequest method.
3536//    req, resp := client.DescribeStacksRequest(params)
3537//
3538//    err := req.Send()
3539//    if err == nil { // resp is now filled
3540//        fmt.Println(resp)
3541//    }
3542//
3543// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStacks
3544func (c *OpsWorks) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) {
3545	op := &request.Operation{
3546		Name:       opDescribeStacks,
3547		HTTPMethod: "POST",
3548		HTTPPath:   "/",
3549	}
3550
3551	if input == nil {
3552		input = &DescribeStacksInput{}
3553	}
3554
3555	output = &DescribeStacksOutput{}
3556	req = c.newRequest(op, input, output)
3557	return
3558}
3559
3560// DescribeStacks API operation for AWS OpsWorks.
3561//
3562// Requests a description of one or more stacks.
3563//
3564// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3565// or Manage permissions level for the stack, or an attached policy that explicitly
3566// grants permissions. For more information about user permissions, see Managing
3567// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3568//
3569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3570// with awserr.Error's Code and Message methods to get detailed information about
3571// the error.
3572//
3573// See the AWS API reference guide for AWS OpsWorks's
3574// API operation DescribeStacks for usage and error information.
3575//
3576// Returned Error Types:
3577//   * ValidationException
3578//   Indicates that a request was not valid.
3579//
3580//   * ResourceNotFoundException
3581//   Indicates that a resource was not found.
3582//
3583// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStacks
3584func (c *OpsWorks) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) {
3585	req, out := c.DescribeStacksRequest(input)
3586	return out, req.Send()
3587}
3588
3589// DescribeStacksWithContext is the same as DescribeStacks with the addition of
3590// the ability to pass a context and additional request options.
3591//
3592// See DescribeStacks for details on how to use this API operation.
3593//
3594// The context must be non-nil and will be used for request cancellation. If
3595// the context is nil a panic will occur. In the future the SDK may create
3596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3597// for more information on using Contexts.
3598func (c *OpsWorks) DescribeStacksWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.Option) (*DescribeStacksOutput, error) {
3599	req, out := c.DescribeStacksRequest(input)
3600	req.SetContext(ctx)
3601	req.ApplyOptions(opts...)
3602	return out, req.Send()
3603}
3604
3605const opDescribeTimeBasedAutoScaling = "DescribeTimeBasedAutoScaling"
3606
3607// DescribeTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the
3608// client's request for the DescribeTimeBasedAutoScaling operation. The "output" return
3609// value will be populated with the request's response once the request completes
3610// successfully.
3611//
3612// Use "Send" method on the returned Request to send the API call to the service.
3613// the "output" return value is not valid until after Send returns without error.
3614//
3615// See DescribeTimeBasedAutoScaling for more information on using the DescribeTimeBasedAutoScaling
3616// API call, and error handling.
3617//
3618// This method is useful when you want to inject custom logic or configuration
3619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3620//
3621//
3622//    // Example sending a request using the DescribeTimeBasedAutoScalingRequest method.
3623//    req, resp := client.DescribeTimeBasedAutoScalingRequest(params)
3624//
3625//    err := req.Send()
3626//    if err == nil { // resp is now filled
3627//        fmt.Println(resp)
3628//    }
3629//
3630// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeTimeBasedAutoScaling
3631func (c *OpsWorks) DescribeTimeBasedAutoScalingRequest(input *DescribeTimeBasedAutoScalingInput) (req *request.Request, output *DescribeTimeBasedAutoScalingOutput) {
3632	op := &request.Operation{
3633		Name:       opDescribeTimeBasedAutoScaling,
3634		HTTPMethod: "POST",
3635		HTTPPath:   "/",
3636	}
3637
3638	if input == nil {
3639		input = &DescribeTimeBasedAutoScalingInput{}
3640	}
3641
3642	output = &DescribeTimeBasedAutoScalingOutput{}
3643	req = c.newRequest(op, input, output)
3644	return
3645}
3646
3647// DescribeTimeBasedAutoScaling API operation for AWS OpsWorks.
3648//
3649// Describes time-based auto scaling configurations for specified instances.
3650//
3651// You must specify at least one of the parameters.
3652//
3653// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3654// or Manage permissions level for the stack, or an attached policy that explicitly
3655// grants permissions. For more information about user permissions, see Managing
3656// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3657//
3658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3659// with awserr.Error's Code and Message methods to get detailed information about
3660// the error.
3661//
3662// See the AWS API reference guide for AWS OpsWorks's
3663// API operation DescribeTimeBasedAutoScaling for usage and error information.
3664//
3665// Returned Error Types:
3666//   * ValidationException
3667//   Indicates that a request was not valid.
3668//
3669//   * ResourceNotFoundException
3670//   Indicates that a resource was not found.
3671//
3672// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeTimeBasedAutoScaling
3673func (c *OpsWorks) DescribeTimeBasedAutoScaling(input *DescribeTimeBasedAutoScalingInput) (*DescribeTimeBasedAutoScalingOutput, error) {
3674	req, out := c.DescribeTimeBasedAutoScalingRequest(input)
3675	return out, req.Send()
3676}
3677
3678// DescribeTimeBasedAutoScalingWithContext is the same as DescribeTimeBasedAutoScaling with the addition of
3679// the ability to pass a context and additional request options.
3680//
3681// See DescribeTimeBasedAutoScaling for details on how to use this API operation.
3682//
3683// The context must be non-nil and will be used for request cancellation. If
3684// the context is nil a panic will occur. In the future the SDK may create
3685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3686// for more information on using Contexts.
3687func (c *OpsWorks) DescribeTimeBasedAutoScalingWithContext(ctx aws.Context, input *DescribeTimeBasedAutoScalingInput, opts ...request.Option) (*DescribeTimeBasedAutoScalingOutput, error) {
3688	req, out := c.DescribeTimeBasedAutoScalingRequest(input)
3689	req.SetContext(ctx)
3690	req.ApplyOptions(opts...)
3691	return out, req.Send()
3692}
3693
3694const opDescribeUserProfiles = "DescribeUserProfiles"
3695
3696// DescribeUserProfilesRequest generates a "aws/request.Request" representing the
3697// client's request for the DescribeUserProfiles operation. The "output" return
3698// value will be populated with the request's response once the request completes
3699// successfully.
3700//
3701// Use "Send" method on the returned Request to send the API call to the service.
3702// the "output" return value is not valid until after Send returns without error.
3703//
3704// See DescribeUserProfiles for more information on using the DescribeUserProfiles
3705// API call, and error handling.
3706//
3707// This method is useful when you want to inject custom logic or configuration
3708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3709//
3710//
3711//    // Example sending a request using the DescribeUserProfilesRequest method.
3712//    req, resp := client.DescribeUserProfilesRequest(params)
3713//
3714//    err := req.Send()
3715//    if err == nil { // resp is now filled
3716//        fmt.Println(resp)
3717//    }
3718//
3719// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeUserProfiles
3720func (c *OpsWorks) DescribeUserProfilesRequest(input *DescribeUserProfilesInput) (req *request.Request, output *DescribeUserProfilesOutput) {
3721	op := &request.Operation{
3722		Name:       opDescribeUserProfiles,
3723		HTTPMethod: "POST",
3724		HTTPPath:   "/",
3725	}
3726
3727	if input == nil {
3728		input = &DescribeUserProfilesInput{}
3729	}
3730
3731	output = &DescribeUserProfilesOutput{}
3732	req = c.newRequest(op, input, output)
3733	return
3734}
3735
3736// DescribeUserProfiles API operation for AWS OpsWorks.
3737//
3738// Describe specified users.
3739//
3740// Required Permissions: To use this action, an IAM user must have an attached
3741// policy that explicitly grants permissions. For more information about user
3742// permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3743//
3744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3745// with awserr.Error's Code and Message methods to get detailed information about
3746// the error.
3747//
3748// See the AWS API reference guide for AWS OpsWorks's
3749// API operation DescribeUserProfiles for usage and error information.
3750//
3751// Returned Error Types:
3752//   * ValidationException
3753//   Indicates that a request was not valid.
3754//
3755//   * ResourceNotFoundException
3756//   Indicates that a resource was not found.
3757//
3758// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeUserProfiles
3759func (c *OpsWorks) DescribeUserProfiles(input *DescribeUserProfilesInput) (*DescribeUserProfilesOutput, error) {
3760	req, out := c.DescribeUserProfilesRequest(input)
3761	return out, req.Send()
3762}
3763
3764// DescribeUserProfilesWithContext is the same as DescribeUserProfiles with the addition of
3765// the ability to pass a context and additional request options.
3766//
3767// See DescribeUserProfiles for details on how to use this API operation.
3768//
3769// The context must be non-nil and will be used for request cancellation. If
3770// the context is nil a panic will occur. In the future the SDK may create
3771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3772// for more information on using Contexts.
3773func (c *OpsWorks) DescribeUserProfilesWithContext(ctx aws.Context, input *DescribeUserProfilesInput, opts ...request.Option) (*DescribeUserProfilesOutput, error) {
3774	req, out := c.DescribeUserProfilesRequest(input)
3775	req.SetContext(ctx)
3776	req.ApplyOptions(opts...)
3777	return out, req.Send()
3778}
3779
3780const opDescribeVolumes = "DescribeVolumes"
3781
3782// DescribeVolumesRequest generates a "aws/request.Request" representing the
3783// client's request for the DescribeVolumes operation. The "output" return
3784// value will be populated with the request's response once the request completes
3785// successfully.
3786//
3787// Use "Send" method on the returned Request to send the API call to the service.
3788// the "output" return value is not valid until after Send returns without error.
3789//
3790// See DescribeVolumes for more information on using the DescribeVolumes
3791// API call, and error handling.
3792//
3793// This method is useful when you want to inject custom logic or configuration
3794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3795//
3796//
3797//    // Example sending a request using the DescribeVolumesRequest method.
3798//    req, resp := client.DescribeVolumesRequest(params)
3799//
3800//    err := req.Send()
3801//    if err == nil { // resp is now filled
3802//        fmt.Println(resp)
3803//    }
3804//
3805// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeVolumes
3806func (c *OpsWorks) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
3807	op := &request.Operation{
3808		Name:       opDescribeVolumes,
3809		HTTPMethod: "POST",
3810		HTTPPath:   "/",
3811	}
3812
3813	if input == nil {
3814		input = &DescribeVolumesInput{}
3815	}
3816
3817	output = &DescribeVolumesOutput{}
3818	req = c.newRequest(op, input, output)
3819	return
3820}
3821
3822// DescribeVolumes API operation for AWS OpsWorks.
3823//
3824// Describes an instance's Amazon EBS volumes.
3825//
3826// This call accepts only one resource-identifying parameter.
3827//
3828// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3829// or Manage permissions level for the stack, or an attached policy that explicitly
3830// grants permissions. For more information about user permissions, see Managing
3831// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3832//
3833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3834// with awserr.Error's Code and Message methods to get detailed information about
3835// the error.
3836//
3837// See the AWS API reference guide for AWS OpsWorks's
3838// API operation DescribeVolumes for usage and error information.
3839//
3840// Returned Error Types:
3841//   * ValidationException
3842//   Indicates that a request was not valid.
3843//
3844//   * ResourceNotFoundException
3845//   Indicates that a resource was not found.
3846//
3847// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeVolumes
3848func (c *OpsWorks) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
3849	req, out := c.DescribeVolumesRequest(input)
3850	return out, req.Send()
3851}
3852
3853// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
3854// the ability to pass a context and additional request options.
3855//
3856// See DescribeVolumes for details on how to use this API operation.
3857//
3858// The context must be non-nil and will be used for request cancellation. If
3859// the context is nil a panic will occur. In the future the SDK may create
3860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3861// for more information on using Contexts.
3862func (c *OpsWorks) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
3863	req, out := c.DescribeVolumesRequest(input)
3864	req.SetContext(ctx)
3865	req.ApplyOptions(opts...)
3866	return out, req.Send()
3867}
3868
3869const opDetachElasticLoadBalancer = "DetachElasticLoadBalancer"
3870
3871// DetachElasticLoadBalancerRequest generates a "aws/request.Request" representing the
3872// client's request for the DetachElasticLoadBalancer operation. The "output" return
3873// value will be populated with the request's response once the request completes
3874// successfully.
3875//
3876// Use "Send" method on the returned Request to send the API call to the service.
3877// the "output" return value is not valid until after Send returns without error.
3878//
3879// See DetachElasticLoadBalancer for more information on using the DetachElasticLoadBalancer
3880// API call, and error handling.
3881//
3882// This method is useful when you want to inject custom logic or configuration
3883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3884//
3885//
3886//    // Example sending a request using the DetachElasticLoadBalancerRequest method.
3887//    req, resp := client.DetachElasticLoadBalancerRequest(params)
3888//
3889//    err := req.Send()
3890//    if err == nil { // resp is now filled
3891//        fmt.Println(resp)
3892//    }
3893//
3894// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DetachElasticLoadBalancer
3895func (c *OpsWorks) DetachElasticLoadBalancerRequest(input *DetachElasticLoadBalancerInput) (req *request.Request, output *DetachElasticLoadBalancerOutput) {
3896	op := &request.Operation{
3897		Name:       opDetachElasticLoadBalancer,
3898		HTTPMethod: "POST",
3899		HTTPPath:   "/",
3900	}
3901
3902	if input == nil {
3903		input = &DetachElasticLoadBalancerInput{}
3904	}
3905
3906	output = &DetachElasticLoadBalancerOutput{}
3907	req = c.newRequest(op, input, output)
3908	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3909	return
3910}
3911
3912// DetachElasticLoadBalancer API operation for AWS OpsWorks.
3913//
3914// Detaches a specified Elastic Load Balancing instance from its layer.
3915//
3916// Required Permissions: To use this action, an IAM user must have a Manage
3917// permissions level for the stack, or an attached policy that explicitly grants
3918// permissions. For more information on user permissions, see Managing User
3919// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3920//
3921// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3922// with awserr.Error's Code and Message methods to get detailed information about
3923// the error.
3924//
3925// See the AWS API reference guide for AWS OpsWorks's
3926// API operation DetachElasticLoadBalancer for usage and error information.
3927//
3928// Returned Error Types:
3929//   * ResourceNotFoundException
3930//   Indicates that a resource was not found.
3931//
3932// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DetachElasticLoadBalancer
3933func (c *OpsWorks) DetachElasticLoadBalancer(input *DetachElasticLoadBalancerInput) (*DetachElasticLoadBalancerOutput, error) {
3934	req, out := c.DetachElasticLoadBalancerRequest(input)
3935	return out, req.Send()
3936}
3937
3938// DetachElasticLoadBalancerWithContext is the same as DetachElasticLoadBalancer with the addition of
3939// the ability to pass a context and additional request options.
3940//
3941// See DetachElasticLoadBalancer for details on how to use this API operation.
3942//
3943// The context must be non-nil and will be used for request cancellation. If
3944// the context is nil a panic will occur. In the future the SDK may create
3945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3946// for more information on using Contexts.
3947func (c *OpsWorks) DetachElasticLoadBalancerWithContext(ctx aws.Context, input *DetachElasticLoadBalancerInput, opts ...request.Option) (*DetachElasticLoadBalancerOutput, error) {
3948	req, out := c.DetachElasticLoadBalancerRequest(input)
3949	req.SetContext(ctx)
3950	req.ApplyOptions(opts...)
3951	return out, req.Send()
3952}
3953
3954const opDisassociateElasticIp = "DisassociateElasticIp"
3955
3956// DisassociateElasticIpRequest generates a "aws/request.Request" representing the
3957// client's request for the DisassociateElasticIp operation. The "output" return
3958// value will be populated with the request's response once the request completes
3959// successfully.
3960//
3961// Use "Send" method on the returned Request to send the API call to the service.
3962// the "output" return value is not valid until after Send returns without error.
3963//
3964// See DisassociateElasticIp for more information on using the DisassociateElasticIp
3965// API call, and error handling.
3966//
3967// This method is useful when you want to inject custom logic or configuration
3968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3969//
3970//
3971//    // Example sending a request using the DisassociateElasticIpRequest method.
3972//    req, resp := client.DisassociateElasticIpRequest(params)
3973//
3974//    err := req.Send()
3975//    if err == nil { // resp is now filled
3976//        fmt.Println(resp)
3977//    }
3978//
3979// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DisassociateElasticIp
3980func (c *OpsWorks) DisassociateElasticIpRequest(input *DisassociateElasticIpInput) (req *request.Request, output *DisassociateElasticIpOutput) {
3981	op := &request.Operation{
3982		Name:       opDisassociateElasticIp,
3983		HTTPMethod: "POST",
3984		HTTPPath:   "/",
3985	}
3986
3987	if input == nil {
3988		input = &DisassociateElasticIpInput{}
3989	}
3990
3991	output = &DisassociateElasticIpOutput{}
3992	req = c.newRequest(op, input, output)
3993	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3994	return
3995}
3996
3997// DisassociateElasticIp API operation for AWS OpsWorks.
3998//
3999// Disassociates an Elastic IP address from its instance. The address remains
4000// registered with the stack. For more information, see Resource Management
4001// (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
4002//
4003// Required Permissions: To use this action, an IAM user must have a Manage
4004// permissions level for the stack, or an attached policy that explicitly grants
4005// permissions. For more information on user permissions, see Managing User
4006// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4007//
4008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4009// with awserr.Error's Code and Message methods to get detailed information about
4010// the error.
4011//
4012// See the AWS API reference guide for AWS OpsWorks's
4013// API operation DisassociateElasticIp for usage and error information.
4014//
4015// Returned Error Types:
4016//   * ValidationException
4017//   Indicates that a request was not valid.
4018//
4019//   * ResourceNotFoundException
4020//   Indicates that a resource was not found.
4021//
4022// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DisassociateElasticIp
4023func (c *OpsWorks) DisassociateElasticIp(input *DisassociateElasticIpInput) (*DisassociateElasticIpOutput, error) {
4024	req, out := c.DisassociateElasticIpRequest(input)
4025	return out, req.Send()
4026}
4027
4028// DisassociateElasticIpWithContext is the same as DisassociateElasticIp with the addition of
4029// the ability to pass a context and additional request options.
4030//
4031// See DisassociateElasticIp for details on how to use this API operation.
4032//
4033// The context must be non-nil and will be used for request cancellation. If
4034// the context is nil a panic will occur. In the future the SDK may create
4035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4036// for more information on using Contexts.
4037func (c *OpsWorks) DisassociateElasticIpWithContext(ctx aws.Context, input *DisassociateElasticIpInput, opts ...request.Option) (*DisassociateElasticIpOutput, error) {
4038	req, out := c.DisassociateElasticIpRequest(input)
4039	req.SetContext(ctx)
4040	req.ApplyOptions(opts...)
4041	return out, req.Send()
4042}
4043
4044const opGetHostnameSuggestion = "GetHostnameSuggestion"
4045
4046// GetHostnameSuggestionRequest generates a "aws/request.Request" representing the
4047// client's request for the GetHostnameSuggestion operation. The "output" return
4048// value will be populated with the request's response once the request completes
4049// successfully.
4050//
4051// Use "Send" method on the returned Request to send the API call to the service.
4052// the "output" return value is not valid until after Send returns without error.
4053//
4054// See GetHostnameSuggestion for more information on using the GetHostnameSuggestion
4055// API call, and error handling.
4056//
4057// This method is useful when you want to inject custom logic or configuration
4058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4059//
4060//
4061//    // Example sending a request using the GetHostnameSuggestionRequest method.
4062//    req, resp := client.GetHostnameSuggestionRequest(params)
4063//
4064//    err := req.Send()
4065//    if err == nil { // resp is now filled
4066//        fmt.Println(resp)
4067//    }
4068//
4069// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GetHostnameSuggestion
4070func (c *OpsWorks) GetHostnameSuggestionRequest(input *GetHostnameSuggestionInput) (req *request.Request, output *GetHostnameSuggestionOutput) {
4071	op := &request.Operation{
4072		Name:       opGetHostnameSuggestion,
4073		HTTPMethod: "POST",
4074		HTTPPath:   "/",
4075	}
4076
4077	if input == nil {
4078		input = &GetHostnameSuggestionInput{}
4079	}
4080
4081	output = &GetHostnameSuggestionOutput{}
4082	req = c.newRequest(op, input, output)
4083	return
4084}
4085
4086// GetHostnameSuggestion API operation for AWS OpsWorks.
4087//
4088// Gets a generated host name for the specified layer, based on the current
4089// host name theme.
4090//
4091// Required Permissions: To use this action, an IAM user must have a Manage
4092// permissions level for the stack, or an attached policy that explicitly grants
4093// permissions. For more information on user permissions, see Managing User
4094// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4095//
4096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4097// with awserr.Error's Code and Message methods to get detailed information about
4098// the error.
4099//
4100// See the AWS API reference guide for AWS OpsWorks's
4101// API operation GetHostnameSuggestion for usage and error information.
4102//
4103// Returned Error Types:
4104//   * ValidationException
4105//   Indicates that a request was not valid.
4106//
4107//   * ResourceNotFoundException
4108//   Indicates that a resource was not found.
4109//
4110// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GetHostnameSuggestion
4111func (c *OpsWorks) GetHostnameSuggestion(input *GetHostnameSuggestionInput) (*GetHostnameSuggestionOutput, error) {
4112	req, out := c.GetHostnameSuggestionRequest(input)
4113	return out, req.Send()
4114}
4115
4116// GetHostnameSuggestionWithContext is the same as GetHostnameSuggestion with the addition of
4117// the ability to pass a context and additional request options.
4118//
4119// See GetHostnameSuggestion for details on how to use this API operation.
4120//
4121// The context must be non-nil and will be used for request cancellation. If
4122// the context is nil a panic will occur. In the future the SDK may create
4123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4124// for more information on using Contexts.
4125func (c *OpsWorks) GetHostnameSuggestionWithContext(ctx aws.Context, input *GetHostnameSuggestionInput, opts ...request.Option) (*GetHostnameSuggestionOutput, error) {
4126	req, out := c.GetHostnameSuggestionRequest(input)
4127	req.SetContext(ctx)
4128	req.ApplyOptions(opts...)
4129	return out, req.Send()
4130}
4131
4132const opGrantAccess = "GrantAccess"
4133
4134// GrantAccessRequest generates a "aws/request.Request" representing the
4135// client's request for the GrantAccess operation. The "output" return
4136// value will be populated with the request's response once the request completes
4137// successfully.
4138//
4139// Use "Send" method on the returned Request to send the API call to the service.
4140// the "output" return value is not valid until after Send returns without error.
4141//
4142// See GrantAccess for more information on using the GrantAccess
4143// API call, and error handling.
4144//
4145// This method is useful when you want to inject custom logic or configuration
4146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4147//
4148//
4149//    // Example sending a request using the GrantAccessRequest method.
4150//    req, resp := client.GrantAccessRequest(params)
4151//
4152//    err := req.Send()
4153//    if err == nil { // resp is now filled
4154//        fmt.Println(resp)
4155//    }
4156//
4157// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GrantAccess
4158func (c *OpsWorks) GrantAccessRequest(input *GrantAccessInput) (req *request.Request, output *GrantAccessOutput) {
4159	op := &request.Operation{
4160		Name:       opGrantAccess,
4161		HTTPMethod: "POST",
4162		HTTPPath:   "/",
4163	}
4164
4165	if input == nil {
4166		input = &GrantAccessInput{}
4167	}
4168
4169	output = &GrantAccessOutput{}
4170	req = c.newRequest(op, input, output)
4171	return
4172}
4173
4174// GrantAccess API operation for AWS OpsWorks.
4175//
4176//
4177// This action can be used only with Windows stacks.
4178//
4179// Grants RDP access to a Windows instance for a specified time period.
4180//
4181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4182// with awserr.Error's Code and Message methods to get detailed information about
4183// the error.
4184//
4185// See the AWS API reference guide for AWS OpsWorks's
4186// API operation GrantAccess for usage and error information.
4187//
4188// Returned Error Types:
4189//   * ValidationException
4190//   Indicates that a request was not valid.
4191//
4192//   * ResourceNotFoundException
4193//   Indicates that a resource was not found.
4194//
4195// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GrantAccess
4196func (c *OpsWorks) GrantAccess(input *GrantAccessInput) (*GrantAccessOutput, error) {
4197	req, out := c.GrantAccessRequest(input)
4198	return out, req.Send()
4199}
4200
4201// GrantAccessWithContext is the same as GrantAccess with the addition of
4202// the ability to pass a context and additional request options.
4203//
4204// See GrantAccess for details on how to use this API operation.
4205//
4206// The context must be non-nil and will be used for request cancellation. If
4207// the context is nil a panic will occur. In the future the SDK may create
4208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4209// for more information on using Contexts.
4210func (c *OpsWorks) GrantAccessWithContext(ctx aws.Context, input *GrantAccessInput, opts ...request.Option) (*GrantAccessOutput, error) {
4211	req, out := c.GrantAccessRequest(input)
4212	req.SetContext(ctx)
4213	req.ApplyOptions(opts...)
4214	return out, req.Send()
4215}
4216
4217const opListTags = "ListTags"
4218
4219// ListTagsRequest generates a "aws/request.Request" representing the
4220// client's request for the ListTags operation. The "output" return
4221// value will be populated with the request's response once the request completes
4222// successfully.
4223//
4224// Use "Send" method on the returned Request to send the API call to the service.
4225// the "output" return value is not valid until after Send returns without error.
4226//
4227// See ListTags for more information on using the ListTags
4228// API call, and error handling.
4229//
4230// This method is useful when you want to inject custom logic or configuration
4231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4232//
4233//
4234//    // Example sending a request using the ListTagsRequest method.
4235//    req, resp := client.ListTagsRequest(params)
4236//
4237//    err := req.Send()
4238//    if err == nil { // resp is now filled
4239//        fmt.Println(resp)
4240//    }
4241//
4242// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/ListTags
4243func (c *OpsWorks) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
4244	op := &request.Operation{
4245		Name:       opListTags,
4246		HTTPMethod: "POST",
4247		HTTPPath:   "/",
4248	}
4249
4250	if input == nil {
4251		input = &ListTagsInput{}
4252	}
4253
4254	output = &ListTagsOutput{}
4255	req = c.newRequest(op, input, output)
4256	return
4257}
4258
4259// ListTags API operation for AWS OpsWorks.
4260//
4261// Returns a list of tags that are applied to the specified stack or layer.
4262//
4263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4264// with awserr.Error's Code and Message methods to get detailed information about
4265// the error.
4266//
4267// See the AWS API reference guide for AWS OpsWorks's
4268// API operation ListTags for usage and error information.
4269//
4270// Returned Error Types:
4271//   * ValidationException
4272//   Indicates that a request was not valid.
4273//
4274//   * ResourceNotFoundException
4275//   Indicates that a resource was not found.
4276//
4277// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/ListTags
4278func (c *OpsWorks) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
4279	req, out := c.ListTagsRequest(input)
4280	return out, req.Send()
4281}
4282
4283// ListTagsWithContext is the same as ListTags with the addition of
4284// the ability to pass a context and additional request options.
4285//
4286// See ListTags for details on how to use this API operation.
4287//
4288// The context must be non-nil and will be used for request cancellation. If
4289// the context is nil a panic will occur. In the future the SDK may create
4290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4291// for more information on using Contexts.
4292func (c *OpsWorks) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
4293	req, out := c.ListTagsRequest(input)
4294	req.SetContext(ctx)
4295	req.ApplyOptions(opts...)
4296	return out, req.Send()
4297}
4298
4299const opRebootInstance = "RebootInstance"
4300
4301// RebootInstanceRequest generates a "aws/request.Request" representing the
4302// client's request for the RebootInstance operation. The "output" return
4303// value will be populated with the request's response once the request completes
4304// successfully.
4305//
4306// Use "Send" method on the returned Request to send the API call to the service.
4307// the "output" return value is not valid until after Send returns without error.
4308//
4309// See RebootInstance for more information on using the RebootInstance
4310// API call, and error handling.
4311//
4312// This method is useful when you want to inject custom logic or configuration
4313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4314//
4315//
4316//    // Example sending a request using the RebootInstanceRequest method.
4317//    req, resp := client.RebootInstanceRequest(params)
4318//
4319//    err := req.Send()
4320//    if err == nil { // resp is now filled
4321//        fmt.Println(resp)
4322//    }
4323//
4324// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RebootInstance
4325func (c *OpsWorks) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
4326	op := &request.Operation{
4327		Name:       opRebootInstance,
4328		HTTPMethod: "POST",
4329		HTTPPath:   "/",
4330	}
4331
4332	if input == nil {
4333		input = &RebootInstanceInput{}
4334	}
4335
4336	output = &RebootInstanceOutput{}
4337	req = c.newRequest(op, input, output)
4338	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4339	return
4340}
4341
4342// RebootInstance API operation for AWS OpsWorks.
4343//
4344// Reboots a specified instance. For more information, see Starting, Stopping,
4345// and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
4346//
4347// Required Permissions: To use this action, an IAM user must have a Manage
4348// permissions level for the stack, or an attached policy that explicitly grants
4349// permissions. For more information on user permissions, see Managing User
4350// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4351//
4352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4353// with awserr.Error's Code and Message methods to get detailed information about
4354// the error.
4355//
4356// See the AWS API reference guide for AWS OpsWorks's
4357// API operation RebootInstance for usage and error information.
4358//
4359// Returned Error Types:
4360//   * ValidationException
4361//   Indicates that a request was not valid.
4362//
4363//   * ResourceNotFoundException
4364//   Indicates that a resource was not found.
4365//
4366// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RebootInstance
4367func (c *OpsWorks) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
4368	req, out := c.RebootInstanceRequest(input)
4369	return out, req.Send()
4370}
4371
4372// RebootInstanceWithContext is the same as RebootInstance with the addition of
4373// the ability to pass a context and additional request options.
4374//
4375// See RebootInstance for details on how to use this API operation.
4376//
4377// The context must be non-nil and will be used for request cancellation. If
4378// the context is nil a panic will occur. In the future the SDK may create
4379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4380// for more information on using Contexts.
4381func (c *OpsWorks) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
4382	req, out := c.RebootInstanceRequest(input)
4383	req.SetContext(ctx)
4384	req.ApplyOptions(opts...)
4385	return out, req.Send()
4386}
4387
4388const opRegisterEcsCluster = "RegisterEcsCluster"
4389
4390// RegisterEcsClusterRequest generates a "aws/request.Request" representing the
4391// client's request for the RegisterEcsCluster operation. The "output" return
4392// value will be populated with the request's response once the request completes
4393// successfully.
4394//
4395// Use "Send" method on the returned Request to send the API call to the service.
4396// the "output" return value is not valid until after Send returns without error.
4397//
4398// See RegisterEcsCluster for more information on using the RegisterEcsCluster
4399// API call, and error handling.
4400//
4401// This method is useful when you want to inject custom logic or configuration
4402// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4403//
4404//
4405//    // Example sending a request using the RegisterEcsClusterRequest method.
4406//    req, resp := client.RegisterEcsClusterRequest(params)
4407//
4408//    err := req.Send()
4409//    if err == nil { // resp is now filled
4410//        fmt.Println(resp)
4411//    }
4412//
4413// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterEcsCluster
4414func (c *OpsWorks) RegisterEcsClusterRequest(input *RegisterEcsClusterInput) (req *request.Request, output *RegisterEcsClusterOutput) {
4415	op := &request.Operation{
4416		Name:       opRegisterEcsCluster,
4417		HTTPMethod: "POST",
4418		HTTPPath:   "/",
4419	}
4420
4421	if input == nil {
4422		input = &RegisterEcsClusterInput{}
4423	}
4424
4425	output = &RegisterEcsClusterOutput{}
4426	req = c.newRequest(op, input, output)
4427	return
4428}
4429
4430// RegisterEcsCluster API operation for AWS OpsWorks.
4431//
4432// Registers a specified Amazon ECS cluster with a stack. You can register only
4433// one cluster with a stack. A cluster can be registered with only one stack.
4434// For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html).
4435//
4436// Required Permissions: To use this action, an IAM user must have a Manage
4437// permissions level for the stack or an attached policy that explicitly grants
4438// permissions. For more information on user permissions, see Managing User
4439// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4440//
4441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4442// with awserr.Error's Code and Message methods to get detailed information about
4443// the error.
4444//
4445// See the AWS API reference guide for AWS OpsWorks's
4446// API operation RegisterEcsCluster for usage and error information.
4447//
4448// Returned Error Types:
4449//   * ValidationException
4450//   Indicates that a request was not valid.
4451//
4452//   * ResourceNotFoundException
4453//   Indicates that a resource was not found.
4454//
4455// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterEcsCluster
4456func (c *OpsWorks) RegisterEcsCluster(input *RegisterEcsClusterInput) (*RegisterEcsClusterOutput, error) {
4457	req, out := c.RegisterEcsClusterRequest(input)
4458	return out, req.Send()
4459}
4460
4461// RegisterEcsClusterWithContext is the same as RegisterEcsCluster with the addition of
4462// the ability to pass a context and additional request options.
4463//
4464// See RegisterEcsCluster for details on how to use this API operation.
4465//
4466// The context must be non-nil and will be used for request cancellation. If
4467// the context is nil a panic will occur. In the future the SDK may create
4468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4469// for more information on using Contexts.
4470func (c *OpsWorks) RegisterEcsClusterWithContext(ctx aws.Context, input *RegisterEcsClusterInput, opts ...request.Option) (*RegisterEcsClusterOutput, error) {
4471	req, out := c.RegisterEcsClusterRequest(input)
4472	req.SetContext(ctx)
4473	req.ApplyOptions(opts...)
4474	return out, req.Send()
4475}
4476
4477const opRegisterElasticIp = "RegisterElasticIp"
4478
4479// RegisterElasticIpRequest generates a "aws/request.Request" representing the
4480// client's request for the RegisterElasticIp operation. The "output" return
4481// value will be populated with the request's response once the request completes
4482// successfully.
4483//
4484// Use "Send" method on the returned Request to send the API call to the service.
4485// the "output" return value is not valid until after Send returns without error.
4486//
4487// See RegisterElasticIp for more information on using the RegisterElasticIp
4488// API call, and error handling.
4489//
4490// This method is useful when you want to inject custom logic or configuration
4491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4492//
4493//
4494//    // Example sending a request using the RegisterElasticIpRequest method.
4495//    req, resp := client.RegisterElasticIpRequest(params)
4496//
4497//    err := req.Send()
4498//    if err == nil { // resp is now filled
4499//        fmt.Println(resp)
4500//    }
4501//
4502// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterElasticIp
4503func (c *OpsWorks) RegisterElasticIpRequest(input *RegisterElasticIpInput) (req *request.Request, output *RegisterElasticIpOutput) {
4504	op := &request.Operation{
4505		Name:       opRegisterElasticIp,
4506		HTTPMethod: "POST",
4507		HTTPPath:   "/",
4508	}
4509
4510	if input == nil {
4511		input = &RegisterElasticIpInput{}
4512	}
4513
4514	output = &RegisterElasticIpOutput{}
4515	req = c.newRequest(op, input, output)
4516	return
4517}
4518
4519// RegisterElasticIp API operation for AWS OpsWorks.
4520//
4521// Registers an Elastic IP address with a specified stack. An address can be
4522// registered with only one stack at a time. If the address is already registered,
4523// you must first deregister it by calling DeregisterElasticIp. For more information,
4524// see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
4525//
4526// Required Permissions: To use this action, an IAM user must have a Manage
4527// permissions level for the stack, or an attached policy that explicitly grants
4528// permissions. For more information on user permissions, see Managing User
4529// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4530//
4531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4532// with awserr.Error's Code and Message methods to get detailed information about
4533// the error.
4534//
4535// See the AWS API reference guide for AWS OpsWorks's
4536// API operation RegisterElasticIp for usage and error information.
4537//
4538// Returned Error Types:
4539//   * ValidationException
4540//   Indicates that a request was not valid.
4541//
4542//   * ResourceNotFoundException
4543//   Indicates that a resource was not found.
4544//
4545// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterElasticIp
4546func (c *OpsWorks) RegisterElasticIp(input *RegisterElasticIpInput) (*RegisterElasticIpOutput, error) {
4547	req, out := c.RegisterElasticIpRequest(input)
4548	return out, req.Send()
4549}
4550
4551// RegisterElasticIpWithContext is the same as RegisterElasticIp with the addition of
4552// the ability to pass a context and additional request options.
4553//
4554// See RegisterElasticIp for details on how to use this API operation.
4555//
4556// The context must be non-nil and will be used for request cancellation. If
4557// the context is nil a panic will occur. In the future the SDK may create
4558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4559// for more information on using Contexts.
4560func (c *OpsWorks) RegisterElasticIpWithContext(ctx aws.Context, input *RegisterElasticIpInput, opts ...request.Option) (*RegisterElasticIpOutput, error) {
4561	req, out := c.RegisterElasticIpRequest(input)
4562	req.SetContext(ctx)
4563	req.ApplyOptions(opts...)
4564	return out, req.Send()
4565}
4566
4567const opRegisterInstance = "RegisterInstance"
4568
4569// RegisterInstanceRequest generates a "aws/request.Request" representing the
4570// client's request for the RegisterInstance operation. The "output" return
4571// value will be populated with the request's response once the request completes
4572// successfully.
4573//
4574// Use "Send" method on the returned Request to send the API call to the service.
4575// the "output" return value is not valid until after Send returns without error.
4576//
4577// See RegisterInstance for more information on using the RegisterInstance
4578// API call, and error handling.
4579//
4580// This method is useful when you want to inject custom logic or configuration
4581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4582//
4583//
4584//    // Example sending a request using the RegisterInstanceRequest method.
4585//    req, resp := client.RegisterInstanceRequest(params)
4586//
4587//    err := req.Send()
4588//    if err == nil { // resp is now filled
4589//        fmt.Println(resp)
4590//    }
4591//
4592// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterInstance
4593func (c *OpsWorks) RegisterInstanceRequest(input *RegisterInstanceInput) (req *request.Request, output *RegisterInstanceOutput) {
4594	op := &request.Operation{
4595		Name:       opRegisterInstance,
4596		HTTPMethod: "POST",
4597		HTTPPath:   "/",
4598	}
4599
4600	if input == nil {
4601		input = &RegisterInstanceInput{}
4602	}
4603
4604	output = &RegisterInstanceOutput{}
4605	req = c.newRequest(op, input, output)
4606	return
4607}
4608
4609// RegisterInstance API operation for AWS OpsWorks.
4610//
4611// Registers instances that were created outside of AWS OpsWorks Stacks with
4612// a specified stack.
4613//
4614// We do not recommend using this action to register instances. The complete
4615// registration operation includes two tasks: installing the AWS OpsWorks Stacks
4616// agent on the instance, and registering the instance with the stack. RegisterInstance
4617// handles only the second step. You should instead use the AWS CLI register
4618// command, which performs the entire registration operation. For more information,
4619// see Registering an Instance with an AWS OpsWorks Stacks Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register.html).
4620//
4621// Registered instances have the same requirements as instances that are created
4622// by using the CreateInstance API. For example, registered instances must be
4623// running a supported Linux-based operating system, and they must have a supported
4624// instance type. For more information about requirements for instances that
4625// you want to register, see Preparing the Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register-registering-preparer.html).
4626//
4627// Required Permissions: To use this action, an IAM user must have a Manage
4628// permissions level for the stack or an attached policy that explicitly grants
4629// permissions. For more information on user permissions, see Managing User
4630// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4631//
4632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4633// with awserr.Error's Code and Message methods to get detailed information about
4634// the error.
4635//
4636// See the AWS API reference guide for AWS OpsWorks's
4637// API operation RegisterInstance for usage and error information.
4638//
4639// Returned Error Types:
4640//   * ValidationException
4641//   Indicates that a request was not valid.
4642//
4643//   * ResourceNotFoundException
4644//   Indicates that a resource was not found.
4645//
4646// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterInstance
4647func (c *OpsWorks) RegisterInstance(input *RegisterInstanceInput) (*RegisterInstanceOutput, error) {
4648	req, out := c.RegisterInstanceRequest(input)
4649	return out, req.Send()
4650}
4651
4652// RegisterInstanceWithContext is the same as RegisterInstance with the addition of
4653// the ability to pass a context and additional request options.
4654//
4655// See RegisterInstance for details on how to use this API operation.
4656//
4657// The context must be non-nil and will be used for request cancellation. If
4658// the context is nil a panic will occur. In the future the SDK may create
4659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4660// for more information on using Contexts.
4661func (c *OpsWorks) RegisterInstanceWithContext(ctx aws.Context, input *RegisterInstanceInput, opts ...request.Option) (*RegisterInstanceOutput, error) {
4662	req, out := c.RegisterInstanceRequest(input)
4663	req.SetContext(ctx)
4664	req.ApplyOptions(opts...)
4665	return out, req.Send()
4666}
4667
4668const opRegisterRdsDbInstance = "RegisterRdsDbInstance"
4669
4670// RegisterRdsDbInstanceRequest generates a "aws/request.Request" representing the
4671// client's request for the RegisterRdsDbInstance operation. The "output" return
4672// value will be populated with the request's response once the request completes
4673// successfully.
4674//
4675// Use "Send" method on the returned Request to send the API call to the service.
4676// the "output" return value is not valid until after Send returns without error.
4677//
4678// See RegisterRdsDbInstance for more information on using the RegisterRdsDbInstance
4679// API call, and error handling.
4680//
4681// This method is useful when you want to inject custom logic or configuration
4682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4683//
4684//
4685//    // Example sending a request using the RegisterRdsDbInstanceRequest method.
4686//    req, resp := client.RegisterRdsDbInstanceRequest(params)
4687//
4688//    err := req.Send()
4689//    if err == nil { // resp is now filled
4690//        fmt.Println(resp)
4691//    }
4692//
4693// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterRdsDbInstance
4694func (c *OpsWorks) RegisterRdsDbInstanceRequest(input *RegisterRdsDbInstanceInput) (req *request.Request, output *RegisterRdsDbInstanceOutput) {
4695	op := &request.Operation{
4696		Name:       opRegisterRdsDbInstance,
4697		HTTPMethod: "POST",
4698		HTTPPath:   "/",
4699	}
4700
4701	if input == nil {
4702		input = &RegisterRdsDbInstanceInput{}
4703	}
4704
4705	output = &RegisterRdsDbInstanceOutput{}
4706	req = c.newRequest(op, input, output)
4707	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4708	return
4709}
4710
4711// RegisterRdsDbInstance API operation for AWS OpsWorks.
4712//
4713// Registers an Amazon RDS instance with a stack.
4714//
4715// Required Permissions: To use this action, an IAM user must have a Manage
4716// permissions level for the stack, or an attached policy that explicitly grants
4717// permissions. For more information on user permissions, see Managing User
4718// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4719//
4720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4721// with awserr.Error's Code and Message methods to get detailed information about
4722// the error.
4723//
4724// See the AWS API reference guide for AWS OpsWorks's
4725// API operation RegisterRdsDbInstance for usage and error information.
4726//
4727// Returned Error Types:
4728//   * ValidationException
4729//   Indicates that a request was not valid.
4730//
4731//   * ResourceNotFoundException
4732//   Indicates that a resource was not found.
4733//
4734// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterRdsDbInstance
4735func (c *OpsWorks) RegisterRdsDbInstance(input *RegisterRdsDbInstanceInput) (*RegisterRdsDbInstanceOutput, error) {
4736	req, out := c.RegisterRdsDbInstanceRequest(input)
4737	return out, req.Send()
4738}
4739
4740// RegisterRdsDbInstanceWithContext is the same as RegisterRdsDbInstance with the addition of
4741// the ability to pass a context and additional request options.
4742//
4743// See RegisterRdsDbInstance for details on how to use this API operation.
4744//
4745// The context must be non-nil and will be used for request cancellation. If
4746// the context is nil a panic will occur. In the future the SDK may create
4747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4748// for more information on using Contexts.
4749func (c *OpsWorks) RegisterRdsDbInstanceWithContext(ctx aws.Context, input *RegisterRdsDbInstanceInput, opts ...request.Option) (*RegisterRdsDbInstanceOutput, error) {
4750	req, out := c.RegisterRdsDbInstanceRequest(input)
4751	req.SetContext(ctx)
4752	req.ApplyOptions(opts...)
4753	return out, req.Send()
4754}
4755
4756const opRegisterVolume = "RegisterVolume"
4757
4758// RegisterVolumeRequest generates a "aws/request.Request" representing the
4759// client's request for the RegisterVolume operation. The "output" return
4760// value will be populated with the request's response once the request completes
4761// successfully.
4762//
4763// Use "Send" method on the returned Request to send the API call to the service.
4764// the "output" return value is not valid until after Send returns without error.
4765//
4766// See RegisterVolume for more information on using the RegisterVolume
4767// API call, and error handling.
4768//
4769// This method is useful when you want to inject custom logic or configuration
4770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4771//
4772//
4773//    // Example sending a request using the RegisterVolumeRequest method.
4774//    req, resp := client.RegisterVolumeRequest(params)
4775//
4776//    err := req.Send()
4777//    if err == nil { // resp is now filled
4778//        fmt.Println(resp)
4779//    }
4780//
4781// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterVolume
4782func (c *OpsWorks) RegisterVolumeRequest(input *RegisterVolumeInput) (req *request.Request, output *RegisterVolumeOutput) {
4783	op := &request.Operation{
4784		Name:       opRegisterVolume,
4785		HTTPMethod: "POST",
4786		HTTPPath:   "/",
4787	}
4788
4789	if input == nil {
4790		input = &RegisterVolumeInput{}
4791	}
4792
4793	output = &RegisterVolumeOutput{}
4794	req = c.newRequest(op, input, output)
4795	return
4796}
4797
4798// RegisterVolume API operation for AWS OpsWorks.
4799//
4800// Registers an Amazon EBS volume with a specified stack. A volume can be registered
4801// with only one stack at a time. If the volume is already registered, you must
4802// first deregister it by calling DeregisterVolume. For more information, see
4803// Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
4804//
4805// Required Permissions: To use this action, an IAM user must have a Manage
4806// permissions level for the stack, or an attached policy that explicitly grants
4807// permissions. For more information on user permissions, see Managing User
4808// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4809//
4810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4811// with awserr.Error's Code and Message methods to get detailed information about
4812// the error.
4813//
4814// See the AWS API reference guide for AWS OpsWorks's
4815// API operation RegisterVolume for usage and error information.
4816//
4817// Returned Error Types:
4818//   * ValidationException
4819//   Indicates that a request was not valid.
4820//
4821//   * ResourceNotFoundException
4822//   Indicates that a resource was not found.
4823//
4824// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterVolume
4825func (c *OpsWorks) RegisterVolume(input *RegisterVolumeInput) (*RegisterVolumeOutput, error) {
4826	req, out := c.RegisterVolumeRequest(input)
4827	return out, req.Send()
4828}
4829
4830// RegisterVolumeWithContext is the same as RegisterVolume with the addition of
4831// the ability to pass a context and additional request options.
4832//
4833// See RegisterVolume for details on how to use this API operation.
4834//
4835// The context must be non-nil and will be used for request cancellation. If
4836// the context is nil a panic will occur. In the future the SDK may create
4837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4838// for more information on using Contexts.
4839func (c *OpsWorks) RegisterVolumeWithContext(ctx aws.Context, input *RegisterVolumeInput, opts ...request.Option) (*RegisterVolumeOutput, error) {
4840	req, out := c.RegisterVolumeRequest(input)
4841	req.SetContext(ctx)
4842	req.ApplyOptions(opts...)
4843	return out, req.Send()
4844}
4845
4846const opSetLoadBasedAutoScaling = "SetLoadBasedAutoScaling"
4847
4848// SetLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the
4849// client's request for the SetLoadBasedAutoScaling operation. The "output" return
4850// value will be populated with the request's response once the request completes
4851// successfully.
4852//
4853// Use "Send" method on the returned Request to send the API call to the service.
4854// the "output" return value is not valid until after Send returns without error.
4855//
4856// See SetLoadBasedAutoScaling for more information on using the SetLoadBasedAutoScaling
4857// API call, and error handling.
4858//
4859// This method is useful when you want to inject custom logic or configuration
4860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4861//
4862//
4863//    // Example sending a request using the SetLoadBasedAutoScalingRequest method.
4864//    req, resp := client.SetLoadBasedAutoScalingRequest(params)
4865//
4866//    err := req.Send()
4867//    if err == nil { // resp is now filled
4868//        fmt.Println(resp)
4869//    }
4870//
4871// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetLoadBasedAutoScaling
4872func (c *OpsWorks) SetLoadBasedAutoScalingRequest(input *SetLoadBasedAutoScalingInput) (req *request.Request, output *SetLoadBasedAutoScalingOutput) {
4873	op := &request.Operation{
4874		Name:       opSetLoadBasedAutoScaling,
4875		HTTPMethod: "POST",
4876		HTTPPath:   "/",
4877	}
4878
4879	if input == nil {
4880		input = &SetLoadBasedAutoScalingInput{}
4881	}
4882
4883	output = &SetLoadBasedAutoScalingOutput{}
4884	req = c.newRequest(op, input, output)
4885	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4886	return
4887}
4888
4889// SetLoadBasedAutoScaling API operation for AWS OpsWorks.
4890//
4891// Specify the load-based auto scaling configuration for a specified layer.
4892// For more information, see Managing Load with Time-based and Load-based Instances
4893// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html).
4894//
4895// To use load-based auto scaling, you must create a set of load-based auto
4896// scaling instances. Load-based auto scaling operates only on the instances
4897// from that set, so you must ensure that you have created enough instances
4898// to handle the maximum anticipated load.
4899//
4900// Required Permissions: To use this action, an IAM user must have a Manage
4901// permissions level for the stack, or an attached policy that explicitly grants
4902// permissions. For more information on user permissions, see Managing User
4903// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4904//
4905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4906// with awserr.Error's Code and Message methods to get detailed information about
4907// the error.
4908//
4909// See the AWS API reference guide for AWS OpsWorks's
4910// API operation SetLoadBasedAutoScaling for usage and error information.
4911//
4912// Returned Error Types:
4913//   * ValidationException
4914//   Indicates that a request was not valid.
4915//
4916//   * ResourceNotFoundException
4917//   Indicates that a resource was not found.
4918//
4919// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetLoadBasedAutoScaling
4920func (c *OpsWorks) SetLoadBasedAutoScaling(input *SetLoadBasedAutoScalingInput) (*SetLoadBasedAutoScalingOutput, error) {
4921	req, out := c.SetLoadBasedAutoScalingRequest(input)
4922	return out, req.Send()
4923}
4924
4925// SetLoadBasedAutoScalingWithContext is the same as SetLoadBasedAutoScaling with the addition of
4926// the ability to pass a context and additional request options.
4927//
4928// See SetLoadBasedAutoScaling for details on how to use this API operation.
4929//
4930// The context must be non-nil and will be used for request cancellation. If
4931// the context is nil a panic will occur. In the future the SDK may create
4932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4933// for more information on using Contexts.
4934func (c *OpsWorks) SetLoadBasedAutoScalingWithContext(ctx aws.Context, input *SetLoadBasedAutoScalingInput, opts ...request.Option) (*SetLoadBasedAutoScalingOutput, error) {
4935	req, out := c.SetLoadBasedAutoScalingRequest(input)
4936	req.SetContext(ctx)
4937	req.ApplyOptions(opts...)
4938	return out, req.Send()
4939}
4940
4941const opSetPermission = "SetPermission"
4942
4943// SetPermissionRequest generates a "aws/request.Request" representing the
4944// client's request for the SetPermission operation. The "output" return
4945// value will be populated with the request's response once the request completes
4946// successfully.
4947//
4948// Use "Send" method on the returned Request to send the API call to the service.
4949// the "output" return value is not valid until after Send returns without error.
4950//
4951// See SetPermission for more information on using the SetPermission
4952// API call, and error handling.
4953//
4954// This method is useful when you want to inject custom logic or configuration
4955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4956//
4957//
4958//    // Example sending a request using the SetPermissionRequest method.
4959//    req, resp := client.SetPermissionRequest(params)
4960//
4961//    err := req.Send()
4962//    if err == nil { // resp is now filled
4963//        fmt.Println(resp)
4964//    }
4965//
4966// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetPermission
4967func (c *OpsWorks) SetPermissionRequest(input *SetPermissionInput) (req *request.Request, output *SetPermissionOutput) {
4968	op := &request.Operation{
4969		Name:       opSetPermission,
4970		HTTPMethod: "POST",
4971		HTTPPath:   "/",
4972	}
4973
4974	if input == nil {
4975		input = &SetPermissionInput{}
4976	}
4977
4978	output = &SetPermissionOutput{}
4979	req = c.newRequest(op, input, output)
4980	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4981	return
4982}
4983
4984// SetPermission API operation for AWS OpsWorks.
4985//
4986// Specifies a user's permissions. For more information, see Security and Permissions
4987// (https://docs.aws.amazon.com/opsworks/latest/userguide/workingsecurity.html).
4988//
4989// Required Permissions: To use this action, an IAM user must have a Manage
4990// permissions level for the stack, or an attached policy that explicitly grants
4991// permissions. For more information on user permissions, see Managing User
4992// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4993//
4994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4995// with awserr.Error's Code and Message methods to get detailed information about
4996// the error.
4997//
4998// See the AWS API reference guide for AWS OpsWorks's
4999// API operation SetPermission for usage and error information.
5000//
5001// Returned Error Types:
5002//   * ValidationException
5003//   Indicates that a request was not valid.
5004//
5005//   * ResourceNotFoundException
5006//   Indicates that a resource was not found.
5007//
5008// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetPermission
5009func (c *OpsWorks) SetPermission(input *SetPermissionInput) (*SetPermissionOutput, error) {
5010	req, out := c.SetPermissionRequest(input)
5011	return out, req.Send()
5012}
5013
5014// SetPermissionWithContext is the same as SetPermission with the addition of
5015// the ability to pass a context and additional request options.
5016//
5017// See SetPermission for details on how to use this API operation.
5018//
5019// The context must be non-nil and will be used for request cancellation. If
5020// the context is nil a panic will occur. In the future the SDK may create
5021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5022// for more information on using Contexts.
5023func (c *OpsWorks) SetPermissionWithContext(ctx aws.Context, input *SetPermissionInput, opts ...request.Option) (*SetPermissionOutput, error) {
5024	req, out := c.SetPermissionRequest(input)
5025	req.SetContext(ctx)
5026	req.ApplyOptions(opts...)
5027	return out, req.Send()
5028}
5029
5030const opSetTimeBasedAutoScaling = "SetTimeBasedAutoScaling"
5031
5032// SetTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the
5033// client's request for the SetTimeBasedAutoScaling operation. The "output" return
5034// value will be populated with the request's response once the request completes
5035// successfully.
5036//
5037// Use "Send" method on the returned Request to send the API call to the service.
5038// the "output" return value is not valid until after Send returns without error.
5039//
5040// See SetTimeBasedAutoScaling for more information on using the SetTimeBasedAutoScaling
5041// API call, and error handling.
5042//
5043// This method is useful when you want to inject custom logic or configuration
5044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5045//
5046//
5047//    // Example sending a request using the SetTimeBasedAutoScalingRequest method.
5048//    req, resp := client.SetTimeBasedAutoScalingRequest(params)
5049//
5050//    err := req.Send()
5051//    if err == nil { // resp is now filled
5052//        fmt.Println(resp)
5053//    }
5054//
5055// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetTimeBasedAutoScaling
5056func (c *OpsWorks) SetTimeBasedAutoScalingRequest(input *SetTimeBasedAutoScalingInput) (req *request.Request, output *SetTimeBasedAutoScalingOutput) {
5057	op := &request.Operation{
5058		Name:       opSetTimeBasedAutoScaling,
5059		HTTPMethod: "POST",
5060		HTTPPath:   "/",
5061	}
5062
5063	if input == nil {
5064		input = &SetTimeBasedAutoScalingInput{}
5065	}
5066
5067	output = &SetTimeBasedAutoScalingOutput{}
5068	req = c.newRequest(op, input, output)
5069	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5070	return
5071}
5072
5073// SetTimeBasedAutoScaling API operation for AWS OpsWorks.
5074//
5075// Specify the time-based auto scaling configuration for a specified instance.
5076// For more information, see Managing Load with Time-based and Load-based Instances
5077// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html).
5078//
5079// Required Permissions: To use this action, an IAM user must have a Manage
5080// permissions level for the stack, or an attached policy that explicitly grants
5081// permissions. For more information on user permissions, see Managing User
5082// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5083//
5084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5085// with awserr.Error's Code and Message methods to get detailed information about
5086// the error.
5087//
5088// See the AWS API reference guide for AWS OpsWorks's
5089// API operation SetTimeBasedAutoScaling for usage and error information.
5090//
5091// Returned Error Types:
5092//   * ValidationException
5093//   Indicates that a request was not valid.
5094//
5095//   * ResourceNotFoundException
5096//   Indicates that a resource was not found.
5097//
5098// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetTimeBasedAutoScaling
5099func (c *OpsWorks) SetTimeBasedAutoScaling(input *SetTimeBasedAutoScalingInput) (*SetTimeBasedAutoScalingOutput, error) {
5100	req, out := c.SetTimeBasedAutoScalingRequest(input)
5101	return out, req.Send()
5102}
5103
5104// SetTimeBasedAutoScalingWithContext is the same as SetTimeBasedAutoScaling with the addition of
5105// the ability to pass a context and additional request options.
5106//
5107// See SetTimeBasedAutoScaling for details on how to use this API operation.
5108//
5109// The context must be non-nil and will be used for request cancellation. If
5110// the context is nil a panic will occur. In the future the SDK may create
5111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5112// for more information on using Contexts.
5113func (c *OpsWorks) SetTimeBasedAutoScalingWithContext(ctx aws.Context, input *SetTimeBasedAutoScalingInput, opts ...request.Option) (*SetTimeBasedAutoScalingOutput, error) {
5114	req, out := c.SetTimeBasedAutoScalingRequest(input)
5115	req.SetContext(ctx)
5116	req.ApplyOptions(opts...)
5117	return out, req.Send()
5118}
5119
5120const opStartInstance = "StartInstance"
5121
5122// StartInstanceRequest generates a "aws/request.Request" representing the
5123// client's request for the StartInstance operation. The "output" return
5124// value will be populated with the request's response once the request completes
5125// successfully.
5126//
5127// Use "Send" method on the returned Request to send the API call to the service.
5128// the "output" return value is not valid until after Send returns without error.
5129//
5130// See StartInstance for more information on using the StartInstance
5131// API call, and error handling.
5132//
5133// This method is useful when you want to inject custom logic or configuration
5134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5135//
5136//
5137//    // Example sending a request using the StartInstanceRequest method.
5138//    req, resp := client.StartInstanceRequest(params)
5139//
5140//    err := req.Send()
5141//    if err == nil { // resp is now filled
5142//        fmt.Println(resp)
5143//    }
5144//
5145// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartInstance
5146func (c *OpsWorks) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
5147	op := &request.Operation{
5148		Name:       opStartInstance,
5149		HTTPMethod: "POST",
5150		HTTPPath:   "/",
5151	}
5152
5153	if input == nil {
5154		input = &StartInstanceInput{}
5155	}
5156
5157	output = &StartInstanceOutput{}
5158	req = c.newRequest(op, input, output)
5159	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5160	return
5161}
5162
5163// StartInstance API operation for AWS OpsWorks.
5164//
5165// Starts a specified instance. For more information, see Starting, Stopping,
5166// and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
5167//
5168// Required Permissions: To use this action, an IAM user must have a Manage
5169// permissions level for the stack, or an attached policy that explicitly grants
5170// permissions. For more information on user permissions, see Managing User
5171// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5172//
5173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5174// with awserr.Error's Code and Message methods to get detailed information about
5175// the error.
5176//
5177// See the AWS API reference guide for AWS OpsWorks's
5178// API operation StartInstance for usage and error information.
5179//
5180// Returned Error Types:
5181//   * ValidationException
5182//   Indicates that a request was not valid.
5183//
5184//   * ResourceNotFoundException
5185//   Indicates that a resource was not found.
5186//
5187// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartInstance
5188func (c *OpsWorks) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
5189	req, out := c.StartInstanceRequest(input)
5190	return out, req.Send()
5191}
5192
5193// StartInstanceWithContext is the same as StartInstance with the addition of
5194// the ability to pass a context and additional request options.
5195//
5196// See StartInstance for details on how to use this API operation.
5197//
5198// The context must be non-nil and will be used for request cancellation. If
5199// the context is nil a panic will occur. In the future the SDK may create
5200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5201// for more information on using Contexts.
5202func (c *OpsWorks) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
5203	req, out := c.StartInstanceRequest(input)
5204	req.SetContext(ctx)
5205	req.ApplyOptions(opts...)
5206	return out, req.Send()
5207}
5208
5209const opStartStack = "StartStack"
5210
5211// StartStackRequest generates a "aws/request.Request" representing the
5212// client's request for the StartStack operation. The "output" return
5213// value will be populated with the request's response once the request completes
5214// successfully.
5215//
5216// Use "Send" method on the returned Request to send the API call to the service.
5217// the "output" return value is not valid until after Send returns without error.
5218//
5219// See StartStack for more information on using the StartStack
5220// API call, and error handling.
5221//
5222// This method is useful when you want to inject custom logic or configuration
5223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5224//
5225//
5226//    // Example sending a request using the StartStackRequest method.
5227//    req, resp := client.StartStackRequest(params)
5228//
5229//    err := req.Send()
5230//    if err == nil { // resp is now filled
5231//        fmt.Println(resp)
5232//    }
5233//
5234// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartStack
5235func (c *OpsWorks) StartStackRequest(input *StartStackInput) (req *request.Request, output *StartStackOutput) {
5236	op := &request.Operation{
5237		Name:       opStartStack,
5238		HTTPMethod: "POST",
5239		HTTPPath:   "/",
5240	}
5241
5242	if input == nil {
5243		input = &StartStackInput{}
5244	}
5245
5246	output = &StartStackOutput{}
5247	req = c.newRequest(op, input, output)
5248	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5249	return
5250}
5251
5252// StartStack API operation for AWS OpsWorks.
5253//
5254// Starts a stack's instances.
5255//
5256// Required Permissions: To use this action, an IAM user must have a Manage
5257// permissions level for the stack, or an attached policy that explicitly grants
5258// permissions. For more information on user permissions, see Managing User
5259// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5260//
5261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5262// with awserr.Error's Code and Message methods to get detailed information about
5263// the error.
5264//
5265// See the AWS API reference guide for AWS OpsWorks's
5266// API operation StartStack for usage and error information.
5267//
5268// Returned Error Types:
5269//   * ValidationException
5270//   Indicates that a request was not valid.
5271//
5272//   * ResourceNotFoundException
5273//   Indicates that a resource was not found.
5274//
5275// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartStack
5276func (c *OpsWorks) StartStack(input *StartStackInput) (*StartStackOutput, error) {
5277	req, out := c.StartStackRequest(input)
5278	return out, req.Send()
5279}
5280
5281// StartStackWithContext is the same as StartStack with the addition of
5282// the ability to pass a context and additional request options.
5283//
5284// See StartStack for details on how to use this API operation.
5285//
5286// The context must be non-nil and will be used for request cancellation. If
5287// the context is nil a panic will occur. In the future the SDK may create
5288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5289// for more information on using Contexts.
5290func (c *OpsWorks) StartStackWithContext(ctx aws.Context, input *StartStackInput, opts ...request.Option) (*StartStackOutput, error) {
5291	req, out := c.StartStackRequest(input)
5292	req.SetContext(ctx)
5293	req.ApplyOptions(opts...)
5294	return out, req.Send()
5295}
5296
5297const opStopInstance = "StopInstance"
5298
5299// StopInstanceRequest generates a "aws/request.Request" representing the
5300// client's request for the StopInstance operation. The "output" return
5301// value will be populated with the request's response once the request completes
5302// successfully.
5303//
5304// Use "Send" method on the returned Request to send the API call to the service.
5305// the "output" return value is not valid until after Send returns without error.
5306//
5307// See StopInstance for more information on using the StopInstance
5308// API call, and error handling.
5309//
5310// This method is useful when you want to inject custom logic or configuration
5311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5312//
5313//
5314//    // Example sending a request using the StopInstanceRequest method.
5315//    req, resp := client.StopInstanceRequest(params)
5316//
5317//    err := req.Send()
5318//    if err == nil { // resp is now filled
5319//        fmt.Println(resp)
5320//    }
5321//
5322// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopInstance
5323func (c *OpsWorks) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
5324	op := &request.Operation{
5325		Name:       opStopInstance,
5326		HTTPMethod: "POST",
5327		HTTPPath:   "/",
5328	}
5329
5330	if input == nil {
5331		input = &StopInstanceInput{}
5332	}
5333
5334	output = &StopInstanceOutput{}
5335	req = c.newRequest(op, input, output)
5336	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5337	return
5338}
5339
5340// StopInstance API operation for AWS OpsWorks.
5341//
5342// Stops a specified instance. When you stop a standard instance, the data disappears
5343// and must be reinstalled when you restart the instance. You can stop an Amazon
5344// EBS-backed instance without losing data. For more information, see Starting,
5345// Stopping, and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
5346//
5347// Required Permissions: To use this action, an IAM user must have a Manage
5348// permissions level for the stack, or an attached policy that explicitly grants
5349// permissions. For more information on user permissions, see Managing User
5350// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5351//
5352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5353// with awserr.Error's Code and Message methods to get detailed information about
5354// the error.
5355//
5356// See the AWS API reference guide for AWS OpsWorks's
5357// API operation StopInstance for usage and error information.
5358//
5359// Returned Error Types:
5360//   * ValidationException
5361//   Indicates that a request was not valid.
5362//
5363//   * ResourceNotFoundException
5364//   Indicates that a resource was not found.
5365//
5366// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopInstance
5367func (c *OpsWorks) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
5368	req, out := c.StopInstanceRequest(input)
5369	return out, req.Send()
5370}
5371
5372// StopInstanceWithContext is the same as StopInstance with the addition of
5373// the ability to pass a context and additional request options.
5374//
5375// See StopInstance for details on how to use this API operation.
5376//
5377// The context must be non-nil and will be used for request cancellation. If
5378// the context is nil a panic will occur. In the future the SDK may create
5379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5380// for more information on using Contexts.
5381func (c *OpsWorks) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
5382	req, out := c.StopInstanceRequest(input)
5383	req.SetContext(ctx)
5384	req.ApplyOptions(opts...)
5385	return out, req.Send()
5386}
5387
5388const opStopStack = "StopStack"
5389
5390// StopStackRequest generates a "aws/request.Request" representing the
5391// client's request for the StopStack operation. The "output" return
5392// value will be populated with the request's response once the request completes
5393// successfully.
5394//
5395// Use "Send" method on the returned Request to send the API call to the service.
5396// the "output" return value is not valid until after Send returns without error.
5397//
5398// See StopStack for more information on using the StopStack
5399// API call, and error handling.
5400//
5401// This method is useful when you want to inject custom logic or configuration
5402// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5403//
5404//
5405//    // Example sending a request using the StopStackRequest method.
5406//    req, resp := client.StopStackRequest(params)
5407//
5408//    err := req.Send()
5409//    if err == nil { // resp is now filled
5410//        fmt.Println(resp)
5411//    }
5412//
5413// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopStack
5414func (c *OpsWorks) StopStackRequest(input *StopStackInput) (req *request.Request, output *StopStackOutput) {
5415	op := &request.Operation{
5416		Name:       opStopStack,
5417		HTTPMethod: "POST",
5418		HTTPPath:   "/",
5419	}
5420
5421	if input == nil {
5422		input = &StopStackInput{}
5423	}
5424
5425	output = &StopStackOutput{}
5426	req = c.newRequest(op, input, output)
5427	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5428	return
5429}
5430
5431// StopStack API operation for AWS OpsWorks.
5432//
5433// Stops a specified stack.
5434//
5435// Required Permissions: To use this action, an IAM user must have a Manage
5436// permissions level for the stack, or an attached policy that explicitly grants
5437// permissions. For more information on user permissions, see Managing User
5438// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5439//
5440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5441// with awserr.Error's Code and Message methods to get detailed information about
5442// the error.
5443//
5444// See the AWS API reference guide for AWS OpsWorks's
5445// API operation StopStack for usage and error information.
5446//
5447// Returned Error Types:
5448//   * ValidationException
5449//   Indicates that a request was not valid.
5450//
5451//   * ResourceNotFoundException
5452//   Indicates that a resource was not found.
5453//
5454// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopStack
5455func (c *OpsWorks) StopStack(input *StopStackInput) (*StopStackOutput, error) {
5456	req, out := c.StopStackRequest(input)
5457	return out, req.Send()
5458}
5459
5460// StopStackWithContext is the same as StopStack with the addition of
5461// the ability to pass a context and additional request options.
5462//
5463// See StopStack for details on how to use this API operation.
5464//
5465// The context must be non-nil and will be used for request cancellation. If
5466// the context is nil a panic will occur. In the future the SDK may create
5467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5468// for more information on using Contexts.
5469func (c *OpsWorks) StopStackWithContext(ctx aws.Context, input *StopStackInput, opts ...request.Option) (*StopStackOutput, error) {
5470	req, out := c.StopStackRequest(input)
5471	req.SetContext(ctx)
5472	req.ApplyOptions(opts...)
5473	return out, req.Send()
5474}
5475
5476const opTagResource = "TagResource"
5477
5478// TagResourceRequest generates a "aws/request.Request" representing the
5479// client's request for the TagResource operation. The "output" return
5480// value will be populated with the request's response once the request completes
5481// successfully.
5482//
5483// Use "Send" method on the returned Request to send the API call to the service.
5484// the "output" return value is not valid until after Send returns without error.
5485//
5486// See TagResource for more information on using the TagResource
5487// API call, and error handling.
5488//
5489// This method is useful when you want to inject custom logic or configuration
5490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5491//
5492//
5493//    // Example sending a request using the TagResourceRequest method.
5494//    req, resp := client.TagResourceRequest(params)
5495//
5496//    err := req.Send()
5497//    if err == nil { // resp is now filled
5498//        fmt.Println(resp)
5499//    }
5500//
5501// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/TagResource
5502func (c *OpsWorks) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5503	op := &request.Operation{
5504		Name:       opTagResource,
5505		HTTPMethod: "POST",
5506		HTTPPath:   "/",
5507	}
5508
5509	if input == nil {
5510		input = &TagResourceInput{}
5511	}
5512
5513	output = &TagResourceOutput{}
5514	req = c.newRequest(op, input, output)
5515	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5516	return
5517}
5518
5519// TagResource API operation for AWS OpsWorks.
5520//
5521// Apply cost-allocation tags to a specified stack or layer in AWS OpsWorks
5522// Stacks. For more information about how tagging works, see Tags (https://docs.aws.amazon.com/opsworks/latest/userguide/tagging.html)
5523// in the AWS OpsWorks User Guide.
5524//
5525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5526// with awserr.Error's Code and Message methods to get detailed information about
5527// the error.
5528//
5529// See the AWS API reference guide for AWS OpsWorks's
5530// API operation TagResource for usage and error information.
5531//
5532// Returned Error Types:
5533//   * ValidationException
5534//   Indicates that a request was not valid.
5535//
5536//   * ResourceNotFoundException
5537//   Indicates that a resource was not found.
5538//
5539// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/TagResource
5540func (c *OpsWorks) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5541	req, out := c.TagResourceRequest(input)
5542	return out, req.Send()
5543}
5544
5545// TagResourceWithContext is the same as TagResource with the addition of
5546// the ability to pass a context and additional request options.
5547//
5548// See TagResource for details on how to use this API operation.
5549//
5550// The context must be non-nil and will be used for request cancellation. If
5551// the context is nil a panic will occur. In the future the SDK may create
5552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5553// for more information on using Contexts.
5554func (c *OpsWorks) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5555	req, out := c.TagResourceRequest(input)
5556	req.SetContext(ctx)
5557	req.ApplyOptions(opts...)
5558	return out, req.Send()
5559}
5560
5561const opUnassignInstance = "UnassignInstance"
5562
5563// UnassignInstanceRequest generates a "aws/request.Request" representing the
5564// client's request for the UnassignInstance operation. The "output" return
5565// value will be populated with the request's response once the request completes
5566// successfully.
5567//
5568// Use "Send" method on the returned Request to send the API call to the service.
5569// the "output" return value is not valid until after Send returns without error.
5570//
5571// See UnassignInstance for more information on using the UnassignInstance
5572// API call, and error handling.
5573//
5574// This method is useful when you want to inject custom logic or configuration
5575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5576//
5577//
5578//    // Example sending a request using the UnassignInstanceRequest method.
5579//    req, resp := client.UnassignInstanceRequest(params)
5580//
5581//    err := req.Send()
5582//    if err == nil { // resp is now filled
5583//        fmt.Println(resp)
5584//    }
5585//
5586// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignInstance
5587func (c *OpsWorks) UnassignInstanceRequest(input *UnassignInstanceInput) (req *request.Request, output *UnassignInstanceOutput) {
5588	op := &request.Operation{
5589		Name:       opUnassignInstance,
5590		HTTPMethod: "POST",
5591		HTTPPath:   "/",
5592	}
5593
5594	if input == nil {
5595		input = &UnassignInstanceInput{}
5596	}
5597
5598	output = &UnassignInstanceOutput{}
5599	req = c.newRequest(op, input, output)
5600	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5601	return
5602}
5603
5604// UnassignInstance API operation for AWS OpsWorks.
5605//
5606// Unassigns a registered instance from all layers that are using the instance.
5607// The instance remains in the stack as an unassigned instance, and can be assigned
5608// to another layer as needed. You cannot use this action with instances that
5609// were created with AWS OpsWorks Stacks.
5610//
5611// Required Permissions: To use this action, an IAM user must have a Manage
5612// permissions level for the stack or an attached policy that explicitly grants
5613// permissions. For more information about user permissions, see Managing User
5614// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5615//
5616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5617// with awserr.Error's Code and Message methods to get detailed information about
5618// the error.
5619//
5620// See the AWS API reference guide for AWS OpsWorks's
5621// API operation UnassignInstance for usage and error information.
5622//
5623// Returned Error Types:
5624//   * ValidationException
5625//   Indicates that a request was not valid.
5626//
5627//   * ResourceNotFoundException
5628//   Indicates that a resource was not found.
5629//
5630// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignInstance
5631func (c *OpsWorks) UnassignInstance(input *UnassignInstanceInput) (*UnassignInstanceOutput, error) {
5632	req, out := c.UnassignInstanceRequest(input)
5633	return out, req.Send()
5634}
5635
5636// UnassignInstanceWithContext is the same as UnassignInstance with the addition of
5637// the ability to pass a context and additional request options.
5638//
5639// See UnassignInstance for details on how to use this API operation.
5640//
5641// The context must be non-nil and will be used for request cancellation. If
5642// the context is nil a panic will occur. In the future the SDK may create
5643// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5644// for more information on using Contexts.
5645func (c *OpsWorks) UnassignInstanceWithContext(ctx aws.Context, input *UnassignInstanceInput, opts ...request.Option) (*UnassignInstanceOutput, error) {
5646	req, out := c.UnassignInstanceRequest(input)
5647	req.SetContext(ctx)
5648	req.ApplyOptions(opts...)
5649	return out, req.Send()
5650}
5651
5652const opUnassignVolume = "UnassignVolume"
5653
5654// UnassignVolumeRequest generates a "aws/request.Request" representing the
5655// client's request for the UnassignVolume operation. The "output" return
5656// value will be populated with the request's response once the request completes
5657// successfully.
5658//
5659// Use "Send" method on the returned Request to send the API call to the service.
5660// the "output" return value is not valid until after Send returns without error.
5661//
5662// See UnassignVolume for more information on using the UnassignVolume
5663// API call, and error handling.
5664//
5665// This method is useful when you want to inject custom logic or configuration
5666// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5667//
5668//
5669//    // Example sending a request using the UnassignVolumeRequest method.
5670//    req, resp := client.UnassignVolumeRequest(params)
5671//
5672//    err := req.Send()
5673//    if err == nil { // resp is now filled
5674//        fmt.Println(resp)
5675//    }
5676//
5677// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignVolume
5678func (c *OpsWorks) UnassignVolumeRequest(input *UnassignVolumeInput) (req *request.Request, output *UnassignVolumeOutput) {
5679	op := &request.Operation{
5680		Name:       opUnassignVolume,
5681		HTTPMethod: "POST",
5682		HTTPPath:   "/",
5683	}
5684
5685	if input == nil {
5686		input = &UnassignVolumeInput{}
5687	}
5688
5689	output = &UnassignVolumeOutput{}
5690	req = c.newRequest(op, input, output)
5691	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5692	return
5693}
5694
5695// UnassignVolume API operation for AWS OpsWorks.
5696//
5697// Unassigns an assigned Amazon EBS volume. The volume remains registered with
5698// the stack. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
5699//
5700// Required Permissions: To use this action, an IAM user must have a Manage
5701// permissions level for the stack, or an attached policy that explicitly grants
5702// permissions. For more information on user permissions, see Managing User
5703// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5704//
5705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5706// with awserr.Error's Code and Message methods to get detailed information about
5707// the error.
5708//
5709// See the AWS API reference guide for AWS OpsWorks's
5710// API operation UnassignVolume for usage and error information.
5711//
5712// Returned Error Types:
5713//   * ValidationException
5714//   Indicates that a request was not valid.
5715//
5716//   * ResourceNotFoundException
5717//   Indicates that a resource was not found.
5718//
5719// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignVolume
5720func (c *OpsWorks) UnassignVolume(input *UnassignVolumeInput) (*UnassignVolumeOutput, error) {
5721	req, out := c.UnassignVolumeRequest(input)
5722	return out, req.Send()
5723}
5724
5725// UnassignVolumeWithContext is the same as UnassignVolume with the addition of
5726// the ability to pass a context and additional request options.
5727//
5728// See UnassignVolume for details on how to use this API operation.
5729//
5730// The context must be non-nil and will be used for request cancellation. If
5731// the context is nil a panic will occur. In the future the SDK may create
5732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5733// for more information on using Contexts.
5734func (c *OpsWorks) UnassignVolumeWithContext(ctx aws.Context, input *UnassignVolumeInput, opts ...request.Option) (*UnassignVolumeOutput, error) {
5735	req, out := c.UnassignVolumeRequest(input)
5736	req.SetContext(ctx)
5737	req.ApplyOptions(opts...)
5738	return out, req.Send()
5739}
5740
5741const opUntagResource = "UntagResource"
5742
5743// UntagResourceRequest generates a "aws/request.Request" representing the
5744// client's request for the UntagResource operation. The "output" return
5745// value will be populated with the request's response once the request completes
5746// successfully.
5747//
5748// Use "Send" method on the returned Request to send the API call to the service.
5749// the "output" return value is not valid until after Send returns without error.
5750//
5751// See UntagResource for more information on using the UntagResource
5752// API call, and error handling.
5753//
5754// This method is useful when you want to inject custom logic or configuration
5755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5756//
5757//
5758//    // Example sending a request using the UntagResourceRequest method.
5759//    req, resp := client.UntagResourceRequest(params)
5760//
5761//    err := req.Send()
5762//    if err == nil { // resp is now filled
5763//        fmt.Println(resp)
5764//    }
5765//
5766// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UntagResource
5767func (c *OpsWorks) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5768	op := &request.Operation{
5769		Name:       opUntagResource,
5770		HTTPMethod: "POST",
5771		HTTPPath:   "/",
5772	}
5773
5774	if input == nil {
5775		input = &UntagResourceInput{}
5776	}
5777
5778	output = &UntagResourceOutput{}
5779	req = c.newRequest(op, input, output)
5780	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5781	return
5782}
5783
5784// UntagResource API operation for AWS OpsWorks.
5785//
5786// Removes tags from a specified stack or layer.
5787//
5788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5789// with awserr.Error's Code and Message methods to get detailed information about
5790// the error.
5791//
5792// See the AWS API reference guide for AWS OpsWorks's
5793// API operation UntagResource for usage and error information.
5794//
5795// Returned Error Types:
5796//   * ValidationException
5797//   Indicates that a request was not valid.
5798//
5799//   * ResourceNotFoundException
5800//   Indicates that a resource was not found.
5801//
5802// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UntagResource
5803func (c *OpsWorks) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5804	req, out := c.UntagResourceRequest(input)
5805	return out, req.Send()
5806}
5807
5808// UntagResourceWithContext is the same as UntagResource with the addition of
5809// the ability to pass a context and additional request options.
5810//
5811// See UntagResource for details on how to use this API operation.
5812//
5813// The context must be non-nil and will be used for request cancellation. If
5814// the context is nil a panic will occur. In the future the SDK may create
5815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5816// for more information on using Contexts.
5817func (c *OpsWorks) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5818	req, out := c.UntagResourceRequest(input)
5819	req.SetContext(ctx)
5820	req.ApplyOptions(opts...)
5821	return out, req.Send()
5822}
5823
5824const opUpdateApp = "UpdateApp"
5825
5826// UpdateAppRequest generates a "aws/request.Request" representing the
5827// client's request for the UpdateApp operation. The "output" return
5828// value will be populated with the request's response once the request completes
5829// successfully.
5830//
5831// Use "Send" method on the returned Request to send the API call to the service.
5832// the "output" return value is not valid until after Send returns without error.
5833//
5834// See UpdateApp for more information on using the UpdateApp
5835// API call, and error handling.
5836//
5837// This method is useful when you want to inject custom logic or configuration
5838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5839//
5840//
5841//    // Example sending a request using the UpdateAppRequest method.
5842//    req, resp := client.UpdateAppRequest(params)
5843//
5844//    err := req.Send()
5845//    if err == nil { // resp is now filled
5846//        fmt.Println(resp)
5847//    }
5848//
5849// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateApp
5850func (c *OpsWorks) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, output *UpdateAppOutput) {
5851	op := &request.Operation{
5852		Name:       opUpdateApp,
5853		HTTPMethod: "POST",
5854		HTTPPath:   "/",
5855	}
5856
5857	if input == nil {
5858		input = &UpdateAppInput{}
5859	}
5860
5861	output = &UpdateAppOutput{}
5862	req = c.newRequest(op, input, output)
5863	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5864	return
5865}
5866
5867// UpdateApp API operation for AWS OpsWorks.
5868//
5869// Updates a specified app.
5870//
5871// Required Permissions: To use this action, an IAM user must have a Deploy
5872// or Manage permissions level for the stack, or an attached policy that explicitly
5873// grants permissions. For more information on user permissions, see Managing
5874// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5875//
5876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5877// with awserr.Error's Code and Message methods to get detailed information about
5878// the error.
5879//
5880// See the AWS API reference guide for AWS OpsWorks's
5881// API operation UpdateApp for usage and error information.
5882//
5883// Returned Error Types:
5884//   * ValidationException
5885//   Indicates that a request was not valid.
5886//
5887//   * ResourceNotFoundException
5888//   Indicates that a resource was not found.
5889//
5890// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateApp
5891func (c *OpsWorks) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) {
5892	req, out := c.UpdateAppRequest(input)
5893	return out, req.Send()
5894}
5895
5896// UpdateAppWithContext is the same as UpdateApp with the addition of
5897// the ability to pass a context and additional request options.
5898//
5899// See UpdateApp for details on how to use this API operation.
5900//
5901// The context must be non-nil and will be used for request cancellation. If
5902// the context is nil a panic will occur. In the future the SDK may create
5903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5904// for more information on using Contexts.
5905func (c *OpsWorks) UpdateAppWithContext(ctx aws.Context, input *UpdateAppInput, opts ...request.Option) (*UpdateAppOutput, error) {
5906	req, out := c.UpdateAppRequest(input)
5907	req.SetContext(ctx)
5908	req.ApplyOptions(opts...)
5909	return out, req.Send()
5910}
5911
5912const opUpdateElasticIp = "UpdateElasticIp"
5913
5914// UpdateElasticIpRequest generates a "aws/request.Request" representing the
5915// client's request for the UpdateElasticIp operation. The "output" return
5916// value will be populated with the request's response once the request completes
5917// successfully.
5918//
5919// Use "Send" method on the returned Request to send the API call to the service.
5920// the "output" return value is not valid until after Send returns without error.
5921//
5922// See UpdateElasticIp for more information on using the UpdateElasticIp
5923// API call, and error handling.
5924//
5925// This method is useful when you want to inject custom logic or configuration
5926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5927//
5928//
5929//    // Example sending a request using the UpdateElasticIpRequest method.
5930//    req, resp := client.UpdateElasticIpRequest(params)
5931//
5932//    err := req.Send()
5933//    if err == nil { // resp is now filled
5934//        fmt.Println(resp)
5935//    }
5936//
5937// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateElasticIp
5938func (c *OpsWorks) UpdateElasticIpRequest(input *UpdateElasticIpInput) (req *request.Request, output *UpdateElasticIpOutput) {
5939	op := &request.Operation{
5940		Name:       opUpdateElasticIp,
5941		HTTPMethod: "POST",
5942		HTTPPath:   "/",
5943	}
5944
5945	if input == nil {
5946		input = &UpdateElasticIpInput{}
5947	}
5948
5949	output = &UpdateElasticIpOutput{}
5950	req = c.newRequest(op, input, output)
5951	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5952	return
5953}
5954
5955// UpdateElasticIp API operation for AWS OpsWorks.
5956//
5957// Updates a registered Elastic IP address's name. For more information, see
5958// Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
5959//
5960// Required Permissions: To use this action, an IAM user must have a Manage
5961// permissions level for the stack, or an attached policy that explicitly grants
5962// permissions. For more information on user permissions, see Managing User
5963// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5964//
5965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5966// with awserr.Error's Code and Message methods to get detailed information about
5967// the error.
5968//
5969// See the AWS API reference guide for AWS OpsWorks's
5970// API operation UpdateElasticIp for usage and error information.
5971//
5972// Returned Error Types:
5973//   * ValidationException
5974//   Indicates that a request was not valid.
5975//
5976//   * ResourceNotFoundException
5977//   Indicates that a resource was not found.
5978//
5979// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateElasticIp
5980func (c *OpsWorks) UpdateElasticIp(input *UpdateElasticIpInput) (*UpdateElasticIpOutput, error) {
5981	req, out := c.UpdateElasticIpRequest(input)
5982	return out, req.Send()
5983}
5984
5985// UpdateElasticIpWithContext is the same as UpdateElasticIp with the addition of
5986// the ability to pass a context and additional request options.
5987//
5988// See UpdateElasticIp for details on how to use this API operation.
5989//
5990// The context must be non-nil and will be used for request cancellation. If
5991// the context is nil a panic will occur. In the future the SDK may create
5992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5993// for more information on using Contexts.
5994func (c *OpsWorks) UpdateElasticIpWithContext(ctx aws.Context, input *UpdateElasticIpInput, opts ...request.Option) (*UpdateElasticIpOutput, error) {
5995	req, out := c.UpdateElasticIpRequest(input)
5996	req.SetContext(ctx)
5997	req.ApplyOptions(opts...)
5998	return out, req.Send()
5999}
6000
6001const opUpdateInstance = "UpdateInstance"
6002
6003// UpdateInstanceRequest generates a "aws/request.Request" representing the
6004// client's request for the UpdateInstance operation. The "output" return
6005// value will be populated with the request's response once the request completes
6006// successfully.
6007//
6008// Use "Send" method on the returned Request to send the API call to the service.
6009// the "output" return value is not valid until after Send returns without error.
6010//
6011// See UpdateInstance for more information on using the UpdateInstance
6012// API call, and error handling.
6013//
6014// This method is useful when you want to inject custom logic or configuration
6015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6016//
6017//
6018//    // Example sending a request using the UpdateInstanceRequest method.
6019//    req, resp := client.UpdateInstanceRequest(params)
6020//
6021//    err := req.Send()
6022//    if err == nil { // resp is now filled
6023//        fmt.Println(resp)
6024//    }
6025//
6026// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateInstance
6027func (c *OpsWorks) UpdateInstanceRequest(input *UpdateInstanceInput) (req *request.Request, output *UpdateInstanceOutput) {
6028	op := &request.Operation{
6029		Name:       opUpdateInstance,
6030		HTTPMethod: "POST",
6031		HTTPPath:   "/",
6032	}
6033
6034	if input == nil {
6035		input = &UpdateInstanceInput{}
6036	}
6037
6038	output = &UpdateInstanceOutput{}
6039	req = c.newRequest(op, input, output)
6040	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6041	return
6042}
6043
6044// UpdateInstance API operation for AWS OpsWorks.
6045//
6046// Updates a specified instance.
6047//
6048// Required Permissions: To use this action, an IAM user must have a Manage
6049// permissions level for the stack, or an attached policy that explicitly grants
6050// permissions. For more information on user permissions, see Managing User
6051// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6052//
6053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6054// with awserr.Error's Code and Message methods to get detailed information about
6055// the error.
6056//
6057// See the AWS API reference guide for AWS OpsWorks's
6058// API operation UpdateInstance for usage and error information.
6059//
6060// Returned Error Types:
6061//   * ValidationException
6062//   Indicates that a request was not valid.
6063//
6064//   * ResourceNotFoundException
6065//   Indicates that a resource was not found.
6066//
6067// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateInstance
6068func (c *OpsWorks) UpdateInstance(input *UpdateInstanceInput) (*UpdateInstanceOutput, error) {
6069	req, out := c.UpdateInstanceRequest(input)
6070	return out, req.Send()
6071}
6072
6073// UpdateInstanceWithContext is the same as UpdateInstance with the addition of
6074// the ability to pass a context and additional request options.
6075//
6076// See UpdateInstance for details on how to use this API operation.
6077//
6078// The context must be non-nil and will be used for request cancellation. If
6079// the context is nil a panic will occur. In the future the SDK may create
6080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6081// for more information on using Contexts.
6082func (c *OpsWorks) UpdateInstanceWithContext(ctx aws.Context, input *UpdateInstanceInput, opts ...request.Option) (*UpdateInstanceOutput, error) {
6083	req, out := c.UpdateInstanceRequest(input)
6084	req.SetContext(ctx)
6085	req.ApplyOptions(opts...)
6086	return out, req.Send()
6087}
6088
6089const opUpdateLayer = "UpdateLayer"
6090
6091// UpdateLayerRequest generates a "aws/request.Request" representing the
6092// client's request for the UpdateLayer operation. The "output" return
6093// value will be populated with the request's response once the request completes
6094// successfully.
6095//
6096// Use "Send" method on the returned Request to send the API call to the service.
6097// the "output" return value is not valid until after Send returns without error.
6098//
6099// See UpdateLayer for more information on using the UpdateLayer
6100// API call, and error handling.
6101//
6102// This method is useful when you want to inject custom logic or configuration
6103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6104//
6105//
6106//    // Example sending a request using the UpdateLayerRequest method.
6107//    req, resp := client.UpdateLayerRequest(params)
6108//
6109//    err := req.Send()
6110//    if err == nil { // resp is now filled
6111//        fmt.Println(resp)
6112//    }
6113//
6114// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateLayer
6115func (c *OpsWorks) UpdateLayerRequest(input *UpdateLayerInput) (req *request.Request, output *UpdateLayerOutput) {
6116	op := &request.Operation{
6117		Name:       opUpdateLayer,
6118		HTTPMethod: "POST",
6119		HTTPPath:   "/",
6120	}
6121
6122	if input == nil {
6123		input = &UpdateLayerInput{}
6124	}
6125
6126	output = &UpdateLayerOutput{}
6127	req = c.newRequest(op, input, output)
6128	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6129	return
6130}
6131
6132// UpdateLayer API operation for AWS OpsWorks.
6133//
6134// Updates a specified layer.
6135//
6136// Required Permissions: To use this action, an IAM user must have a Manage
6137// permissions level for the stack, or an attached policy that explicitly grants
6138// permissions. For more information on user permissions, see Managing User
6139// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6140//
6141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6142// with awserr.Error's Code and Message methods to get detailed information about
6143// the error.
6144//
6145// See the AWS API reference guide for AWS OpsWorks's
6146// API operation UpdateLayer for usage and error information.
6147//
6148// Returned Error Types:
6149//   * ValidationException
6150//   Indicates that a request was not valid.
6151//
6152//   * ResourceNotFoundException
6153//   Indicates that a resource was not found.
6154//
6155// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateLayer
6156func (c *OpsWorks) UpdateLayer(input *UpdateLayerInput) (*UpdateLayerOutput, error) {
6157	req, out := c.UpdateLayerRequest(input)
6158	return out, req.Send()
6159}
6160
6161// UpdateLayerWithContext is the same as UpdateLayer with the addition of
6162// the ability to pass a context and additional request options.
6163//
6164// See UpdateLayer for details on how to use this API operation.
6165//
6166// The context must be non-nil and will be used for request cancellation. If
6167// the context is nil a panic will occur. In the future the SDK may create
6168// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6169// for more information on using Contexts.
6170func (c *OpsWorks) UpdateLayerWithContext(ctx aws.Context, input *UpdateLayerInput, opts ...request.Option) (*UpdateLayerOutput, error) {
6171	req, out := c.UpdateLayerRequest(input)
6172	req.SetContext(ctx)
6173	req.ApplyOptions(opts...)
6174	return out, req.Send()
6175}
6176
6177const opUpdateMyUserProfile = "UpdateMyUserProfile"
6178
6179// UpdateMyUserProfileRequest generates a "aws/request.Request" representing the
6180// client's request for the UpdateMyUserProfile operation. The "output" return
6181// value will be populated with the request's response once the request completes
6182// successfully.
6183//
6184// Use "Send" method on the returned Request to send the API call to the service.
6185// the "output" return value is not valid until after Send returns without error.
6186//
6187// See UpdateMyUserProfile for more information on using the UpdateMyUserProfile
6188// API call, and error handling.
6189//
6190// This method is useful when you want to inject custom logic or configuration
6191// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6192//
6193//
6194//    // Example sending a request using the UpdateMyUserProfileRequest method.
6195//    req, resp := client.UpdateMyUserProfileRequest(params)
6196//
6197//    err := req.Send()
6198//    if err == nil { // resp is now filled
6199//        fmt.Println(resp)
6200//    }
6201//
6202// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateMyUserProfile
6203func (c *OpsWorks) UpdateMyUserProfileRequest(input *UpdateMyUserProfileInput) (req *request.Request, output *UpdateMyUserProfileOutput) {
6204	op := &request.Operation{
6205		Name:       opUpdateMyUserProfile,
6206		HTTPMethod: "POST",
6207		HTTPPath:   "/",
6208	}
6209
6210	if input == nil {
6211		input = &UpdateMyUserProfileInput{}
6212	}
6213
6214	output = &UpdateMyUserProfileOutput{}
6215	req = c.newRequest(op, input, output)
6216	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6217	return
6218}
6219
6220// UpdateMyUserProfile API operation for AWS OpsWorks.
6221//
6222// Updates a user's SSH public key.
6223//
6224// Required Permissions: To use this action, an IAM user must have self-management
6225// enabled or an attached policy that explicitly grants permissions. For more
6226// information about user permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6227//
6228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6229// with awserr.Error's Code and Message methods to get detailed information about
6230// the error.
6231//
6232// See the AWS API reference guide for AWS OpsWorks's
6233// API operation UpdateMyUserProfile for usage and error information.
6234//
6235// Returned Error Types:
6236//   * ValidationException
6237//   Indicates that a request was not valid.
6238//
6239// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateMyUserProfile
6240func (c *OpsWorks) UpdateMyUserProfile(input *UpdateMyUserProfileInput) (*UpdateMyUserProfileOutput, error) {
6241	req, out := c.UpdateMyUserProfileRequest(input)
6242	return out, req.Send()
6243}
6244
6245// UpdateMyUserProfileWithContext is the same as UpdateMyUserProfile with the addition of
6246// the ability to pass a context and additional request options.
6247//
6248// See UpdateMyUserProfile for details on how to use this API operation.
6249//
6250// The context must be non-nil and will be used for request cancellation. If
6251// the context is nil a panic will occur. In the future the SDK may create
6252// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6253// for more information on using Contexts.
6254func (c *OpsWorks) UpdateMyUserProfileWithContext(ctx aws.Context, input *UpdateMyUserProfileInput, opts ...request.Option) (*UpdateMyUserProfileOutput, error) {
6255	req, out := c.UpdateMyUserProfileRequest(input)
6256	req.SetContext(ctx)
6257	req.ApplyOptions(opts...)
6258	return out, req.Send()
6259}
6260
6261const opUpdateRdsDbInstance = "UpdateRdsDbInstance"
6262
6263// UpdateRdsDbInstanceRequest generates a "aws/request.Request" representing the
6264// client's request for the UpdateRdsDbInstance operation. The "output" return
6265// value will be populated with the request's response once the request completes
6266// successfully.
6267//
6268// Use "Send" method on the returned Request to send the API call to the service.
6269// the "output" return value is not valid until after Send returns without error.
6270//
6271// See UpdateRdsDbInstance for more information on using the UpdateRdsDbInstance
6272// API call, and error handling.
6273//
6274// This method is useful when you want to inject custom logic or configuration
6275// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6276//
6277//
6278//    // Example sending a request using the UpdateRdsDbInstanceRequest method.
6279//    req, resp := client.UpdateRdsDbInstanceRequest(params)
6280//
6281//    err := req.Send()
6282//    if err == nil { // resp is now filled
6283//        fmt.Println(resp)
6284//    }
6285//
6286// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateRdsDbInstance
6287func (c *OpsWorks) UpdateRdsDbInstanceRequest(input *UpdateRdsDbInstanceInput) (req *request.Request, output *UpdateRdsDbInstanceOutput) {
6288	op := &request.Operation{
6289		Name:       opUpdateRdsDbInstance,
6290		HTTPMethod: "POST",
6291		HTTPPath:   "/",
6292	}
6293
6294	if input == nil {
6295		input = &UpdateRdsDbInstanceInput{}
6296	}
6297
6298	output = &UpdateRdsDbInstanceOutput{}
6299	req = c.newRequest(op, input, output)
6300	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6301	return
6302}
6303
6304// UpdateRdsDbInstance API operation for AWS OpsWorks.
6305//
6306// Updates an Amazon RDS instance.
6307//
6308// Required Permissions: To use this action, an IAM user must have a Manage
6309// permissions level for the stack, or an attached policy that explicitly grants
6310// permissions. For more information on user permissions, see Managing User
6311// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6312//
6313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6314// with awserr.Error's Code and Message methods to get detailed information about
6315// the error.
6316//
6317// See the AWS API reference guide for AWS OpsWorks's
6318// API operation UpdateRdsDbInstance for usage and error information.
6319//
6320// Returned Error Types:
6321//   * ValidationException
6322//   Indicates that a request was not valid.
6323//
6324//   * ResourceNotFoundException
6325//   Indicates that a resource was not found.
6326//
6327// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateRdsDbInstance
6328func (c *OpsWorks) UpdateRdsDbInstance(input *UpdateRdsDbInstanceInput) (*UpdateRdsDbInstanceOutput, error) {
6329	req, out := c.UpdateRdsDbInstanceRequest(input)
6330	return out, req.Send()
6331}
6332
6333// UpdateRdsDbInstanceWithContext is the same as UpdateRdsDbInstance with the addition of
6334// the ability to pass a context and additional request options.
6335//
6336// See UpdateRdsDbInstance for details on how to use this API operation.
6337//
6338// The context must be non-nil and will be used for request cancellation. If
6339// the context is nil a panic will occur. In the future the SDK may create
6340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6341// for more information on using Contexts.
6342func (c *OpsWorks) UpdateRdsDbInstanceWithContext(ctx aws.Context, input *UpdateRdsDbInstanceInput, opts ...request.Option) (*UpdateRdsDbInstanceOutput, error) {
6343	req, out := c.UpdateRdsDbInstanceRequest(input)
6344	req.SetContext(ctx)
6345	req.ApplyOptions(opts...)
6346	return out, req.Send()
6347}
6348
6349const opUpdateStack = "UpdateStack"
6350
6351// UpdateStackRequest generates a "aws/request.Request" representing the
6352// client's request for the UpdateStack operation. The "output" return
6353// value will be populated with the request's response once the request completes
6354// successfully.
6355//
6356// Use "Send" method on the returned Request to send the API call to the service.
6357// the "output" return value is not valid until after Send returns without error.
6358//
6359// See UpdateStack for more information on using the UpdateStack
6360// API call, and error handling.
6361//
6362// This method is useful when you want to inject custom logic or configuration
6363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6364//
6365//
6366//    // Example sending a request using the UpdateStackRequest method.
6367//    req, resp := client.UpdateStackRequest(params)
6368//
6369//    err := req.Send()
6370//    if err == nil { // resp is now filled
6371//        fmt.Println(resp)
6372//    }
6373//
6374// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateStack
6375func (c *OpsWorks) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) {
6376	op := &request.Operation{
6377		Name:       opUpdateStack,
6378		HTTPMethod: "POST",
6379		HTTPPath:   "/",
6380	}
6381
6382	if input == nil {
6383		input = &UpdateStackInput{}
6384	}
6385
6386	output = &UpdateStackOutput{}
6387	req = c.newRequest(op, input, output)
6388	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6389	return
6390}
6391
6392// UpdateStack API operation for AWS OpsWorks.
6393//
6394// Updates a specified stack.
6395//
6396// Required Permissions: To use this action, an IAM user must have a Manage
6397// permissions level for the stack, or an attached policy that explicitly grants
6398// permissions. For more information on user permissions, see Managing User
6399// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6400//
6401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6402// with awserr.Error's Code and Message methods to get detailed information about
6403// the error.
6404//
6405// See the AWS API reference guide for AWS OpsWorks's
6406// API operation UpdateStack for usage and error information.
6407//
6408// Returned Error Types:
6409//   * ValidationException
6410//   Indicates that a request was not valid.
6411//
6412//   * ResourceNotFoundException
6413//   Indicates that a resource was not found.
6414//
6415// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateStack
6416func (c *OpsWorks) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) {
6417	req, out := c.UpdateStackRequest(input)
6418	return out, req.Send()
6419}
6420
6421// UpdateStackWithContext is the same as UpdateStack with the addition of
6422// the ability to pass a context and additional request options.
6423//
6424// See UpdateStack for details on how to use this API operation.
6425//
6426// The context must be non-nil and will be used for request cancellation. If
6427// the context is nil a panic will occur. In the future the SDK may create
6428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6429// for more information on using Contexts.
6430func (c *OpsWorks) UpdateStackWithContext(ctx aws.Context, input *UpdateStackInput, opts ...request.Option) (*UpdateStackOutput, error) {
6431	req, out := c.UpdateStackRequest(input)
6432	req.SetContext(ctx)
6433	req.ApplyOptions(opts...)
6434	return out, req.Send()
6435}
6436
6437const opUpdateUserProfile = "UpdateUserProfile"
6438
6439// UpdateUserProfileRequest generates a "aws/request.Request" representing the
6440// client's request for the UpdateUserProfile operation. The "output" return
6441// value will be populated with the request's response once the request completes
6442// successfully.
6443//
6444// Use "Send" method on the returned Request to send the API call to the service.
6445// the "output" return value is not valid until after Send returns without error.
6446//
6447// See UpdateUserProfile for more information on using the UpdateUserProfile
6448// API call, and error handling.
6449//
6450// This method is useful when you want to inject custom logic or configuration
6451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6452//
6453//
6454//    // Example sending a request using the UpdateUserProfileRequest method.
6455//    req, resp := client.UpdateUserProfileRequest(params)
6456//
6457//    err := req.Send()
6458//    if err == nil { // resp is now filled
6459//        fmt.Println(resp)
6460//    }
6461//
6462// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateUserProfile
6463func (c *OpsWorks) UpdateUserProfileRequest(input *UpdateUserProfileInput) (req *request.Request, output *UpdateUserProfileOutput) {
6464	op := &request.Operation{
6465		Name:       opUpdateUserProfile,
6466		HTTPMethod: "POST",
6467		HTTPPath:   "/",
6468	}
6469
6470	if input == nil {
6471		input = &UpdateUserProfileInput{}
6472	}
6473
6474	output = &UpdateUserProfileOutput{}
6475	req = c.newRequest(op, input, output)
6476	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6477	return
6478}
6479
6480// UpdateUserProfile API operation for AWS OpsWorks.
6481//
6482// Updates a specified user profile.
6483//
6484// Required Permissions: To use this action, an IAM user must have an attached
6485// policy that explicitly grants permissions. For more information about user
6486// permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6487//
6488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6489// with awserr.Error's Code and Message methods to get detailed information about
6490// the error.
6491//
6492// See the AWS API reference guide for AWS OpsWorks's
6493// API operation UpdateUserProfile for usage and error information.
6494//
6495// Returned Error Types:
6496//   * ValidationException
6497//   Indicates that a request was not valid.
6498//
6499//   * ResourceNotFoundException
6500//   Indicates that a resource was not found.
6501//
6502// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateUserProfile
6503func (c *OpsWorks) UpdateUserProfile(input *UpdateUserProfileInput) (*UpdateUserProfileOutput, error) {
6504	req, out := c.UpdateUserProfileRequest(input)
6505	return out, req.Send()
6506}
6507
6508// UpdateUserProfileWithContext is the same as UpdateUserProfile with the addition of
6509// the ability to pass a context and additional request options.
6510//
6511// See UpdateUserProfile for details on how to use this API operation.
6512//
6513// The context must be non-nil and will be used for request cancellation. If
6514// the context is nil a panic will occur. In the future the SDK may create
6515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6516// for more information on using Contexts.
6517func (c *OpsWorks) UpdateUserProfileWithContext(ctx aws.Context, input *UpdateUserProfileInput, opts ...request.Option) (*UpdateUserProfileOutput, error) {
6518	req, out := c.UpdateUserProfileRequest(input)
6519	req.SetContext(ctx)
6520	req.ApplyOptions(opts...)
6521	return out, req.Send()
6522}
6523
6524const opUpdateVolume = "UpdateVolume"
6525
6526// UpdateVolumeRequest generates a "aws/request.Request" representing the
6527// client's request for the UpdateVolume operation. The "output" return
6528// value will be populated with the request's response once the request completes
6529// successfully.
6530//
6531// Use "Send" method on the returned Request to send the API call to the service.
6532// the "output" return value is not valid until after Send returns without error.
6533//
6534// See UpdateVolume for more information on using the UpdateVolume
6535// API call, and error handling.
6536//
6537// This method is useful when you want to inject custom logic or configuration
6538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6539//
6540//
6541//    // Example sending a request using the UpdateVolumeRequest method.
6542//    req, resp := client.UpdateVolumeRequest(params)
6543//
6544//    err := req.Send()
6545//    if err == nil { // resp is now filled
6546//        fmt.Println(resp)
6547//    }
6548//
6549// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateVolume
6550func (c *OpsWorks) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.Request, output *UpdateVolumeOutput) {
6551	op := &request.Operation{
6552		Name:       opUpdateVolume,
6553		HTTPMethod: "POST",
6554		HTTPPath:   "/",
6555	}
6556
6557	if input == nil {
6558		input = &UpdateVolumeInput{}
6559	}
6560
6561	output = &UpdateVolumeOutput{}
6562	req = c.newRequest(op, input, output)
6563	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6564	return
6565}
6566
6567// UpdateVolume API operation for AWS OpsWorks.
6568//
6569// Updates an Amazon EBS volume's name or mount point. For more information,
6570// see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
6571//
6572// Required Permissions: To use this action, an IAM user must have a Manage
6573// permissions level for the stack, or an attached policy that explicitly grants
6574// permissions. For more information on user permissions, see Managing User
6575// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6576//
6577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6578// with awserr.Error's Code and Message methods to get detailed information about
6579// the error.
6580//
6581// See the AWS API reference guide for AWS OpsWorks's
6582// API operation UpdateVolume for usage and error information.
6583//
6584// Returned Error Types:
6585//   * ValidationException
6586//   Indicates that a request was not valid.
6587//
6588//   * ResourceNotFoundException
6589//   Indicates that a resource was not found.
6590//
6591// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateVolume
6592func (c *OpsWorks) UpdateVolume(input *UpdateVolumeInput) (*UpdateVolumeOutput, error) {
6593	req, out := c.UpdateVolumeRequest(input)
6594	return out, req.Send()
6595}
6596
6597// UpdateVolumeWithContext is the same as UpdateVolume with the addition of
6598// the ability to pass a context and additional request options.
6599//
6600// See UpdateVolume for details on how to use this API operation.
6601//
6602// The context must be non-nil and will be used for request cancellation. If
6603// the context is nil a panic will occur. In the future the SDK may create
6604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6605// for more information on using Contexts.
6606func (c *OpsWorks) UpdateVolumeWithContext(ctx aws.Context, input *UpdateVolumeInput, opts ...request.Option) (*UpdateVolumeOutput, error) {
6607	req, out := c.UpdateVolumeRequest(input)
6608	req.SetContext(ctx)
6609	req.ApplyOptions(opts...)
6610	return out, req.Send()
6611}
6612
6613// Describes an agent version.
6614type AgentVersion struct {
6615	_ struct{} `type:"structure"`
6616
6617	// The configuration manager.
6618	ConfigurationManager *StackConfigurationManager `type:"structure"`
6619
6620	// The agent version.
6621	Version *string `type:"string"`
6622}
6623
6624// String returns the string representation
6625func (s AgentVersion) String() string {
6626	return awsutil.Prettify(s)
6627}
6628
6629// GoString returns the string representation
6630func (s AgentVersion) GoString() string {
6631	return s.String()
6632}
6633
6634// SetConfigurationManager sets the ConfigurationManager field's value.
6635func (s *AgentVersion) SetConfigurationManager(v *StackConfigurationManager) *AgentVersion {
6636	s.ConfigurationManager = v
6637	return s
6638}
6639
6640// SetVersion sets the Version field's value.
6641func (s *AgentVersion) SetVersion(v string) *AgentVersion {
6642	s.Version = &v
6643	return s
6644}
6645
6646// A description of the app.
6647type App struct {
6648	_ struct{} `type:"structure"`
6649
6650	// The app ID.
6651	AppId *string `type:"string"`
6652
6653	// A Source object that describes the app repository.
6654	AppSource *Source `type:"structure"`
6655
6656	// The stack attributes.
6657	Attributes map[string]*string `type:"map"`
6658
6659	// When the app was created.
6660	CreatedAt *string `type:"string"`
6661
6662	// The app's data sources.
6663	DataSources []*DataSource `type:"list"`
6664
6665	// A description of the app.
6666	Description *string `type:"string"`
6667
6668	// The app vhost settings with multiple domains separated by commas. For example:
6669	// 'www.example.com, example.com'
6670	Domains []*string `type:"list"`
6671
6672	// Whether to enable SSL for the app.
6673	EnableSsl *bool `type:"boolean"`
6674
6675	// An array of EnvironmentVariable objects that specify environment variables
6676	// to be associated with the app. After you deploy the app, these variables
6677	// are defined on the associated app server instances. For more information,
6678	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
6679	//
6680	// There is no specific limit on the number of environment variables. However,
6681	// the size of the associated data structure - which includes the variable names,
6682	// values, and protected flag values - cannot exceed 20 KB. This limit should
6683	// accommodate most if not all use cases, but if you do exceed it, you will
6684	// cause an exception (API) with an "Environment: is too large (maximum is 20
6685	// KB)" message.
6686	Environment []*EnvironmentVariable `type:"list"`
6687
6688	// The app name.
6689	Name *string `type:"string"`
6690
6691	// The app's short name.
6692	Shortname *string `type:"string"`
6693
6694	// An SslConfiguration object with the SSL configuration.
6695	SslConfiguration *SslConfiguration `type:"structure"`
6696
6697	// The app stack ID.
6698	StackId *string `type:"string"`
6699
6700	// The app type.
6701	Type *string `type:"string" enum:"AppType"`
6702}
6703
6704// String returns the string representation
6705func (s App) String() string {
6706	return awsutil.Prettify(s)
6707}
6708
6709// GoString returns the string representation
6710func (s App) GoString() string {
6711	return s.String()
6712}
6713
6714// SetAppId sets the AppId field's value.
6715func (s *App) SetAppId(v string) *App {
6716	s.AppId = &v
6717	return s
6718}
6719
6720// SetAppSource sets the AppSource field's value.
6721func (s *App) SetAppSource(v *Source) *App {
6722	s.AppSource = v
6723	return s
6724}
6725
6726// SetAttributes sets the Attributes field's value.
6727func (s *App) SetAttributes(v map[string]*string) *App {
6728	s.Attributes = v
6729	return s
6730}
6731
6732// SetCreatedAt sets the CreatedAt field's value.
6733func (s *App) SetCreatedAt(v string) *App {
6734	s.CreatedAt = &v
6735	return s
6736}
6737
6738// SetDataSources sets the DataSources field's value.
6739func (s *App) SetDataSources(v []*DataSource) *App {
6740	s.DataSources = v
6741	return s
6742}
6743
6744// SetDescription sets the Description field's value.
6745func (s *App) SetDescription(v string) *App {
6746	s.Description = &v
6747	return s
6748}
6749
6750// SetDomains sets the Domains field's value.
6751func (s *App) SetDomains(v []*string) *App {
6752	s.Domains = v
6753	return s
6754}
6755
6756// SetEnableSsl sets the EnableSsl field's value.
6757func (s *App) SetEnableSsl(v bool) *App {
6758	s.EnableSsl = &v
6759	return s
6760}
6761
6762// SetEnvironment sets the Environment field's value.
6763func (s *App) SetEnvironment(v []*EnvironmentVariable) *App {
6764	s.Environment = v
6765	return s
6766}
6767
6768// SetName sets the Name field's value.
6769func (s *App) SetName(v string) *App {
6770	s.Name = &v
6771	return s
6772}
6773
6774// SetShortname sets the Shortname field's value.
6775func (s *App) SetShortname(v string) *App {
6776	s.Shortname = &v
6777	return s
6778}
6779
6780// SetSslConfiguration sets the SslConfiguration field's value.
6781func (s *App) SetSslConfiguration(v *SslConfiguration) *App {
6782	s.SslConfiguration = v
6783	return s
6784}
6785
6786// SetStackId sets the StackId field's value.
6787func (s *App) SetStackId(v string) *App {
6788	s.StackId = &v
6789	return s
6790}
6791
6792// SetType sets the Type field's value.
6793func (s *App) SetType(v string) *App {
6794	s.Type = &v
6795	return s
6796}
6797
6798type AssignInstanceInput struct {
6799	_ struct{} `type:"structure"`
6800
6801	// The instance ID.
6802	//
6803	// InstanceId is a required field
6804	InstanceId *string `type:"string" required:"true"`
6805
6806	// The layer ID, which must correspond to a custom layer. You cannot assign
6807	// a registered instance to a built-in layer.
6808	//
6809	// LayerIds is a required field
6810	LayerIds []*string `type:"list" required:"true"`
6811}
6812
6813// String returns the string representation
6814func (s AssignInstanceInput) String() string {
6815	return awsutil.Prettify(s)
6816}
6817
6818// GoString returns the string representation
6819func (s AssignInstanceInput) GoString() string {
6820	return s.String()
6821}
6822
6823// Validate inspects the fields of the type to determine if they are valid.
6824func (s *AssignInstanceInput) Validate() error {
6825	invalidParams := request.ErrInvalidParams{Context: "AssignInstanceInput"}
6826	if s.InstanceId == nil {
6827		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6828	}
6829	if s.LayerIds == nil {
6830		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
6831	}
6832
6833	if invalidParams.Len() > 0 {
6834		return invalidParams
6835	}
6836	return nil
6837}
6838
6839// SetInstanceId sets the InstanceId field's value.
6840func (s *AssignInstanceInput) SetInstanceId(v string) *AssignInstanceInput {
6841	s.InstanceId = &v
6842	return s
6843}
6844
6845// SetLayerIds sets the LayerIds field's value.
6846func (s *AssignInstanceInput) SetLayerIds(v []*string) *AssignInstanceInput {
6847	s.LayerIds = v
6848	return s
6849}
6850
6851type AssignInstanceOutput struct {
6852	_ struct{} `type:"structure"`
6853}
6854
6855// String returns the string representation
6856func (s AssignInstanceOutput) String() string {
6857	return awsutil.Prettify(s)
6858}
6859
6860// GoString returns the string representation
6861func (s AssignInstanceOutput) GoString() string {
6862	return s.String()
6863}
6864
6865type AssignVolumeInput struct {
6866	_ struct{} `type:"structure"`
6867
6868	// The instance ID.
6869	InstanceId *string `type:"string"`
6870
6871	// The volume ID.
6872	//
6873	// VolumeId is a required field
6874	VolumeId *string `type:"string" required:"true"`
6875}
6876
6877// String returns the string representation
6878func (s AssignVolumeInput) String() string {
6879	return awsutil.Prettify(s)
6880}
6881
6882// GoString returns the string representation
6883func (s AssignVolumeInput) GoString() string {
6884	return s.String()
6885}
6886
6887// Validate inspects the fields of the type to determine if they are valid.
6888func (s *AssignVolumeInput) Validate() error {
6889	invalidParams := request.ErrInvalidParams{Context: "AssignVolumeInput"}
6890	if s.VolumeId == nil {
6891		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
6892	}
6893
6894	if invalidParams.Len() > 0 {
6895		return invalidParams
6896	}
6897	return nil
6898}
6899
6900// SetInstanceId sets the InstanceId field's value.
6901func (s *AssignVolumeInput) SetInstanceId(v string) *AssignVolumeInput {
6902	s.InstanceId = &v
6903	return s
6904}
6905
6906// SetVolumeId sets the VolumeId field's value.
6907func (s *AssignVolumeInput) SetVolumeId(v string) *AssignVolumeInput {
6908	s.VolumeId = &v
6909	return s
6910}
6911
6912type AssignVolumeOutput struct {
6913	_ struct{} `type:"structure"`
6914}
6915
6916// String returns the string representation
6917func (s AssignVolumeOutput) String() string {
6918	return awsutil.Prettify(s)
6919}
6920
6921// GoString returns the string representation
6922func (s AssignVolumeOutput) GoString() string {
6923	return s.String()
6924}
6925
6926type AssociateElasticIpInput struct {
6927	_ struct{} `type:"structure"`
6928
6929	// The Elastic IP address.
6930	//
6931	// ElasticIp is a required field
6932	ElasticIp *string `type:"string" required:"true"`
6933
6934	// The instance ID.
6935	InstanceId *string `type:"string"`
6936}
6937
6938// String returns the string representation
6939func (s AssociateElasticIpInput) String() string {
6940	return awsutil.Prettify(s)
6941}
6942
6943// GoString returns the string representation
6944func (s AssociateElasticIpInput) GoString() string {
6945	return s.String()
6946}
6947
6948// Validate inspects the fields of the type to determine if they are valid.
6949func (s *AssociateElasticIpInput) Validate() error {
6950	invalidParams := request.ErrInvalidParams{Context: "AssociateElasticIpInput"}
6951	if s.ElasticIp == nil {
6952		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
6953	}
6954
6955	if invalidParams.Len() > 0 {
6956		return invalidParams
6957	}
6958	return nil
6959}
6960
6961// SetElasticIp sets the ElasticIp field's value.
6962func (s *AssociateElasticIpInput) SetElasticIp(v string) *AssociateElasticIpInput {
6963	s.ElasticIp = &v
6964	return s
6965}
6966
6967// SetInstanceId sets the InstanceId field's value.
6968func (s *AssociateElasticIpInput) SetInstanceId(v string) *AssociateElasticIpInput {
6969	s.InstanceId = &v
6970	return s
6971}
6972
6973type AssociateElasticIpOutput struct {
6974	_ struct{} `type:"structure"`
6975}
6976
6977// String returns the string representation
6978func (s AssociateElasticIpOutput) String() string {
6979	return awsutil.Prettify(s)
6980}
6981
6982// GoString returns the string representation
6983func (s AssociateElasticIpOutput) GoString() string {
6984	return s.String()
6985}
6986
6987type AttachElasticLoadBalancerInput struct {
6988	_ struct{} `type:"structure"`
6989
6990	// The Elastic Load Balancing instance's name.
6991	//
6992	// ElasticLoadBalancerName is a required field
6993	ElasticLoadBalancerName *string `type:"string" required:"true"`
6994
6995	// The ID of the layer to which the Elastic Load Balancing instance is to be
6996	// attached.
6997	//
6998	// LayerId is a required field
6999	LayerId *string `type:"string" required:"true"`
7000}
7001
7002// String returns the string representation
7003func (s AttachElasticLoadBalancerInput) String() string {
7004	return awsutil.Prettify(s)
7005}
7006
7007// GoString returns the string representation
7008func (s AttachElasticLoadBalancerInput) GoString() string {
7009	return s.String()
7010}
7011
7012// Validate inspects the fields of the type to determine if they are valid.
7013func (s *AttachElasticLoadBalancerInput) Validate() error {
7014	invalidParams := request.ErrInvalidParams{Context: "AttachElasticLoadBalancerInput"}
7015	if s.ElasticLoadBalancerName == nil {
7016		invalidParams.Add(request.NewErrParamRequired("ElasticLoadBalancerName"))
7017	}
7018	if s.LayerId == nil {
7019		invalidParams.Add(request.NewErrParamRequired("LayerId"))
7020	}
7021
7022	if invalidParams.Len() > 0 {
7023		return invalidParams
7024	}
7025	return nil
7026}
7027
7028// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
7029func (s *AttachElasticLoadBalancerInput) SetElasticLoadBalancerName(v string) *AttachElasticLoadBalancerInput {
7030	s.ElasticLoadBalancerName = &v
7031	return s
7032}
7033
7034// SetLayerId sets the LayerId field's value.
7035func (s *AttachElasticLoadBalancerInput) SetLayerId(v string) *AttachElasticLoadBalancerInput {
7036	s.LayerId = &v
7037	return s
7038}
7039
7040type AttachElasticLoadBalancerOutput struct {
7041	_ struct{} `type:"structure"`
7042}
7043
7044// String returns the string representation
7045func (s AttachElasticLoadBalancerOutput) String() string {
7046	return awsutil.Prettify(s)
7047}
7048
7049// GoString returns the string representation
7050func (s AttachElasticLoadBalancerOutput) GoString() string {
7051	return s.String()
7052}
7053
7054// Describes a load-based auto scaling upscaling or downscaling threshold configuration,
7055// which specifies when AWS OpsWorks Stacks starts or stops load-based instances.
7056type AutoScalingThresholds struct {
7057	_ struct{} `type:"structure"`
7058
7059	// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter
7060	// takes a list of up to five alarm names, which are case sensitive and must
7061	// be in the same region as the stack.
7062	//
7063	// To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms.
7064	// You can either have AWS OpsWorks Stacks update the role for you when you
7065	// first use this feature or you can edit the role manually. For more information,
7066	// see Allowing AWS OpsWorks Stacks to Act on Your Behalf (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-servicerole.html).
7067	Alarms []*string `type:"list"`
7068
7069	// The CPU utilization threshold, as a percent of the available CPU. A value
7070	// of -1 disables the threshold.
7071	CpuThreshold *float64 `type:"double"`
7072
7073	// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks
7074	// Stacks should ignore metrics and suppress additional scaling events. For
7075	// example, AWS OpsWorks Stacks adds new instances following an upscaling event
7076	// but the instances won't start reducing the load until they have been booted
7077	// and configured. There is no point in raising additional scaling events during
7078	// that operation, which typically takes several minutes. IgnoreMetricsTime
7079	// allows you to direct AWS OpsWorks Stacks to suppress scaling events long
7080	// enough to get the new instances online.
7081	IgnoreMetricsTime *int64 `min:"1" type:"integer"`
7082
7083	// The number of instances to add or remove when the load exceeds a threshold.
7084	InstanceCount *int64 `type:"integer"`
7085
7086	// The load threshold. A value of -1 disables the threshold. For more information
7087	// about how load is computed, see Load (computing) (http://en.wikipedia.org/wiki/Load_%28computing%29).
7088	LoadThreshold *float64 `type:"double"`
7089
7090	// The memory utilization threshold, as a percent of the available memory. A
7091	// value of -1 disables the threshold.
7092	MemoryThreshold *float64 `type:"double"`
7093
7094	// The amount of time, in minutes, that the load must exceed a threshold before
7095	// more instances are added or removed.
7096	ThresholdsWaitTime *int64 `min:"1" type:"integer"`
7097}
7098
7099// String returns the string representation
7100func (s AutoScalingThresholds) String() string {
7101	return awsutil.Prettify(s)
7102}
7103
7104// GoString returns the string representation
7105func (s AutoScalingThresholds) GoString() string {
7106	return s.String()
7107}
7108
7109// Validate inspects the fields of the type to determine if they are valid.
7110func (s *AutoScalingThresholds) Validate() error {
7111	invalidParams := request.ErrInvalidParams{Context: "AutoScalingThresholds"}
7112	if s.IgnoreMetricsTime != nil && *s.IgnoreMetricsTime < 1 {
7113		invalidParams.Add(request.NewErrParamMinValue("IgnoreMetricsTime", 1))
7114	}
7115	if s.ThresholdsWaitTime != nil && *s.ThresholdsWaitTime < 1 {
7116		invalidParams.Add(request.NewErrParamMinValue("ThresholdsWaitTime", 1))
7117	}
7118
7119	if invalidParams.Len() > 0 {
7120		return invalidParams
7121	}
7122	return nil
7123}
7124
7125// SetAlarms sets the Alarms field's value.
7126func (s *AutoScalingThresholds) SetAlarms(v []*string) *AutoScalingThresholds {
7127	s.Alarms = v
7128	return s
7129}
7130
7131// SetCpuThreshold sets the CpuThreshold field's value.
7132func (s *AutoScalingThresholds) SetCpuThreshold(v float64) *AutoScalingThresholds {
7133	s.CpuThreshold = &v
7134	return s
7135}
7136
7137// SetIgnoreMetricsTime sets the IgnoreMetricsTime field's value.
7138func (s *AutoScalingThresholds) SetIgnoreMetricsTime(v int64) *AutoScalingThresholds {
7139	s.IgnoreMetricsTime = &v
7140	return s
7141}
7142
7143// SetInstanceCount sets the InstanceCount field's value.
7144func (s *AutoScalingThresholds) SetInstanceCount(v int64) *AutoScalingThresholds {
7145	s.InstanceCount = &v
7146	return s
7147}
7148
7149// SetLoadThreshold sets the LoadThreshold field's value.
7150func (s *AutoScalingThresholds) SetLoadThreshold(v float64) *AutoScalingThresholds {
7151	s.LoadThreshold = &v
7152	return s
7153}
7154
7155// SetMemoryThreshold sets the MemoryThreshold field's value.
7156func (s *AutoScalingThresholds) SetMemoryThreshold(v float64) *AutoScalingThresholds {
7157	s.MemoryThreshold = &v
7158	return s
7159}
7160
7161// SetThresholdsWaitTime sets the ThresholdsWaitTime field's value.
7162func (s *AutoScalingThresholds) SetThresholdsWaitTime(v int64) *AutoScalingThresholds {
7163	s.ThresholdsWaitTime = &v
7164	return s
7165}
7166
7167// Describes a block device mapping. This data type maps directly to the Amazon
7168// EC2 BlockDeviceMapping (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html)
7169// data type.
7170type BlockDeviceMapping struct {
7171	_ struct{} `type:"structure"`
7172
7173	// The device name that is exposed to the instance, such as /dev/sdh. For the
7174	// root device, you can use the explicit device name or you can set this parameter
7175	// to ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.
7176	DeviceName *string `type:"string"`
7177
7178	// An EBSBlockDevice that defines how to configure an Amazon EBS volume when
7179	// the instance is launched.
7180	Ebs *EbsBlockDevice `type:"structure"`
7181
7182	// Suppresses the specified device included in the AMI's block device mapping.
7183	NoDevice *string `type:"string"`
7184
7185	// The virtual device name. For more information, see BlockDeviceMapping (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html).
7186	VirtualName *string `type:"string"`
7187}
7188
7189// String returns the string representation
7190func (s BlockDeviceMapping) String() string {
7191	return awsutil.Prettify(s)
7192}
7193
7194// GoString returns the string representation
7195func (s BlockDeviceMapping) GoString() string {
7196	return s.String()
7197}
7198
7199// SetDeviceName sets the DeviceName field's value.
7200func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
7201	s.DeviceName = &v
7202	return s
7203}
7204
7205// SetEbs sets the Ebs field's value.
7206func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
7207	s.Ebs = v
7208	return s
7209}
7210
7211// SetNoDevice sets the NoDevice field's value.
7212func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
7213	s.NoDevice = &v
7214	return s
7215}
7216
7217// SetVirtualName sets the VirtualName field's value.
7218func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
7219	s.VirtualName = &v
7220	return s
7221}
7222
7223// Describes the Chef configuration.
7224type ChefConfiguration struct {
7225	_ struct{} `type:"structure"`
7226
7227	// The Berkshelf version.
7228	BerkshelfVersion *string `type:"string"`
7229
7230	// Whether to enable Berkshelf.
7231	ManageBerkshelf *bool `type:"boolean"`
7232}
7233
7234// String returns the string representation
7235func (s ChefConfiguration) String() string {
7236	return awsutil.Prettify(s)
7237}
7238
7239// GoString returns the string representation
7240func (s ChefConfiguration) GoString() string {
7241	return s.String()
7242}
7243
7244// SetBerkshelfVersion sets the BerkshelfVersion field's value.
7245func (s *ChefConfiguration) SetBerkshelfVersion(v string) *ChefConfiguration {
7246	s.BerkshelfVersion = &v
7247	return s
7248}
7249
7250// SetManageBerkshelf sets the ManageBerkshelf field's value.
7251func (s *ChefConfiguration) SetManageBerkshelf(v bool) *ChefConfiguration {
7252	s.ManageBerkshelf = &v
7253	return s
7254}
7255
7256type CloneStackInput struct {
7257	_ struct{} `type:"structure"`
7258
7259	// The default AWS OpsWorks Stacks agent version. You have the following options:
7260	//
7261	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
7262	//    installs new agent versions on the stack's instances as soon as they are
7263	//    available.
7264	//
7265	//    * Fixed version - Set this parameter to your preferred agent version.
7266	//    To update the agent version, you must edit the stack configuration and
7267	//    specify a new version. AWS OpsWorks Stacks then automatically installs
7268	//    that version on the stack's instances.
7269	//
7270	// The default setting is LATEST. To specify an agent version, you must use
7271	// the complete version number, not the abbreviated number shown on the console.
7272	// For a list of available agent version numbers, call DescribeAgentVersions.
7273	// AgentVersion cannot be set to Chef 12.2.
7274	//
7275	// You can also specify an agent version when you create or update an instance,
7276	// which overrides the stack's default setting.
7277	AgentVersion *string `type:"string"`
7278
7279	// A list of stack attributes and values as key/value pairs to be added to the
7280	// cloned stack.
7281	Attributes map[string]*string `type:"map"`
7282
7283	// A ChefConfiguration object that specifies whether to enable Berkshelf and
7284	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
7285	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
7286	ChefConfiguration *ChefConfiguration `type:"structure"`
7287
7288	// A list of source stack app IDs to be included in the cloned stack.
7289	CloneAppIds []*string `type:"list"`
7290
7291	// Whether to clone the source stack's permissions.
7292	ClonePermissions *bool `type:"boolean"`
7293
7294	// The configuration manager. When you clone a stack we recommend that you use
7295	// the configuration manager to specify the Chef version: 12, 11.10, or 11.4
7296	// for Linux stacks, or 12.2 for Windows stacks. The default value for Linux
7297	// stacks is currently 12.
7298	ConfigurationManager *StackConfigurationManager `type:"structure"`
7299
7300	// Contains the information required to retrieve an app or cookbook from a repository.
7301	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
7302	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
7303	CustomCookbooksSource *Source `type:"structure"`
7304
7305	// A string that contains user-defined, custom JSON. It is used to override
7306	// the corresponding default stack configuration JSON values. The string should
7307	// be in the following format:
7308	//
7309	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
7310	//
7311	// For more information about custom JSON, see Use Custom JSON to Modify the
7312	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html)
7313	CustomJson *string `type:"string"`
7314
7315	// The cloned stack's default Availability Zone, which must be in the specified
7316	// region. For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
7317	// If you also specify a value for DefaultSubnetId, the subnet must be in the
7318	// same zone. For more information, see the VpcId parameter description.
7319	DefaultAvailabilityZone *string `type:"string"`
7320
7321	// The Amazon Resource Name (ARN) of an IAM profile that is the default profile
7322	// for all of the stack's EC2 instances. For more information about IAM ARNs,
7323	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
7324	DefaultInstanceProfileArn *string `type:"string"`
7325
7326	// The stack's operating system, which must be set to one of the following.
7327	//
7328	//    * A supported Linux operating system: An Amazon Linux version, such as
7329	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
7330	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
7331	//    2015.03.
7332	//
7333	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
7334	//    14.04 LTS, or Ubuntu 12.04 LTS.
7335	//
7336	//    * CentOS Linux 7
7337	//
7338	//    * Red Hat Enterprise Linux 7
7339	//
7340	//    * Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012
7341	//    R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL
7342	//    Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.
7343	//
7344	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
7345	//    you create instances. For more information about how to use custom AMIs
7346	//    with OpsWorks, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
7347	//
7348	// The default option is the parent stack's operating system. For more information
7349	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
7350	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
7351	//
7352	// You can specify a different Linux operating system for the cloned stack,
7353	// but you cannot change from Linux to Windows or Windows to Linux.
7354	DefaultOs *string `type:"string"`
7355
7356	// The default root device type. This value is used by default for all instances
7357	// in the cloned stack, but you can override it when you create an instance.
7358	// For more information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
7359	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
7360
7361	// A default Amazon EC2 key pair name. The default value is none. If you specify
7362	// a key pair name, AWS OpsWorks installs the public key on the instance and
7363	// you can use the private key with an SSH client to log in to the instance.
7364	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
7365	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
7366	// You can override this setting by specifying a different key pair, or no key
7367	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
7368	DefaultSshKeyName *string `type:"string"`
7369
7370	// The stack's default VPC subnet ID. This parameter is required if you specify
7371	// a value for the VpcId parameter. All instances are launched into this subnet
7372	// unless you specify otherwise when you create the instance. If you also specify
7373	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
7374	// information on default values and when this parameter is required, see the
7375	// VpcId parameter description.
7376	DefaultSubnetId *string `type:"string"`
7377
7378	// The stack's host name theme, with spaces are replaced by underscores. The
7379	// theme is used to generate host names for the stack's instances. By default,
7380	// HostnameTheme is set to Layer_Dependent, which creates host names by appending
7381	// integers to the layer's short name. The other themes are:
7382	//
7383	//    * Baked_Goods
7384	//
7385	//    * Clouds
7386	//
7387	//    * Europe_Cities
7388	//
7389	//    * Fruits
7390	//
7391	//    * Greek_Deities_and_Titans
7392	//
7393	//    * Legendary_creatures_from_Japan
7394	//
7395	//    * Planets_and_Moons
7396	//
7397	//    * Roman_Deities
7398	//
7399	//    * Scottish_Islands
7400	//
7401	//    * US_Cities
7402	//
7403	//    * Wild_Cats
7404	//
7405	// To obtain a generated host name, call GetHostNameSuggestion, which returns
7406	// a host name based on the current theme.
7407	HostnameTheme *string `type:"string"`
7408
7409	// The cloned stack name.
7410	Name *string `type:"string"`
7411
7412	// The cloned stack AWS region, such as "ap-northeast-2". For more information
7413	// about AWS regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
7414	Region *string `type:"string"`
7415
7416	// The stack AWS Identity and Access Management (IAM) role, which allows AWS
7417	// OpsWorks Stacks to work with AWS resources on your behalf. You must set this
7418	// parameter to the Amazon Resource Name (ARN) for an existing IAM role. If
7419	// you create a stack by using the AWS OpsWorks Stacks console, it creates the
7420	// role for you. You can obtain an existing stack's IAM ARN programmatically
7421	// by calling DescribePermissions. For more information about IAM ARNs, see
7422	// Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
7423	//
7424	// You must set this parameter to a valid service role ARN or the action will
7425	// fail; there is no default value. You can specify the source stack's service
7426	// role ARN, if you prefer, but you must do so explicitly.
7427	//
7428	// ServiceRoleArn is a required field
7429	ServiceRoleArn *string `type:"string" required:"true"`
7430
7431	// The source stack ID.
7432	//
7433	// SourceStackId is a required field
7434	SourceStackId *string `type:"string" required:"true"`
7435
7436	// Whether to use custom cookbooks.
7437	UseCustomCookbooks *bool `type:"boolean"`
7438
7439	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
7440	// the stack's layers.
7441	//
7442	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
7443	// one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups
7444	// you can instead provide your own custom security groups. UseOpsworksSecurityGroups
7445	// has the following settings:
7446	//
7447	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
7448	//    built-in security group with each layer (default setting). You can associate
7449	//    additional security groups with a layer after you create it but you cannot
7450	//    delete the built-in security group.
7451	//
7452	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
7453	//    with layers. You must create appropriate Amazon Elastic Compute Cloud
7454	//    (Amazon EC2) security groups and associate a security group with each
7455	//    layer that you create. However, you can still manually associate a built-in
7456	//    security group with a layer on creation; custom security groups are required
7457	//    only for those layers that need custom settings.
7458	//
7459	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
7460	UseOpsworksSecurityGroups *bool `type:"boolean"`
7461
7462	// The ID of the VPC that the cloned stack is to be launched into. It must be
7463	// in the specified region. All instances are launched into this VPC, and you
7464	// cannot change the ID later.
7465	//
7466	//    * If your account supports EC2 Classic, the default value is no VPC.
7467	//
7468	//    * If your account does not support EC2 Classic, the default value is the
7469	//    default VPC for the specified region.
7470	//
7471	// If the VPC ID corresponds to a default VPC and you have specified either
7472	// the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks
7473	// Stacks infers the value of the other parameter. If you specify neither parameter,
7474	// AWS OpsWorks Stacks sets these parameters to the first valid Availability
7475	// Zone for the specified region and the corresponding default VPC subnet ID,
7476	// respectively.
7477	//
7478	// If you specify a nondefault VPC ID, note the following:
7479	//
7480	//    * It must belong to a VPC in your account that is in the specified region.
7481	//
7482	//    * You must specify a value for DefaultSubnetId.
7483	//
7484	// For more information about how to use AWS OpsWorks Stacks with a VPC, see
7485	// Running a Stack in a VPC (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html).
7486	// For more information about default VPC and EC2 Classic, see Supported Platforms
7487	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
7488	VpcId *string `type:"string"`
7489}
7490
7491// String returns the string representation
7492func (s CloneStackInput) String() string {
7493	return awsutil.Prettify(s)
7494}
7495
7496// GoString returns the string representation
7497func (s CloneStackInput) GoString() string {
7498	return s.String()
7499}
7500
7501// Validate inspects the fields of the type to determine if they are valid.
7502func (s *CloneStackInput) Validate() error {
7503	invalidParams := request.ErrInvalidParams{Context: "CloneStackInput"}
7504	if s.ServiceRoleArn == nil {
7505		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
7506	}
7507	if s.SourceStackId == nil {
7508		invalidParams.Add(request.NewErrParamRequired("SourceStackId"))
7509	}
7510
7511	if invalidParams.Len() > 0 {
7512		return invalidParams
7513	}
7514	return nil
7515}
7516
7517// SetAgentVersion sets the AgentVersion field's value.
7518func (s *CloneStackInput) SetAgentVersion(v string) *CloneStackInput {
7519	s.AgentVersion = &v
7520	return s
7521}
7522
7523// SetAttributes sets the Attributes field's value.
7524func (s *CloneStackInput) SetAttributes(v map[string]*string) *CloneStackInput {
7525	s.Attributes = v
7526	return s
7527}
7528
7529// SetChefConfiguration sets the ChefConfiguration field's value.
7530func (s *CloneStackInput) SetChefConfiguration(v *ChefConfiguration) *CloneStackInput {
7531	s.ChefConfiguration = v
7532	return s
7533}
7534
7535// SetCloneAppIds sets the CloneAppIds field's value.
7536func (s *CloneStackInput) SetCloneAppIds(v []*string) *CloneStackInput {
7537	s.CloneAppIds = v
7538	return s
7539}
7540
7541// SetClonePermissions sets the ClonePermissions field's value.
7542func (s *CloneStackInput) SetClonePermissions(v bool) *CloneStackInput {
7543	s.ClonePermissions = &v
7544	return s
7545}
7546
7547// SetConfigurationManager sets the ConfigurationManager field's value.
7548func (s *CloneStackInput) SetConfigurationManager(v *StackConfigurationManager) *CloneStackInput {
7549	s.ConfigurationManager = v
7550	return s
7551}
7552
7553// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
7554func (s *CloneStackInput) SetCustomCookbooksSource(v *Source) *CloneStackInput {
7555	s.CustomCookbooksSource = v
7556	return s
7557}
7558
7559// SetCustomJson sets the CustomJson field's value.
7560func (s *CloneStackInput) SetCustomJson(v string) *CloneStackInput {
7561	s.CustomJson = &v
7562	return s
7563}
7564
7565// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
7566func (s *CloneStackInput) SetDefaultAvailabilityZone(v string) *CloneStackInput {
7567	s.DefaultAvailabilityZone = &v
7568	return s
7569}
7570
7571// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
7572func (s *CloneStackInput) SetDefaultInstanceProfileArn(v string) *CloneStackInput {
7573	s.DefaultInstanceProfileArn = &v
7574	return s
7575}
7576
7577// SetDefaultOs sets the DefaultOs field's value.
7578func (s *CloneStackInput) SetDefaultOs(v string) *CloneStackInput {
7579	s.DefaultOs = &v
7580	return s
7581}
7582
7583// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
7584func (s *CloneStackInput) SetDefaultRootDeviceType(v string) *CloneStackInput {
7585	s.DefaultRootDeviceType = &v
7586	return s
7587}
7588
7589// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
7590func (s *CloneStackInput) SetDefaultSshKeyName(v string) *CloneStackInput {
7591	s.DefaultSshKeyName = &v
7592	return s
7593}
7594
7595// SetDefaultSubnetId sets the DefaultSubnetId field's value.
7596func (s *CloneStackInput) SetDefaultSubnetId(v string) *CloneStackInput {
7597	s.DefaultSubnetId = &v
7598	return s
7599}
7600
7601// SetHostnameTheme sets the HostnameTheme field's value.
7602func (s *CloneStackInput) SetHostnameTheme(v string) *CloneStackInput {
7603	s.HostnameTheme = &v
7604	return s
7605}
7606
7607// SetName sets the Name field's value.
7608func (s *CloneStackInput) SetName(v string) *CloneStackInput {
7609	s.Name = &v
7610	return s
7611}
7612
7613// SetRegion sets the Region field's value.
7614func (s *CloneStackInput) SetRegion(v string) *CloneStackInput {
7615	s.Region = &v
7616	return s
7617}
7618
7619// SetServiceRoleArn sets the ServiceRoleArn field's value.
7620func (s *CloneStackInput) SetServiceRoleArn(v string) *CloneStackInput {
7621	s.ServiceRoleArn = &v
7622	return s
7623}
7624
7625// SetSourceStackId sets the SourceStackId field's value.
7626func (s *CloneStackInput) SetSourceStackId(v string) *CloneStackInput {
7627	s.SourceStackId = &v
7628	return s
7629}
7630
7631// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
7632func (s *CloneStackInput) SetUseCustomCookbooks(v bool) *CloneStackInput {
7633	s.UseCustomCookbooks = &v
7634	return s
7635}
7636
7637// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
7638func (s *CloneStackInput) SetUseOpsworksSecurityGroups(v bool) *CloneStackInput {
7639	s.UseOpsworksSecurityGroups = &v
7640	return s
7641}
7642
7643// SetVpcId sets the VpcId field's value.
7644func (s *CloneStackInput) SetVpcId(v string) *CloneStackInput {
7645	s.VpcId = &v
7646	return s
7647}
7648
7649// Contains the response to a CloneStack request.
7650type CloneStackOutput struct {
7651	_ struct{} `type:"structure"`
7652
7653	// The cloned stack ID.
7654	StackId *string `type:"string"`
7655}
7656
7657// String returns the string representation
7658func (s CloneStackOutput) String() string {
7659	return awsutil.Prettify(s)
7660}
7661
7662// GoString returns the string representation
7663func (s CloneStackOutput) GoString() string {
7664	return s.String()
7665}
7666
7667// SetStackId sets the StackId field's value.
7668func (s *CloneStackOutput) SetStackId(v string) *CloneStackOutput {
7669	s.StackId = &v
7670	return s
7671}
7672
7673// Describes the Amazon CloudWatch logs configuration for a layer.
7674type CloudWatchLogsConfiguration struct {
7675	_ struct{} `type:"structure"`
7676
7677	// Whether CloudWatch Logs is enabled for a layer.
7678	Enabled *bool `type:"boolean"`
7679
7680	// A list of configuration options for CloudWatch Logs.
7681	LogStreams []*CloudWatchLogsLogStream `type:"list"`
7682}
7683
7684// String returns the string representation
7685func (s CloudWatchLogsConfiguration) String() string {
7686	return awsutil.Prettify(s)
7687}
7688
7689// GoString returns the string representation
7690func (s CloudWatchLogsConfiguration) GoString() string {
7691	return s.String()
7692}
7693
7694// SetEnabled sets the Enabled field's value.
7695func (s *CloudWatchLogsConfiguration) SetEnabled(v bool) *CloudWatchLogsConfiguration {
7696	s.Enabled = &v
7697	return s
7698}
7699
7700// SetLogStreams sets the LogStreams field's value.
7701func (s *CloudWatchLogsConfiguration) SetLogStreams(v []*CloudWatchLogsLogStream) *CloudWatchLogsConfiguration {
7702	s.LogStreams = v
7703	return s
7704}
7705
7706// Describes the Amazon CloudWatch logs configuration for a layer. For detailed
7707// information about members of this data type, see the CloudWatch Logs Agent
7708// Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
7709type CloudWatchLogsLogStream struct {
7710	_ struct{} `type:"structure"`
7711
7712	// Specifies the max number of log events in a batch, up to 10000. The default
7713	// value is 1000.
7714	BatchCount *int64 `type:"integer"`
7715
7716	// Specifies the maximum size of log events in a batch, in bytes, up to 1048576
7717	// bytes. The default value is 32768 bytes. This size is calculated as the sum
7718	// of all event messages in UTF-8, plus 26 bytes for each log event.
7719	BatchSize *int64 `type:"integer"`
7720
7721	// Specifies the time duration for the batching of log events. The minimum value
7722	// is 5000ms and default value is 5000ms.
7723	BufferDuration *int64 `type:"integer"`
7724
7725	// Specifies how the time stamp is extracted from logs. For more information,
7726	// see the CloudWatch Logs Agent Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
7727	DatetimeFormat *string `type:"string"`
7728
7729	// Specifies the encoding of the log file so that the file can be read correctly.
7730	// The default is utf_8. Encodings supported by Python codecs.decode() can be
7731	// used here.
7732	Encoding *string `type:"string" enum:"CloudWatchLogsEncoding"`
7733
7734	// Specifies log files that you want to push to CloudWatch Logs.
7735	//
7736	// File can point to a specific file or multiple files (by using wild card characters
7737	// such as /var/log/system.log*). Only the latest file is pushed to CloudWatch
7738	// Logs, based on file modification time. We recommend that you use wild card
7739	// characters to specify a series of files of the same type, such as access_log.2014-06-01-01,
7740	// access_log.2014-06-01-02, and so on by using a pattern like access_log.*.
7741	// Don't use a wildcard to match multiple file types, such as access_log_80
7742	// and access_log_443. To specify multiple, different file types, add another
7743	// log stream entry to the configuration file, so that each log file type is
7744	// stored in a different log group.
7745	//
7746	// Zipped files are not supported.
7747	File *string `type:"string"`
7748
7749	// Specifies the range of lines for identifying a file. The valid values are
7750	// one number, or two dash-delimited numbers, such as '1', '2-5'. The default
7751	// value is '1', meaning the first line is used to calculate the fingerprint.
7752	// Fingerprint lines are not sent to CloudWatch Logs unless all specified lines
7753	// are available.
7754	FileFingerprintLines *string `type:"string"`
7755
7756	// Specifies where to start to read data (start_of_file or end_of_file). The
7757	// default is start_of_file. This setting is only used if there is no state
7758	// persisted for that log stream.
7759	InitialPosition *string `type:"string" enum:"CloudWatchLogsInitialPosition"`
7760
7761	// Specifies the destination log group. A log group is created automatically
7762	// if it doesn't already exist. Log group names can be between 1 and 512 characters
7763	// long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen),
7764	// '/' (forward slash), and '.' (period).
7765	LogGroupName *string `type:"string"`
7766
7767	// Specifies the pattern for identifying the start of a log message.
7768	MultiLineStartPattern *string `type:"string"`
7769
7770	// Specifies the time zone of log event time stamps.
7771	TimeZone *string `type:"string" enum:"CloudWatchLogsTimeZone"`
7772}
7773
7774// String returns the string representation
7775func (s CloudWatchLogsLogStream) String() string {
7776	return awsutil.Prettify(s)
7777}
7778
7779// GoString returns the string representation
7780func (s CloudWatchLogsLogStream) GoString() string {
7781	return s.String()
7782}
7783
7784// SetBatchCount sets the BatchCount field's value.
7785func (s *CloudWatchLogsLogStream) SetBatchCount(v int64) *CloudWatchLogsLogStream {
7786	s.BatchCount = &v
7787	return s
7788}
7789
7790// SetBatchSize sets the BatchSize field's value.
7791func (s *CloudWatchLogsLogStream) SetBatchSize(v int64) *CloudWatchLogsLogStream {
7792	s.BatchSize = &v
7793	return s
7794}
7795
7796// SetBufferDuration sets the BufferDuration field's value.
7797func (s *CloudWatchLogsLogStream) SetBufferDuration(v int64) *CloudWatchLogsLogStream {
7798	s.BufferDuration = &v
7799	return s
7800}
7801
7802// SetDatetimeFormat sets the DatetimeFormat field's value.
7803func (s *CloudWatchLogsLogStream) SetDatetimeFormat(v string) *CloudWatchLogsLogStream {
7804	s.DatetimeFormat = &v
7805	return s
7806}
7807
7808// SetEncoding sets the Encoding field's value.
7809func (s *CloudWatchLogsLogStream) SetEncoding(v string) *CloudWatchLogsLogStream {
7810	s.Encoding = &v
7811	return s
7812}
7813
7814// SetFile sets the File field's value.
7815func (s *CloudWatchLogsLogStream) SetFile(v string) *CloudWatchLogsLogStream {
7816	s.File = &v
7817	return s
7818}
7819
7820// SetFileFingerprintLines sets the FileFingerprintLines field's value.
7821func (s *CloudWatchLogsLogStream) SetFileFingerprintLines(v string) *CloudWatchLogsLogStream {
7822	s.FileFingerprintLines = &v
7823	return s
7824}
7825
7826// SetInitialPosition sets the InitialPosition field's value.
7827func (s *CloudWatchLogsLogStream) SetInitialPosition(v string) *CloudWatchLogsLogStream {
7828	s.InitialPosition = &v
7829	return s
7830}
7831
7832// SetLogGroupName sets the LogGroupName field's value.
7833func (s *CloudWatchLogsLogStream) SetLogGroupName(v string) *CloudWatchLogsLogStream {
7834	s.LogGroupName = &v
7835	return s
7836}
7837
7838// SetMultiLineStartPattern sets the MultiLineStartPattern field's value.
7839func (s *CloudWatchLogsLogStream) SetMultiLineStartPattern(v string) *CloudWatchLogsLogStream {
7840	s.MultiLineStartPattern = &v
7841	return s
7842}
7843
7844// SetTimeZone sets the TimeZone field's value.
7845func (s *CloudWatchLogsLogStream) SetTimeZone(v string) *CloudWatchLogsLogStream {
7846	s.TimeZone = &v
7847	return s
7848}
7849
7850// Describes a command.
7851type Command struct {
7852	_ struct{} `type:"structure"`
7853
7854	// Date and time when the command was acknowledged.
7855	AcknowledgedAt *string `type:"string"`
7856
7857	// The command ID.
7858	CommandId *string `type:"string"`
7859
7860	// Date when the command completed.
7861	CompletedAt *string `type:"string"`
7862
7863	// Date and time when the command was run.
7864	CreatedAt *string `type:"string"`
7865
7866	// The command deployment ID.
7867	DeploymentId *string `type:"string"`
7868
7869	// The command exit code.
7870	ExitCode *int64 `type:"integer"`
7871
7872	// The ID of the instance where the command was executed.
7873	InstanceId *string `type:"string"`
7874
7875	// The URL of the command log.
7876	LogUrl *string `type:"string"`
7877
7878	// The command status:
7879	//
7880	//    * failed
7881	//
7882	//    * successful
7883	//
7884	//    * skipped
7885	//
7886	//    * pending
7887	Status *string `type:"string"`
7888
7889	// The command type:
7890	//
7891	//    * configure
7892	//
7893	//    * deploy
7894	//
7895	//    * execute_recipes
7896	//
7897	//    * install_dependencies
7898	//
7899	//    * restart
7900	//
7901	//    * rollback
7902	//
7903	//    * setup
7904	//
7905	//    * start
7906	//
7907	//    * stop
7908	//
7909	//    * undeploy
7910	//
7911	//    * update_custom_cookbooks
7912	//
7913	//    * update_dependencies
7914	Type *string `type:"string"`
7915}
7916
7917// String returns the string representation
7918func (s Command) String() string {
7919	return awsutil.Prettify(s)
7920}
7921
7922// GoString returns the string representation
7923func (s Command) GoString() string {
7924	return s.String()
7925}
7926
7927// SetAcknowledgedAt sets the AcknowledgedAt field's value.
7928func (s *Command) SetAcknowledgedAt(v string) *Command {
7929	s.AcknowledgedAt = &v
7930	return s
7931}
7932
7933// SetCommandId sets the CommandId field's value.
7934func (s *Command) SetCommandId(v string) *Command {
7935	s.CommandId = &v
7936	return s
7937}
7938
7939// SetCompletedAt sets the CompletedAt field's value.
7940func (s *Command) SetCompletedAt(v string) *Command {
7941	s.CompletedAt = &v
7942	return s
7943}
7944
7945// SetCreatedAt sets the CreatedAt field's value.
7946func (s *Command) SetCreatedAt(v string) *Command {
7947	s.CreatedAt = &v
7948	return s
7949}
7950
7951// SetDeploymentId sets the DeploymentId field's value.
7952func (s *Command) SetDeploymentId(v string) *Command {
7953	s.DeploymentId = &v
7954	return s
7955}
7956
7957// SetExitCode sets the ExitCode field's value.
7958func (s *Command) SetExitCode(v int64) *Command {
7959	s.ExitCode = &v
7960	return s
7961}
7962
7963// SetInstanceId sets the InstanceId field's value.
7964func (s *Command) SetInstanceId(v string) *Command {
7965	s.InstanceId = &v
7966	return s
7967}
7968
7969// SetLogUrl sets the LogUrl field's value.
7970func (s *Command) SetLogUrl(v string) *Command {
7971	s.LogUrl = &v
7972	return s
7973}
7974
7975// SetStatus sets the Status field's value.
7976func (s *Command) SetStatus(v string) *Command {
7977	s.Status = &v
7978	return s
7979}
7980
7981// SetType sets the Type field's value.
7982func (s *Command) SetType(v string) *Command {
7983	s.Type = &v
7984	return s
7985}
7986
7987type CreateAppInput struct {
7988	_ struct{} `type:"structure"`
7989
7990	// A Source object that specifies the app repository.
7991	AppSource *Source `type:"structure"`
7992
7993	// One or more user-defined key/value pairs to be added to the stack attributes.
7994	Attributes map[string]*string `type:"map"`
7995
7996	// The app's data source.
7997	DataSources []*DataSource `type:"list"`
7998
7999	// A description of the app.
8000	Description *string `type:"string"`
8001
8002	// The app virtual host settings, with multiple domains separated by commas.
8003	// For example: 'www.example.com, example.com'
8004	Domains []*string `type:"list"`
8005
8006	// Whether to enable SSL for the app.
8007	EnableSsl *bool `type:"boolean"`
8008
8009	// An array of EnvironmentVariable objects that specify environment variables
8010	// to be associated with the app. After you deploy the app, these variables
8011	// are defined on the associated app server instance. For more information,
8012	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
8013	//
8014	// There is no specific limit on the number of environment variables. However,
8015	// the size of the associated data structure - which includes the variables'
8016	// names, values, and protected flag values - cannot exceed 20 KB. This limit
8017	// should accommodate most if not all use cases. Exceeding it will cause an
8018	// exception with the message, "Environment: is too large (maximum is 20KB)."
8019	//
8020	// If you have specified one or more environment variables, you cannot modify
8021	// the stack's Chef version.
8022	Environment []*EnvironmentVariable `type:"list"`
8023
8024	// The app name.
8025	//
8026	// Name is a required field
8027	Name *string `type:"string" required:"true"`
8028
8029	// The app's short name.
8030	Shortname *string `type:"string"`
8031
8032	// An SslConfiguration object with the SSL configuration.
8033	SslConfiguration *SslConfiguration `type:"structure"`
8034
8035	// The stack ID.
8036	//
8037	// StackId is a required field
8038	StackId *string `type:"string" required:"true"`
8039
8040	// The app type. Each supported type is associated with a particular layer.
8041	// For example, PHP applications are associated with a PHP layer. AWS OpsWorks
8042	// Stacks deploys an application to those instances that are members of the
8043	// corresponding layer. If your app isn't one of the standard types, or you
8044	// prefer to implement your own Deploy recipes, specify other.
8045	//
8046	// Type is a required field
8047	Type *string `type:"string" required:"true" enum:"AppType"`
8048}
8049
8050// String returns the string representation
8051func (s CreateAppInput) String() string {
8052	return awsutil.Prettify(s)
8053}
8054
8055// GoString returns the string representation
8056func (s CreateAppInput) GoString() string {
8057	return s.String()
8058}
8059
8060// Validate inspects the fields of the type to determine if they are valid.
8061func (s *CreateAppInput) Validate() error {
8062	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
8063	if s.Name == nil {
8064		invalidParams.Add(request.NewErrParamRequired("Name"))
8065	}
8066	if s.StackId == nil {
8067		invalidParams.Add(request.NewErrParamRequired("StackId"))
8068	}
8069	if s.Type == nil {
8070		invalidParams.Add(request.NewErrParamRequired("Type"))
8071	}
8072	if s.Environment != nil {
8073		for i, v := range s.Environment {
8074			if v == nil {
8075				continue
8076			}
8077			if err := v.Validate(); err != nil {
8078				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams))
8079			}
8080		}
8081	}
8082	if s.SslConfiguration != nil {
8083		if err := s.SslConfiguration.Validate(); err != nil {
8084			invalidParams.AddNested("SslConfiguration", err.(request.ErrInvalidParams))
8085		}
8086	}
8087
8088	if invalidParams.Len() > 0 {
8089		return invalidParams
8090	}
8091	return nil
8092}
8093
8094// SetAppSource sets the AppSource field's value.
8095func (s *CreateAppInput) SetAppSource(v *Source) *CreateAppInput {
8096	s.AppSource = v
8097	return s
8098}
8099
8100// SetAttributes sets the Attributes field's value.
8101func (s *CreateAppInput) SetAttributes(v map[string]*string) *CreateAppInput {
8102	s.Attributes = v
8103	return s
8104}
8105
8106// SetDataSources sets the DataSources field's value.
8107func (s *CreateAppInput) SetDataSources(v []*DataSource) *CreateAppInput {
8108	s.DataSources = v
8109	return s
8110}
8111
8112// SetDescription sets the Description field's value.
8113func (s *CreateAppInput) SetDescription(v string) *CreateAppInput {
8114	s.Description = &v
8115	return s
8116}
8117
8118// SetDomains sets the Domains field's value.
8119func (s *CreateAppInput) SetDomains(v []*string) *CreateAppInput {
8120	s.Domains = v
8121	return s
8122}
8123
8124// SetEnableSsl sets the EnableSsl field's value.
8125func (s *CreateAppInput) SetEnableSsl(v bool) *CreateAppInput {
8126	s.EnableSsl = &v
8127	return s
8128}
8129
8130// SetEnvironment sets the Environment field's value.
8131func (s *CreateAppInput) SetEnvironment(v []*EnvironmentVariable) *CreateAppInput {
8132	s.Environment = v
8133	return s
8134}
8135
8136// SetName sets the Name field's value.
8137func (s *CreateAppInput) SetName(v string) *CreateAppInput {
8138	s.Name = &v
8139	return s
8140}
8141
8142// SetShortname sets the Shortname field's value.
8143func (s *CreateAppInput) SetShortname(v string) *CreateAppInput {
8144	s.Shortname = &v
8145	return s
8146}
8147
8148// SetSslConfiguration sets the SslConfiguration field's value.
8149func (s *CreateAppInput) SetSslConfiguration(v *SslConfiguration) *CreateAppInput {
8150	s.SslConfiguration = v
8151	return s
8152}
8153
8154// SetStackId sets the StackId field's value.
8155func (s *CreateAppInput) SetStackId(v string) *CreateAppInput {
8156	s.StackId = &v
8157	return s
8158}
8159
8160// SetType sets the Type field's value.
8161func (s *CreateAppInput) SetType(v string) *CreateAppInput {
8162	s.Type = &v
8163	return s
8164}
8165
8166// Contains the response to a CreateApp request.
8167type CreateAppOutput struct {
8168	_ struct{} `type:"structure"`
8169
8170	// The app ID.
8171	AppId *string `type:"string"`
8172}
8173
8174// String returns the string representation
8175func (s CreateAppOutput) String() string {
8176	return awsutil.Prettify(s)
8177}
8178
8179// GoString returns the string representation
8180func (s CreateAppOutput) GoString() string {
8181	return s.String()
8182}
8183
8184// SetAppId sets the AppId field's value.
8185func (s *CreateAppOutput) SetAppId(v string) *CreateAppOutput {
8186	s.AppId = &v
8187	return s
8188}
8189
8190type CreateDeploymentInput struct {
8191	_ struct{} `type:"structure"`
8192
8193	// The app ID. This parameter is required for app deployments, but not for other
8194	// deployment commands.
8195	AppId *string `type:"string"`
8196
8197	// A DeploymentCommand object that specifies the deployment command and any
8198	// associated arguments.
8199	//
8200	// Command is a required field
8201	Command *DeploymentCommand `type:"structure" required:"true"`
8202
8203	// A user-defined comment.
8204	Comment *string `type:"string"`
8205
8206	// A string that contains user-defined, custom JSON. You can use this parameter
8207	// to override some corresponding default stack configuration JSON values. The
8208	// string should be in the following format:
8209	//
8210	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
8211	//
8212	// For more information about custom JSON, see Use Custom JSON to Modify the
8213	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html)
8214	// and Overriding Attributes With Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
8215	CustomJson *string `type:"string"`
8216
8217	// The instance IDs for the deployment targets.
8218	InstanceIds []*string `type:"list"`
8219
8220	// The layer IDs for the deployment targets.
8221	LayerIds []*string `type:"list"`
8222
8223	// The stack ID.
8224	//
8225	// StackId is a required field
8226	StackId *string `type:"string" required:"true"`
8227}
8228
8229// String returns the string representation
8230func (s CreateDeploymentInput) String() string {
8231	return awsutil.Prettify(s)
8232}
8233
8234// GoString returns the string representation
8235func (s CreateDeploymentInput) GoString() string {
8236	return s.String()
8237}
8238
8239// Validate inspects the fields of the type to determine if they are valid.
8240func (s *CreateDeploymentInput) Validate() error {
8241	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
8242	if s.Command == nil {
8243		invalidParams.Add(request.NewErrParamRequired("Command"))
8244	}
8245	if s.StackId == nil {
8246		invalidParams.Add(request.NewErrParamRequired("StackId"))
8247	}
8248	if s.Command != nil {
8249		if err := s.Command.Validate(); err != nil {
8250			invalidParams.AddNested("Command", err.(request.ErrInvalidParams))
8251		}
8252	}
8253
8254	if invalidParams.Len() > 0 {
8255		return invalidParams
8256	}
8257	return nil
8258}
8259
8260// SetAppId sets the AppId field's value.
8261func (s *CreateDeploymentInput) SetAppId(v string) *CreateDeploymentInput {
8262	s.AppId = &v
8263	return s
8264}
8265
8266// SetCommand sets the Command field's value.
8267func (s *CreateDeploymentInput) SetCommand(v *DeploymentCommand) *CreateDeploymentInput {
8268	s.Command = v
8269	return s
8270}
8271
8272// SetComment sets the Comment field's value.
8273func (s *CreateDeploymentInput) SetComment(v string) *CreateDeploymentInput {
8274	s.Comment = &v
8275	return s
8276}
8277
8278// SetCustomJson sets the CustomJson field's value.
8279func (s *CreateDeploymentInput) SetCustomJson(v string) *CreateDeploymentInput {
8280	s.CustomJson = &v
8281	return s
8282}
8283
8284// SetInstanceIds sets the InstanceIds field's value.
8285func (s *CreateDeploymentInput) SetInstanceIds(v []*string) *CreateDeploymentInput {
8286	s.InstanceIds = v
8287	return s
8288}
8289
8290// SetLayerIds sets the LayerIds field's value.
8291func (s *CreateDeploymentInput) SetLayerIds(v []*string) *CreateDeploymentInput {
8292	s.LayerIds = v
8293	return s
8294}
8295
8296// SetStackId sets the StackId field's value.
8297func (s *CreateDeploymentInput) SetStackId(v string) *CreateDeploymentInput {
8298	s.StackId = &v
8299	return s
8300}
8301
8302// Contains the response to a CreateDeployment request.
8303type CreateDeploymentOutput struct {
8304	_ struct{} `type:"structure"`
8305
8306	// The deployment ID, which can be used with other requests to identify the
8307	// deployment.
8308	DeploymentId *string `type:"string"`
8309}
8310
8311// String returns the string representation
8312func (s CreateDeploymentOutput) String() string {
8313	return awsutil.Prettify(s)
8314}
8315
8316// GoString returns the string representation
8317func (s CreateDeploymentOutput) GoString() string {
8318	return s.String()
8319}
8320
8321// SetDeploymentId sets the DeploymentId field's value.
8322func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
8323	s.DeploymentId = &v
8324	return s
8325}
8326
8327type CreateInstanceInput struct {
8328	_ struct{} `type:"structure"`
8329
8330	// The default AWS OpsWorks Stacks agent version. You have the following options:
8331	//
8332	//    * INHERIT - Use the stack's default agent version setting.
8333	//
8334	//    * version_number - Use the specified agent version. This value overrides
8335	//    the stack's default setting. To update the agent version, edit the instance
8336	//    configuration and specify a new version. AWS OpsWorks Stacks then automatically
8337	//    installs that version on the instance.
8338	//
8339	// The default setting is INHERIT. To specify an agent version, you must use
8340	// the complete version number, not the abbreviated number shown on the console.
8341	// For a list of available agent version numbers, call DescribeAgentVersions.
8342	// AgentVersion cannot be set to Chef 12.2.
8343	AgentVersion *string `type:"string"`
8344
8345	// A custom AMI ID to be used to create the instance. The AMI should be based
8346	// on one of the supported operating systems. For more information, see Using
8347	// Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
8348	//
8349	// If you specify a custom AMI, you must set Os to Custom.
8350	AmiId *string `type:"string"`
8351
8352	// The instance architecture. The default option is x86_64. Instance types do
8353	// not necessarily support both architectures. For a list of the architectures
8354	// that are supported by the different instance types, see Instance Families
8355	// and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
8356	Architecture *string `type:"string" enum:"Architecture"`
8357
8358	// For load-based or time-based instances, the type. Windows stacks can use
8359	// only time-based instances.
8360	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
8361
8362	// The instance Availability Zone. For more information, see Regions and Endpoints
8363	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
8364	AvailabilityZone *string `type:"string"`
8365
8366	// An array of BlockDeviceMapping objects that specify the instance's block
8367	// devices. For more information, see Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html).
8368	// Note that block device mappings are not supported for custom AMIs.
8369	BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
8370
8371	// Whether to create an Amazon EBS-optimized instance.
8372	EbsOptimized *bool `type:"boolean"`
8373
8374	// The instance host name.
8375	Hostname *string `type:"string"`
8376
8377	// Whether to install operating system and package updates when the instance
8378	// boots. The default value is true. To control when updates are installed,
8379	// set this value to false. You must then update your instances manually by
8380	// using CreateDeployment to run the update_dependencies stack command or by
8381	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
8382	//
8383	// We strongly recommend using the default value of true to ensure that your
8384	// instances have the latest security updates.
8385	InstallUpdatesOnBoot *bool `type:"boolean"`
8386
8387	// The instance type, such as t2.micro. For a list of supported instance types,
8388	// open the stack in the console, choose Instances, and choose + Instance. The
8389	// Size list contains the currently supported types. For more information, see
8390	// Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
8391	// The parameter values that you use to specify the various types are in the
8392	// API Name column of the Available Instance Types table.
8393	//
8394	// InstanceType is a required field
8395	InstanceType *string `type:"string" required:"true"`
8396
8397	// An array that contains the instance's layer IDs.
8398	//
8399	// LayerIds is a required field
8400	LayerIds []*string `type:"list" required:"true"`
8401
8402	// The instance's operating system, which must be set to one of the following.
8403	//
8404	//    * A supported Linux operating system: An Amazon Linux version, such as
8405	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
8406	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
8407	//    2015.03.
8408	//
8409	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
8410	//    14.04 LTS, or Ubuntu 12.04 LTS.
8411	//
8412	//    * CentOS Linux 7
8413	//
8414	//    * Red Hat Enterprise Linux 7
8415	//
8416	//    * A supported Windows operating system, such as Microsoft Windows Server
8417	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
8418	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
8419	//    Windows Server 2012 R2 with SQL Server Web.
8420	//
8421	//    * A custom AMI: Custom.
8422	//
8423	// For more information about the supported operating systems, see AWS OpsWorks
8424	// Stacks Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
8425	//
8426	// The default option is the current Amazon Linux version. If you set this parameter
8427	// to Custom, you must use the CreateInstance action's AmiId parameter to specify
8428	// the custom AMI that you want to use. Block device mappings are not supported
8429	// if the value is Custom. For more information about supported operating systems,
8430	// see Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html)For
8431	// more information about how to use custom AMIs with AWS OpsWorks Stacks, see
8432	// Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
8433	Os *string `type:"string"`
8434
8435	// The instance root device type. For more information, see Storage for the
8436	// Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
8437	RootDeviceType *string `type:"string" enum:"RootDeviceType"`
8438
8439	// The instance's Amazon EC2 key-pair name.
8440	SshKeyName *string `type:"string"`
8441
8442	// The stack ID.
8443	//
8444	// StackId is a required field
8445	StackId *string `type:"string" required:"true"`
8446
8447	// The ID of the instance's subnet. If the stack is running in a VPC, you can
8448	// use this parameter to override the stack's default subnet ID value and direct
8449	// AWS OpsWorks Stacks to launch the instance in a different subnet.
8450	SubnetId *string `type:"string"`
8451
8452	// The instance's tenancy option. The default option is no tenancy, or if the
8453	// instance is running in a VPC, inherit tenancy settings from the VPC. The
8454	// following are valid values for this parameter: dedicated, default, or host.
8455	// Because there are costs associated with changes in tenancy options, we recommend
8456	// that you research tenancy options before choosing them for your instances.
8457	// For more information about dedicated hosts, see Dedicated Hosts Overview
8458	// (http://aws.amazon.com/ec2/dedicated-hosts/) and Amazon EC2 Dedicated Hosts
8459	// (http://aws.amazon.com/ec2/dedicated-hosts/). For more information about
8460	// dedicated instances, see Dedicated Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html)
8461	// and Amazon EC2 Dedicated Instances (http://aws.amazon.com/ec2/purchasing-options/dedicated-instances/).
8462	Tenancy *string `type:"string"`
8463
8464	// The instance's virtualization type, paravirtual or hvm.
8465	VirtualizationType *string `type:"string"`
8466}
8467
8468// String returns the string representation
8469func (s CreateInstanceInput) String() string {
8470	return awsutil.Prettify(s)
8471}
8472
8473// GoString returns the string representation
8474func (s CreateInstanceInput) GoString() string {
8475	return s.String()
8476}
8477
8478// Validate inspects the fields of the type to determine if they are valid.
8479func (s *CreateInstanceInput) Validate() error {
8480	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceInput"}
8481	if s.InstanceType == nil {
8482		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
8483	}
8484	if s.LayerIds == nil {
8485		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
8486	}
8487	if s.StackId == nil {
8488		invalidParams.Add(request.NewErrParamRequired("StackId"))
8489	}
8490
8491	if invalidParams.Len() > 0 {
8492		return invalidParams
8493	}
8494	return nil
8495}
8496
8497// SetAgentVersion sets the AgentVersion field's value.
8498func (s *CreateInstanceInput) SetAgentVersion(v string) *CreateInstanceInput {
8499	s.AgentVersion = &v
8500	return s
8501}
8502
8503// SetAmiId sets the AmiId field's value.
8504func (s *CreateInstanceInput) SetAmiId(v string) *CreateInstanceInput {
8505	s.AmiId = &v
8506	return s
8507}
8508
8509// SetArchitecture sets the Architecture field's value.
8510func (s *CreateInstanceInput) SetArchitecture(v string) *CreateInstanceInput {
8511	s.Architecture = &v
8512	return s
8513}
8514
8515// SetAutoScalingType sets the AutoScalingType field's value.
8516func (s *CreateInstanceInput) SetAutoScalingType(v string) *CreateInstanceInput {
8517	s.AutoScalingType = &v
8518	return s
8519}
8520
8521// SetAvailabilityZone sets the AvailabilityZone field's value.
8522func (s *CreateInstanceInput) SetAvailabilityZone(v string) *CreateInstanceInput {
8523	s.AvailabilityZone = &v
8524	return s
8525}
8526
8527// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
8528func (s *CreateInstanceInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateInstanceInput {
8529	s.BlockDeviceMappings = v
8530	return s
8531}
8532
8533// SetEbsOptimized sets the EbsOptimized field's value.
8534func (s *CreateInstanceInput) SetEbsOptimized(v bool) *CreateInstanceInput {
8535	s.EbsOptimized = &v
8536	return s
8537}
8538
8539// SetHostname sets the Hostname field's value.
8540func (s *CreateInstanceInput) SetHostname(v string) *CreateInstanceInput {
8541	s.Hostname = &v
8542	return s
8543}
8544
8545// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
8546func (s *CreateInstanceInput) SetInstallUpdatesOnBoot(v bool) *CreateInstanceInput {
8547	s.InstallUpdatesOnBoot = &v
8548	return s
8549}
8550
8551// SetInstanceType sets the InstanceType field's value.
8552func (s *CreateInstanceInput) SetInstanceType(v string) *CreateInstanceInput {
8553	s.InstanceType = &v
8554	return s
8555}
8556
8557// SetLayerIds sets the LayerIds field's value.
8558func (s *CreateInstanceInput) SetLayerIds(v []*string) *CreateInstanceInput {
8559	s.LayerIds = v
8560	return s
8561}
8562
8563// SetOs sets the Os field's value.
8564func (s *CreateInstanceInput) SetOs(v string) *CreateInstanceInput {
8565	s.Os = &v
8566	return s
8567}
8568
8569// SetRootDeviceType sets the RootDeviceType field's value.
8570func (s *CreateInstanceInput) SetRootDeviceType(v string) *CreateInstanceInput {
8571	s.RootDeviceType = &v
8572	return s
8573}
8574
8575// SetSshKeyName sets the SshKeyName field's value.
8576func (s *CreateInstanceInput) SetSshKeyName(v string) *CreateInstanceInput {
8577	s.SshKeyName = &v
8578	return s
8579}
8580
8581// SetStackId sets the StackId field's value.
8582func (s *CreateInstanceInput) SetStackId(v string) *CreateInstanceInput {
8583	s.StackId = &v
8584	return s
8585}
8586
8587// SetSubnetId sets the SubnetId field's value.
8588func (s *CreateInstanceInput) SetSubnetId(v string) *CreateInstanceInput {
8589	s.SubnetId = &v
8590	return s
8591}
8592
8593// SetTenancy sets the Tenancy field's value.
8594func (s *CreateInstanceInput) SetTenancy(v string) *CreateInstanceInput {
8595	s.Tenancy = &v
8596	return s
8597}
8598
8599// SetVirtualizationType sets the VirtualizationType field's value.
8600func (s *CreateInstanceInput) SetVirtualizationType(v string) *CreateInstanceInput {
8601	s.VirtualizationType = &v
8602	return s
8603}
8604
8605// Contains the response to a CreateInstance request.
8606type CreateInstanceOutput struct {
8607	_ struct{} `type:"structure"`
8608
8609	// The instance ID.
8610	InstanceId *string `type:"string"`
8611}
8612
8613// String returns the string representation
8614func (s CreateInstanceOutput) String() string {
8615	return awsutil.Prettify(s)
8616}
8617
8618// GoString returns the string representation
8619func (s CreateInstanceOutput) GoString() string {
8620	return s.String()
8621}
8622
8623// SetInstanceId sets the InstanceId field's value.
8624func (s *CreateInstanceOutput) SetInstanceId(v string) *CreateInstanceOutput {
8625	s.InstanceId = &v
8626	return s
8627}
8628
8629type CreateLayerInput struct {
8630	_ struct{} `type:"structure"`
8631
8632	// One or more user-defined key-value pairs to be added to the stack attributes.
8633	//
8634	// To create a cluster layer, set the EcsClusterArn attribute to the cluster's
8635	// ARN.
8636	Attributes map[string]*string `type:"map"`
8637
8638	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
8639	// to the layer's instances. For more information, see How to Edit a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
8640	AutoAssignElasticIps *bool `type:"boolean"`
8641
8642	// For stacks that are running in a VPC, whether to automatically assign a public
8643	// IP address to the layer's instances. For more information, see How to Edit
8644	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
8645	AutoAssignPublicIps *bool `type:"boolean"`
8646
8647	// Specifies CloudWatch Logs configuration options for the layer. For more information,
8648	// see CloudWatchLogsLogStream.
8649	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
8650
8651	// The ARN of an IAM profile to be used for the layer's EC2 instances. For more
8652	// information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
8653	CustomInstanceProfileArn *string `type:"string"`
8654
8655	// A JSON-formatted string containing custom stack configuration and deployment
8656	// attributes to be installed on the layer's instances. For more information,
8657	// see Using Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
8658	// This feature is supported as of version 1.7.42 of the AWS CLI.
8659	CustomJson *string `type:"string"`
8660
8661	// A LayerCustomRecipes object that specifies the layer custom recipes.
8662	CustomRecipes *Recipes `type:"structure"`
8663
8664	// An array containing the layer custom security group IDs.
8665	CustomSecurityGroupIds []*string `type:"list"`
8666
8667	// Whether to disable auto healing for the layer.
8668	EnableAutoHealing *bool `type:"boolean"`
8669
8670	// Whether to install operating system and package updates when the instance
8671	// boots. The default value is true. To control when updates are installed,
8672	// set this value to false. You must then update your instances manually by
8673	// using CreateDeployment to run the update_dependencies stack command or by
8674	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
8675	//
8676	// To ensure that your instances have the latest security updates, we strongly
8677	// recommend using the default value of true.
8678	InstallUpdatesOnBoot *bool `type:"boolean"`
8679
8680	// A LifeCycleEventConfiguration object that you can use to configure the Shutdown
8681	// event to specify an execution timeout and enable or disable Elastic Load
8682	// Balancer connection draining.
8683	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
8684
8685	// The layer name, which is used by the console.
8686	//
8687	// Name is a required field
8688	Name *string `type:"string" required:"true"`
8689
8690	// An array of Package objects that describes the layer packages.
8691	Packages []*string `type:"list"`
8692
8693	// For custom layers only, use this parameter to specify the layer's short name,
8694	// which is used internally by AWS OpsWorks Stacks and by Chef recipes. The
8695	// short name is also used as the name for the directory where your app files
8696	// are installed. It can have a maximum of 200 characters, which are limited
8697	// to the alphanumeric characters, '-', '_', and '.'.
8698	//
8699	// The built-in layers' short names are defined by AWS OpsWorks Stacks. For
8700	// more information, see the Layer Reference (https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html).
8701	//
8702	// Shortname is a required field
8703	Shortname *string `type:"string" required:"true"`
8704
8705	// The layer stack ID.
8706	//
8707	// StackId is a required field
8708	StackId *string `type:"string" required:"true"`
8709
8710	// The layer type. A stack cannot have more than one built-in layer of the same
8711	// type. It can have any number of custom layers. Built-in layers are not available
8712	// in Chef 12 stacks.
8713	//
8714	// Type is a required field
8715	Type *string `type:"string" required:"true" enum:"LayerType"`
8716
8717	// Whether to use Amazon EBS-optimized instances.
8718	UseEbsOptimizedInstances *bool `type:"boolean"`
8719
8720	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
8721	VolumeConfigurations []*VolumeConfiguration `type:"list"`
8722}
8723
8724// String returns the string representation
8725func (s CreateLayerInput) String() string {
8726	return awsutil.Prettify(s)
8727}
8728
8729// GoString returns the string representation
8730func (s CreateLayerInput) GoString() string {
8731	return s.String()
8732}
8733
8734// Validate inspects the fields of the type to determine if they are valid.
8735func (s *CreateLayerInput) Validate() error {
8736	invalidParams := request.ErrInvalidParams{Context: "CreateLayerInput"}
8737	if s.Name == nil {
8738		invalidParams.Add(request.NewErrParamRequired("Name"))
8739	}
8740	if s.Shortname == nil {
8741		invalidParams.Add(request.NewErrParamRequired("Shortname"))
8742	}
8743	if s.StackId == nil {
8744		invalidParams.Add(request.NewErrParamRequired("StackId"))
8745	}
8746	if s.Type == nil {
8747		invalidParams.Add(request.NewErrParamRequired("Type"))
8748	}
8749	if s.VolumeConfigurations != nil {
8750		for i, v := range s.VolumeConfigurations {
8751			if v == nil {
8752				continue
8753			}
8754			if err := v.Validate(); err != nil {
8755				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VolumeConfigurations", i), err.(request.ErrInvalidParams))
8756			}
8757		}
8758	}
8759
8760	if invalidParams.Len() > 0 {
8761		return invalidParams
8762	}
8763	return nil
8764}
8765
8766// SetAttributes sets the Attributes field's value.
8767func (s *CreateLayerInput) SetAttributes(v map[string]*string) *CreateLayerInput {
8768	s.Attributes = v
8769	return s
8770}
8771
8772// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
8773func (s *CreateLayerInput) SetAutoAssignElasticIps(v bool) *CreateLayerInput {
8774	s.AutoAssignElasticIps = &v
8775	return s
8776}
8777
8778// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
8779func (s *CreateLayerInput) SetAutoAssignPublicIps(v bool) *CreateLayerInput {
8780	s.AutoAssignPublicIps = &v
8781	return s
8782}
8783
8784// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
8785func (s *CreateLayerInput) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *CreateLayerInput {
8786	s.CloudWatchLogsConfiguration = v
8787	return s
8788}
8789
8790// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
8791func (s *CreateLayerInput) SetCustomInstanceProfileArn(v string) *CreateLayerInput {
8792	s.CustomInstanceProfileArn = &v
8793	return s
8794}
8795
8796// SetCustomJson sets the CustomJson field's value.
8797func (s *CreateLayerInput) SetCustomJson(v string) *CreateLayerInput {
8798	s.CustomJson = &v
8799	return s
8800}
8801
8802// SetCustomRecipes sets the CustomRecipes field's value.
8803func (s *CreateLayerInput) SetCustomRecipes(v *Recipes) *CreateLayerInput {
8804	s.CustomRecipes = v
8805	return s
8806}
8807
8808// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
8809func (s *CreateLayerInput) SetCustomSecurityGroupIds(v []*string) *CreateLayerInput {
8810	s.CustomSecurityGroupIds = v
8811	return s
8812}
8813
8814// SetEnableAutoHealing sets the EnableAutoHealing field's value.
8815func (s *CreateLayerInput) SetEnableAutoHealing(v bool) *CreateLayerInput {
8816	s.EnableAutoHealing = &v
8817	return s
8818}
8819
8820// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
8821func (s *CreateLayerInput) SetInstallUpdatesOnBoot(v bool) *CreateLayerInput {
8822	s.InstallUpdatesOnBoot = &v
8823	return s
8824}
8825
8826// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
8827func (s *CreateLayerInput) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *CreateLayerInput {
8828	s.LifecycleEventConfiguration = v
8829	return s
8830}
8831
8832// SetName sets the Name field's value.
8833func (s *CreateLayerInput) SetName(v string) *CreateLayerInput {
8834	s.Name = &v
8835	return s
8836}
8837
8838// SetPackages sets the Packages field's value.
8839func (s *CreateLayerInput) SetPackages(v []*string) *CreateLayerInput {
8840	s.Packages = v
8841	return s
8842}
8843
8844// SetShortname sets the Shortname field's value.
8845func (s *CreateLayerInput) SetShortname(v string) *CreateLayerInput {
8846	s.Shortname = &v
8847	return s
8848}
8849
8850// SetStackId sets the StackId field's value.
8851func (s *CreateLayerInput) SetStackId(v string) *CreateLayerInput {
8852	s.StackId = &v
8853	return s
8854}
8855
8856// SetType sets the Type field's value.
8857func (s *CreateLayerInput) SetType(v string) *CreateLayerInput {
8858	s.Type = &v
8859	return s
8860}
8861
8862// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
8863func (s *CreateLayerInput) SetUseEbsOptimizedInstances(v bool) *CreateLayerInput {
8864	s.UseEbsOptimizedInstances = &v
8865	return s
8866}
8867
8868// SetVolumeConfigurations sets the VolumeConfigurations field's value.
8869func (s *CreateLayerInput) SetVolumeConfigurations(v []*VolumeConfiguration) *CreateLayerInput {
8870	s.VolumeConfigurations = v
8871	return s
8872}
8873
8874// Contains the response to a CreateLayer request.
8875type CreateLayerOutput struct {
8876	_ struct{} `type:"structure"`
8877
8878	// The layer ID.
8879	LayerId *string `type:"string"`
8880}
8881
8882// String returns the string representation
8883func (s CreateLayerOutput) String() string {
8884	return awsutil.Prettify(s)
8885}
8886
8887// GoString returns the string representation
8888func (s CreateLayerOutput) GoString() string {
8889	return s.String()
8890}
8891
8892// SetLayerId sets the LayerId field's value.
8893func (s *CreateLayerOutput) SetLayerId(v string) *CreateLayerOutput {
8894	s.LayerId = &v
8895	return s
8896}
8897
8898type CreateStackInput struct {
8899	_ struct{} `type:"structure"`
8900
8901	// The default AWS OpsWorks Stacks agent version. You have the following options:
8902	//
8903	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
8904	//    installs new agent versions on the stack's instances as soon as they are
8905	//    available.
8906	//
8907	//    * Fixed version - Set this parameter to your preferred agent version.
8908	//    To update the agent version, you must edit the stack configuration and
8909	//    specify a new version. AWS OpsWorks Stacks then automatically installs
8910	//    that version on the stack's instances.
8911	//
8912	// The default setting is the most recent release of the agent. To specify an
8913	// agent version, you must use the complete version number, not the abbreviated
8914	// number shown on the console. For a list of available agent version numbers,
8915	// call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.
8916	//
8917	// You can also specify an agent version when you create or update an instance,
8918	// which overrides the stack's default setting.
8919	AgentVersion *string `type:"string"`
8920
8921	// One or more user-defined key-value pairs to be added to the stack attributes.
8922	Attributes map[string]*string `type:"map"`
8923
8924	// A ChefConfiguration object that specifies whether to enable Berkshelf and
8925	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
8926	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
8927	ChefConfiguration *ChefConfiguration `type:"structure"`
8928
8929	// The configuration manager. When you create a stack we recommend that you
8930	// use the configuration manager to specify the Chef version: 12, 11.10, or
8931	// 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for
8932	// Linux stacks is currently 12.
8933	ConfigurationManager *StackConfigurationManager `type:"structure"`
8934
8935	// Contains the information required to retrieve an app or cookbook from a repository.
8936	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
8937	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
8938	CustomCookbooksSource *Source `type:"structure"`
8939
8940	// A string that contains user-defined, custom JSON. It can be used to override
8941	// the corresponding default stack configuration attribute values or to pass
8942	// data to recipes. The string should be in the following format:
8943	//
8944	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
8945	//
8946	// For more information about custom JSON, see Use Custom JSON to Modify the
8947	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
8948	CustomJson *string `type:"string"`
8949
8950	// The stack's default Availability Zone, which must be in the specified region.
8951	// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
8952	// If you also specify a value for DefaultSubnetId, the subnet must be in the
8953	// same zone. For more information, see the VpcId parameter description.
8954	DefaultAvailabilityZone *string `type:"string"`
8955
8956	// The Amazon Resource Name (ARN) of an IAM profile that is the default profile
8957	// for all of the stack's EC2 instances. For more information about IAM ARNs,
8958	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
8959	//
8960	// DefaultInstanceProfileArn is a required field
8961	DefaultInstanceProfileArn *string `type:"string" required:"true"`
8962
8963	// The stack's default operating system, which is installed on every instance
8964	// unless you specify a different operating system when you create the instance.
8965	// You can specify one of the following.
8966	//
8967	//    * A supported Linux operating system: An Amazon Linux version, such as
8968	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
8969	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
8970	//    2015.03.
8971	//
8972	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
8973	//    14.04 LTS, or Ubuntu 12.04 LTS.
8974	//
8975	//    * CentOS Linux 7
8976	//
8977	//    * Red Hat Enterprise Linux 7
8978	//
8979	//    * A supported Windows operating system, such as Microsoft Windows Server
8980	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
8981	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
8982	//    Windows Server 2012 R2 with SQL Server Web.
8983	//
8984	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
8985	//    you create instances. For more information, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
8986	//
8987	// The default option is the current Amazon Linux version. For more information
8988	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
8989	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
8990	DefaultOs *string `type:"string"`
8991
8992	// The default root device type. This value is the default for all instances
8993	// in the stack, but you can override it when you create an instance. The default
8994	// option is instance-store. For more information, see Storage for the Root
8995	// Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
8996	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
8997
8998	// A default Amazon EC2 key pair name. The default value is none. If you specify
8999	// a key pair name, AWS OpsWorks installs the public key on the instance and
9000	// you can use the private key with an SSH client to log in to the instance.
9001	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
9002	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
9003	// You can override this setting by specifying a different key pair, or no key
9004	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
9005	DefaultSshKeyName *string `type:"string"`
9006
9007	// The stack's default VPC subnet ID. This parameter is required if you specify
9008	// a value for the VpcId parameter. All instances are launched into this subnet
9009	// unless you specify otherwise when you create the instance. If you also specify
9010	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
9011	// information on default values and when this parameter is required, see the
9012	// VpcId parameter description.
9013	DefaultSubnetId *string `type:"string"`
9014
9015	// The stack's host name theme, with spaces replaced by underscores. The theme
9016	// is used to generate host names for the stack's instances. By default, HostnameTheme
9017	// is set to Layer_Dependent, which creates host names by appending integers
9018	// to the layer's short name. The other themes are:
9019	//
9020	//    * Baked_Goods
9021	//
9022	//    * Clouds
9023	//
9024	//    * Europe_Cities
9025	//
9026	//    * Fruits
9027	//
9028	//    * Greek_Deities_and_Titans
9029	//
9030	//    * Legendary_creatures_from_Japan
9031	//
9032	//    * Planets_and_Moons
9033	//
9034	//    * Roman_Deities
9035	//
9036	//    * Scottish_Islands
9037	//
9038	//    * US_Cities
9039	//
9040	//    * Wild_Cats
9041	//
9042	// To obtain a generated host name, call GetHostNameSuggestion, which returns
9043	// a host name based on the current theme.
9044	HostnameTheme *string `type:"string"`
9045
9046	// The stack name.
9047	//
9048	// Name is a required field
9049	Name *string `type:"string" required:"true"`
9050
9051	// The stack's AWS region, such as ap-south-1. For more information about Amazon
9052	// regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
9053	//
9054	// In the AWS CLI, this API maps to the --stack-region parameter. If the --stack-region
9055	// parameter and the AWS CLI common parameter --region are set to the same value,
9056	// the stack uses a regional endpoint. If the --stack-region parameter is not
9057	// set, but the AWS CLI --region parameter is, this also results in a stack
9058	// with a regional endpoint. However, if the --region parameter is set to us-east-1,
9059	// and the --stack-region parameter is set to one of the following, then the
9060	// stack uses a legacy or classic region: us-west-1, us-west-2, sa-east-1, eu-central-1,
9061	// eu-west-1, ap-northeast-1, ap-southeast-1, ap-southeast-2. In this case,
9062	// the actual API endpoint of the stack is in us-east-1. Only the preceding
9063	// regions are supported as classic regions in the us-east-1 API endpoint. Because
9064	// it is a best practice to choose the regional endpoint that is closest to
9065	// where you manage AWS, we recommend that you use regional endpoints for new
9066	// stacks. The AWS CLI common --region parameter always specifies a regional
9067	// API endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks
9068	// region.
9069	//
9070	// Region is a required field
9071	Region *string `type:"string" required:"true"`
9072
9073	// The stack's AWS Identity and Access Management (IAM) role, which allows AWS
9074	// OpsWorks Stacks to work with AWS resources on your behalf. You must set this
9075	// parameter to the Amazon Resource Name (ARN) for an existing IAM role. For
9076	// more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
9077	//
9078	// ServiceRoleArn is a required field
9079	ServiceRoleArn *string `type:"string" required:"true"`
9080
9081	// Whether the stack uses custom cookbooks.
9082	UseCustomCookbooks *bool `type:"boolean"`
9083
9084	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
9085	// the stack's layers.
9086	//
9087	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
9088	// one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups
9089	// you can instead provide your own custom security groups. UseOpsworksSecurityGroups
9090	// has the following settings:
9091	//
9092	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
9093	//    built-in security group with each layer (default setting). You can associate
9094	//    additional security groups with a layer after you create it, but you cannot
9095	//    delete the built-in security group.
9096	//
9097	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
9098	//    with layers. You must create appropriate EC2 security groups and associate
9099	//    a security group with each layer that you create. However, you can still
9100	//    manually associate a built-in security group with a layer on creation;
9101	//    custom security groups are required only for those layers that need custom
9102	//    settings.
9103	//
9104	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
9105	UseOpsworksSecurityGroups *bool `type:"boolean"`
9106
9107	// The ID of the VPC that the stack is to be launched into. The VPC must be
9108	// in the stack's region. All instances are launched into this VPC. You cannot
9109	// change the ID later.
9110	//
9111	//    * If your account supports EC2-Classic, the default value is no VPC.
9112	//
9113	//    * If your account does not support EC2-Classic, the default value is the
9114	//    default VPC for the specified region.
9115	//
9116	// If the VPC ID corresponds to a default VPC and you have specified either
9117	// the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks
9118	// Stacks infers the value of the other parameter. If you specify neither parameter,
9119	// AWS OpsWorks Stacks sets these parameters to the first valid Availability
9120	// Zone for the specified region and the corresponding default VPC subnet ID,
9121	// respectively.
9122	//
9123	// If you specify a nondefault VPC ID, note the following:
9124	//
9125	//    * It must belong to a VPC in your account that is in the specified region.
9126	//
9127	//    * You must specify a value for DefaultSubnetId.
9128	//
9129	// For more information about how to use AWS OpsWorks Stacks with a VPC, see
9130	// Running a Stack in a VPC (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html).
9131	// For more information about default VPC and EC2-Classic, see Supported Platforms
9132	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
9133	VpcId *string `type:"string"`
9134}
9135
9136// String returns the string representation
9137func (s CreateStackInput) String() string {
9138	return awsutil.Prettify(s)
9139}
9140
9141// GoString returns the string representation
9142func (s CreateStackInput) GoString() string {
9143	return s.String()
9144}
9145
9146// Validate inspects the fields of the type to determine if they are valid.
9147func (s *CreateStackInput) Validate() error {
9148	invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
9149	if s.DefaultInstanceProfileArn == nil {
9150		invalidParams.Add(request.NewErrParamRequired("DefaultInstanceProfileArn"))
9151	}
9152	if s.Name == nil {
9153		invalidParams.Add(request.NewErrParamRequired("Name"))
9154	}
9155	if s.Region == nil {
9156		invalidParams.Add(request.NewErrParamRequired("Region"))
9157	}
9158	if s.ServiceRoleArn == nil {
9159		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
9160	}
9161
9162	if invalidParams.Len() > 0 {
9163		return invalidParams
9164	}
9165	return nil
9166}
9167
9168// SetAgentVersion sets the AgentVersion field's value.
9169func (s *CreateStackInput) SetAgentVersion(v string) *CreateStackInput {
9170	s.AgentVersion = &v
9171	return s
9172}
9173
9174// SetAttributes sets the Attributes field's value.
9175func (s *CreateStackInput) SetAttributes(v map[string]*string) *CreateStackInput {
9176	s.Attributes = v
9177	return s
9178}
9179
9180// SetChefConfiguration sets the ChefConfiguration field's value.
9181func (s *CreateStackInput) SetChefConfiguration(v *ChefConfiguration) *CreateStackInput {
9182	s.ChefConfiguration = v
9183	return s
9184}
9185
9186// SetConfigurationManager sets the ConfigurationManager field's value.
9187func (s *CreateStackInput) SetConfigurationManager(v *StackConfigurationManager) *CreateStackInput {
9188	s.ConfigurationManager = v
9189	return s
9190}
9191
9192// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
9193func (s *CreateStackInput) SetCustomCookbooksSource(v *Source) *CreateStackInput {
9194	s.CustomCookbooksSource = v
9195	return s
9196}
9197
9198// SetCustomJson sets the CustomJson field's value.
9199func (s *CreateStackInput) SetCustomJson(v string) *CreateStackInput {
9200	s.CustomJson = &v
9201	return s
9202}
9203
9204// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
9205func (s *CreateStackInput) SetDefaultAvailabilityZone(v string) *CreateStackInput {
9206	s.DefaultAvailabilityZone = &v
9207	return s
9208}
9209
9210// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
9211func (s *CreateStackInput) SetDefaultInstanceProfileArn(v string) *CreateStackInput {
9212	s.DefaultInstanceProfileArn = &v
9213	return s
9214}
9215
9216// SetDefaultOs sets the DefaultOs field's value.
9217func (s *CreateStackInput) SetDefaultOs(v string) *CreateStackInput {
9218	s.DefaultOs = &v
9219	return s
9220}
9221
9222// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
9223func (s *CreateStackInput) SetDefaultRootDeviceType(v string) *CreateStackInput {
9224	s.DefaultRootDeviceType = &v
9225	return s
9226}
9227
9228// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
9229func (s *CreateStackInput) SetDefaultSshKeyName(v string) *CreateStackInput {
9230	s.DefaultSshKeyName = &v
9231	return s
9232}
9233
9234// SetDefaultSubnetId sets the DefaultSubnetId field's value.
9235func (s *CreateStackInput) SetDefaultSubnetId(v string) *CreateStackInput {
9236	s.DefaultSubnetId = &v
9237	return s
9238}
9239
9240// SetHostnameTheme sets the HostnameTheme field's value.
9241func (s *CreateStackInput) SetHostnameTheme(v string) *CreateStackInput {
9242	s.HostnameTheme = &v
9243	return s
9244}
9245
9246// SetName sets the Name field's value.
9247func (s *CreateStackInput) SetName(v string) *CreateStackInput {
9248	s.Name = &v
9249	return s
9250}
9251
9252// SetRegion sets the Region field's value.
9253func (s *CreateStackInput) SetRegion(v string) *CreateStackInput {
9254	s.Region = &v
9255	return s
9256}
9257
9258// SetServiceRoleArn sets the ServiceRoleArn field's value.
9259func (s *CreateStackInput) SetServiceRoleArn(v string) *CreateStackInput {
9260	s.ServiceRoleArn = &v
9261	return s
9262}
9263
9264// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
9265func (s *CreateStackInput) SetUseCustomCookbooks(v bool) *CreateStackInput {
9266	s.UseCustomCookbooks = &v
9267	return s
9268}
9269
9270// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
9271func (s *CreateStackInput) SetUseOpsworksSecurityGroups(v bool) *CreateStackInput {
9272	s.UseOpsworksSecurityGroups = &v
9273	return s
9274}
9275
9276// SetVpcId sets the VpcId field's value.
9277func (s *CreateStackInput) SetVpcId(v string) *CreateStackInput {
9278	s.VpcId = &v
9279	return s
9280}
9281
9282// Contains the response to a CreateStack request.
9283type CreateStackOutput struct {
9284	_ struct{} `type:"structure"`
9285
9286	// The stack ID, which is an opaque string that you use to identify the stack
9287	// when performing actions such as DescribeStacks.
9288	StackId *string `type:"string"`
9289}
9290
9291// String returns the string representation
9292func (s CreateStackOutput) String() string {
9293	return awsutil.Prettify(s)
9294}
9295
9296// GoString returns the string representation
9297func (s CreateStackOutput) GoString() string {
9298	return s.String()
9299}
9300
9301// SetStackId sets the StackId field's value.
9302func (s *CreateStackOutput) SetStackId(v string) *CreateStackOutput {
9303	s.StackId = &v
9304	return s
9305}
9306
9307type CreateUserProfileInput struct {
9308	_ struct{} `type:"structure"`
9309
9310	// Whether users can specify their own SSH public key through the My Settings
9311	// page. For more information, see Setting an IAM User's Public SSH Key (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
9312	AllowSelfManagement *bool `type:"boolean"`
9313
9314	// The user's IAM ARN; this can also be a federated user's ARN.
9315	//
9316	// IamUserArn is a required field
9317	IamUserArn *string `type:"string" required:"true"`
9318
9319	// The user's public SSH key.
9320	SshPublicKey *string `type:"string"`
9321
9322	// The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9],
9323	// '-', and '_'. If the specified name includes other punctuation marks, AWS
9324	// OpsWorks Stacks removes them. For example, my.name will be changed to myname.
9325	// If you do not specify an SSH user name, AWS OpsWorks Stacks generates one
9326	// from the IAM user name.
9327	SshUsername *string `type:"string"`
9328}
9329
9330// String returns the string representation
9331func (s CreateUserProfileInput) String() string {
9332	return awsutil.Prettify(s)
9333}
9334
9335// GoString returns the string representation
9336func (s CreateUserProfileInput) GoString() string {
9337	return s.String()
9338}
9339
9340// Validate inspects the fields of the type to determine if they are valid.
9341func (s *CreateUserProfileInput) Validate() error {
9342	invalidParams := request.ErrInvalidParams{Context: "CreateUserProfileInput"}
9343	if s.IamUserArn == nil {
9344		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
9345	}
9346
9347	if invalidParams.Len() > 0 {
9348		return invalidParams
9349	}
9350	return nil
9351}
9352
9353// SetAllowSelfManagement sets the AllowSelfManagement field's value.
9354func (s *CreateUserProfileInput) SetAllowSelfManagement(v bool) *CreateUserProfileInput {
9355	s.AllowSelfManagement = &v
9356	return s
9357}
9358
9359// SetIamUserArn sets the IamUserArn field's value.
9360func (s *CreateUserProfileInput) SetIamUserArn(v string) *CreateUserProfileInput {
9361	s.IamUserArn = &v
9362	return s
9363}
9364
9365// SetSshPublicKey sets the SshPublicKey field's value.
9366func (s *CreateUserProfileInput) SetSshPublicKey(v string) *CreateUserProfileInput {
9367	s.SshPublicKey = &v
9368	return s
9369}
9370
9371// SetSshUsername sets the SshUsername field's value.
9372func (s *CreateUserProfileInput) SetSshUsername(v string) *CreateUserProfileInput {
9373	s.SshUsername = &v
9374	return s
9375}
9376
9377// Contains the response to a CreateUserProfile request.
9378type CreateUserProfileOutput struct {
9379	_ struct{} `type:"structure"`
9380
9381	// The user's IAM ARN.
9382	IamUserArn *string `type:"string"`
9383}
9384
9385// String returns the string representation
9386func (s CreateUserProfileOutput) String() string {
9387	return awsutil.Prettify(s)
9388}
9389
9390// GoString returns the string representation
9391func (s CreateUserProfileOutput) GoString() string {
9392	return s.String()
9393}
9394
9395// SetIamUserArn sets the IamUserArn field's value.
9396func (s *CreateUserProfileOutput) SetIamUserArn(v string) *CreateUserProfileOutput {
9397	s.IamUserArn = &v
9398	return s
9399}
9400
9401// Describes an app's data source.
9402type DataSource struct {
9403	_ struct{} `type:"structure"`
9404
9405	// The data source's ARN.
9406	Arn *string `type:"string"`
9407
9408	// The database name.
9409	DatabaseName *string `type:"string"`
9410
9411	// The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance,
9412	// RdsDbInstance, or None.
9413	Type *string `type:"string"`
9414}
9415
9416// String returns the string representation
9417func (s DataSource) String() string {
9418	return awsutil.Prettify(s)
9419}
9420
9421// GoString returns the string representation
9422func (s DataSource) GoString() string {
9423	return s.String()
9424}
9425
9426// SetArn sets the Arn field's value.
9427func (s *DataSource) SetArn(v string) *DataSource {
9428	s.Arn = &v
9429	return s
9430}
9431
9432// SetDatabaseName sets the DatabaseName field's value.
9433func (s *DataSource) SetDatabaseName(v string) *DataSource {
9434	s.DatabaseName = &v
9435	return s
9436}
9437
9438// SetType sets the Type field's value.
9439func (s *DataSource) SetType(v string) *DataSource {
9440	s.Type = &v
9441	return s
9442}
9443
9444type DeleteAppInput struct {
9445	_ struct{} `type:"structure"`
9446
9447	// The app ID.
9448	//
9449	// AppId is a required field
9450	AppId *string `type:"string" required:"true"`
9451}
9452
9453// String returns the string representation
9454func (s DeleteAppInput) String() string {
9455	return awsutil.Prettify(s)
9456}
9457
9458// GoString returns the string representation
9459func (s DeleteAppInput) GoString() string {
9460	return s.String()
9461}
9462
9463// Validate inspects the fields of the type to determine if they are valid.
9464func (s *DeleteAppInput) Validate() error {
9465	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
9466	if s.AppId == nil {
9467		invalidParams.Add(request.NewErrParamRequired("AppId"))
9468	}
9469
9470	if invalidParams.Len() > 0 {
9471		return invalidParams
9472	}
9473	return nil
9474}
9475
9476// SetAppId sets the AppId field's value.
9477func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput {
9478	s.AppId = &v
9479	return s
9480}
9481
9482type DeleteAppOutput struct {
9483	_ struct{} `type:"structure"`
9484}
9485
9486// String returns the string representation
9487func (s DeleteAppOutput) String() string {
9488	return awsutil.Prettify(s)
9489}
9490
9491// GoString returns the string representation
9492func (s DeleteAppOutput) GoString() string {
9493	return s.String()
9494}
9495
9496type DeleteInstanceInput struct {
9497	_ struct{} `type:"structure"`
9498
9499	// Whether to delete the instance Elastic IP address.
9500	DeleteElasticIp *bool `type:"boolean"`
9501
9502	// Whether to delete the instance's Amazon EBS volumes.
9503	DeleteVolumes *bool `type:"boolean"`
9504
9505	// The instance ID.
9506	//
9507	// InstanceId is a required field
9508	InstanceId *string `type:"string" required:"true"`
9509}
9510
9511// String returns the string representation
9512func (s DeleteInstanceInput) String() string {
9513	return awsutil.Prettify(s)
9514}
9515
9516// GoString returns the string representation
9517func (s DeleteInstanceInput) GoString() string {
9518	return s.String()
9519}
9520
9521// Validate inspects the fields of the type to determine if they are valid.
9522func (s *DeleteInstanceInput) Validate() error {
9523	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
9524	if s.InstanceId == nil {
9525		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
9526	}
9527
9528	if invalidParams.Len() > 0 {
9529		return invalidParams
9530	}
9531	return nil
9532}
9533
9534// SetDeleteElasticIp sets the DeleteElasticIp field's value.
9535func (s *DeleteInstanceInput) SetDeleteElasticIp(v bool) *DeleteInstanceInput {
9536	s.DeleteElasticIp = &v
9537	return s
9538}
9539
9540// SetDeleteVolumes sets the DeleteVolumes field's value.
9541func (s *DeleteInstanceInput) SetDeleteVolumes(v bool) *DeleteInstanceInput {
9542	s.DeleteVolumes = &v
9543	return s
9544}
9545
9546// SetInstanceId sets the InstanceId field's value.
9547func (s *DeleteInstanceInput) SetInstanceId(v string) *DeleteInstanceInput {
9548	s.InstanceId = &v
9549	return s
9550}
9551
9552type DeleteInstanceOutput struct {
9553	_ struct{} `type:"structure"`
9554}
9555
9556// String returns the string representation
9557func (s DeleteInstanceOutput) String() string {
9558	return awsutil.Prettify(s)
9559}
9560
9561// GoString returns the string representation
9562func (s DeleteInstanceOutput) GoString() string {
9563	return s.String()
9564}
9565
9566type DeleteLayerInput struct {
9567	_ struct{} `type:"structure"`
9568
9569	// The layer ID.
9570	//
9571	// LayerId is a required field
9572	LayerId *string `type:"string" required:"true"`
9573}
9574
9575// String returns the string representation
9576func (s DeleteLayerInput) String() string {
9577	return awsutil.Prettify(s)
9578}
9579
9580// GoString returns the string representation
9581func (s DeleteLayerInput) GoString() string {
9582	return s.String()
9583}
9584
9585// Validate inspects the fields of the type to determine if they are valid.
9586func (s *DeleteLayerInput) Validate() error {
9587	invalidParams := request.ErrInvalidParams{Context: "DeleteLayerInput"}
9588	if s.LayerId == nil {
9589		invalidParams.Add(request.NewErrParamRequired("LayerId"))
9590	}
9591
9592	if invalidParams.Len() > 0 {
9593		return invalidParams
9594	}
9595	return nil
9596}
9597
9598// SetLayerId sets the LayerId field's value.
9599func (s *DeleteLayerInput) SetLayerId(v string) *DeleteLayerInput {
9600	s.LayerId = &v
9601	return s
9602}
9603
9604type DeleteLayerOutput struct {
9605	_ struct{} `type:"structure"`
9606}
9607
9608// String returns the string representation
9609func (s DeleteLayerOutput) String() string {
9610	return awsutil.Prettify(s)
9611}
9612
9613// GoString returns the string representation
9614func (s DeleteLayerOutput) GoString() string {
9615	return s.String()
9616}
9617
9618type DeleteStackInput struct {
9619	_ struct{} `type:"structure"`
9620
9621	// The stack ID.
9622	//
9623	// StackId is a required field
9624	StackId *string `type:"string" required:"true"`
9625}
9626
9627// String returns the string representation
9628func (s DeleteStackInput) String() string {
9629	return awsutil.Prettify(s)
9630}
9631
9632// GoString returns the string representation
9633func (s DeleteStackInput) GoString() string {
9634	return s.String()
9635}
9636
9637// Validate inspects the fields of the type to determine if they are valid.
9638func (s *DeleteStackInput) Validate() error {
9639	invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
9640	if s.StackId == nil {
9641		invalidParams.Add(request.NewErrParamRequired("StackId"))
9642	}
9643
9644	if invalidParams.Len() > 0 {
9645		return invalidParams
9646	}
9647	return nil
9648}
9649
9650// SetStackId sets the StackId field's value.
9651func (s *DeleteStackInput) SetStackId(v string) *DeleteStackInput {
9652	s.StackId = &v
9653	return s
9654}
9655
9656type DeleteStackOutput struct {
9657	_ struct{} `type:"structure"`
9658}
9659
9660// String returns the string representation
9661func (s DeleteStackOutput) String() string {
9662	return awsutil.Prettify(s)
9663}
9664
9665// GoString returns the string representation
9666func (s DeleteStackOutput) GoString() string {
9667	return s.String()
9668}
9669
9670type DeleteUserProfileInput struct {
9671	_ struct{} `type:"structure"`
9672
9673	// The user's IAM ARN. This can also be a federated user's ARN.
9674	//
9675	// IamUserArn is a required field
9676	IamUserArn *string `type:"string" required:"true"`
9677}
9678
9679// String returns the string representation
9680func (s DeleteUserProfileInput) String() string {
9681	return awsutil.Prettify(s)
9682}
9683
9684// GoString returns the string representation
9685func (s DeleteUserProfileInput) GoString() string {
9686	return s.String()
9687}
9688
9689// Validate inspects the fields of the type to determine if they are valid.
9690func (s *DeleteUserProfileInput) Validate() error {
9691	invalidParams := request.ErrInvalidParams{Context: "DeleteUserProfileInput"}
9692	if s.IamUserArn == nil {
9693		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
9694	}
9695
9696	if invalidParams.Len() > 0 {
9697		return invalidParams
9698	}
9699	return nil
9700}
9701
9702// SetIamUserArn sets the IamUserArn field's value.
9703func (s *DeleteUserProfileInput) SetIamUserArn(v string) *DeleteUserProfileInput {
9704	s.IamUserArn = &v
9705	return s
9706}
9707
9708type DeleteUserProfileOutput struct {
9709	_ struct{} `type:"structure"`
9710}
9711
9712// String returns the string representation
9713func (s DeleteUserProfileOutput) String() string {
9714	return awsutil.Prettify(s)
9715}
9716
9717// GoString returns the string representation
9718func (s DeleteUserProfileOutput) GoString() string {
9719	return s.String()
9720}
9721
9722// Describes a deployment of a stack or app.
9723type Deployment struct {
9724	_ struct{} `type:"structure"`
9725
9726	// The app ID.
9727	AppId *string `type:"string"`
9728
9729	// Used to specify a stack or deployment command.
9730	Command *DeploymentCommand `type:"structure"`
9731
9732	// A user-defined comment.
9733	Comment *string `type:"string"`
9734
9735	// Date when the deployment completed.
9736	CompletedAt *string `type:"string"`
9737
9738	// Date when the deployment was created.
9739	CreatedAt *string `type:"string"`
9740
9741	// A string that contains user-defined custom JSON. It can be used to override
9742	// the corresponding default stack configuration attribute values for stack
9743	// or to pass data to recipes. The string should be in the following format:
9744	//
9745	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
9746	//
9747	// For more information on custom JSON, see Use Custom JSON to Modify the Stack
9748	// Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
9749	CustomJson *string `type:"string"`
9750
9751	// The deployment ID.
9752	DeploymentId *string `type:"string"`
9753
9754	// The deployment duration.
9755	Duration *int64 `type:"integer"`
9756
9757	// The user's IAM ARN.
9758	IamUserArn *string `type:"string"`
9759
9760	// The IDs of the target instances.
9761	InstanceIds []*string `type:"list"`
9762
9763	// The stack ID.
9764	StackId *string `type:"string"`
9765
9766	// The deployment status:
9767	//
9768	//    * running
9769	//
9770	//    * successful
9771	//
9772	//    * failed
9773	Status *string `type:"string"`
9774}
9775
9776// String returns the string representation
9777func (s Deployment) String() string {
9778	return awsutil.Prettify(s)
9779}
9780
9781// GoString returns the string representation
9782func (s Deployment) GoString() string {
9783	return s.String()
9784}
9785
9786// SetAppId sets the AppId field's value.
9787func (s *Deployment) SetAppId(v string) *Deployment {
9788	s.AppId = &v
9789	return s
9790}
9791
9792// SetCommand sets the Command field's value.
9793func (s *Deployment) SetCommand(v *DeploymentCommand) *Deployment {
9794	s.Command = v
9795	return s
9796}
9797
9798// SetComment sets the Comment field's value.
9799func (s *Deployment) SetComment(v string) *Deployment {
9800	s.Comment = &v
9801	return s
9802}
9803
9804// SetCompletedAt sets the CompletedAt field's value.
9805func (s *Deployment) SetCompletedAt(v string) *Deployment {
9806	s.CompletedAt = &v
9807	return s
9808}
9809
9810// SetCreatedAt sets the CreatedAt field's value.
9811func (s *Deployment) SetCreatedAt(v string) *Deployment {
9812	s.CreatedAt = &v
9813	return s
9814}
9815
9816// SetCustomJson sets the CustomJson field's value.
9817func (s *Deployment) SetCustomJson(v string) *Deployment {
9818	s.CustomJson = &v
9819	return s
9820}
9821
9822// SetDeploymentId sets the DeploymentId field's value.
9823func (s *Deployment) SetDeploymentId(v string) *Deployment {
9824	s.DeploymentId = &v
9825	return s
9826}
9827
9828// SetDuration sets the Duration field's value.
9829func (s *Deployment) SetDuration(v int64) *Deployment {
9830	s.Duration = &v
9831	return s
9832}
9833
9834// SetIamUserArn sets the IamUserArn field's value.
9835func (s *Deployment) SetIamUserArn(v string) *Deployment {
9836	s.IamUserArn = &v
9837	return s
9838}
9839
9840// SetInstanceIds sets the InstanceIds field's value.
9841func (s *Deployment) SetInstanceIds(v []*string) *Deployment {
9842	s.InstanceIds = v
9843	return s
9844}
9845
9846// SetStackId sets the StackId field's value.
9847func (s *Deployment) SetStackId(v string) *Deployment {
9848	s.StackId = &v
9849	return s
9850}
9851
9852// SetStatus sets the Status field's value.
9853func (s *Deployment) SetStatus(v string) *Deployment {
9854	s.Status = &v
9855	return s
9856}
9857
9858// Used to specify a stack or deployment command.
9859type DeploymentCommand struct {
9860	_ struct{} `type:"structure"`
9861
9862	// The arguments of those commands that take arguments. It should be set to
9863	// a JSON object with the following format:
9864	//
9865	// {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2",
9866	// ...], ...}
9867	//
9868	// The update_dependencies command takes two arguments:
9869	//
9870	//    * upgrade_os_to - Specifies the desired Amazon Linux version for instances
9871	//    whose OS you want to upgrade, such as Amazon Linux 2016.09. You must also
9872	//    set the allow_reboot argument to true.
9873	//
9874	//    * allow_reboot - Specifies whether to allow AWS OpsWorks Stacks to reboot
9875	//    the instances if necessary, after installing the updates. This argument
9876	//    can be set to either true or false. The default value is false.
9877	//
9878	// For example, to upgrade an instance to Amazon Linux 2016.09, set Args to
9879	// the following.
9880	//
9881	// { "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] }
9882	Args map[string][]*string `type:"map"`
9883
9884	// Specifies the operation. You can specify only one command.
9885	//
9886	// For stacks, the following commands are available:
9887	//
9888	//    * execute_recipes: Execute one or more recipes. To specify the recipes,
9889	//    set an Args parameter named recipes to the list of recipes to be executed.
9890	//    For example, to execute phpapp::appsetup, set Args to {"recipes":["phpapp::appsetup"]}.
9891	//
9892	//    * install_dependencies: Install the stack's dependencies.
9893	//
9894	//    * update_custom_cookbooks: Update the stack's custom cookbooks.
9895	//
9896	//    * update_dependencies: Update the stack's dependencies.
9897	//
9898	// The update_dependencies and install_dependencies commands are supported only
9899	// for Linux instances. You can run the commands successfully on Windows instances,
9900	// but they do nothing.
9901	//
9902	// For apps, the following commands are available:
9903	//
9904	//    * deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter
9905	//    named migrate. Set Args to {"migrate":["true"]} to migrate the database.
9906	//    The default setting is {"migrate":["false"]}.
9907	//
9908	//    * rollback Roll the app back to the previous version. When you update
9909	//    an app, AWS OpsWorks Stacks stores the previous version, up to a maximum
9910	//    of five versions. You can use this command to roll an app back as many
9911	//    as four versions.
9912	//
9913	//    * start: Start the app's web or application server.
9914	//
9915	//    * stop: Stop the app's web or application server.
9916	//
9917	//    * restart: Restart the app's web or application server.
9918	//
9919	//    * undeploy: Undeploy the app.
9920	//
9921	// Name is a required field
9922	Name *string `type:"string" required:"true" enum:"DeploymentCommandName"`
9923}
9924
9925// String returns the string representation
9926func (s DeploymentCommand) String() string {
9927	return awsutil.Prettify(s)
9928}
9929
9930// GoString returns the string representation
9931func (s DeploymentCommand) GoString() string {
9932	return s.String()
9933}
9934
9935// Validate inspects the fields of the type to determine if they are valid.
9936func (s *DeploymentCommand) Validate() error {
9937	invalidParams := request.ErrInvalidParams{Context: "DeploymentCommand"}
9938	if s.Name == nil {
9939		invalidParams.Add(request.NewErrParamRequired("Name"))
9940	}
9941
9942	if invalidParams.Len() > 0 {
9943		return invalidParams
9944	}
9945	return nil
9946}
9947
9948// SetArgs sets the Args field's value.
9949func (s *DeploymentCommand) SetArgs(v map[string][]*string) *DeploymentCommand {
9950	s.Args = v
9951	return s
9952}
9953
9954// SetName sets the Name field's value.
9955func (s *DeploymentCommand) SetName(v string) *DeploymentCommand {
9956	s.Name = &v
9957	return s
9958}
9959
9960type DeregisterEcsClusterInput struct {
9961	_ struct{} `type:"structure"`
9962
9963	// The cluster's Amazon Resource Number (ARN).
9964	//
9965	// EcsClusterArn is a required field
9966	EcsClusterArn *string `type:"string" required:"true"`
9967}
9968
9969// String returns the string representation
9970func (s DeregisterEcsClusterInput) String() string {
9971	return awsutil.Prettify(s)
9972}
9973
9974// GoString returns the string representation
9975func (s DeregisterEcsClusterInput) GoString() string {
9976	return s.String()
9977}
9978
9979// Validate inspects the fields of the type to determine if they are valid.
9980func (s *DeregisterEcsClusterInput) Validate() error {
9981	invalidParams := request.ErrInvalidParams{Context: "DeregisterEcsClusterInput"}
9982	if s.EcsClusterArn == nil {
9983		invalidParams.Add(request.NewErrParamRequired("EcsClusterArn"))
9984	}
9985
9986	if invalidParams.Len() > 0 {
9987		return invalidParams
9988	}
9989	return nil
9990}
9991
9992// SetEcsClusterArn sets the EcsClusterArn field's value.
9993func (s *DeregisterEcsClusterInput) SetEcsClusterArn(v string) *DeregisterEcsClusterInput {
9994	s.EcsClusterArn = &v
9995	return s
9996}
9997
9998type DeregisterEcsClusterOutput struct {
9999	_ struct{} `type:"structure"`
10000}
10001
10002// String returns the string representation
10003func (s DeregisterEcsClusterOutput) String() string {
10004	return awsutil.Prettify(s)
10005}
10006
10007// GoString returns the string representation
10008func (s DeregisterEcsClusterOutput) GoString() string {
10009	return s.String()
10010}
10011
10012type DeregisterElasticIpInput struct {
10013	_ struct{} `type:"structure"`
10014
10015	// The Elastic IP address.
10016	//
10017	// ElasticIp is a required field
10018	ElasticIp *string `type:"string" required:"true"`
10019}
10020
10021// String returns the string representation
10022func (s DeregisterElasticIpInput) String() string {
10023	return awsutil.Prettify(s)
10024}
10025
10026// GoString returns the string representation
10027func (s DeregisterElasticIpInput) GoString() string {
10028	return s.String()
10029}
10030
10031// Validate inspects the fields of the type to determine if they are valid.
10032func (s *DeregisterElasticIpInput) Validate() error {
10033	invalidParams := request.ErrInvalidParams{Context: "DeregisterElasticIpInput"}
10034	if s.ElasticIp == nil {
10035		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
10036	}
10037
10038	if invalidParams.Len() > 0 {
10039		return invalidParams
10040	}
10041	return nil
10042}
10043
10044// SetElasticIp sets the ElasticIp field's value.
10045func (s *DeregisterElasticIpInput) SetElasticIp(v string) *DeregisterElasticIpInput {
10046	s.ElasticIp = &v
10047	return s
10048}
10049
10050type DeregisterElasticIpOutput struct {
10051	_ struct{} `type:"structure"`
10052}
10053
10054// String returns the string representation
10055func (s DeregisterElasticIpOutput) String() string {
10056	return awsutil.Prettify(s)
10057}
10058
10059// GoString returns the string representation
10060func (s DeregisterElasticIpOutput) GoString() string {
10061	return s.String()
10062}
10063
10064type DeregisterInstanceInput struct {
10065	_ struct{} `type:"structure"`
10066
10067	// The instance ID.
10068	//
10069	// InstanceId is a required field
10070	InstanceId *string `type:"string" required:"true"`
10071}
10072
10073// String returns the string representation
10074func (s DeregisterInstanceInput) String() string {
10075	return awsutil.Prettify(s)
10076}
10077
10078// GoString returns the string representation
10079func (s DeregisterInstanceInput) GoString() string {
10080	return s.String()
10081}
10082
10083// Validate inspects the fields of the type to determine if they are valid.
10084func (s *DeregisterInstanceInput) Validate() error {
10085	invalidParams := request.ErrInvalidParams{Context: "DeregisterInstanceInput"}
10086	if s.InstanceId == nil {
10087		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
10088	}
10089
10090	if invalidParams.Len() > 0 {
10091		return invalidParams
10092	}
10093	return nil
10094}
10095
10096// SetInstanceId sets the InstanceId field's value.
10097func (s *DeregisterInstanceInput) SetInstanceId(v string) *DeregisterInstanceInput {
10098	s.InstanceId = &v
10099	return s
10100}
10101
10102type DeregisterInstanceOutput struct {
10103	_ struct{} `type:"structure"`
10104}
10105
10106// String returns the string representation
10107func (s DeregisterInstanceOutput) String() string {
10108	return awsutil.Prettify(s)
10109}
10110
10111// GoString returns the string representation
10112func (s DeregisterInstanceOutput) GoString() string {
10113	return s.String()
10114}
10115
10116type DeregisterRdsDbInstanceInput struct {
10117	_ struct{} `type:"structure"`
10118
10119	// The Amazon RDS instance's ARN.
10120	//
10121	// RdsDbInstanceArn is a required field
10122	RdsDbInstanceArn *string `type:"string" required:"true"`
10123}
10124
10125// String returns the string representation
10126func (s DeregisterRdsDbInstanceInput) String() string {
10127	return awsutil.Prettify(s)
10128}
10129
10130// GoString returns the string representation
10131func (s DeregisterRdsDbInstanceInput) GoString() string {
10132	return s.String()
10133}
10134
10135// Validate inspects the fields of the type to determine if they are valid.
10136func (s *DeregisterRdsDbInstanceInput) Validate() error {
10137	invalidParams := request.ErrInvalidParams{Context: "DeregisterRdsDbInstanceInput"}
10138	if s.RdsDbInstanceArn == nil {
10139		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
10140	}
10141
10142	if invalidParams.Len() > 0 {
10143		return invalidParams
10144	}
10145	return nil
10146}
10147
10148// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
10149func (s *DeregisterRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *DeregisterRdsDbInstanceInput {
10150	s.RdsDbInstanceArn = &v
10151	return s
10152}
10153
10154type DeregisterRdsDbInstanceOutput struct {
10155	_ struct{} `type:"structure"`
10156}
10157
10158// String returns the string representation
10159func (s DeregisterRdsDbInstanceOutput) String() string {
10160	return awsutil.Prettify(s)
10161}
10162
10163// GoString returns the string representation
10164func (s DeregisterRdsDbInstanceOutput) GoString() string {
10165	return s.String()
10166}
10167
10168type DeregisterVolumeInput struct {
10169	_ struct{} `type:"structure"`
10170
10171	// The AWS OpsWorks Stacks volume ID, which is the GUID that AWS OpsWorks Stacks
10172	// assigned to the instance when you registered the volume with the stack, not
10173	// the Amazon EC2 volume ID.
10174	//
10175	// VolumeId is a required field
10176	VolumeId *string `type:"string" required:"true"`
10177}
10178
10179// String returns the string representation
10180func (s DeregisterVolumeInput) String() string {
10181	return awsutil.Prettify(s)
10182}
10183
10184// GoString returns the string representation
10185func (s DeregisterVolumeInput) GoString() string {
10186	return s.String()
10187}
10188
10189// Validate inspects the fields of the type to determine if they are valid.
10190func (s *DeregisterVolumeInput) Validate() error {
10191	invalidParams := request.ErrInvalidParams{Context: "DeregisterVolumeInput"}
10192	if s.VolumeId == nil {
10193		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
10194	}
10195
10196	if invalidParams.Len() > 0 {
10197		return invalidParams
10198	}
10199	return nil
10200}
10201
10202// SetVolumeId sets the VolumeId field's value.
10203func (s *DeregisterVolumeInput) SetVolumeId(v string) *DeregisterVolumeInput {
10204	s.VolumeId = &v
10205	return s
10206}
10207
10208type DeregisterVolumeOutput struct {
10209	_ struct{} `type:"structure"`
10210}
10211
10212// String returns the string representation
10213func (s DeregisterVolumeOutput) String() string {
10214	return awsutil.Prettify(s)
10215}
10216
10217// GoString returns the string representation
10218func (s DeregisterVolumeOutput) GoString() string {
10219	return s.String()
10220}
10221
10222type DescribeAgentVersionsInput struct {
10223	_ struct{} `type:"structure"`
10224
10225	// The configuration manager.
10226	ConfigurationManager *StackConfigurationManager `type:"structure"`
10227
10228	// The stack ID.
10229	StackId *string `type:"string"`
10230}
10231
10232// String returns the string representation
10233func (s DescribeAgentVersionsInput) String() string {
10234	return awsutil.Prettify(s)
10235}
10236
10237// GoString returns the string representation
10238func (s DescribeAgentVersionsInput) GoString() string {
10239	return s.String()
10240}
10241
10242// SetConfigurationManager sets the ConfigurationManager field's value.
10243func (s *DescribeAgentVersionsInput) SetConfigurationManager(v *StackConfigurationManager) *DescribeAgentVersionsInput {
10244	s.ConfigurationManager = v
10245	return s
10246}
10247
10248// SetStackId sets the StackId field's value.
10249func (s *DescribeAgentVersionsInput) SetStackId(v string) *DescribeAgentVersionsInput {
10250	s.StackId = &v
10251	return s
10252}
10253
10254// Contains the response to a DescribeAgentVersions request.
10255type DescribeAgentVersionsOutput struct {
10256	_ struct{} `type:"structure"`
10257
10258	// The agent versions for the specified stack or configuration manager. Note
10259	// that this value is the complete version number, not the abbreviated number
10260	// used by the console.
10261	AgentVersions []*AgentVersion `type:"list"`
10262}
10263
10264// String returns the string representation
10265func (s DescribeAgentVersionsOutput) String() string {
10266	return awsutil.Prettify(s)
10267}
10268
10269// GoString returns the string representation
10270func (s DescribeAgentVersionsOutput) GoString() string {
10271	return s.String()
10272}
10273
10274// SetAgentVersions sets the AgentVersions field's value.
10275func (s *DescribeAgentVersionsOutput) SetAgentVersions(v []*AgentVersion) *DescribeAgentVersionsOutput {
10276	s.AgentVersions = v
10277	return s
10278}
10279
10280type DescribeAppsInput struct {
10281	_ struct{} `type:"structure"`
10282
10283	// An array of app IDs for the apps to be described. If you use this parameter,
10284	// DescribeApps returns a description of the specified apps. Otherwise, it returns
10285	// a description of every app.
10286	AppIds []*string `type:"list"`
10287
10288	// The app stack ID. If you use this parameter, DescribeApps returns a description
10289	// of the apps in the specified stack.
10290	StackId *string `type:"string"`
10291}
10292
10293// String returns the string representation
10294func (s DescribeAppsInput) String() string {
10295	return awsutil.Prettify(s)
10296}
10297
10298// GoString returns the string representation
10299func (s DescribeAppsInput) GoString() string {
10300	return s.String()
10301}
10302
10303// SetAppIds sets the AppIds field's value.
10304func (s *DescribeAppsInput) SetAppIds(v []*string) *DescribeAppsInput {
10305	s.AppIds = v
10306	return s
10307}
10308
10309// SetStackId sets the StackId field's value.
10310func (s *DescribeAppsInput) SetStackId(v string) *DescribeAppsInput {
10311	s.StackId = &v
10312	return s
10313}
10314
10315// Contains the response to a DescribeApps request.
10316type DescribeAppsOutput struct {
10317	_ struct{} `type:"structure"`
10318
10319	// An array of App objects that describe the specified apps.
10320	Apps []*App `type:"list"`
10321}
10322
10323// String returns the string representation
10324func (s DescribeAppsOutput) String() string {
10325	return awsutil.Prettify(s)
10326}
10327
10328// GoString returns the string representation
10329func (s DescribeAppsOutput) GoString() string {
10330	return s.String()
10331}
10332
10333// SetApps sets the Apps field's value.
10334func (s *DescribeAppsOutput) SetApps(v []*App) *DescribeAppsOutput {
10335	s.Apps = v
10336	return s
10337}
10338
10339type DescribeCommandsInput struct {
10340	_ struct{} `type:"structure"`
10341
10342	// An array of command IDs. If you include this parameter, DescribeCommands
10343	// returns a description of the specified commands. Otherwise, it returns a
10344	// description of every command.
10345	CommandIds []*string `type:"list"`
10346
10347	// The deployment ID. If you include this parameter, DescribeCommands returns
10348	// a description of the commands associated with the specified deployment.
10349	DeploymentId *string `type:"string"`
10350
10351	// The instance ID. If you include this parameter, DescribeCommands returns
10352	// a description of the commands associated with the specified instance.
10353	InstanceId *string `type:"string"`
10354}
10355
10356// String returns the string representation
10357func (s DescribeCommandsInput) String() string {
10358	return awsutil.Prettify(s)
10359}
10360
10361// GoString returns the string representation
10362func (s DescribeCommandsInput) GoString() string {
10363	return s.String()
10364}
10365
10366// SetCommandIds sets the CommandIds field's value.
10367func (s *DescribeCommandsInput) SetCommandIds(v []*string) *DescribeCommandsInput {
10368	s.CommandIds = v
10369	return s
10370}
10371
10372// SetDeploymentId sets the DeploymentId field's value.
10373func (s *DescribeCommandsInput) SetDeploymentId(v string) *DescribeCommandsInput {
10374	s.DeploymentId = &v
10375	return s
10376}
10377
10378// SetInstanceId sets the InstanceId field's value.
10379func (s *DescribeCommandsInput) SetInstanceId(v string) *DescribeCommandsInput {
10380	s.InstanceId = &v
10381	return s
10382}
10383
10384// Contains the response to a DescribeCommands request.
10385type DescribeCommandsOutput struct {
10386	_ struct{} `type:"structure"`
10387
10388	// An array of Command objects that describe each of the specified commands.
10389	Commands []*Command `type:"list"`
10390}
10391
10392// String returns the string representation
10393func (s DescribeCommandsOutput) String() string {
10394	return awsutil.Prettify(s)
10395}
10396
10397// GoString returns the string representation
10398func (s DescribeCommandsOutput) GoString() string {
10399	return s.String()
10400}
10401
10402// SetCommands sets the Commands field's value.
10403func (s *DescribeCommandsOutput) SetCommands(v []*Command) *DescribeCommandsOutput {
10404	s.Commands = v
10405	return s
10406}
10407
10408type DescribeDeploymentsInput struct {
10409	_ struct{} `type:"structure"`
10410
10411	// The app ID. If you include this parameter, the command returns a description
10412	// of the commands associated with the specified app.
10413	AppId *string `type:"string"`
10414
10415	// An array of deployment IDs to be described. If you include this parameter,
10416	// the command returns a description of the specified deployments. Otherwise,
10417	// it returns a description of every deployment.
10418	DeploymentIds []*string `type:"list"`
10419
10420	// The stack ID. If you include this parameter, the command returns a description
10421	// of the commands associated with the specified stack.
10422	StackId *string `type:"string"`
10423}
10424
10425// String returns the string representation
10426func (s DescribeDeploymentsInput) String() string {
10427	return awsutil.Prettify(s)
10428}
10429
10430// GoString returns the string representation
10431func (s DescribeDeploymentsInput) GoString() string {
10432	return s.String()
10433}
10434
10435// SetAppId sets the AppId field's value.
10436func (s *DescribeDeploymentsInput) SetAppId(v string) *DescribeDeploymentsInput {
10437	s.AppId = &v
10438	return s
10439}
10440
10441// SetDeploymentIds sets the DeploymentIds field's value.
10442func (s *DescribeDeploymentsInput) SetDeploymentIds(v []*string) *DescribeDeploymentsInput {
10443	s.DeploymentIds = v
10444	return s
10445}
10446
10447// SetStackId sets the StackId field's value.
10448func (s *DescribeDeploymentsInput) SetStackId(v string) *DescribeDeploymentsInput {
10449	s.StackId = &v
10450	return s
10451}
10452
10453// Contains the response to a DescribeDeployments request.
10454type DescribeDeploymentsOutput struct {
10455	_ struct{} `type:"structure"`
10456
10457	// An array of Deployment objects that describe the deployments.
10458	Deployments []*Deployment `type:"list"`
10459}
10460
10461// String returns the string representation
10462func (s DescribeDeploymentsOutput) String() string {
10463	return awsutil.Prettify(s)
10464}
10465
10466// GoString returns the string representation
10467func (s DescribeDeploymentsOutput) GoString() string {
10468	return s.String()
10469}
10470
10471// SetDeployments sets the Deployments field's value.
10472func (s *DescribeDeploymentsOutput) SetDeployments(v []*Deployment) *DescribeDeploymentsOutput {
10473	s.Deployments = v
10474	return s
10475}
10476
10477type DescribeEcsClustersInput struct {
10478	_ struct{} `type:"structure"`
10479
10480	// A list of ARNs, one for each cluster to be described.
10481	EcsClusterArns []*string `type:"list"`
10482
10483	// To receive a paginated response, use this parameter to specify the maximum
10484	// number of results to be returned with a single call. If the number of available
10485	// results exceeds this maximum, the response includes a NextToken value that
10486	// you can assign to the NextToken request parameter to get the next set of
10487	// results.
10488	MaxResults *int64 `type:"integer"`
10489
10490	// If the previous paginated request did not return all of the remaining results,
10491	// the response object'sNextToken parameter value is set to a token. To retrieve
10492	// the next set of results, call DescribeEcsClusters again and assign that token
10493	// to the request object's NextToken parameter. If there are no remaining results,
10494	// the previous response object's NextToken parameter is set to null.
10495	NextToken *string `type:"string"`
10496
10497	// A stack ID. DescribeEcsClusters returns a description of the cluster that
10498	// is registered with the stack.
10499	StackId *string `type:"string"`
10500}
10501
10502// String returns the string representation
10503func (s DescribeEcsClustersInput) String() string {
10504	return awsutil.Prettify(s)
10505}
10506
10507// GoString returns the string representation
10508func (s DescribeEcsClustersInput) GoString() string {
10509	return s.String()
10510}
10511
10512// SetEcsClusterArns sets the EcsClusterArns field's value.
10513func (s *DescribeEcsClustersInput) SetEcsClusterArns(v []*string) *DescribeEcsClustersInput {
10514	s.EcsClusterArns = v
10515	return s
10516}
10517
10518// SetMaxResults sets the MaxResults field's value.
10519func (s *DescribeEcsClustersInput) SetMaxResults(v int64) *DescribeEcsClustersInput {
10520	s.MaxResults = &v
10521	return s
10522}
10523
10524// SetNextToken sets the NextToken field's value.
10525func (s *DescribeEcsClustersInput) SetNextToken(v string) *DescribeEcsClustersInput {
10526	s.NextToken = &v
10527	return s
10528}
10529
10530// SetStackId sets the StackId field's value.
10531func (s *DescribeEcsClustersInput) SetStackId(v string) *DescribeEcsClustersInput {
10532	s.StackId = &v
10533	return s
10534}
10535
10536// Contains the response to a DescribeEcsClusters request.
10537type DescribeEcsClustersOutput struct {
10538	_ struct{} `type:"structure"`
10539
10540	// A list of EcsCluster objects containing the cluster descriptions.
10541	EcsClusters []*EcsCluster `type:"list"`
10542
10543	// If a paginated request does not return all of the remaining results, this
10544	// parameter is set to a token that you can assign to the request object's NextToken
10545	// parameter to retrieve the next set of results. If the previous paginated
10546	// request returned all of the remaining results, this parameter is set to null.
10547	NextToken *string `type:"string"`
10548}
10549
10550// String returns the string representation
10551func (s DescribeEcsClustersOutput) String() string {
10552	return awsutil.Prettify(s)
10553}
10554
10555// GoString returns the string representation
10556func (s DescribeEcsClustersOutput) GoString() string {
10557	return s.String()
10558}
10559
10560// SetEcsClusters sets the EcsClusters field's value.
10561func (s *DescribeEcsClustersOutput) SetEcsClusters(v []*EcsCluster) *DescribeEcsClustersOutput {
10562	s.EcsClusters = v
10563	return s
10564}
10565
10566// SetNextToken sets the NextToken field's value.
10567func (s *DescribeEcsClustersOutput) SetNextToken(v string) *DescribeEcsClustersOutput {
10568	s.NextToken = &v
10569	return s
10570}
10571
10572type DescribeElasticIpsInput struct {
10573	_ struct{} `type:"structure"`
10574
10575	// The instance ID. If you include this parameter, DescribeElasticIps returns
10576	// a description of the Elastic IP addresses associated with the specified instance.
10577	InstanceId *string `type:"string"`
10578
10579	// An array of Elastic IP addresses to be described. If you include this parameter,
10580	// DescribeElasticIps returns a description of the specified Elastic IP addresses.
10581	// Otherwise, it returns a description of every Elastic IP address.
10582	Ips []*string `type:"list"`
10583
10584	// A stack ID. If you include this parameter, DescribeElasticIps returns a description
10585	// of the Elastic IP addresses that are registered with the specified stack.
10586	StackId *string `type:"string"`
10587}
10588
10589// String returns the string representation
10590func (s DescribeElasticIpsInput) String() string {
10591	return awsutil.Prettify(s)
10592}
10593
10594// GoString returns the string representation
10595func (s DescribeElasticIpsInput) GoString() string {
10596	return s.String()
10597}
10598
10599// SetInstanceId sets the InstanceId field's value.
10600func (s *DescribeElasticIpsInput) SetInstanceId(v string) *DescribeElasticIpsInput {
10601	s.InstanceId = &v
10602	return s
10603}
10604
10605// SetIps sets the Ips field's value.
10606func (s *DescribeElasticIpsInput) SetIps(v []*string) *DescribeElasticIpsInput {
10607	s.Ips = v
10608	return s
10609}
10610
10611// SetStackId sets the StackId field's value.
10612func (s *DescribeElasticIpsInput) SetStackId(v string) *DescribeElasticIpsInput {
10613	s.StackId = &v
10614	return s
10615}
10616
10617// Contains the response to a DescribeElasticIps request.
10618type DescribeElasticIpsOutput struct {
10619	_ struct{} `type:"structure"`
10620
10621	// An ElasticIps object that describes the specified Elastic IP addresses.
10622	ElasticIps []*ElasticIp `type:"list"`
10623}
10624
10625// String returns the string representation
10626func (s DescribeElasticIpsOutput) String() string {
10627	return awsutil.Prettify(s)
10628}
10629
10630// GoString returns the string representation
10631func (s DescribeElasticIpsOutput) GoString() string {
10632	return s.String()
10633}
10634
10635// SetElasticIps sets the ElasticIps field's value.
10636func (s *DescribeElasticIpsOutput) SetElasticIps(v []*ElasticIp) *DescribeElasticIpsOutput {
10637	s.ElasticIps = v
10638	return s
10639}
10640
10641type DescribeElasticLoadBalancersInput struct {
10642	_ struct{} `type:"structure"`
10643
10644	// A list of layer IDs. The action describes the Elastic Load Balancing instances
10645	// for the specified layers.
10646	LayerIds []*string `type:"list"`
10647
10648	// A stack ID. The action describes the stack's Elastic Load Balancing instances.
10649	StackId *string `type:"string"`
10650}
10651
10652// String returns the string representation
10653func (s DescribeElasticLoadBalancersInput) String() string {
10654	return awsutil.Prettify(s)
10655}
10656
10657// GoString returns the string representation
10658func (s DescribeElasticLoadBalancersInput) GoString() string {
10659	return s.String()
10660}
10661
10662// SetLayerIds sets the LayerIds field's value.
10663func (s *DescribeElasticLoadBalancersInput) SetLayerIds(v []*string) *DescribeElasticLoadBalancersInput {
10664	s.LayerIds = v
10665	return s
10666}
10667
10668// SetStackId sets the StackId field's value.
10669func (s *DescribeElasticLoadBalancersInput) SetStackId(v string) *DescribeElasticLoadBalancersInput {
10670	s.StackId = &v
10671	return s
10672}
10673
10674// Contains the response to a DescribeElasticLoadBalancers request.
10675type DescribeElasticLoadBalancersOutput struct {
10676	_ struct{} `type:"structure"`
10677
10678	// A list of ElasticLoadBalancer objects that describe the specified Elastic
10679	// Load Balancing instances.
10680	ElasticLoadBalancers []*ElasticLoadBalancer `type:"list"`
10681}
10682
10683// String returns the string representation
10684func (s DescribeElasticLoadBalancersOutput) String() string {
10685	return awsutil.Prettify(s)
10686}
10687
10688// GoString returns the string representation
10689func (s DescribeElasticLoadBalancersOutput) GoString() string {
10690	return s.String()
10691}
10692
10693// SetElasticLoadBalancers sets the ElasticLoadBalancers field's value.
10694func (s *DescribeElasticLoadBalancersOutput) SetElasticLoadBalancers(v []*ElasticLoadBalancer) *DescribeElasticLoadBalancersOutput {
10695	s.ElasticLoadBalancers = v
10696	return s
10697}
10698
10699type DescribeInstancesInput struct {
10700	_ struct{} `type:"structure"`
10701
10702	// An array of instance IDs to be described. If you use this parameter, DescribeInstances
10703	// returns a description of the specified instances. Otherwise, it returns a
10704	// description of every instance.
10705	InstanceIds []*string `type:"list"`
10706
10707	// A layer ID. If you use this parameter, DescribeInstances returns descriptions
10708	// of the instances associated with the specified layer.
10709	LayerId *string `type:"string"`
10710
10711	// A stack ID. If you use this parameter, DescribeInstances returns descriptions
10712	// of the instances associated with the specified stack.
10713	StackId *string `type:"string"`
10714}
10715
10716// String returns the string representation
10717func (s DescribeInstancesInput) String() string {
10718	return awsutil.Prettify(s)
10719}
10720
10721// GoString returns the string representation
10722func (s DescribeInstancesInput) GoString() string {
10723	return s.String()
10724}
10725
10726// SetInstanceIds sets the InstanceIds field's value.
10727func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
10728	s.InstanceIds = v
10729	return s
10730}
10731
10732// SetLayerId sets the LayerId field's value.
10733func (s *DescribeInstancesInput) SetLayerId(v string) *DescribeInstancesInput {
10734	s.LayerId = &v
10735	return s
10736}
10737
10738// SetStackId sets the StackId field's value.
10739func (s *DescribeInstancesInput) SetStackId(v string) *DescribeInstancesInput {
10740	s.StackId = &v
10741	return s
10742}
10743
10744// Contains the response to a DescribeInstances request.
10745type DescribeInstancesOutput struct {
10746	_ struct{} `type:"structure"`
10747
10748	// An array of Instance objects that describe the instances.
10749	Instances []*Instance `type:"list"`
10750}
10751
10752// String returns the string representation
10753func (s DescribeInstancesOutput) String() string {
10754	return awsutil.Prettify(s)
10755}
10756
10757// GoString returns the string representation
10758func (s DescribeInstancesOutput) GoString() string {
10759	return s.String()
10760}
10761
10762// SetInstances sets the Instances field's value.
10763func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput {
10764	s.Instances = v
10765	return s
10766}
10767
10768type DescribeLayersInput struct {
10769	_ struct{} `type:"structure"`
10770
10771	// An array of layer IDs that specify the layers to be described. If you omit
10772	// this parameter, DescribeLayers returns a description of every layer in the
10773	// specified stack.
10774	LayerIds []*string `type:"list"`
10775
10776	// The stack ID.
10777	StackId *string `type:"string"`
10778}
10779
10780// String returns the string representation
10781func (s DescribeLayersInput) String() string {
10782	return awsutil.Prettify(s)
10783}
10784
10785// GoString returns the string representation
10786func (s DescribeLayersInput) GoString() string {
10787	return s.String()
10788}
10789
10790// SetLayerIds sets the LayerIds field's value.
10791func (s *DescribeLayersInput) SetLayerIds(v []*string) *DescribeLayersInput {
10792	s.LayerIds = v
10793	return s
10794}
10795
10796// SetStackId sets the StackId field's value.
10797func (s *DescribeLayersInput) SetStackId(v string) *DescribeLayersInput {
10798	s.StackId = &v
10799	return s
10800}
10801
10802// Contains the response to a DescribeLayers request.
10803type DescribeLayersOutput struct {
10804	_ struct{} `type:"structure"`
10805
10806	// An array of Layer objects that describe the layers.
10807	Layers []*Layer `type:"list"`
10808}
10809
10810// String returns the string representation
10811func (s DescribeLayersOutput) String() string {
10812	return awsutil.Prettify(s)
10813}
10814
10815// GoString returns the string representation
10816func (s DescribeLayersOutput) GoString() string {
10817	return s.String()
10818}
10819
10820// SetLayers sets the Layers field's value.
10821func (s *DescribeLayersOutput) SetLayers(v []*Layer) *DescribeLayersOutput {
10822	s.Layers = v
10823	return s
10824}
10825
10826type DescribeLoadBasedAutoScalingInput struct {
10827	_ struct{} `type:"structure"`
10828
10829	// An array of layer IDs.
10830	//
10831	// LayerIds is a required field
10832	LayerIds []*string `type:"list" required:"true"`
10833}
10834
10835// String returns the string representation
10836func (s DescribeLoadBasedAutoScalingInput) String() string {
10837	return awsutil.Prettify(s)
10838}
10839
10840// GoString returns the string representation
10841func (s DescribeLoadBasedAutoScalingInput) GoString() string {
10842	return s.String()
10843}
10844
10845// Validate inspects the fields of the type to determine if they are valid.
10846func (s *DescribeLoadBasedAutoScalingInput) Validate() error {
10847	invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBasedAutoScalingInput"}
10848	if s.LayerIds == nil {
10849		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
10850	}
10851
10852	if invalidParams.Len() > 0 {
10853		return invalidParams
10854	}
10855	return nil
10856}
10857
10858// SetLayerIds sets the LayerIds field's value.
10859func (s *DescribeLoadBasedAutoScalingInput) SetLayerIds(v []*string) *DescribeLoadBasedAutoScalingInput {
10860	s.LayerIds = v
10861	return s
10862}
10863
10864// Contains the response to a DescribeLoadBasedAutoScaling request.
10865type DescribeLoadBasedAutoScalingOutput struct {
10866	_ struct{} `type:"structure"`
10867
10868	// An array of LoadBasedAutoScalingConfiguration objects that describe each
10869	// layer's configuration.
10870	LoadBasedAutoScalingConfigurations []*LoadBasedAutoScalingConfiguration `type:"list"`
10871}
10872
10873// String returns the string representation
10874func (s DescribeLoadBasedAutoScalingOutput) String() string {
10875	return awsutil.Prettify(s)
10876}
10877
10878// GoString returns the string representation
10879func (s DescribeLoadBasedAutoScalingOutput) GoString() string {
10880	return s.String()
10881}
10882
10883// SetLoadBasedAutoScalingConfigurations sets the LoadBasedAutoScalingConfigurations field's value.
10884func (s *DescribeLoadBasedAutoScalingOutput) SetLoadBasedAutoScalingConfigurations(v []*LoadBasedAutoScalingConfiguration) *DescribeLoadBasedAutoScalingOutput {
10885	s.LoadBasedAutoScalingConfigurations = v
10886	return s
10887}
10888
10889type DescribeMyUserProfileInput struct {
10890	_ struct{} `type:"structure"`
10891}
10892
10893// String returns the string representation
10894func (s DescribeMyUserProfileInput) String() string {
10895	return awsutil.Prettify(s)
10896}
10897
10898// GoString returns the string representation
10899func (s DescribeMyUserProfileInput) GoString() string {
10900	return s.String()
10901}
10902
10903// Contains the response to a DescribeMyUserProfile request.
10904type DescribeMyUserProfileOutput struct {
10905	_ struct{} `type:"structure"`
10906
10907	// A UserProfile object that describes the user's SSH information.
10908	UserProfile *SelfUserProfile `type:"structure"`
10909}
10910
10911// String returns the string representation
10912func (s DescribeMyUserProfileOutput) String() string {
10913	return awsutil.Prettify(s)
10914}
10915
10916// GoString returns the string representation
10917func (s DescribeMyUserProfileOutput) GoString() string {
10918	return s.String()
10919}
10920
10921// SetUserProfile sets the UserProfile field's value.
10922func (s *DescribeMyUserProfileOutput) SetUserProfile(v *SelfUserProfile) *DescribeMyUserProfileOutput {
10923	s.UserProfile = v
10924	return s
10925}
10926
10927type DescribeOperatingSystemsInput struct {
10928	_ struct{} `type:"structure"`
10929}
10930
10931// String returns the string representation
10932func (s DescribeOperatingSystemsInput) String() string {
10933	return awsutil.Prettify(s)
10934}
10935
10936// GoString returns the string representation
10937func (s DescribeOperatingSystemsInput) GoString() string {
10938	return s.String()
10939}
10940
10941// The response to a DescribeOperatingSystems request.
10942type DescribeOperatingSystemsOutput struct {
10943	_ struct{} `type:"structure"`
10944
10945	// Contains information in response to a DescribeOperatingSystems request.
10946	OperatingSystems []*OperatingSystem `type:"list"`
10947}
10948
10949// String returns the string representation
10950func (s DescribeOperatingSystemsOutput) String() string {
10951	return awsutil.Prettify(s)
10952}
10953
10954// GoString returns the string representation
10955func (s DescribeOperatingSystemsOutput) GoString() string {
10956	return s.String()
10957}
10958
10959// SetOperatingSystems sets the OperatingSystems field's value.
10960func (s *DescribeOperatingSystemsOutput) SetOperatingSystems(v []*OperatingSystem) *DescribeOperatingSystemsOutput {
10961	s.OperatingSystems = v
10962	return s
10963}
10964
10965type DescribePermissionsInput struct {
10966	_ struct{} `type:"structure"`
10967
10968	// The user's IAM ARN. This can also be a federated user's ARN. For more information
10969	// about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
10970	IamUserArn *string `type:"string"`
10971
10972	// The stack ID.
10973	StackId *string `type:"string"`
10974}
10975
10976// String returns the string representation
10977func (s DescribePermissionsInput) String() string {
10978	return awsutil.Prettify(s)
10979}
10980
10981// GoString returns the string representation
10982func (s DescribePermissionsInput) GoString() string {
10983	return s.String()
10984}
10985
10986// SetIamUserArn sets the IamUserArn field's value.
10987func (s *DescribePermissionsInput) SetIamUserArn(v string) *DescribePermissionsInput {
10988	s.IamUserArn = &v
10989	return s
10990}
10991
10992// SetStackId sets the StackId field's value.
10993func (s *DescribePermissionsInput) SetStackId(v string) *DescribePermissionsInput {
10994	s.StackId = &v
10995	return s
10996}
10997
10998// Contains the response to a DescribePermissions request.
10999type DescribePermissionsOutput struct {
11000	_ struct{} `type:"structure"`
11001
11002	// An array of Permission objects that describe the stack permissions.
11003	//
11004	//    * If the request object contains only a stack ID, the array contains a
11005	//    Permission object with permissions for each of the stack IAM ARNs.
11006	//
11007	//    * If the request object contains only an IAM ARN, the array contains a
11008	//    Permission object with permissions for each of the user's stack IDs.
11009	//
11010	//    * If the request contains a stack ID and an IAM ARN, the array contains
11011	//    a single Permission object with permissions for the specified stack and
11012	//    IAM ARN.
11013	Permissions []*Permission `type:"list"`
11014}
11015
11016// String returns the string representation
11017func (s DescribePermissionsOutput) String() string {
11018	return awsutil.Prettify(s)
11019}
11020
11021// GoString returns the string representation
11022func (s DescribePermissionsOutput) GoString() string {
11023	return s.String()
11024}
11025
11026// SetPermissions sets the Permissions field's value.
11027func (s *DescribePermissionsOutput) SetPermissions(v []*Permission) *DescribePermissionsOutput {
11028	s.Permissions = v
11029	return s
11030}
11031
11032type DescribeRaidArraysInput struct {
11033	_ struct{} `type:"structure"`
11034
11035	// The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions
11036	// of the RAID arrays associated with the specified instance.
11037	InstanceId *string `type:"string"`
11038
11039	// An array of RAID array IDs. If you use this parameter, DescribeRaidArrays
11040	// returns descriptions of the specified arrays. Otherwise, it returns a description
11041	// of every array.
11042	RaidArrayIds []*string `type:"list"`
11043
11044	// The stack ID.
11045	StackId *string `type:"string"`
11046}
11047
11048// String returns the string representation
11049func (s DescribeRaidArraysInput) String() string {
11050	return awsutil.Prettify(s)
11051}
11052
11053// GoString returns the string representation
11054func (s DescribeRaidArraysInput) GoString() string {
11055	return s.String()
11056}
11057
11058// SetInstanceId sets the InstanceId field's value.
11059func (s *DescribeRaidArraysInput) SetInstanceId(v string) *DescribeRaidArraysInput {
11060	s.InstanceId = &v
11061	return s
11062}
11063
11064// SetRaidArrayIds sets the RaidArrayIds field's value.
11065func (s *DescribeRaidArraysInput) SetRaidArrayIds(v []*string) *DescribeRaidArraysInput {
11066	s.RaidArrayIds = v
11067	return s
11068}
11069
11070// SetStackId sets the StackId field's value.
11071func (s *DescribeRaidArraysInput) SetStackId(v string) *DescribeRaidArraysInput {
11072	s.StackId = &v
11073	return s
11074}
11075
11076// Contains the response to a DescribeRaidArrays request.
11077type DescribeRaidArraysOutput struct {
11078	_ struct{} `type:"structure"`
11079
11080	// A RaidArrays object that describes the specified RAID arrays.
11081	RaidArrays []*RaidArray `type:"list"`
11082}
11083
11084// String returns the string representation
11085func (s DescribeRaidArraysOutput) String() string {
11086	return awsutil.Prettify(s)
11087}
11088
11089// GoString returns the string representation
11090func (s DescribeRaidArraysOutput) GoString() string {
11091	return s.String()
11092}
11093
11094// SetRaidArrays sets the RaidArrays field's value.
11095func (s *DescribeRaidArraysOutput) SetRaidArrays(v []*RaidArray) *DescribeRaidArraysOutput {
11096	s.RaidArrays = v
11097	return s
11098}
11099
11100type DescribeRdsDbInstancesInput struct {
11101	_ struct{} `type:"structure"`
11102
11103	// An array containing the ARNs of the instances to be described.
11104	RdsDbInstanceArns []*string `type:"list"`
11105
11106	// The ID of the stack with which the instances are registered. The operation
11107	// returns descriptions of all registered Amazon RDS instances.
11108	//
11109	// StackId is a required field
11110	StackId *string `type:"string" required:"true"`
11111}
11112
11113// String returns the string representation
11114func (s DescribeRdsDbInstancesInput) String() string {
11115	return awsutil.Prettify(s)
11116}
11117
11118// GoString returns the string representation
11119func (s DescribeRdsDbInstancesInput) GoString() string {
11120	return s.String()
11121}
11122
11123// Validate inspects the fields of the type to determine if they are valid.
11124func (s *DescribeRdsDbInstancesInput) Validate() error {
11125	invalidParams := request.ErrInvalidParams{Context: "DescribeRdsDbInstancesInput"}
11126	if s.StackId == nil {
11127		invalidParams.Add(request.NewErrParamRequired("StackId"))
11128	}
11129
11130	if invalidParams.Len() > 0 {
11131		return invalidParams
11132	}
11133	return nil
11134}
11135
11136// SetRdsDbInstanceArns sets the RdsDbInstanceArns field's value.
11137func (s *DescribeRdsDbInstancesInput) SetRdsDbInstanceArns(v []*string) *DescribeRdsDbInstancesInput {
11138	s.RdsDbInstanceArns = v
11139	return s
11140}
11141
11142// SetStackId sets the StackId field's value.
11143func (s *DescribeRdsDbInstancesInput) SetStackId(v string) *DescribeRdsDbInstancesInput {
11144	s.StackId = &v
11145	return s
11146}
11147
11148// Contains the response to a DescribeRdsDbInstances request.
11149type DescribeRdsDbInstancesOutput struct {
11150	_ struct{} `type:"structure"`
11151
11152	// An a array of RdsDbInstance objects that describe the instances.
11153	RdsDbInstances []*RdsDbInstance `type:"list"`
11154}
11155
11156// String returns the string representation
11157func (s DescribeRdsDbInstancesOutput) String() string {
11158	return awsutil.Prettify(s)
11159}
11160
11161// GoString returns the string representation
11162func (s DescribeRdsDbInstancesOutput) GoString() string {
11163	return s.String()
11164}
11165
11166// SetRdsDbInstances sets the RdsDbInstances field's value.
11167func (s *DescribeRdsDbInstancesOutput) SetRdsDbInstances(v []*RdsDbInstance) *DescribeRdsDbInstancesOutput {
11168	s.RdsDbInstances = v
11169	return s
11170}
11171
11172type DescribeServiceErrorsInput struct {
11173	_ struct{} `type:"structure"`
11174
11175	// The instance ID. If you use this parameter, DescribeServiceErrors returns
11176	// descriptions of the errors associated with the specified instance.
11177	InstanceId *string `type:"string"`
11178
11179	// An array of service error IDs. If you use this parameter, DescribeServiceErrors
11180	// returns descriptions of the specified errors. Otherwise, it returns a description
11181	// of every error.
11182	ServiceErrorIds []*string `type:"list"`
11183
11184	// The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions
11185	// of the errors associated with the specified stack.
11186	StackId *string `type:"string"`
11187}
11188
11189// String returns the string representation
11190func (s DescribeServiceErrorsInput) String() string {
11191	return awsutil.Prettify(s)
11192}
11193
11194// GoString returns the string representation
11195func (s DescribeServiceErrorsInput) GoString() string {
11196	return s.String()
11197}
11198
11199// SetInstanceId sets the InstanceId field's value.
11200func (s *DescribeServiceErrorsInput) SetInstanceId(v string) *DescribeServiceErrorsInput {
11201	s.InstanceId = &v
11202	return s
11203}
11204
11205// SetServiceErrorIds sets the ServiceErrorIds field's value.
11206func (s *DescribeServiceErrorsInput) SetServiceErrorIds(v []*string) *DescribeServiceErrorsInput {
11207	s.ServiceErrorIds = v
11208	return s
11209}
11210
11211// SetStackId sets the StackId field's value.
11212func (s *DescribeServiceErrorsInput) SetStackId(v string) *DescribeServiceErrorsInput {
11213	s.StackId = &v
11214	return s
11215}
11216
11217// Contains the response to a DescribeServiceErrors request.
11218type DescribeServiceErrorsOutput struct {
11219	_ struct{} `type:"structure"`
11220
11221	// An array of ServiceError objects that describe the specified service errors.
11222	ServiceErrors []*ServiceError `type:"list"`
11223}
11224
11225// String returns the string representation
11226func (s DescribeServiceErrorsOutput) String() string {
11227	return awsutil.Prettify(s)
11228}
11229
11230// GoString returns the string representation
11231func (s DescribeServiceErrorsOutput) GoString() string {
11232	return s.String()
11233}
11234
11235// SetServiceErrors sets the ServiceErrors field's value.
11236func (s *DescribeServiceErrorsOutput) SetServiceErrors(v []*ServiceError) *DescribeServiceErrorsOutput {
11237	s.ServiceErrors = v
11238	return s
11239}
11240
11241type DescribeStackProvisioningParametersInput struct {
11242	_ struct{} `type:"structure"`
11243
11244	// The stack ID.
11245	//
11246	// StackId is a required field
11247	StackId *string `type:"string" required:"true"`
11248}
11249
11250// String returns the string representation
11251func (s DescribeStackProvisioningParametersInput) String() string {
11252	return awsutil.Prettify(s)
11253}
11254
11255// GoString returns the string representation
11256func (s DescribeStackProvisioningParametersInput) GoString() string {
11257	return s.String()
11258}
11259
11260// Validate inspects the fields of the type to determine if they are valid.
11261func (s *DescribeStackProvisioningParametersInput) Validate() error {
11262	invalidParams := request.ErrInvalidParams{Context: "DescribeStackProvisioningParametersInput"}
11263	if s.StackId == nil {
11264		invalidParams.Add(request.NewErrParamRequired("StackId"))
11265	}
11266
11267	if invalidParams.Len() > 0 {
11268		return invalidParams
11269	}
11270	return nil
11271}
11272
11273// SetStackId sets the StackId field's value.
11274func (s *DescribeStackProvisioningParametersInput) SetStackId(v string) *DescribeStackProvisioningParametersInput {
11275	s.StackId = &v
11276	return s
11277}
11278
11279// Contains the response to a DescribeStackProvisioningParameters request.
11280type DescribeStackProvisioningParametersOutput struct {
11281	_ struct{} `type:"structure"`
11282
11283	// The AWS OpsWorks Stacks agent installer's URL.
11284	AgentInstallerUrl *string `type:"string"`
11285
11286	// An embedded object that contains the provisioning parameters.
11287	Parameters map[string]*string `type:"map"`
11288}
11289
11290// String returns the string representation
11291func (s DescribeStackProvisioningParametersOutput) String() string {
11292	return awsutil.Prettify(s)
11293}
11294
11295// GoString returns the string representation
11296func (s DescribeStackProvisioningParametersOutput) GoString() string {
11297	return s.String()
11298}
11299
11300// SetAgentInstallerUrl sets the AgentInstallerUrl field's value.
11301func (s *DescribeStackProvisioningParametersOutput) SetAgentInstallerUrl(v string) *DescribeStackProvisioningParametersOutput {
11302	s.AgentInstallerUrl = &v
11303	return s
11304}
11305
11306// SetParameters sets the Parameters field's value.
11307func (s *DescribeStackProvisioningParametersOutput) SetParameters(v map[string]*string) *DescribeStackProvisioningParametersOutput {
11308	s.Parameters = v
11309	return s
11310}
11311
11312type DescribeStackSummaryInput struct {
11313	_ struct{} `type:"structure"`
11314
11315	// The stack ID.
11316	//
11317	// StackId is a required field
11318	StackId *string `type:"string" required:"true"`
11319}
11320
11321// String returns the string representation
11322func (s DescribeStackSummaryInput) String() string {
11323	return awsutil.Prettify(s)
11324}
11325
11326// GoString returns the string representation
11327func (s DescribeStackSummaryInput) GoString() string {
11328	return s.String()
11329}
11330
11331// Validate inspects the fields of the type to determine if they are valid.
11332func (s *DescribeStackSummaryInput) Validate() error {
11333	invalidParams := request.ErrInvalidParams{Context: "DescribeStackSummaryInput"}
11334	if s.StackId == nil {
11335		invalidParams.Add(request.NewErrParamRequired("StackId"))
11336	}
11337
11338	if invalidParams.Len() > 0 {
11339		return invalidParams
11340	}
11341	return nil
11342}
11343
11344// SetStackId sets the StackId field's value.
11345func (s *DescribeStackSummaryInput) SetStackId(v string) *DescribeStackSummaryInput {
11346	s.StackId = &v
11347	return s
11348}
11349
11350// Contains the response to a DescribeStackSummary request.
11351type DescribeStackSummaryOutput struct {
11352	_ struct{} `type:"structure"`
11353
11354	// A StackSummary object that contains the results.
11355	StackSummary *StackSummary `type:"structure"`
11356}
11357
11358// String returns the string representation
11359func (s DescribeStackSummaryOutput) String() string {
11360	return awsutil.Prettify(s)
11361}
11362
11363// GoString returns the string representation
11364func (s DescribeStackSummaryOutput) GoString() string {
11365	return s.String()
11366}
11367
11368// SetStackSummary sets the StackSummary field's value.
11369func (s *DescribeStackSummaryOutput) SetStackSummary(v *StackSummary) *DescribeStackSummaryOutput {
11370	s.StackSummary = v
11371	return s
11372}
11373
11374type DescribeStacksInput struct {
11375	_ struct{} `type:"structure"`
11376
11377	// An array of stack IDs that specify the stacks to be described. If you omit
11378	// this parameter, DescribeStacks returns a description of every stack.
11379	StackIds []*string `type:"list"`
11380}
11381
11382// String returns the string representation
11383func (s DescribeStacksInput) String() string {
11384	return awsutil.Prettify(s)
11385}
11386
11387// GoString returns the string representation
11388func (s DescribeStacksInput) GoString() string {
11389	return s.String()
11390}
11391
11392// SetStackIds sets the StackIds field's value.
11393func (s *DescribeStacksInput) SetStackIds(v []*string) *DescribeStacksInput {
11394	s.StackIds = v
11395	return s
11396}
11397
11398// Contains the response to a DescribeStacks request.
11399type DescribeStacksOutput struct {
11400	_ struct{} `type:"structure"`
11401
11402	// An array of Stack objects that describe the stacks.
11403	Stacks []*Stack `type:"list"`
11404}
11405
11406// String returns the string representation
11407func (s DescribeStacksOutput) String() string {
11408	return awsutil.Prettify(s)
11409}
11410
11411// GoString returns the string representation
11412func (s DescribeStacksOutput) GoString() string {
11413	return s.String()
11414}
11415
11416// SetStacks sets the Stacks field's value.
11417func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
11418	s.Stacks = v
11419	return s
11420}
11421
11422type DescribeTimeBasedAutoScalingInput struct {
11423	_ struct{} `type:"structure"`
11424
11425	// An array of instance IDs.
11426	//
11427	// InstanceIds is a required field
11428	InstanceIds []*string `type:"list" required:"true"`
11429}
11430
11431// String returns the string representation
11432func (s DescribeTimeBasedAutoScalingInput) String() string {
11433	return awsutil.Prettify(s)
11434}
11435
11436// GoString returns the string representation
11437func (s DescribeTimeBasedAutoScalingInput) GoString() string {
11438	return s.String()
11439}
11440
11441// Validate inspects the fields of the type to determine if they are valid.
11442func (s *DescribeTimeBasedAutoScalingInput) Validate() error {
11443	invalidParams := request.ErrInvalidParams{Context: "DescribeTimeBasedAutoScalingInput"}
11444	if s.InstanceIds == nil {
11445		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
11446	}
11447
11448	if invalidParams.Len() > 0 {
11449		return invalidParams
11450	}
11451	return nil
11452}
11453
11454// SetInstanceIds sets the InstanceIds field's value.
11455func (s *DescribeTimeBasedAutoScalingInput) SetInstanceIds(v []*string) *DescribeTimeBasedAutoScalingInput {
11456	s.InstanceIds = v
11457	return s
11458}
11459
11460// Contains the response to a DescribeTimeBasedAutoScaling request.
11461type DescribeTimeBasedAutoScalingOutput struct {
11462	_ struct{} `type:"structure"`
11463
11464	// An array of TimeBasedAutoScalingConfiguration objects that describe the configuration
11465	// for the specified instances.
11466	TimeBasedAutoScalingConfigurations []*TimeBasedAutoScalingConfiguration `type:"list"`
11467}
11468
11469// String returns the string representation
11470func (s DescribeTimeBasedAutoScalingOutput) String() string {
11471	return awsutil.Prettify(s)
11472}
11473
11474// GoString returns the string representation
11475func (s DescribeTimeBasedAutoScalingOutput) GoString() string {
11476	return s.String()
11477}
11478
11479// SetTimeBasedAutoScalingConfigurations sets the TimeBasedAutoScalingConfigurations field's value.
11480func (s *DescribeTimeBasedAutoScalingOutput) SetTimeBasedAutoScalingConfigurations(v []*TimeBasedAutoScalingConfiguration) *DescribeTimeBasedAutoScalingOutput {
11481	s.TimeBasedAutoScalingConfigurations = v
11482	return s
11483}
11484
11485type DescribeUserProfilesInput struct {
11486	_ struct{} `type:"structure"`
11487
11488	// An array of IAM or federated user ARNs that identify the users to be described.
11489	IamUserArns []*string `type:"list"`
11490}
11491
11492// String returns the string representation
11493func (s DescribeUserProfilesInput) String() string {
11494	return awsutil.Prettify(s)
11495}
11496
11497// GoString returns the string representation
11498func (s DescribeUserProfilesInput) GoString() string {
11499	return s.String()
11500}
11501
11502// SetIamUserArns sets the IamUserArns field's value.
11503func (s *DescribeUserProfilesInput) SetIamUserArns(v []*string) *DescribeUserProfilesInput {
11504	s.IamUserArns = v
11505	return s
11506}
11507
11508// Contains the response to a DescribeUserProfiles request.
11509type DescribeUserProfilesOutput struct {
11510	_ struct{} `type:"structure"`
11511
11512	// A Users object that describes the specified users.
11513	UserProfiles []*UserProfile `type:"list"`
11514}
11515
11516// String returns the string representation
11517func (s DescribeUserProfilesOutput) String() string {
11518	return awsutil.Prettify(s)
11519}
11520
11521// GoString returns the string representation
11522func (s DescribeUserProfilesOutput) GoString() string {
11523	return s.String()
11524}
11525
11526// SetUserProfiles sets the UserProfiles field's value.
11527func (s *DescribeUserProfilesOutput) SetUserProfiles(v []*UserProfile) *DescribeUserProfilesOutput {
11528	s.UserProfiles = v
11529	return s
11530}
11531
11532type DescribeVolumesInput struct {
11533	_ struct{} `type:"structure"`
11534
11535	// The instance ID. If you use this parameter, DescribeVolumes returns descriptions
11536	// of the volumes associated with the specified instance.
11537	InstanceId *string `type:"string"`
11538
11539	// The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions
11540	// of the volumes associated with the specified RAID array.
11541	RaidArrayId *string `type:"string"`
11542
11543	// A stack ID. The action describes the stack's registered Amazon EBS volumes.
11544	StackId *string `type:"string"`
11545
11546	// Am array of volume IDs. If you use this parameter, DescribeVolumes returns
11547	// descriptions of the specified volumes. Otherwise, it returns a description
11548	// of every volume.
11549	VolumeIds []*string `type:"list"`
11550}
11551
11552// String returns the string representation
11553func (s DescribeVolumesInput) String() string {
11554	return awsutil.Prettify(s)
11555}
11556
11557// GoString returns the string representation
11558func (s DescribeVolumesInput) GoString() string {
11559	return s.String()
11560}
11561
11562// SetInstanceId sets the InstanceId field's value.
11563func (s *DescribeVolumesInput) SetInstanceId(v string) *DescribeVolumesInput {
11564	s.InstanceId = &v
11565	return s
11566}
11567
11568// SetRaidArrayId sets the RaidArrayId field's value.
11569func (s *DescribeVolumesInput) SetRaidArrayId(v string) *DescribeVolumesInput {
11570	s.RaidArrayId = &v
11571	return s
11572}
11573
11574// SetStackId sets the StackId field's value.
11575func (s *DescribeVolumesInput) SetStackId(v string) *DescribeVolumesInput {
11576	s.StackId = &v
11577	return s
11578}
11579
11580// SetVolumeIds sets the VolumeIds field's value.
11581func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
11582	s.VolumeIds = v
11583	return s
11584}
11585
11586// Contains the response to a DescribeVolumes request.
11587type DescribeVolumesOutput struct {
11588	_ struct{} `type:"structure"`
11589
11590	// An array of volume IDs.
11591	Volumes []*Volume `type:"list"`
11592}
11593
11594// String returns the string representation
11595func (s DescribeVolumesOutput) String() string {
11596	return awsutil.Prettify(s)
11597}
11598
11599// GoString returns the string representation
11600func (s DescribeVolumesOutput) GoString() string {
11601	return s.String()
11602}
11603
11604// SetVolumes sets the Volumes field's value.
11605func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
11606	s.Volumes = v
11607	return s
11608}
11609
11610type DetachElasticLoadBalancerInput struct {
11611	_ struct{} `type:"structure"`
11612
11613	// The Elastic Load Balancing instance's name.
11614	//
11615	// ElasticLoadBalancerName is a required field
11616	ElasticLoadBalancerName *string `type:"string" required:"true"`
11617
11618	// The ID of the layer that the Elastic Load Balancing instance is attached
11619	// to.
11620	//
11621	// LayerId is a required field
11622	LayerId *string `type:"string" required:"true"`
11623}
11624
11625// String returns the string representation
11626func (s DetachElasticLoadBalancerInput) String() string {
11627	return awsutil.Prettify(s)
11628}
11629
11630// GoString returns the string representation
11631func (s DetachElasticLoadBalancerInput) GoString() string {
11632	return s.String()
11633}
11634
11635// Validate inspects the fields of the type to determine if they are valid.
11636func (s *DetachElasticLoadBalancerInput) Validate() error {
11637	invalidParams := request.ErrInvalidParams{Context: "DetachElasticLoadBalancerInput"}
11638	if s.ElasticLoadBalancerName == nil {
11639		invalidParams.Add(request.NewErrParamRequired("ElasticLoadBalancerName"))
11640	}
11641	if s.LayerId == nil {
11642		invalidParams.Add(request.NewErrParamRequired("LayerId"))
11643	}
11644
11645	if invalidParams.Len() > 0 {
11646		return invalidParams
11647	}
11648	return nil
11649}
11650
11651// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
11652func (s *DetachElasticLoadBalancerInput) SetElasticLoadBalancerName(v string) *DetachElasticLoadBalancerInput {
11653	s.ElasticLoadBalancerName = &v
11654	return s
11655}
11656
11657// SetLayerId sets the LayerId field's value.
11658func (s *DetachElasticLoadBalancerInput) SetLayerId(v string) *DetachElasticLoadBalancerInput {
11659	s.LayerId = &v
11660	return s
11661}
11662
11663type DetachElasticLoadBalancerOutput struct {
11664	_ struct{} `type:"structure"`
11665}
11666
11667// String returns the string representation
11668func (s DetachElasticLoadBalancerOutput) String() string {
11669	return awsutil.Prettify(s)
11670}
11671
11672// GoString returns the string representation
11673func (s DetachElasticLoadBalancerOutput) GoString() string {
11674	return s.String()
11675}
11676
11677type DisassociateElasticIpInput struct {
11678	_ struct{} `type:"structure"`
11679
11680	// The Elastic IP address.
11681	//
11682	// ElasticIp is a required field
11683	ElasticIp *string `type:"string" required:"true"`
11684}
11685
11686// String returns the string representation
11687func (s DisassociateElasticIpInput) String() string {
11688	return awsutil.Prettify(s)
11689}
11690
11691// GoString returns the string representation
11692func (s DisassociateElasticIpInput) GoString() string {
11693	return s.String()
11694}
11695
11696// Validate inspects the fields of the type to determine if they are valid.
11697func (s *DisassociateElasticIpInput) Validate() error {
11698	invalidParams := request.ErrInvalidParams{Context: "DisassociateElasticIpInput"}
11699	if s.ElasticIp == nil {
11700		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
11701	}
11702
11703	if invalidParams.Len() > 0 {
11704		return invalidParams
11705	}
11706	return nil
11707}
11708
11709// SetElasticIp sets the ElasticIp field's value.
11710func (s *DisassociateElasticIpInput) SetElasticIp(v string) *DisassociateElasticIpInput {
11711	s.ElasticIp = &v
11712	return s
11713}
11714
11715type DisassociateElasticIpOutput struct {
11716	_ struct{} `type:"structure"`
11717}
11718
11719// String returns the string representation
11720func (s DisassociateElasticIpOutput) String() string {
11721	return awsutil.Prettify(s)
11722}
11723
11724// GoString returns the string representation
11725func (s DisassociateElasticIpOutput) GoString() string {
11726	return s.String()
11727}
11728
11729// Describes an Amazon EBS volume. This data type maps directly to the Amazon
11730// EC2 EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html)
11731// data type.
11732type EbsBlockDevice struct {
11733	_ struct{} `type:"structure"`
11734
11735	// Whether the volume is deleted on instance termination.
11736	DeleteOnTermination *bool `type:"boolean"`
11737
11738	// The number of I/O operations per second (IOPS) that the volume supports.
11739	// For more information, see EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
11740	Iops *int64 `type:"integer"`
11741
11742	// The snapshot ID.
11743	SnapshotId *string `type:"string"`
11744
11745	// The volume size, in GiB. For more information, see EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
11746	VolumeSize *int64 `type:"integer"`
11747
11748	// The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned
11749	// IOPS (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD),
11750	// sc1 for Cold HDD,and standard for Magnetic volumes.
11751	//
11752	// If you specify the io1 volume type, you must also specify a value for the
11753	// Iops attribute. The maximum ratio of provisioned IOPS to requested volume
11754	// size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified
11755	// in the AMI attributes to set IOPS to 50 x (volume size).
11756	VolumeType *string `type:"string" enum:"VolumeType"`
11757}
11758
11759// String returns the string representation
11760func (s EbsBlockDevice) String() string {
11761	return awsutil.Prettify(s)
11762}
11763
11764// GoString returns the string representation
11765func (s EbsBlockDevice) GoString() string {
11766	return s.String()
11767}
11768
11769// SetDeleteOnTermination sets the DeleteOnTermination field's value.
11770func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
11771	s.DeleteOnTermination = &v
11772	return s
11773}
11774
11775// SetIops sets the Iops field's value.
11776func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
11777	s.Iops = &v
11778	return s
11779}
11780
11781// SetSnapshotId sets the SnapshotId field's value.
11782func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
11783	s.SnapshotId = &v
11784	return s
11785}
11786
11787// SetVolumeSize sets the VolumeSize field's value.
11788func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
11789	s.VolumeSize = &v
11790	return s
11791}
11792
11793// SetVolumeType sets the VolumeType field's value.
11794func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
11795	s.VolumeType = &v
11796	return s
11797}
11798
11799// Describes a registered Amazon ECS cluster.
11800type EcsCluster struct {
11801	_ struct{} `type:"structure"`
11802
11803	// The cluster's ARN.
11804	EcsClusterArn *string `type:"string"`
11805
11806	// The cluster name.
11807	EcsClusterName *string `type:"string"`
11808
11809	// The time and date that the cluster was registered with the stack.
11810	RegisteredAt *string `type:"string"`
11811
11812	// The stack ID.
11813	StackId *string `type:"string"`
11814}
11815
11816// String returns the string representation
11817func (s EcsCluster) String() string {
11818	return awsutil.Prettify(s)
11819}
11820
11821// GoString returns the string representation
11822func (s EcsCluster) GoString() string {
11823	return s.String()
11824}
11825
11826// SetEcsClusterArn sets the EcsClusterArn field's value.
11827func (s *EcsCluster) SetEcsClusterArn(v string) *EcsCluster {
11828	s.EcsClusterArn = &v
11829	return s
11830}
11831
11832// SetEcsClusterName sets the EcsClusterName field's value.
11833func (s *EcsCluster) SetEcsClusterName(v string) *EcsCluster {
11834	s.EcsClusterName = &v
11835	return s
11836}
11837
11838// SetRegisteredAt sets the RegisteredAt field's value.
11839func (s *EcsCluster) SetRegisteredAt(v string) *EcsCluster {
11840	s.RegisteredAt = &v
11841	return s
11842}
11843
11844// SetStackId sets the StackId field's value.
11845func (s *EcsCluster) SetStackId(v string) *EcsCluster {
11846	s.StackId = &v
11847	return s
11848}
11849
11850// Describes an Elastic IP address.
11851type ElasticIp struct {
11852	_ struct{} `type:"structure"`
11853
11854	// The domain.
11855	Domain *string `type:"string"`
11856
11857	// The ID of the instance that the address is attached to.
11858	InstanceId *string `type:"string"`
11859
11860	// The IP address.
11861	Ip *string `type:"string"`
11862
11863	// The name.
11864	Name *string `type:"string"`
11865
11866	// The AWS region. For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
11867	Region *string `type:"string"`
11868}
11869
11870// String returns the string representation
11871func (s ElasticIp) String() string {
11872	return awsutil.Prettify(s)
11873}
11874
11875// GoString returns the string representation
11876func (s ElasticIp) GoString() string {
11877	return s.String()
11878}
11879
11880// SetDomain sets the Domain field's value.
11881func (s *ElasticIp) SetDomain(v string) *ElasticIp {
11882	s.Domain = &v
11883	return s
11884}
11885
11886// SetInstanceId sets the InstanceId field's value.
11887func (s *ElasticIp) SetInstanceId(v string) *ElasticIp {
11888	s.InstanceId = &v
11889	return s
11890}
11891
11892// SetIp sets the Ip field's value.
11893func (s *ElasticIp) SetIp(v string) *ElasticIp {
11894	s.Ip = &v
11895	return s
11896}
11897
11898// SetName sets the Name field's value.
11899func (s *ElasticIp) SetName(v string) *ElasticIp {
11900	s.Name = &v
11901	return s
11902}
11903
11904// SetRegion sets the Region field's value.
11905func (s *ElasticIp) SetRegion(v string) *ElasticIp {
11906	s.Region = &v
11907	return s
11908}
11909
11910// Describes an Elastic Load Balancing instance.
11911type ElasticLoadBalancer struct {
11912	_ struct{} `type:"structure"`
11913
11914	// A list of Availability Zones.
11915	AvailabilityZones []*string `type:"list"`
11916
11917	// The instance's public DNS name.
11918	DnsName *string `type:"string"`
11919
11920	// A list of the EC2 instances that the Elastic Load Balancing instance is managing
11921	// traffic for.
11922	Ec2InstanceIds []*string `type:"list"`
11923
11924	// The Elastic Load Balancing instance's name.
11925	ElasticLoadBalancerName *string `type:"string"`
11926
11927	// The ID of the layer that the instance is attached to.
11928	LayerId *string `type:"string"`
11929
11930	// The instance's AWS region.
11931	Region *string `type:"string"`
11932
11933	// The ID of the stack that the instance is associated with.
11934	StackId *string `type:"string"`
11935
11936	// A list of subnet IDs, if the stack is running in a VPC.
11937	SubnetIds []*string `type:"list"`
11938
11939	// The VPC ID.
11940	VpcId *string `type:"string"`
11941}
11942
11943// String returns the string representation
11944func (s ElasticLoadBalancer) String() string {
11945	return awsutil.Prettify(s)
11946}
11947
11948// GoString returns the string representation
11949func (s ElasticLoadBalancer) GoString() string {
11950	return s.String()
11951}
11952
11953// SetAvailabilityZones sets the AvailabilityZones field's value.
11954func (s *ElasticLoadBalancer) SetAvailabilityZones(v []*string) *ElasticLoadBalancer {
11955	s.AvailabilityZones = v
11956	return s
11957}
11958
11959// SetDnsName sets the DnsName field's value.
11960func (s *ElasticLoadBalancer) SetDnsName(v string) *ElasticLoadBalancer {
11961	s.DnsName = &v
11962	return s
11963}
11964
11965// SetEc2InstanceIds sets the Ec2InstanceIds field's value.
11966func (s *ElasticLoadBalancer) SetEc2InstanceIds(v []*string) *ElasticLoadBalancer {
11967	s.Ec2InstanceIds = v
11968	return s
11969}
11970
11971// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
11972func (s *ElasticLoadBalancer) SetElasticLoadBalancerName(v string) *ElasticLoadBalancer {
11973	s.ElasticLoadBalancerName = &v
11974	return s
11975}
11976
11977// SetLayerId sets the LayerId field's value.
11978func (s *ElasticLoadBalancer) SetLayerId(v string) *ElasticLoadBalancer {
11979	s.LayerId = &v
11980	return s
11981}
11982
11983// SetRegion sets the Region field's value.
11984func (s *ElasticLoadBalancer) SetRegion(v string) *ElasticLoadBalancer {
11985	s.Region = &v
11986	return s
11987}
11988
11989// SetStackId sets the StackId field's value.
11990func (s *ElasticLoadBalancer) SetStackId(v string) *ElasticLoadBalancer {
11991	s.StackId = &v
11992	return s
11993}
11994
11995// SetSubnetIds sets the SubnetIds field's value.
11996func (s *ElasticLoadBalancer) SetSubnetIds(v []*string) *ElasticLoadBalancer {
11997	s.SubnetIds = v
11998	return s
11999}
12000
12001// SetVpcId sets the VpcId field's value.
12002func (s *ElasticLoadBalancer) SetVpcId(v string) *ElasticLoadBalancer {
12003	s.VpcId = &v
12004	return s
12005}
12006
12007// Represents an app's environment variable.
12008type EnvironmentVariable struct {
12009	_ struct{} `type:"structure"`
12010
12011	// (Required) The environment variable's name, which can consist of up to 64
12012	// characters and must be specified. The name can contain upper- and lowercase
12013	// letters, numbers, and underscores (_), but it must start with a letter or
12014	// underscore.
12015	//
12016	// Key is a required field
12017	Key *string `type:"string" required:"true"`
12018
12019	// (Optional) Whether the variable's value will be returned by the DescribeApps
12020	// action. To conceal an environment variable's value, set Secure to true. DescribeApps
12021	// then returns *****FILTERED***** instead of the actual value. The default
12022	// value for Secure is false.
12023	Secure *bool `type:"boolean"`
12024
12025	// (Optional) The environment variable's value, which can be left empty. If
12026	// you specify a value, it can contain up to 256 characters, which must all
12027	// be printable.
12028	//
12029	// Value is a required field
12030	Value *string `type:"string" required:"true"`
12031}
12032
12033// String returns the string representation
12034func (s EnvironmentVariable) String() string {
12035	return awsutil.Prettify(s)
12036}
12037
12038// GoString returns the string representation
12039func (s EnvironmentVariable) GoString() string {
12040	return s.String()
12041}
12042
12043// Validate inspects the fields of the type to determine if they are valid.
12044func (s *EnvironmentVariable) Validate() error {
12045	invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"}
12046	if s.Key == nil {
12047		invalidParams.Add(request.NewErrParamRequired("Key"))
12048	}
12049	if s.Value == nil {
12050		invalidParams.Add(request.NewErrParamRequired("Value"))
12051	}
12052
12053	if invalidParams.Len() > 0 {
12054		return invalidParams
12055	}
12056	return nil
12057}
12058
12059// SetKey sets the Key field's value.
12060func (s *EnvironmentVariable) SetKey(v string) *EnvironmentVariable {
12061	s.Key = &v
12062	return s
12063}
12064
12065// SetSecure sets the Secure field's value.
12066func (s *EnvironmentVariable) SetSecure(v bool) *EnvironmentVariable {
12067	s.Secure = &v
12068	return s
12069}
12070
12071// SetValue sets the Value field's value.
12072func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable {
12073	s.Value = &v
12074	return s
12075}
12076
12077type GetHostnameSuggestionInput struct {
12078	_ struct{} `type:"structure"`
12079
12080	// The layer ID.
12081	//
12082	// LayerId is a required field
12083	LayerId *string `type:"string" required:"true"`
12084}
12085
12086// String returns the string representation
12087func (s GetHostnameSuggestionInput) String() string {
12088	return awsutil.Prettify(s)
12089}
12090
12091// GoString returns the string representation
12092func (s GetHostnameSuggestionInput) GoString() string {
12093	return s.String()
12094}
12095
12096// Validate inspects the fields of the type to determine if they are valid.
12097func (s *GetHostnameSuggestionInput) Validate() error {
12098	invalidParams := request.ErrInvalidParams{Context: "GetHostnameSuggestionInput"}
12099	if s.LayerId == nil {
12100		invalidParams.Add(request.NewErrParamRequired("LayerId"))
12101	}
12102
12103	if invalidParams.Len() > 0 {
12104		return invalidParams
12105	}
12106	return nil
12107}
12108
12109// SetLayerId sets the LayerId field's value.
12110func (s *GetHostnameSuggestionInput) SetLayerId(v string) *GetHostnameSuggestionInput {
12111	s.LayerId = &v
12112	return s
12113}
12114
12115// Contains the response to a GetHostnameSuggestion request.
12116type GetHostnameSuggestionOutput struct {
12117	_ struct{} `type:"structure"`
12118
12119	// The generated host name.
12120	Hostname *string `type:"string"`
12121
12122	// The layer ID.
12123	LayerId *string `type:"string"`
12124}
12125
12126// String returns the string representation
12127func (s GetHostnameSuggestionOutput) String() string {
12128	return awsutil.Prettify(s)
12129}
12130
12131// GoString returns the string representation
12132func (s GetHostnameSuggestionOutput) GoString() string {
12133	return s.String()
12134}
12135
12136// SetHostname sets the Hostname field's value.
12137func (s *GetHostnameSuggestionOutput) SetHostname(v string) *GetHostnameSuggestionOutput {
12138	s.Hostname = &v
12139	return s
12140}
12141
12142// SetLayerId sets the LayerId field's value.
12143func (s *GetHostnameSuggestionOutput) SetLayerId(v string) *GetHostnameSuggestionOutput {
12144	s.LayerId = &v
12145	return s
12146}
12147
12148type GrantAccessInput struct {
12149	_ struct{} `type:"structure"`
12150
12151	// The instance's AWS OpsWorks Stacks ID.
12152	//
12153	// InstanceId is a required field
12154	InstanceId *string `type:"string" required:"true"`
12155
12156	// The length of time (in minutes) that the grant is valid. When the grant expires
12157	// at the end of this period, the user will no longer be able to use the credentials
12158	// to log in. If the user is logged in at the time, he or she automatically
12159	// will be logged out.
12160	ValidForInMinutes *int64 `min:"60" type:"integer"`
12161}
12162
12163// String returns the string representation
12164func (s GrantAccessInput) String() string {
12165	return awsutil.Prettify(s)
12166}
12167
12168// GoString returns the string representation
12169func (s GrantAccessInput) GoString() string {
12170	return s.String()
12171}
12172
12173// Validate inspects the fields of the type to determine if they are valid.
12174func (s *GrantAccessInput) Validate() error {
12175	invalidParams := request.ErrInvalidParams{Context: "GrantAccessInput"}
12176	if s.InstanceId == nil {
12177		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12178	}
12179	if s.ValidForInMinutes != nil && *s.ValidForInMinutes < 60 {
12180		invalidParams.Add(request.NewErrParamMinValue("ValidForInMinutes", 60))
12181	}
12182
12183	if invalidParams.Len() > 0 {
12184		return invalidParams
12185	}
12186	return nil
12187}
12188
12189// SetInstanceId sets the InstanceId field's value.
12190func (s *GrantAccessInput) SetInstanceId(v string) *GrantAccessInput {
12191	s.InstanceId = &v
12192	return s
12193}
12194
12195// SetValidForInMinutes sets the ValidForInMinutes field's value.
12196func (s *GrantAccessInput) SetValidForInMinutes(v int64) *GrantAccessInput {
12197	s.ValidForInMinutes = &v
12198	return s
12199}
12200
12201// Contains the response to a GrantAccess request.
12202type GrantAccessOutput struct {
12203	_ struct{} `type:"structure"`
12204
12205	// A TemporaryCredential object that contains the data needed to log in to the
12206	// instance by RDP clients, such as the Microsoft Remote Desktop Connection.
12207	TemporaryCredential *TemporaryCredential `type:"structure"`
12208}
12209
12210// String returns the string representation
12211func (s GrantAccessOutput) String() string {
12212	return awsutil.Prettify(s)
12213}
12214
12215// GoString returns the string representation
12216func (s GrantAccessOutput) GoString() string {
12217	return s.String()
12218}
12219
12220// SetTemporaryCredential sets the TemporaryCredential field's value.
12221func (s *GrantAccessOutput) SetTemporaryCredential(v *TemporaryCredential) *GrantAccessOutput {
12222	s.TemporaryCredential = v
12223	return s
12224}
12225
12226// Describes an instance.
12227type Instance struct {
12228	_ struct{} `type:"structure"`
12229
12230	// The agent version. This parameter is set to INHERIT if the instance inherits
12231	// the default stack setting or to a a version number for a fixed agent version.
12232	AgentVersion *string `type:"string"`
12233
12234	// A custom AMI ID to be used to create the instance. For more information,
12235	// see Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html)
12236	AmiId *string `type:"string"`
12237
12238	// The instance architecture: "i386" or "x86_64".
12239	Architecture *string `type:"string" enum:"Architecture"`
12240
12241	// The instance's Amazon Resource Number (ARN).
12242	Arn *string `type:"string"`
12243
12244	// For load-based or time-based instances, the type.
12245	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
12246
12247	// The instance Availability Zone. For more information, see Regions and Endpoints
12248	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
12249	AvailabilityZone *string `type:"string"`
12250
12251	// An array of BlockDeviceMapping objects that specify the instance's block
12252	// device mappings.
12253	BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
12254
12255	// The time that the instance was created.
12256	CreatedAt *string `type:"string"`
12257
12258	// Whether this is an Amazon EBS-optimized instance.
12259	EbsOptimized *bool `type:"boolean"`
12260
12261	// The ID of the associated Amazon EC2 instance.
12262	Ec2InstanceId *string `type:"string"`
12263
12264	// For container instances, the Amazon ECS cluster's ARN.
12265	EcsClusterArn *string `type:"string"`
12266
12267	// For container instances, the instance's ARN.
12268	EcsContainerInstanceArn *string `type:"string"`
12269
12270	// The instance Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html).
12271	ElasticIp *string `type:"string"`
12272
12273	// The instance host name.
12274	Hostname *string `type:"string"`
12275
12276	// For registered instances, the infrastructure class: ec2 or on-premises.
12277	InfrastructureClass *string `type:"string"`
12278
12279	// Whether to install operating system and package updates when the instance
12280	// boots. The default value is true. If this value is set to false, you must
12281	// then update your instances manually by using CreateDeployment to run the
12282	// update_dependencies stack command or by manually running yum (Amazon Linux)
12283	// or apt-get (Ubuntu) on the instances.
12284	//
12285	// We strongly recommend using the default value of true, to ensure that your
12286	// instances have the latest security updates.
12287	InstallUpdatesOnBoot *bool `type:"boolean"`
12288
12289	// The instance ID.
12290	InstanceId *string `type:"string"`
12291
12292	// The ARN of the instance's IAM profile. For more information about IAM ARNs,
12293	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
12294	InstanceProfileArn *string `type:"string"`
12295
12296	// The instance type, such as t2.micro.
12297	InstanceType *string `type:"string"`
12298
12299	// The ID of the last service error. For more information, call DescribeServiceErrors.
12300	LastServiceErrorId *string `type:"string"`
12301
12302	// An array containing the instance layer IDs.
12303	LayerIds []*string `type:"list"`
12304
12305	// The instance's operating system.
12306	Os *string `type:"string"`
12307
12308	// The instance's platform.
12309	Platform *string `type:"string"`
12310
12311	// The instance's private DNS name.
12312	PrivateDns *string `type:"string"`
12313
12314	// The instance's private IP address.
12315	PrivateIp *string `type:"string"`
12316
12317	// The instance public DNS name.
12318	PublicDns *string `type:"string"`
12319
12320	// The instance public IP address.
12321	PublicIp *string `type:"string"`
12322
12323	// For registered instances, who performed the registration.
12324	RegisteredBy *string `type:"string"`
12325
12326	// The instance's reported AWS OpsWorks Stacks agent version.
12327	ReportedAgentVersion *string `type:"string"`
12328
12329	// For registered instances, the reported operating system.
12330	ReportedOs *ReportedOs `type:"structure"`
12331
12332	// The instance's root device type. For more information, see Storage for the
12333	// Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
12334	RootDeviceType *string `type:"string" enum:"RootDeviceType"`
12335
12336	// The root device volume ID.
12337	RootDeviceVolumeId *string `type:"string"`
12338
12339	// An array containing the instance security group IDs.
12340	SecurityGroupIds []*string `type:"list"`
12341
12342	// The SSH key's Deep Security Agent (DSA) fingerprint.
12343	SshHostDsaKeyFingerprint *string `type:"string"`
12344
12345	// The SSH key's RSA fingerprint.
12346	SshHostRsaKeyFingerprint *string `type:"string"`
12347
12348	// The instance's Amazon EC2 key-pair name.
12349	SshKeyName *string `type:"string"`
12350
12351	// The stack ID.
12352	StackId *string `type:"string"`
12353
12354	// The instance status:
12355	//
12356	//    * booting
12357	//
12358	//    * connection_lost
12359	//
12360	//    * online
12361	//
12362	//    * pending
12363	//
12364	//    * rebooting
12365	//
12366	//    * requested
12367	//
12368	//    * running_setup
12369	//
12370	//    * setup_failed
12371	//
12372	//    * shutting_down
12373	//
12374	//    * start_failed
12375	//
12376	//    * stop_failed
12377	//
12378	//    * stopped
12379	//
12380	//    * stopping
12381	//
12382	//    * terminated
12383	//
12384	//    * terminating
12385	Status *string `type:"string"`
12386
12387	// The instance's subnet ID; applicable only if the stack is running in a VPC.
12388	SubnetId *string `type:"string"`
12389
12390	// The instance's tenancy option, such as dedicated or host.
12391	Tenancy *string `type:"string"`
12392
12393	// The instance's virtualization type: paravirtual or hvm.
12394	VirtualizationType *string `type:"string" enum:"VirtualizationType"`
12395}
12396
12397// String returns the string representation
12398func (s Instance) String() string {
12399	return awsutil.Prettify(s)
12400}
12401
12402// GoString returns the string representation
12403func (s Instance) GoString() string {
12404	return s.String()
12405}
12406
12407// SetAgentVersion sets the AgentVersion field's value.
12408func (s *Instance) SetAgentVersion(v string) *Instance {
12409	s.AgentVersion = &v
12410	return s
12411}
12412
12413// SetAmiId sets the AmiId field's value.
12414func (s *Instance) SetAmiId(v string) *Instance {
12415	s.AmiId = &v
12416	return s
12417}
12418
12419// SetArchitecture sets the Architecture field's value.
12420func (s *Instance) SetArchitecture(v string) *Instance {
12421	s.Architecture = &v
12422	return s
12423}
12424
12425// SetArn sets the Arn field's value.
12426func (s *Instance) SetArn(v string) *Instance {
12427	s.Arn = &v
12428	return s
12429}
12430
12431// SetAutoScalingType sets the AutoScalingType field's value.
12432func (s *Instance) SetAutoScalingType(v string) *Instance {
12433	s.AutoScalingType = &v
12434	return s
12435}
12436
12437// SetAvailabilityZone sets the AvailabilityZone field's value.
12438func (s *Instance) SetAvailabilityZone(v string) *Instance {
12439	s.AvailabilityZone = &v
12440	return s
12441}
12442
12443// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
12444func (s *Instance) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Instance {
12445	s.BlockDeviceMappings = v
12446	return s
12447}
12448
12449// SetCreatedAt sets the CreatedAt field's value.
12450func (s *Instance) SetCreatedAt(v string) *Instance {
12451	s.CreatedAt = &v
12452	return s
12453}
12454
12455// SetEbsOptimized sets the EbsOptimized field's value.
12456func (s *Instance) SetEbsOptimized(v bool) *Instance {
12457	s.EbsOptimized = &v
12458	return s
12459}
12460
12461// SetEc2InstanceId sets the Ec2InstanceId field's value.
12462func (s *Instance) SetEc2InstanceId(v string) *Instance {
12463	s.Ec2InstanceId = &v
12464	return s
12465}
12466
12467// SetEcsClusterArn sets the EcsClusterArn field's value.
12468func (s *Instance) SetEcsClusterArn(v string) *Instance {
12469	s.EcsClusterArn = &v
12470	return s
12471}
12472
12473// SetEcsContainerInstanceArn sets the EcsContainerInstanceArn field's value.
12474func (s *Instance) SetEcsContainerInstanceArn(v string) *Instance {
12475	s.EcsContainerInstanceArn = &v
12476	return s
12477}
12478
12479// SetElasticIp sets the ElasticIp field's value.
12480func (s *Instance) SetElasticIp(v string) *Instance {
12481	s.ElasticIp = &v
12482	return s
12483}
12484
12485// SetHostname sets the Hostname field's value.
12486func (s *Instance) SetHostname(v string) *Instance {
12487	s.Hostname = &v
12488	return s
12489}
12490
12491// SetInfrastructureClass sets the InfrastructureClass field's value.
12492func (s *Instance) SetInfrastructureClass(v string) *Instance {
12493	s.InfrastructureClass = &v
12494	return s
12495}
12496
12497// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
12498func (s *Instance) SetInstallUpdatesOnBoot(v bool) *Instance {
12499	s.InstallUpdatesOnBoot = &v
12500	return s
12501}
12502
12503// SetInstanceId sets the InstanceId field's value.
12504func (s *Instance) SetInstanceId(v string) *Instance {
12505	s.InstanceId = &v
12506	return s
12507}
12508
12509// SetInstanceProfileArn sets the InstanceProfileArn field's value.
12510func (s *Instance) SetInstanceProfileArn(v string) *Instance {
12511	s.InstanceProfileArn = &v
12512	return s
12513}
12514
12515// SetInstanceType sets the InstanceType field's value.
12516func (s *Instance) SetInstanceType(v string) *Instance {
12517	s.InstanceType = &v
12518	return s
12519}
12520
12521// SetLastServiceErrorId sets the LastServiceErrorId field's value.
12522func (s *Instance) SetLastServiceErrorId(v string) *Instance {
12523	s.LastServiceErrorId = &v
12524	return s
12525}
12526
12527// SetLayerIds sets the LayerIds field's value.
12528func (s *Instance) SetLayerIds(v []*string) *Instance {
12529	s.LayerIds = v
12530	return s
12531}
12532
12533// SetOs sets the Os field's value.
12534func (s *Instance) SetOs(v string) *Instance {
12535	s.Os = &v
12536	return s
12537}
12538
12539// SetPlatform sets the Platform field's value.
12540func (s *Instance) SetPlatform(v string) *Instance {
12541	s.Platform = &v
12542	return s
12543}
12544
12545// SetPrivateDns sets the PrivateDns field's value.
12546func (s *Instance) SetPrivateDns(v string) *Instance {
12547	s.PrivateDns = &v
12548	return s
12549}
12550
12551// SetPrivateIp sets the PrivateIp field's value.
12552func (s *Instance) SetPrivateIp(v string) *Instance {
12553	s.PrivateIp = &v
12554	return s
12555}
12556
12557// SetPublicDns sets the PublicDns field's value.
12558func (s *Instance) SetPublicDns(v string) *Instance {
12559	s.PublicDns = &v
12560	return s
12561}
12562
12563// SetPublicIp sets the PublicIp field's value.
12564func (s *Instance) SetPublicIp(v string) *Instance {
12565	s.PublicIp = &v
12566	return s
12567}
12568
12569// SetRegisteredBy sets the RegisteredBy field's value.
12570func (s *Instance) SetRegisteredBy(v string) *Instance {
12571	s.RegisteredBy = &v
12572	return s
12573}
12574
12575// SetReportedAgentVersion sets the ReportedAgentVersion field's value.
12576func (s *Instance) SetReportedAgentVersion(v string) *Instance {
12577	s.ReportedAgentVersion = &v
12578	return s
12579}
12580
12581// SetReportedOs sets the ReportedOs field's value.
12582func (s *Instance) SetReportedOs(v *ReportedOs) *Instance {
12583	s.ReportedOs = v
12584	return s
12585}
12586
12587// SetRootDeviceType sets the RootDeviceType field's value.
12588func (s *Instance) SetRootDeviceType(v string) *Instance {
12589	s.RootDeviceType = &v
12590	return s
12591}
12592
12593// SetRootDeviceVolumeId sets the RootDeviceVolumeId field's value.
12594func (s *Instance) SetRootDeviceVolumeId(v string) *Instance {
12595	s.RootDeviceVolumeId = &v
12596	return s
12597}
12598
12599// SetSecurityGroupIds sets the SecurityGroupIds field's value.
12600func (s *Instance) SetSecurityGroupIds(v []*string) *Instance {
12601	s.SecurityGroupIds = v
12602	return s
12603}
12604
12605// SetSshHostDsaKeyFingerprint sets the SshHostDsaKeyFingerprint field's value.
12606func (s *Instance) SetSshHostDsaKeyFingerprint(v string) *Instance {
12607	s.SshHostDsaKeyFingerprint = &v
12608	return s
12609}
12610
12611// SetSshHostRsaKeyFingerprint sets the SshHostRsaKeyFingerprint field's value.
12612func (s *Instance) SetSshHostRsaKeyFingerprint(v string) *Instance {
12613	s.SshHostRsaKeyFingerprint = &v
12614	return s
12615}
12616
12617// SetSshKeyName sets the SshKeyName field's value.
12618func (s *Instance) SetSshKeyName(v string) *Instance {
12619	s.SshKeyName = &v
12620	return s
12621}
12622
12623// SetStackId sets the StackId field's value.
12624func (s *Instance) SetStackId(v string) *Instance {
12625	s.StackId = &v
12626	return s
12627}
12628
12629// SetStatus sets the Status field's value.
12630func (s *Instance) SetStatus(v string) *Instance {
12631	s.Status = &v
12632	return s
12633}
12634
12635// SetSubnetId sets the SubnetId field's value.
12636func (s *Instance) SetSubnetId(v string) *Instance {
12637	s.SubnetId = &v
12638	return s
12639}
12640
12641// SetTenancy sets the Tenancy field's value.
12642func (s *Instance) SetTenancy(v string) *Instance {
12643	s.Tenancy = &v
12644	return s
12645}
12646
12647// SetVirtualizationType sets the VirtualizationType field's value.
12648func (s *Instance) SetVirtualizationType(v string) *Instance {
12649	s.VirtualizationType = &v
12650	return s
12651}
12652
12653// Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata
12654// service. For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/sdkfornet/latest/apidocs/Index.html).
12655type InstanceIdentity struct {
12656	_ struct{} `type:"structure"`
12657
12658	// A JSON document that contains the metadata.
12659	Document *string `type:"string"`
12660
12661	// A signature that can be used to verify the document's accuracy and authenticity.
12662	Signature *string `type:"string"`
12663}
12664
12665// String returns the string representation
12666func (s InstanceIdentity) String() string {
12667	return awsutil.Prettify(s)
12668}
12669
12670// GoString returns the string representation
12671func (s InstanceIdentity) GoString() string {
12672	return s.String()
12673}
12674
12675// SetDocument sets the Document field's value.
12676func (s *InstanceIdentity) SetDocument(v string) *InstanceIdentity {
12677	s.Document = &v
12678	return s
12679}
12680
12681// SetSignature sets the Signature field's value.
12682func (s *InstanceIdentity) SetSignature(v string) *InstanceIdentity {
12683	s.Signature = &v
12684	return s
12685}
12686
12687// Describes how many instances a stack has for each status.
12688type InstancesCount struct {
12689	_ struct{} `type:"structure"`
12690
12691	// The number of instances in the Assigning state.
12692	Assigning *int64 `type:"integer"`
12693
12694	// The number of instances with booting status.
12695	Booting *int64 `type:"integer"`
12696
12697	// The number of instances with connection_lost status.
12698	ConnectionLost *int64 `type:"integer"`
12699
12700	// The number of instances in the Deregistering state.
12701	Deregistering *int64 `type:"integer"`
12702
12703	// The number of instances with online status.
12704	Online *int64 `type:"integer"`
12705
12706	// The number of instances with pending status.
12707	Pending *int64 `type:"integer"`
12708
12709	// The number of instances with rebooting status.
12710	Rebooting *int64 `type:"integer"`
12711
12712	// The number of instances in the Registered state.
12713	Registered *int64 `type:"integer"`
12714
12715	// The number of instances in the Registering state.
12716	Registering *int64 `type:"integer"`
12717
12718	// The number of instances with requested status.
12719	Requested *int64 `type:"integer"`
12720
12721	// The number of instances with running_setup status.
12722	RunningSetup *int64 `type:"integer"`
12723
12724	// The number of instances with setup_failed status.
12725	SetupFailed *int64 `type:"integer"`
12726
12727	// The number of instances with shutting_down status.
12728	ShuttingDown *int64 `type:"integer"`
12729
12730	// The number of instances with start_failed status.
12731	StartFailed *int64 `type:"integer"`
12732
12733	// The number of instances with stop_failed status.
12734	StopFailed *int64 `type:"integer"`
12735
12736	// The number of instances with stopped status.
12737	Stopped *int64 `type:"integer"`
12738
12739	// The number of instances with stopping status.
12740	Stopping *int64 `type:"integer"`
12741
12742	// The number of instances with terminated status.
12743	Terminated *int64 `type:"integer"`
12744
12745	// The number of instances with terminating status.
12746	Terminating *int64 `type:"integer"`
12747
12748	// The number of instances in the Unassigning state.
12749	Unassigning *int64 `type:"integer"`
12750}
12751
12752// String returns the string representation
12753func (s InstancesCount) String() string {
12754	return awsutil.Prettify(s)
12755}
12756
12757// GoString returns the string representation
12758func (s InstancesCount) GoString() string {
12759	return s.String()
12760}
12761
12762// SetAssigning sets the Assigning field's value.
12763func (s *InstancesCount) SetAssigning(v int64) *InstancesCount {
12764	s.Assigning = &v
12765	return s
12766}
12767
12768// SetBooting sets the Booting field's value.
12769func (s *InstancesCount) SetBooting(v int64) *InstancesCount {
12770	s.Booting = &v
12771	return s
12772}
12773
12774// SetConnectionLost sets the ConnectionLost field's value.
12775func (s *InstancesCount) SetConnectionLost(v int64) *InstancesCount {
12776	s.ConnectionLost = &v
12777	return s
12778}
12779
12780// SetDeregistering sets the Deregistering field's value.
12781func (s *InstancesCount) SetDeregistering(v int64) *InstancesCount {
12782	s.Deregistering = &v
12783	return s
12784}
12785
12786// SetOnline sets the Online field's value.
12787func (s *InstancesCount) SetOnline(v int64) *InstancesCount {
12788	s.Online = &v
12789	return s
12790}
12791
12792// SetPending sets the Pending field's value.
12793func (s *InstancesCount) SetPending(v int64) *InstancesCount {
12794	s.Pending = &v
12795	return s
12796}
12797
12798// SetRebooting sets the Rebooting field's value.
12799func (s *InstancesCount) SetRebooting(v int64) *InstancesCount {
12800	s.Rebooting = &v
12801	return s
12802}
12803
12804// SetRegistered sets the Registered field's value.
12805func (s *InstancesCount) SetRegistered(v int64) *InstancesCount {
12806	s.Registered = &v
12807	return s
12808}
12809
12810// SetRegistering sets the Registering field's value.
12811func (s *InstancesCount) SetRegistering(v int64) *InstancesCount {
12812	s.Registering = &v
12813	return s
12814}
12815
12816// SetRequested sets the Requested field's value.
12817func (s *InstancesCount) SetRequested(v int64) *InstancesCount {
12818	s.Requested = &v
12819	return s
12820}
12821
12822// SetRunningSetup sets the RunningSetup field's value.
12823func (s *InstancesCount) SetRunningSetup(v int64) *InstancesCount {
12824	s.RunningSetup = &v
12825	return s
12826}
12827
12828// SetSetupFailed sets the SetupFailed field's value.
12829func (s *InstancesCount) SetSetupFailed(v int64) *InstancesCount {
12830	s.SetupFailed = &v
12831	return s
12832}
12833
12834// SetShuttingDown sets the ShuttingDown field's value.
12835func (s *InstancesCount) SetShuttingDown(v int64) *InstancesCount {
12836	s.ShuttingDown = &v
12837	return s
12838}
12839
12840// SetStartFailed sets the StartFailed field's value.
12841func (s *InstancesCount) SetStartFailed(v int64) *InstancesCount {
12842	s.StartFailed = &v
12843	return s
12844}
12845
12846// SetStopFailed sets the StopFailed field's value.
12847func (s *InstancesCount) SetStopFailed(v int64) *InstancesCount {
12848	s.StopFailed = &v
12849	return s
12850}
12851
12852// SetStopped sets the Stopped field's value.
12853func (s *InstancesCount) SetStopped(v int64) *InstancesCount {
12854	s.Stopped = &v
12855	return s
12856}
12857
12858// SetStopping sets the Stopping field's value.
12859func (s *InstancesCount) SetStopping(v int64) *InstancesCount {
12860	s.Stopping = &v
12861	return s
12862}
12863
12864// SetTerminated sets the Terminated field's value.
12865func (s *InstancesCount) SetTerminated(v int64) *InstancesCount {
12866	s.Terminated = &v
12867	return s
12868}
12869
12870// SetTerminating sets the Terminating field's value.
12871func (s *InstancesCount) SetTerminating(v int64) *InstancesCount {
12872	s.Terminating = &v
12873	return s
12874}
12875
12876// SetUnassigning sets the Unassigning field's value.
12877func (s *InstancesCount) SetUnassigning(v int64) *InstancesCount {
12878	s.Unassigning = &v
12879	return s
12880}
12881
12882// Describes a layer.
12883type Layer struct {
12884	_ struct{} `type:"structure"`
12885
12886	// The Amazon Resource Number (ARN) of a layer.
12887	Arn *string `type:"string"`
12888
12889	// The layer attributes.
12890	//
12891	// For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes,
12892	// AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value
12893	//
12894	// For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute
12895	// is set to the cluster's ARN.
12896	Attributes map[string]*string `type:"map"`
12897
12898	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
12899	// to the layer's instances. For more information, see How to Edit a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
12900	AutoAssignElasticIps *bool `type:"boolean"`
12901
12902	// For stacks that are running in a VPC, whether to automatically assign a public
12903	// IP address to the layer's instances. For more information, see How to Edit
12904	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
12905	AutoAssignPublicIps *bool `type:"boolean"`
12906
12907	// The Amazon CloudWatch Logs configuration settings for the layer.
12908	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
12909
12910	// Date when the layer was created.
12911	CreatedAt *string `type:"string"`
12912
12913	// The ARN of the default IAM profile to be used for the layer's EC2 instances.
12914	// For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
12915	CustomInstanceProfileArn *string `type:"string"`
12916
12917	// A JSON formatted string containing the layer's custom stack configuration
12918	// and deployment attributes.
12919	CustomJson *string `type:"string"`
12920
12921	// A LayerCustomRecipes object that specifies the layer's custom recipes.
12922	CustomRecipes *Recipes `type:"structure"`
12923
12924	// An array containing the layer's custom security group IDs.
12925	CustomSecurityGroupIds []*string `type:"list"`
12926
12927	// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
12928	// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs
12929	// a set of standard recipes for each event. You can also provide custom recipes
12930	// for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes
12931	// after the standard recipes. LayerCustomRecipes specifies the custom recipes
12932	// for a particular layer to be run in response to each of the five events.
12933	//
12934	// To specify a recipe, use the cookbook's directory name in the repository
12935	// followed by two colons and the recipe name, which is the recipe's file name
12936	// without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb
12937	// recipe in the repository's phpapp2 folder.
12938	DefaultRecipes *Recipes `type:"structure"`
12939
12940	// An array containing the layer's security group names.
12941	DefaultSecurityGroupNames []*string `type:"list"`
12942
12943	// Whether auto healing is disabled for the layer.
12944	EnableAutoHealing *bool `type:"boolean"`
12945
12946	// Whether to install operating system and package updates when the instance
12947	// boots. The default value is true. If this value is set to false, you must
12948	// then update your instances manually by using CreateDeployment to run the
12949	// update_dependencies stack command or manually running yum (Amazon Linux)
12950	// or apt-get (Ubuntu) on the instances.
12951	//
12952	// We strongly recommend using the default value of true, to ensure that your
12953	// instances have the latest security updates.
12954	InstallUpdatesOnBoot *bool `type:"boolean"`
12955
12956	// The layer ID.
12957	LayerId *string `type:"string"`
12958
12959	// A LifeCycleEventConfiguration object that specifies the Shutdown event configuration.
12960	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
12961
12962	// The layer name.
12963	Name *string `type:"string"`
12964
12965	// An array of Package objects that describe the layer's packages.
12966	Packages []*string `type:"list"`
12967
12968	// The layer short name.
12969	Shortname *string `type:"string"`
12970
12971	// The layer stack ID.
12972	StackId *string `type:"string"`
12973
12974	// The layer type.
12975	Type *string `type:"string" enum:"LayerType"`
12976
12977	// Whether the layer uses Amazon EBS-optimized instances.
12978	UseEbsOptimizedInstances *bool `type:"boolean"`
12979
12980	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
12981	VolumeConfigurations []*VolumeConfiguration `type:"list"`
12982}
12983
12984// String returns the string representation
12985func (s Layer) String() string {
12986	return awsutil.Prettify(s)
12987}
12988
12989// GoString returns the string representation
12990func (s Layer) GoString() string {
12991	return s.String()
12992}
12993
12994// SetArn sets the Arn field's value.
12995func (s *Layer) SetArn(v string) *Layer {
12996	s.Arn = &v
12997	return s
12998}
12999
13000// SetAttributes sets the Attributes field's value.
13001func (s *Layer) SetAttributes(v map[string]*string) *Layer {
13002	s.Attributes = v
13003	return s
13004}
13005
13006// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
13007func (s *Layer) SetAutoAssignElasticIps(v bool) *Layer {
13008	s.AutoAssignElasticIps = &v
13009	return s
13010}
13011
13012// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
13013func (s *Layer) SetAutoAssignPublicIps(v bool) *Layer {
13014	s.AutoAssignPublicIps = &v
13015	return s
13016}
13017
13018// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
13019func (s *Layer) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *Layer {
13020	s.CloudWatchLogsConfiguration = v
13021	return s
13022}
13023
13024// SetCreatedAt sets the CreatedAt field's value.
13025func (s *Layer) SetCreatedAt(v string) *Layer {
13026	s.CreatedAt = &v
13027	return s
13028}
13029
13030// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
13031func (s *Layer) SetCustomInstanceProfileArn(v string) *Layer {
13032	s.CustomInstanceProfileArn = &v
13033	return s
13034}
13035
13036// SetCustomJson sets the CustomJson field's value.
13037func (s *Layer) SetCustomJson(v string) *Layer {
13038	s.CustomJson = &v
13039	return s
13040}
13041
13042// SetCustomRecipes sets the CustomRecipes field's value.
13043func (s *Layer) SetCustomRecipes(v *Recipes) *Layer {
13044	s.CustomRecipes = v
13045	return s
13046}
13047
13048// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
13049func (s *Layer) SetCustomSecurityGroupIds(v []*string) *Layer {
13050	s.CustomSecurityGroupIds = v
13051	return s
13052}
13053
13054// SetDefaultRecipes sets the DefaultRecipes field's value.
13055func (s *Layer) SetDefaultRecipes(v *Recipes) *Layer {
13056	s.DefaultRecipes = v
13057	return s
13058}
13059
13060// SetDefaultSecurityGroupNames sets the DefaultSecurityGroupNames field's value.
13061func (s *Layer) SetDefaultSecurityGroupNames(v []*string) *Layer {
13062	s.DefaultSecurityGroupNames = v
13063	return s
13064}
13065
13066// SetEnableAutoHealing sets the EnableAutoHealing field's value.
13067func (s *Layer) SetEnableAutoHealing(v bool) *Layer {
13068	s.EnableAutoHealing = &v
13069	return s
13070}
13071
13072// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
13073func (s *Layer) SetInstallUpdatesOnBoot(v bool) *Layer {
13074	s.InstallUpdatesOnBoot = &v
13075	return s
13076}
13077
13078// SetLayerId sets the LayerId field's value.
13079func (s *Layer) SetLayerId(v string) *Layer {
13080	s.LayerId = &v
13081	return s
13082}
13083
13084// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
13085func (s *Layer) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *Layer {
13086	s.LifecycleEventConfiguration = v
13087	return s
13088}
13089
13090// SetName sets the Name field's value.
13091func (s *Layer) SetName(v string) *Layer {
13092	s.Name = &v
13093	return s
13094}
13095
13096// SetPackages sets the Packages field's value.
13097func (s *Layer) SetPackages(v []*string) *Layer {
13098	s.Packages = v
13099	return s
13100}
13101
13102// SetShortname sets the Shortname field's value.
13103func (s *Layer) SetShortname(v string) *Layer {
13104	s.Shortname = &v
13105	return s
13106}
13107
13108// SetStackId sets the StackId field's value.
13109func (s *Layer) SetStackId(v string) *Layer {
13110	s.StackId = &v
13111	return s
13112}
13113
13114// SetType sets the Type field's value.
13115func (s *Layer) SetType(v string) *Layer {
13116	s.Type = &v
13117	return s
13118}
13119
13120// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
13121func (s *Layer) SetUseEbsOptimizedInstances(v bool) *Layer {
13122	s.UseEbsOptimizedInstances = &v
13123	return s
13124}
13125
13126// SetVolumeConfigurations sets the VolumeConfigurations field's value.
13127func (s *Layer) SetVolumeConfigurations(v []*VolumeConfiguration) *Layer {
13128	s.VolumeConfigurations = v
13129	return s
13130}
13131
13132// Specifies the lifecycle event configuration
13133type LifecycleEventConfiguration struct {
13134	_ struct{} `type:"structure"`
13135
13136	// A ShutdownEventConfiguration object that specifies the Shutdown event configuration.
13137	Shutdown *ShutdownEventConfiguration `type:"structure"`
13138}
13139
13140// String returns the string representation
13141func (s LifecycleEventConfiguration) String() string {
13142	return awsutil.Prettify(s)
13143}
13144
13145// GoString returns the string representation
13146func (s LifecycleEventConfiguration) GoString() string {
13147	return s.String()
13148}
13149
13150// SetShutdown sets the Shutdown field's value.
13151func (s *LifecycleEventConfiguration) SetShutdown(v *ShutdownEventConfiguration) *LifecycleEventConfiguration {
13152	s.Shutdown = v
13153	return s
13154}
13155
13156type ListTagsInput struct {
13157	_ struct{} `type:"structure"`
13158
13159	// Do not use. A validation exception occurs if you add a MaxResults parameter
13160	// to a ListTagsRequest call.
13161	MaxResults *int64 `type:"integer"`
13162
13163	// Do not use. A validation exception occurs if you add a NextToken parameter
13164	// to a ListTagsRequest call.
13165	NextToken *string `type:"string"`
13166
13167	// The stack or layer's Amazon Resource Number (ARN).
13168	//
13169	// ResourceArn is a required field
13170	ResourceArn *string `type:"string" required:"true"`
13171}
13172
13173// String returns the string representation
13174func (s ListTagsInput) String() string {
13175	return awsutil.Prettify(s)
13176}
13177
13178// GoString returns the string representation
13179func (s ListTagsInput) GoString() string {
13180	return s.String()
13181}
13182
13183// Validate inspects the fields of the type to determine if they are valid.
13184func (s *ListTagsInput) Validate() error {
13185	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
13186	if s.ResourceArn == nil {
13187		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13188	}
13189
13190	if invalidParams.Len() > 0 {
13191		return invalidParams
13192	}
13193	return nil
13194}
13195
13196// SetMaxResults sets the MaxResults field's value.
13197func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput {
13198	s.MaxResults = &v
13199	return s
13200}
13201
13202// SetNextToken sets the NextToken field's value.
13203func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
13204	s.NextToken = &v
13205	return s
13206}
13207
13208// SetResourceArn sets the ResourceArn field's value.
13209func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput {
13210	s.ResourceArn = &v
13211	return s
13212}
13213
13214// Contains the response to a ListTags request.
13215type ListTagsOutput struct {
13216	_ struct{} `type:"structure"`
13217
13218	// If a paginated request does not return all of the remaining results, this
13219	// parameter is set to a token that you can assign to the request object's NextToken
13220	// parameter to get the next set of results. If the previous paginated request
13221	// returned all of the remaining results, this parameter is set to null.
13222	NextToken *string `type:"string"`
13223
13224	// A set of key-value pairs that contain tag keys and tag values that are attached
13225	// to a stack or layer.
13226	Tags map[string]*string `type:"map"`
13227}
13228
13229// String returns the string representation
13230func (s ListTagsOutput) String() string {
13231	return awsutil.Prettify(s)
13232}
13233
13234// GoString returns the string representation
13235func (s ListTagsOutput) GoString() string {
13236	return s.String()
13237}
13238
13239// SetNextToken sets the NextToken field's value.
13240func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
13241	s.NextToken = &v
13242	return s
13243}
13244
13245// SetTags sets the Tags field's value.
13246func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
13247	s.Tags = v
13248	return s
13249}
13250
13251// Describes a layer's load-based auto scaling configuration.
13252type LoadBasedAutoScalingConfiguration struct {
13253	_ struct{} `type:"structure"`
13254
13255	// An AutoScalingThresholds object that describes the downscaling configuration,
13256	// which defines how and when AWS OpsWorks Stacks reduces the number of instances.
13257	DownScaling *AutoScalingThresholds `type:"structure"`
13258
13259	// Whether load-based auto scaling is enabled for the layer.
13260	Enable *bool `type:"boolean"`
13261
13262	// The layer ID.
13263	LayerId *string `type:"string"`
13264
13265	// An AutoScalingThresholds object that describes the upscaling configuration,
13266	// which defines how and when AWS OpsWorks Stacks increases the number of instances.
13267	UpScaling *AutoScalingThresholds `type:"structure"`
13268}
13269
13270// String returns the string representation
13271func (s LoadBasedAutoScalingConfiguration) String() string {
13272	return awsutil.Prettify(s)
13273}
13274
13275// GoString returns the string representation
13276func (s LoadBasedAutoScalingConfiguration) GoString() string {
13277	return s.String()
13278}
13279
13280// SetDownScaling sets the DownScaling field's value.
13281func (s *LoadBasedAutoScalingConfiguration) SetDownScaling(v *AutoScalingThresholds) *LoadBasedAutoScalingConfiguration {
13282	s.DownScaling = v
13283	return s
13284}
13285
13286// SetEnable sets the Enable field's value.
13287func (s *LoadBasedAutoScalingConfiguration) SetEnable(v bool) *LoadBasedAutoScalingConfiguration {
13288	s.Enable = &v
13289	return s
13290}
13291
13292// SetLayerId sets the LayerId field's value.
13293func (s *LoadBasedAutoScalingConfiguration) SetLayerId(v string) *LoadBasedAutoScalingConfiguration {
13294	s.LayerId = &v
13295	return s
13296}
13297
13298// SetUpScaling sets the UpScaling field's value.
13299func (s *LoadBasedAutoScalingConfiguration) SetUpScaling(v *AutoScalingThresholds) *LoadBasedAutoScalingConfiguration {
13300	s.UpScaling = v
13301	return s
13302}
13303
13304// Describes supported operating systems in AWS OpsWorks Stacks.
13305type OperatingSystem struct {
13306	_ struct{} `type:"structure"`
13307
13308	// Supported configuration manager name and versions for an AWS OpsWorks Stacks
13309	// operating system.
13310	ConfigurationManagers []*OperatingSystemConfigurationManager `type:"list"`
13311
13312	// The ID of a supported operating system, such as Amazon Linux 2018.03.
13313	Id *string `type:"string"`
13314
13315	// The name of the operating system, such as Amazon Linux 2018.03.
13316	Name *string `type:"string"`
13317
13318	// A short name for the operating system manufacturer.
13319	ReportedName *string `type:"string"`
13320
13321	// The version of the operating system, including the release and edition, if
13322	// applicable.
13323	ReportedVersion *string `type:"string"`
13324
13325	// Indicates that an operating system is not supported for new instances.
13326	Supported *bool `type:"boolean"`
13327
13328	// The type of a supported operating system, either Linux or Windows.
13329	Type *string `type:"string"`
13330}
13331
13332// String returns the string representation
13333func (s OperatingSystem) String() string {
13334	return awsutil.Prettify(s)
13335}
13336
13337// GoString returns the string representation
13338func (s OperatingSystem) GoString() string {
13339	return s.String()
13340}
13341
13342// SetConfigurationManagers sets the ConfigurationManagers field's value.
13343func (s *OperatingSystem) SetConfigurationManagers(v []*OperatingSystemConfigurationManager) *OperatingSystem {
13344	s.ConfigurationManagers = v
13345	return s
13346}
13347
13348// SetId sets the Id field's value.
13349func (s *OperatingSystem) SetId(v string) *OperatingSystem {
13350	s.Id = &v
13351	return s
13352}
13353
13354// SetName sets the Name field's value.
13355func (s *OperatingSystem) SetName(v string) *OperatingSystem {
13356	s.Name = &v
13357	return s
13358}
13359
13360// SetReportedName sets the ReportedName field's value.
13361func (s *OperatingSystem) SetReportedName(v string) *OperatingSystem {
13362	s.ReportedName = &v
13363	return s
13364}
13365
13366// SetReportedVersion sets the ReportedVersion field's value.
13367func (s *OperatingSystem) SetReportedVersion(v string) *OperatingSystem {
13368	s.ReportedVersion = &v
13369	return s
13370}
13371
13372// SetSupported sets the Supported field's value.
13373func (s *OperatingSystem) SetSupported(v bool) *OperatingSystem {
13374	s.Supported = &v
13375	return s
13376}
13377
13378// SetType sets the Type field's value.
13379func (s *OperatingSystem) SetType(v string) *OperatingSystem {
13380	s.Type = &v
13381	return s
13382}
13383
13384// A block that contains information about the configuration manager (Chef)
13385// and the versions of the configuration manager that are supported for an operating
13386// system.
13387type OperatingSystemConfigurationManager struct {
13388	_ struct{} `type:"structure"`
13389
13390	// The name of the configuration manager, which is Chef.
13391	Name *string `type:"string"`
13392
13393	// The versions of the configuration manager that are supported by an operating
13394	// system.
13395	Version *string `type:"string"`
13396}
13397
13398// String returns the string representation
13399func (s OperatingSystemConfigurationManager) String() string {
13400	return awsutil.Prettify(s)
13401}
13402
13403// GoString returns the string representation
13404func (s OperatingSystemConfigurationManager) GoString() string {
13405	return s.String()
13406}
13407
13408// SetName sets the Name field's value.
13409func (s *OperatingSystemConfigurationManager) SetName(v string) *OperatingSystemConfigurationManager {
13410	s.Name = &v
13411	return s
13412}
13413
13414// SetVersion sets the Version field's value.
13415func (s *OperatingSystemConfigurationManager) SetVersion(v string) *OperatingSystemConfigurationManager {
13416	s.Version = &v
13417	return s
13418}
13419
13420// Describes stack or user permissions.
13421type Permission struct {
13422	_ struct{} `type:"structure"`
13423
13424	// Whether the user can use SSH.
13425	AllowSsh *bool `type:"boolean"`
13426
13427	// Whether the user can use sudo.
13428	AllowSudo *bool `type:"boolean"`
13429
13430	// The Amazon Resource Name (ARN) for an AWS Identity and Access Management
13431	// (IAM) role. For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
13432	IamUserArn *string `type:"string"`
13433
13434	// The user's permission level, which must be the following:
13435	//
13436	//    * deny
13437	//
13438	//    * show
13439	//
13440	//    * deploy
13441	//
13442	//    * manage
13443	//
13444	//    * iam_only
13445	//
13446	// For more information on the permissions associated with these levels, see
13447	// Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html)
13448	Level *string `type:"string"`
13449
13450	// A stack ID.
13451	StackId *string `type:"string"`
13452}
13453
13454// String returns the string representation
13455func (s Permission) String() string {
13456	return awsutil.Prettify(s)
13457}
13458
13459// GoString returns the string representation
13460func (s Permission) GoString() string {
13461	return s.String()
13462}
13463
13464// SetAllowSsh sets the AllowSsh field's value.
13465func (s *Permission) SetAllowSsh(v bool) *Permission {
13466	s.AllowSsh = &v
13467	return s
13468}
13469
13470// SetAllowSudo sets the AllowSudo field's value.
13471func (s *Permission) SetAllowSudo(v bool) *Permission {
13472	s.AllowSudo = &v
13473	return s
13474}
13475
13476// SetIamUserArn sets the IamUserArn field's value.
13477func (s *Permission) SetIamUserArn(v string) *Permission {
13478	s.IamUserArn = &v
13479	return s
13480}
13481
13482// SetLevel sets the Level field's value.
13483func (s *Permission) SetLevel(v string) *Permission {
13484	s.Level = &v
13485	return s
13486}
13487
13488// SetStackId sets the StackId field's value.
13489func (s *Permission) SetStackId(v string) *Permission {
13490	s.StackId = &v
13491	return s
13492}
13493
13494// Describes an instance's RAID array.
13495type RaidArray struct {
13496	_ struct{} `type:"structure"`
13497
13498	// The array's Availability Zone. For more information, see Regions and Endpoints
13499	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
13500	AvailabilityZone *string `type:"string"`
13501
13502	// When the RAID array was created.
13503	CreatedAt *string `type:"string"`
13504
13505	// The array's Linux device. For example /dev/mdadm0.
13506	Device *string `type:"string"`
13507
13508	// The instance ID.
13509	InstanceId *string `type:"string"`
13510
13511	// For PIOPS volumes, the IOPS per disk.
13512	Iops *int64 `type:"integer"`
13513
13514	// The array's mount point.
13515	MountPoint *string `type:"string"`
13516
13517	// The array name.
13518	Name *string `type:"string"`
13519
13520	// The number of disks in the array.
13521	NumberOfDisks *int64 `type:"integer"`
13522
13523	// The array ID.
13524	RaidArrayId *string `type:"string"`
13525
13526	// The RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels).
13527	RaidLevel *int64 `type:"integer"`
13528
13529	// The array's size.
13530	Size *int64 `type:"integer"`
13531
13532	// The stack ID.
13533	StackId *string `type:"string"`
13534
13535	// The volume type, standard or PIOPS.
13536	VolumeType *string `type:"string"`
13537}
13538
13539// String returns the string representation
13540func (s RaidArray) String() string {
13541	return awsutil.Prettify(s)
13542}
13543
13544// GoString returns the string representation
13545func (s RaidArray) GoString() string {
13546	return s.String()
13547}
13548
13549// SetAvailabilityZone sets the AvailabilityZone field's value.
13550func (s *RaidArray) SetAvailabilityZone(v string) *RaidArray {
13551	s.AvailabilityZone = &v
13552	return s
13553}
13554
13555// SetCreatedAt sets the CreatedAt field's value.
13556func (s *RaidArray) SetCreatedAt(v string) *RaidArray {
13557	s.CreatedAt = &v
13558	return s
13559}
13560
13561// SetDevice sets the Device field's value.
13562func (s *RaidArray) SetDevice(v string) *RaidArray {
13563	s.Device = &v
13564	return s
13565}
13566
13567// SetInstanceId sets the InstanceId field's value.
13568func (s *RaidArray) SetInstanceId(v string) *RaidArray {
13569	s.InstanceId = &v
13570	return s
13571}
13572
13573// SetIops sets the Iops field's value.
13574func (s *RaidArray) SetIops(v int64) *RaidArray {
13575	s.Iops = &v
13576	return s
13577}
13578
13579// SetMountPoint sets the MountPoint field's value.
13580func (s *RaidArray) SetMountPoint(v string) *RaidArray {
13581	s.MountPoint = &v
13582	return s
13583}
13584
13585// SetName sets the Name field's value.
13586func (s *RaidArray) SetName(v string) *RaidArray {
13587	s.Name = &v
13588	return s
13589}
13590
13591// SetNumberOfDisks sets the NumberOfDisks field's value.
13592func (s *RaidArray) SetNumberOfDisks(v int64) *RaidArray {
13593	s.NumberOfDisks = &v
13594	return s
13595}
13596
13597// SetRaidArrayId sets the RaidArrayId field's value.
13598func (s *RaidArray) SetRaidArrayId(v string) *RaidArray {
13599	s.RaidArrayId = &v
13600	return s
13601}
13602
13603// SetRaidLevel sets the RaidLevel field's value.
13604func (s *RaidArray) SetRaidLevel(v int64) *RaidArray {
13605	s.RaidLevel = &v
13606	return s
13607}
13608
13609// SetSize sets the Size field's value.
13610func (s *RaidArray) SetSize(v int64) *RaidArray {
13611	s.Size = &v
13612	return s
13613}
13614
13615// SetStackId sets the StackId field's value.
13616func (s *RaidArray) SetStackId(v string) *RaidArray {
13617	s.StackId = &v
13618	return s
13619}
13620
13621// SetVolumeType sets the VolumeType field's value.
13622func (s *RaidArray) SetVolumeType(v string) *RaidArray {
13623	s.VolumeType = &v
13624	return s
13625}
13626
13627// Describes an Amazon RDS instance.
13628type RdsDbInstance struct {
13629	_ struct{} `type:"structure"`
13630
13631	// The instance's address.
13632	Address *string `type:"string"`
13633
13634	// The DB instance identifier.
13635	DbInstanceIdentifier *string `type:"string"`
13636
13637	// AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.
13638	DbPassword *string `type:"string"`
13639
13640	// The master user name.
13641	DbUser *string `type:"string"`
13642
13643	// The instance's database engine.
13644	Engine *string `type:"string"`
13645
13646	// Set to true if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance.
13647	// AWS OpsWorks Stacks attempts to discover the instance only once. If this
13648	// value is set to true, you must deregister the instance, and then register
13649	// it again.
13650	MissingOnRds *bool `type:"boolean"`
13651
13652	// The instance's ARN.
13653	RdsDbInstanceArn *string `type:"string"`
13654
13655	// The instance's AWS region.
13656	Region *string `type:"string"`
13657
13658	// The ID of the stack with which the instance is registered.
13659	StackId *string `type:"string"`
13660}
13661
13662// String returns the string representation
13663func (s RdsDbInstance) String() string {
13664	return awsutil.Prettify(s)
13665}
13666
13667// GoString returns the string representation
13668func (s RdsDbInstance) GoString() string {
13669	return s.String()
13670}
13671
13672// SetAddress sets the Address field's value.
13673func (s *RdsDbInstance) SetAddress(v string) *RdsDbInstance {
13674	s.Address = &v
13675	return s
13676}
13677
13678// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
13679func (s *RdsDbInstance) SetDbInstanceIdentifier(v string) *RdsDbInstance {
13680	s.DbInstanceIdentifier = &v
13681	return s
13682}
13683
13684// SetDbPassword sets the DbPassword field's value.
13685func (s *RdsDbInstance) SetDbPassword(v string) *RdsDbInstance {
13686	s.DbPassword = &v
13687	return s
13688}
13689
13690// SetDbUser sets the DbUser field's value.
13691func (s *RdsDbInstance) SetDbUser(v string) *RdsDbInstance {
13692	s.DbUser = &v
13693	return s
13694}
13695
13696// SetEngine sets the Engine field's value.
13697func (s *RdsDbInstance) SetEngine(v string) *RdsDbInstance {
13698	s.Engine = &v
13699	return s
13700}
13701
13702// SetMissingOnRds sets the MissingOnRds field's value.
13703func (s *RdsDbInstance) SetMissingOnRds(v bool) *RdsDbInstance {
13704	s.MissingOnRds = &v
13705	return s
13706}
13707
13708// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
13709func (s *RdsDbInstance) SetRdsDbInstanceArn(v string) *RdsDbInstance {
13710	s.RdsDbInstanceArn = &v
13711	return s
13712}
13713
13714// SetRegion sets the Region field's value.
13715func (s *RdsDbInstance) SetRegion(v string) *RdsDbInstance {
13716	s.Region = &v
13717	return s
13718}
13719
13720// SetStackId sets the StackId field's value.
13721func (s *RdsDbInstance) SetStackId(v string) *RdsDbInstance {
13722	s.StackId = &v
13723	return s
13724}
13725
13726type RebootInstanceInput struct {
13727	_ struct{} `type:"structure"`
13728
13729	// The instance ID.
13730	//
13731	// InstanceId is a required field
13732	InstanceId *string `type:"string" required:"true"`
13733}
13734
13735// String returns the string representation
13736func (s RebootInstanceInput) String() string {
13737	return awsutil.Prettify(s)
13738}
13739
13740// GoString returns the string representation
13741func (s RebootInstanceInput) GoString() string {
13742	return s.String()
13743}
13744
13745// Validate inspects the fields of the type to determine if they are valid.
13746func (s *RebootInstanceInput) Validate() error {
13747	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
13748	if s.InstanceId == nil {
13749		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13750	}
13751
13752	if invalidParams.Len() > 0 {
13753		return invalidParams
13754	}
13755	return nil
13756}
13757
13758// SetInstanceId sets the InstanceId field's value.
13759func (s *RebootInstanceInput) SetInstanceId(v string) *RebootInstanceInput {
13760	s.InstanceId = &v
13761	return s
13762}
13763
13764type RebootInstanceOutput struct {
13765	_ struct{} `type:"structure"`
13766}
13767
13768// String returns the string representation
13769func (s RebootInstanceOutput) String() string {
13770	return awsutil.Prettify(s)
13771}
13772
13773// GoString returns the string representation
13774func (s RebootInstanceOutput) GoString() string {
13775	return s.String()
13776}
13777
13778// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
13779// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs
13780// a set of standard recipes for each event. In addition, you can provide custom
13781// recipes for any or all layers and events. AWS OpsWorks Stacks runs custom
13782// event recipes after the standard recipes. LayerCustomRecipes specifies the
13783// custom recipes for a particular layer to be run in response to each of the
13784// five events.
13785//
13786// To specify a recipe, use the cookbook's directory name in the repository
13787// followed by two colons and the recipe name, which is the recipe's file name
13788// without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb
13789// recipe in the repository's phpapp2 folder.
13790type Recipes struct {
13791	_ struct{} `type:"structure"`
13792
13793	// An array of custom recipe names to be run following a configure event.
13794	Configure []*string `type:"list"`
13795
13796	// An array of custom recipe names to be run following a deploy event.
13797	Deploy []*string `type:"list"`
13798
13799	// An array of custom recipe names to be run following a setup event.
13800	Setup []*string `type:"list"`
13801
13802	// An array of custom recipe names to be run following a shutdown event.
13803	Shutdown []*string `type:"list"`
13804
13805	// An array of custom recipe names to be run following a undeploy event.
13806	Undeploy []*string `type:"list"`
13807}
13808
13809// String returns the string representation
13810func (s Recipes) String() string {
13811	return awsutil.Prettify(s)
13812}
13813
13814// GoString returns the string representation
13815func (s Recipes) GoString() string {
13816	return s.String()
13817}
13818
13819// SetConfigure sets the Configure field's value.
13820func (s *Recipes) SetConfigure(v []*string) *Recipes {
13821	s.Configure = v
13822	return s
13823}
13824
13825// SetDeploy sets the Deploy field's value.
13826func (s *Recipes) SetDeploy(v []*string) *Recipes {
13827	s.Deploy = v
13828	return s
13829}
13830
13831// SetSetup sets the Setup field's value.
13832func (s *Recipes) SetSetup(v []*string) *Recipes {
13833	s.Setup = v
13834	return s
13835}
13836
13837// SetShutdown sets the Shutdown field's value.
13838func (s *Recipes) SetShutdown(v []*string) *Recipes {
13839	s.Shutdown = v
13840	return s
13841}
13842
13843// SetUndeploy sets the Undeploy field's value.
13844func (s *Recipes) SetUndeploy(v []*string) *Recipes {
13845	s.Undeploy = v
13846	return s
13847}
13848
13849type RegisterEcsClusterInput struct {
13850	_ struct{} `type:"structure"`
13851
13852	// The cluster's ARN.
13853	//
13854	// EcsClusterArn is a required field
13855	EcsClusterArn *string `type:"string" required:"true"`
13856
13857	// The stack ID.
13858	//
13859	// StackId is a required field
13860	StackId *string `type:"string" required:"true"`
13861}
13862
13863// String returns the string representation
13864func (s RegisterEcsClusterInput) String() string {
13865	return awsutil.Prettify(s)
13866}
13867
13868// GoString returns the string representation
13869func (s RegisterEcsClusterInput) GoString() string {
13870	return s.String()
13871}
13872
13873// Validate inspects the fields of the type to determine if they are valid.
13874func (s *RegisterEcsClusterInput) Validate() error {
13875	invalidParams := request.ErrInvalidParams{Context: "RegisterEcsClusterInput"}
13876	if s.EcsClusterArn == nil {
13877		invalidParams.Add(request.NewErrParamRequired("EcsClusterArn"))
13878	}
13879	if s.StackId == nil {
13880		invalidParams.Add(request.NewErrParamRequired("StackId"))
13881	}
13882
13883	if invalidParams.Len() > 0 {
13884		return invalidParams
13885	}
13886	return nil
13887}
13888
13889// SetEcsClusterArn sets the EcsClusterArn field's value.
13890func (s *RegisterEcsClusterInput) SetEcsClusterArn(v string) *RegisterEcsClusterInput {
13891	s.EcsClusterArn = &v
13892	return s
13893}
13894
13895// SetStackId sets the StackId field's value.
13896func (s *RegisterEcsClusterInput) SetStackId(v string) *RegisterEcsClusterInput {
13897	s.StackId = &v
13898	return s
13899}
13900
13901// Contains the response to a RegisterEcsCluster request.
13902type RegisterEcsClusterOutput struct {
13903	_ struct{} `type:"structure"`
13904
13905	// The cluster's ARN.
13906	EcsClusterArn *string `type:"string"`
13907}
13908
13909// String returns the string representation
13910func (s RegisterEcsClusterOutput) String() string {
13911	return awsutil.Prettify(s)
13912}
13913
13914// GoString returns the string representation
13915func (s RegisterEcsClusterOutput) GoString() string {
13916	return s.String()
13917}
13918
13919// SetEcsClusterArn sets the EcsClusterArn field's value.
13920func (s *RegisterEcsClusterOutput) SetEcsClusterArn(v string) *RegisterEcsClusterOutput {
13921	s.EcsClusterArn = &v
13922	return s
13923}
13924
13925type RegisterElasticIpInput struct {
13926	_ struct{} `type:"structure"`
13927
13928	// The Elastic IP address.
13929	//
13930	// ElasticIp is a required field
13931	ElasticIp *string `type:"string" required:"true"`
13932
13933	// The stack ID.
13934	//
13935	// StackId is a required field
13936	StackId *string `type:"string" required:"true"`
13937}
13938
13939// String returns the string representation
13940func (s RegisterElasticIpInput) String() string {
13941	return awsutil.Prettify(s)
13942}
13943
13944// GoString returns the string representation
13945func (s RegisterElasticIpInput) GoString() string {
13946	return s.String()
13947}
13948
13949// Validate inspects the fields of the type to determine if they are valid.
13950func (s *RegisterElasticIpInput) Validate() error {
13951	invalidParams := request.ErrInvalidParams{Context: "RegisterElasticIpInput"}
13952	if s.ElasticIp == nil {
13953		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
13954	}
13955	if s.StackId == nil {
13956		invalidParams.Add(request.NewErrParamRequired("StackId"))
13957	}
13958
13959	if invalidParams.Len() > 0 {
13960		return invalidParams
13961	}
13962	return nil
13963}
13964
13965// SetElasticIp sets the ElasticIp field's value.
13966func (s *RegisterElasticIpInput) SetElasticIp(v string) *RegisterElasticIpInput {
13967	s.ElasticIp = &v
13968	return s
13969}
13970
13971// SetStackId sets the StackId field's value.
13972func (s *RegisterElasticIpInput) SetStackId(v string) *RegisterElasticIpInput {
13973	s.StackId = &v
13974	return s
13975}
13976
13977// Contains the response to a RegisterElasticIp request.
13978type RegisterElasticIpOutput struct {
13979	_ struct{} `type:"structure"`
13980
13981	// The Elastic IP address.
13982	ElasticIp *string `type:"string"`
13983}
13984
13985// String returns the string representation
13986func (s RegisterElasticIpOutput) String() string {
13987	return awsutil.Prettify(s)
13988}
13989
13990// GoString returns the string representation
13991func (s RegisterElasticIpOutput) GoString() string {
13992	return s.String()
13993}
13994
13995// SetElasticIp sets the ElasticIp field's value.
13996func (s *RegisterElasticIpOutput) SetElasticIp(v string) *RegisterElasticIpOutput {
13997	s.ElasticIp = &v
13998	return s
13999}
14000
14001type RegisterInstanceInput struct {
14002	_ struct{} `type:"structure"`
14003
14004	// The instance's hostname.
14005	Hostname *string `type:"string"`
14006
14007	// An InstanceIdentity object that contains the instance's identity.
14008	InstanceIdentity *InstanceIdentity `type:"structure"`
14009
14010	// The instance's private IP address.
14011	PrivateIp *string `type:"string"`
14012
14013	// The instance's public IP address.
14014	PublicIp *string `type:"string"`
14015
14016	// The instances public RSA key. This key is used to encrypt communication between
14017	// the instance and the service.
14018	RsaPublicKey *string `type:"string"`
14019
14020	// The instances public RSA key fingerprint.
14021	RsaPublicKeyFingerprint *string `type:"string"`
14022
14023	// The ID of the stack that the instance is to be registered with.
14024	//
14025	// StackId is a required field
14026	StackId *string `type:"string" required:"true"`
14027}
14028
14029// String returns the string representation
14030func (s RegisterInstanceInput) String() string {
14031	return awsutil.Prettify(s)
14032}
14033
14034// GoString returns the string representation
14035func (s RegisterInstanceInput) GoString() string {
14036	return s.String()
14037}
14038
14039// Validate inspects the fields of the type to determine if they are valid.
14040func (s *RegisterInstanceInput) Validate() error {
14041	invalidParams := request.ErrInvalidParams{Context: "RegisterInstanceInput"}
14042	if s.StackId == nil {
14043		invalidParams.Add(request.NewErrParamRequired("StackId"))
14044	}
14045
14046	if invalidParams.Len() > 0 {
14047		return invalidParams
14048	}
14049	return nil
14050}
14051
14052// SetHostname sets the Hostname field's value.
14053func (s *RegisterInstanceInput) SetHostname(v string) *RegisterInstanceInput {
14054	s.Hostname = &v
14055	return s
14056}
14057
14058// SetInstanceIdentity sets the InstanceIdentity field's value.
14059func (s *RegisterInstanceInput) SetInstanceIdentity(v *InstanceIdentity) *RegisterInstanceInput {
14060	s.InstanceIdentity = v
14061	return s
14062}
14063
14064// SetPrivateIp sets the PrivateIp field's value.
14065func (s *RegisterInstanceInput) SetPrivateIp(v string) *RegisterInstanceInput {
14066	s.PrivateIp = &v
14067	return s
14068}
14069
14070// SetPublicIp sets the PublicIp field's value.
14071func (s *RegisterInstanceInput) SetPublicIp(v string) *RegisterInstanceInput {
14072	s.PublicIp = &v
14073	return s
14074}
14075
14076// SetRsaPublicKey sets the RsaPublicKey field's value.
14077func (s *RegisterInstanceInput) SetRsaPublicKey(v string) *RegisterInstanceInput {
14078	s.RsaPublicKey = &v
14079	return s
14080}
14081
14082// SetRsaPublicKeyFingerprint sets the RsaPublicKeyFingerprint field's value.
14083func (s *RegisterInstanceInput) SetRsaPublicKeyFingerprint(v string) *RegisterInstanceInput {
14084	s.RsaPublicKeyFingerprint = &v
14085	return s
14086}
14087
14088// SetStackId sets the StackId field's value.
14089func (s *RegisterInstanceInput) SetStackId(v string) *RegisterInstanceInput {
14090	s.StackId = &v
14091	return s
14092}
14093
14094// Contains the response to a RegisterInstanceResult request.
14095type RegisterInstanceOutput struct {
14096	_ struct{} `type:"structure"`
14097
14098	// The registered instance's AWS OpsWorks Stacks ID.
14099	InstanceId *string `type:"string"`
14100}
14101
14102// String returns the string representation
14103func (s RegisterInstanceOutput) String() string {
14104	return awsutil.Prettify(s)
14105}
14106
14107// GoString returns the string representation
14108func (s RegisterInstanceOutput) GoString() string {
14109	return s.String()
14110}
14111
14112// SetInstanceId sets the InstanceId field's value.
14113func (s *RegisterInstanceOutput) SetInstanceId(v string) *RegisterInstanceOutput {
14114	s.InstanceId = &v
14115	return s
14116}
14117
14118type RegisterRdsDbInstanceInput struct {
14119	_ struct{} `type:"structure"`
14120
14121	// The database password.
14122	//
14123	// DbPassword is a required field
14124	DbPassword *string `type:"string" required:"true"`
14125
14126	// The database's master user name.
14127	//
14128	// DbUser is a required field
14129	DbUser *string `type:"string" required:"true"`
14130
14131	// The Amazon RDS instance's ARN.
14132	//
14133	// RdsDbInstanceArn is a required field
14134	RdsDbInstanceArn *string `type:"string" required:"true"`
14135
14136	// The stack ID.
14137	//
14138	// StackId is a required field
14139	StackId *string `type:"string" required:"true"`
14140}
14141
14142// String returns the string representation
14143func (s RegisterRdsDbInstanceInput) String() string {
14144	return awsutil.Prettify(s)
14145}
14146
14147// GoString returns the string representation
14148func (s RegisterRdsDbInstanceInput) GoString() string {
14149	return s.String()
14150}
14151
14152// Validate inspects the fields of the type to determine if they are valid.
14153func (s *RegisterRdsDbInstanceInput) Validate() error {
14154	invalidParams := request.ErrInvalidParams{Context: "RegisterRdsDbInstanceInput"}
14155	if s.DbPassword == nil {
14156		invalidParams.Add(request.NewErrParamRequired("DbPassword"))
14157	}
14158	if s.DbUser == nil {
14159		invalidParams.Add(request.NewErrParamRequired("DbUser"))
14160	}
14161	if s.RdsDbInstanceArn == nil {
14162		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
14163	}
14164	if s.StackId == nil {
14165		invalidParams.Add(request.NewErrParamRequired("StackId"))
14166	}
14167
14168	if invalidParams.Len() > 0 {
14169		return invalidParams
14170	}
14171	return nil
14172}
14173
14174// SetDbPassword sets the DbPassword field's value.
14175func (s *RegisterRdsDbInstanceInput) SetDbPassword(v string) *RegisterRdsDbInstanceInput {
14176	s.DbPassword = &v
14177	return s
14178}
14179
14180// SetDbUser sets the DbUser field's value.
14181func (s *RegisterRdsDbInstanceInput) SetDbUser(v string) *RegisterRdsDbInstanceInput {
14182	s.DbUser = &v
14183	return s
14184}
14185
14186// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
14187func (s *RegisterRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *RegisterRdsDbInstanceInput {
14188	s.RdsDbInstanceArn = &v
14189	return s
14190}
14191
14192// SetStackId sets the StackId field's value.
14193func (s *RegisterRdsDbInstanceInput) SetStackId(v string) *RegisterRdsDbInstanceInput {
14194	s.StackId = &v
14195	return s
14196}
14197
14198type RegisterRdsDbInstanceOutput struct {
14199	_ struct{} `type:"structure"`
14200}
14201
14202// String returns the string representation
14203func (s RegisterRdsDbInstanceOutput) String() string {
14204	return awsutil.Prettify(s)
14205}
14206
14207// GoString returns the string representation
14208func (s RegisterRdsDbInstanceOutput) GoString() string {
14209	return s.String()
14210}
14211
14212type RegisterVolumeInput struct {
14213	_ struct{} `type:"structure"`
14214
14215	// The Amazon EBS volume ID.
14216	Ec2VolumeId *string `type:"string"`
14217
14218	// The stack ID.
14219	//
14220	// StackId is a required field
14221	StackId *string `type:"string" required:"true"`
14222}
14223
14224// String returns the string representation
14225func (s RegisterVolumeInput) String() string {
14226	return awsutil.Prettify(s)
14227}
14228
14229// GoString returns the string representation
14230func (s RegisterVolumeInput) GoString() string {
14231	return s.String()
14232}
14233
14234// Validate inspects the fields of the type to determine if they are valid.
14235func (s *RegisterVolumeInput) Validate() error {
14236	invalidParams := request.ErrInvalidParams{Context: "RegisterVolumeInput"}
14237	if s.StackId == nil {
14238		invalidParams.Add(request.NewErrParamRequired("StackId"))
14239	}
14240
14241	if invalidParams.Len() > 0 {
14242		return invalidParams
14243	}
14244	return nil
14245}
14246
14247// SetEc2VolumeId sets the Ec2VolumeId field's value.
14248func (s *RegisterVolumeInput) SetEc2VolumeId(v string) *RegisterVolumeInput {
14249	s.Ec2VolumeId = &v
14250	return s
14251}
14252
14253// SetStackId sets the StackId field's value.
14254func (s *RegisterVolumeInput) SetStackId(v string) *RegisterVolumeInput {
14255	s.StackId = &v
14256	return s
14257}
14258
14259// Contains the response to a RegisterVolume request.
14260type RegisterVolumeOutput struct {
14261	_ struct{} `type:"structure"`
14262
14263	// The volume ID.
14264	VolumeId *string `type:"string"`
14265}
14266
14267// String returns the string representation
14268func (s RegisterVolumeOutput) String() string {
14269	return awsutil.Prettify(s)
14270}
14271
14272// GoString returns the string representation
14273func (s RegisterVolumeOutput) GoString() string {
14274	return s.String()
14275}
14276
14277// SetVolumeId sets the VolumeId field's value.
14278func (s *RegisterVolumeOutput) SetVolumeId(v string) *RegisterVolumeOutput {
14279	s.VolumeId = &v
14280	return s
14281}
14282
14283// A registered instance's reported operating system.
14284type ReportedOs struct {
14285	_ struct{} `type:"structure"`
14286
14287	// The operating system family.
14288	Family *string `type:"string"`
14289
14290	// The operating system name.
14291	Name *string `type:"string"`
14292
14293	// The operating system version.
14294	Version *string `type:"string"`
14295}
14296
14297// String returns the string representation
14298func (s ReportedOs) String() string {
14299	return awsutil.Prettify(s)
14300}
14301
14302// GoString returns the string representation
14303func (s ReportedOs) GoString() string {
14304	return s.String()
14305}
14306
14307// SetFamily sets the Family field's value.
14308func (s *ReportedOs) SetFamily(v string) *ReportedOs {
14309	s.Family = &v
14310	return s
14311}
14312
14313// SetName sets the Name field's value.
14314func (s *ReportedOs) SetName(v string) *ReportedOs {
14315	s.Name = &v
14316	return s
14317}
14318
14319// SetVersion sets the Version field's value.
14320func (s *ReportedOs) SetVersion(v string) *ReportedOs {
14321	s.Version = &v
14322	return s
14323}
14324
14325// Indicates that a resource was not found.
14326type ResourceNotFoundException struct {
14327	_            struct{}                  `type:"structure"`
14328	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14329
14330	// The exception message.
14331	Message_ *string `locationName:"message" type:"string"`
14332}
14333
14334// String returns the string representation
14335func (s ResourceNotFoundException) String() string {
14336	return awsutil.Prettify(s)
14337}
14338
14339// GoString returns the string representation
14340func (s ResourceNotFoundException) GoString() string {
14341	return s.String()
14342}
14343
14344func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
14345	return &ResourceNotFoundException{
14346		RespMetadata: v,
14347	}
14348}
14349
14350// Code returns the exception type name.
14351func (s *ResourceNotFoundException) Code() string {
14352	return "ResourceNotFoundException"
14353}
14354
14355// Message returns the exception's message.
14356func (s *ResourceNotFoundException) Message() string {
14357	if s.Message_ != nil {
14358		return *s.Message_
14359	}
14360	return ""
14361}
14362
14363// OrigErr always returns nil, satisfies awserr.Error interface.
14364func (s *ResourceNotFoundException) OrigErr() error {
14365	return nil
14366}
14367
14368func (s *ResourceNotFoundException) Error() string {
14369	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14370}
14371
14372// Status code returns the HTTP status code for the request's response error.
14373func (s *ResourceNotFoundException) StatusCode() int {
14374	return s.RespMetadata.StatusCode
14375}
14376
14377// RequestID returns the service's response RequestID for request.
14378func (s *ResourceNotFoundException) RequestID() string {
14379	return s.RespMetadata.RequestID
14380}
14381
14382// Describes a user's SSH information.
14383type SelfUserProfile struct {
14384	_ struct{} `type:"structure"`
14385
14386	// The user's IAM ARN.
14387	IamUserArn *string `type:"string"`
14388
14389	// The user's name.
14390	Name *string `type:"string"`
14391
14392	// The user's SSH public key.
14393	SshPublicKey *string `type:"string"`
14394
14395	// The user's SSH user name.
14396	SshUsername *string `type:"string"`
14397}
14398
14399// String returns the string representation
14400func (s SelfUserProfile) String() string {
14401	return awsutil.Prettify(s)
14402}
14403
14404// GoString returns the string representation
14405func (s SelfUserProfile) GoString() string {
14406	return s.String()
14407}
14408
14409// SetIamUserArn sets the IamUserArn field's value.
14410func (s *SelfUserProfile) SetIamUserArn(v string) *SelfUserProfile {
14411	s.IamUserArn = &v
14412	return s
14413}
14414
14415// SetName sets the Name field's value.
14416func (s *SelfUserProfile) SetName(v string) *SelfUserProfile {
14417	s.Name = &v
14418	return s
14419}
14420
14421// SetSshPublicKey sets the SshPublicKey field's value.
14422func (s *SelfUserProfile) SetSshPublicKey(v string) *SelfUserProfile {
14423	s.SshPublicKey = &v
14424	return s
14425}
14426
14427// SetSshUsername sets the SshUsername field's value.
14428func (s *SelfUserProfile) SetSshUsername(v string) *SelfUserProfile {
14429	s.SshUsername = &v
14430	return s
14431}
14432
14433// Describes an AWS OpsWorks Stacks service error.
14434type ServiceError struct {
14435	_ struct{} `type:"structure"`
14436
14437	// When the error occurred.
14438	CreatedAt *string `type:"string"`
14439
14440	// The instance ID.
14441	InstanceId *string `type:"string"`
14442
14443	// A message that describes the error.
14444	Message *string `type:"string"`
14445
14446	// The error ID.
14447	ServiceErrorId *string `type:"string"`
14448
14449	// The stack ID.
14450	StackId *string `type:"string"`
14451
14452	// The error type.
14453	Type *string `type:"string"`
14454}
14455
14456// String returns the string representation
14457func (s ServiceError) String() string {
14458	return awsutil.Prettify(s)
14459}
14460
14461// GoString returns the string representation
14462func (s ServiceError) GoString() string {
14463	return s.String()
14464}
14465
14466// SetCreatedAt sets the CreatedAt field's value.
14467func (s *ServiceError) SetCreatedAt(v string) *ServiceError {
14468	s.CreatedAt = &v
14469	return s
14470}
14471
14472// SetInstanceId sets the InstanceId field's value.
14473func (s *ServiceError) SetInstanceId(v string) *ServiceError {
14474	s.InstanceId = &v
14475	return s
14476}
14477
14478// SetMessage sets the Message field's value.
14479func (s *ServiceError) SetMessage(v string) *ServiceError {
14480	s.Message = &v
14481	return s
14482}
14483
14484// SetServiceErrorId sets the ServiceErrorId field's value.
14485func (s *ServiceError) SetServiceErrorId(v string) *ServiceError {
14486	s.ServiceErrorId = &v
14487	return s
14488}
14489
14490// SetStackId sets the StackId field's value.
14491func (s *ServiceError) SetStackId(v string) *ServiceError {
14492	s.StackId = &v
14493	return s
14494}
14495
14496// SetType sets the Type field's value.
14497func (s *ServiceError) SetType(v string) *ServiceError {
14498	s.Type = &v
14499	return s
14500}
14501
14502type SetLoadBasedAutoScalingInput struct {
14503	_ struct{} `type:"structure"`
14504
14505	// An AutoScalingThresholds object with the downscaling threshold configuration.
14506	// If the load falls below these thresholds for a specified amount of time,
14507	// AWS OpsWorks Stacks stops a specified number of instances.
14508	DownScaling *AutoScalingThresholds `type:"structure"`
14509
14510	// Enables load-based auto scaling for the layer.
14511	Enable *bool `type:"boolean"`
14512
14513	// The layer ID.
14514	//
14515	// LayerId is a required field
14516	LayerId *string `type:"string" required:"true"`
14517
14518	// An AutoScalingThresholds object with the upscaling threshold configuration.
14519	// If the load exceeds these thresholds for a specified amount of time, AWS
14520	// OpsWorks Stacks starts a specified number of instances.
14521	UpScaling *AutoScalingThresholds `type:"structure"`
14522}
14523
14524// String returns the string representation
14525func (s SetLoadBasedAutoScalingInput) String() string {
14526	return awsutil.Prettify(s)
14527}
14528
14529// GoString returns the string representation
14530func (s SetLoadBasedAutoScalingInput) GoString() string {
14531	return s.String()
14532}
14533
14534// Validate inspects the fields of the type to determine if they are valid.
14535func (s *SetLoadBasedAutoScalingInput) Validate() error {
14536	invalidParams := request.ErrInvalidParams{Context: "SetLoadBasedAutoScalingInput"}
14537	if s.LayerId == nil {
14538		invalidParams.Add(request.NewErrParamRequired("LayerId"))
14539	}
14540	if s.DownScaling != nil {
14541		if err := s.DownScaling.Validate(); err != nil {
14542			invalidParams.AddNested("DownScaling", err.(request.ErrInvalidParams))
14543		}
14544	}
14545	if s.UpScaling != nil {
14546		if err := s.UpScaling.Validate(); err != nil {
14547			invalidParams.AddNested("UpScaling", err.(request.ErrInvalidParams))
14548		}
14549	}
14550
14551	if invalidParams.Len() > 0 {
14552		return invalidParams
14553	}
14554	return nil
14555}
14556
14557// SetDownScaling sets the DownScaling field's value.
14558func (s *SetLoadBasedAutoScalingInput) SetDownScaling(v *AutoScalingThresholds) *SetLoadBasedAutoScalingInput {
14559	s.DownScaling = v
14560	return s
14561}
14562
14563// SetEnable sets the Enable field's value.
14564func (s *SetLoadBasedAutoScalingInput) SetEnable(v bool) *SetLoadBasedAutoScalingInput {
14565	s.Enable = &v
14566	return s
14567}
14568
14569// SetLayerId sets the LayerId field's value.
14570func (s *SetLoadBasedAutoScalingInput) SetLayerId(v string) *SetLoadBasedAutoScalingInput {
14571	s.LayerId = &v
14572	return s
14573}
14574
14575// SetUpScaling sets the UpScaling field's value.
14576func (s *SetLoadBasedAutoScalingInput) SetUpScaling(v *AutoScalingThresholds) *SetLoadBasedAutoScalingInput {
14577	s.UpScaling = v
14578	return s
14579}
14580
14581type SetLoadBasedAutoScalingOutput struct {
14582	_ struct{} `type:"structure"`
14583}
14584
14585// String returns the string representation
14586func (s SetLoadBasedAutoScalingOutput) String() string {
14587	return awsutil.Prettify(s)
14588}
14589
14590// GoString returns the string representation
14591func (s SetLoadBasedAutoScalingOutput) GoString() string {
14592	return s.String()
14593}
14594
14595type SetPermissionInput struct {
14596	_ struct{} `type:"structure"`
14597
14598	// The user is allowed to use SSH to communicate with the instance.
14599	AllowSsh *bool `type:"boolean"`
14600
14601	// The user is allowed to use sudo to elevate privileges.
14602	AllowSudo *bool `type:"boolean"`
14603
14604	// The user's IAM ARN. This can also be a federated user's ARN.
14605	//
14606	// IamUserArn is a required field
14607	IamUserArn *string `type:"string" required:"true"`
14608
14609	// The user's permission level, which must be set to one of the following strings.
14610	// You cannot set your own permissions level.
14611	//
14612	//    * deny
14613	//
14614	//    * show
14615	//
14616	//    * deploy
14617	//
14618	//    * manage
14619	//
14620	//    * iam_only
14621	//
14622	// For more information about the permissions associated with these levels,
14623	// see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
14624	Level *string `type:"string"`
14625
14626	// The stack ID.
14627	//
14628	// StackId is a required field
14629	StackId *string `type:"string" required:"true"`
14630}
14631
14632// String returns the string representation
14633func (s SetPermissionInput) String() string {
14634	return awsutil.Prettify(s)
14635}
14636
14637// GoString returns the string representation
14638func (s SetPermissionInput) GoString() string {
14639	return s.String()
14640}
14641
14642// Validate inspects the fields of the type to determine if they are valid.
14643func (s *SetPermissionInput) Validate() error {
14644	invalidParams := request.ErrInvalidParams{Context: "SetPermissionInput"}
14645	if s.IamUserArn == nil {
14646		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
14647	}
14648	if s.StackId == nil {
14649		invalidParams.Add(request.NewErrParamRequired("StackId"))
14650	}
14651
14652	if invalidParams.Len() > 0 {
14653		return invalidParams
14654	}
14655	return nil
14656}
14657
14658// SetAllowSsh sets the AllowSsh field's value.
14659func (s *SetPermissionInput) SetAllowSsh(v bool) *SetPermissionInput {
14660	s.AllowSsh = &v
14661	return s
14662}
14663
14664// SetAllowSudo sets the AllowSudo field's value.
14665func (s *SetPermissionInput) SetAllowSudo(v bool) *SetPermissionInput {
14666	s.AllowSudo = &v
14667	return s
14668}
14669
14670// SetIamUserArn sets the IamUserArn field's value.
14671func (s *SetPermissionInput) SetIamUserArn(v string) *SetPermissionInput {
14672	s.IamUserArn = &v
14673	return s
14674}
14675
14676// SetLevel sets the Level field's value.
14677func (s *SetPermissionInput) SetLevel(v string) *SetPermissionInput {
14678	s.Level = &v
14679	return s
14680}
14681
14682// SetStackId sets the StackId field's value.
14683func (s *SetPermissionInput) SetStackId(v string) *SetPermissionInput {
14684	s.StackId = &v
14685	return s
14686}
14687
14688type SetPermissionOutput struct {
14689	_ struct{} `type:"structure"`
14690}
14691
14692// String returns the string representation
14693func (s SetPermissionOutput) String() string {
14694	return awsutil.Prettify(s)
14695}
14696
14697// GoString returns the string representation
14698func (s SetPermissionOutput) GoString() string {
14699	return s.String()
14700}
14701
14702type SetTimeBasedAutoScalingInput struct {
14703	_ struct{} `type:"structure"`
14704
14705	// An AutoScalingSchedule with the instance schedule.
14706	AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"`
14707
14708	// The instance ID.
14709	//
14710	// InstanceId is a required field
14711	InstanceId *string `type:"string" required:"true"`
14712}
14713
14714// String returns the string representation
14715func (s SetTimeBasedAutoScalingInput) String() string {
14716	return awsutil.Prettify(s)
14717}
14718
14719// GoString returns the string representation
14720func (s SetTimeBasedAutoScalingInput) GoString() string {
14721	return s.String()
14722}
14723
14724// Validate inspects the fields of the type to determine if they are valid.
14725func (s *SetTimeBasedAutoScalingInput) Validate() error {
14726	invalidParams := request.ErrInvalidParams{Context: "SetTimeBasedAutoScalingInput"}
14727	if s.InstanceId == nil {
14728		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14729	}
14730
14731	if invalidParams.Len() > 0 {
14732		return invalidParams
14733	}
14734	return nil
14735}
14736
14737// SetAutoScalingSchedule sets the AutoScalingSchedule field's value.
14738func (s *SetTimeBasedAutoScalingInput) SetAutoScalingSchedule(v *WeeklyAutoScalingSchedule) *SetTimeBasedAutoScalingInput {
14739	s.AutoScalingSchedule = v
14740	return s
14741}
14742
14743// SetInstanceId sets the InstanceId field's value.
14744func (s *SetTimeBasedAutoScalingInput) SetInstanceId(v string) *SetTimeBasedAutoScalingInput {
14745	s.InstanceId = &v
14746	return s
14747}
14748
14749type SetTimeBasedAutoScalingOutput struct {
14750	_ struct{} `type:"structure"`
14751}
14752
14753// String returns the string representation
14754func (s SetTimeBasedAutoScalingOutput) String() string {
14755	return awsutil.Prettify(s)
14756}
14757
14758// GoString returns the string representation
14759func (s SetTimeBasedAutoScalingOutput) GoString() string {
14760	return s.String()
14761}
14762
14763// The Shutdown event configuration.
14764type ShutdownEventConfiguration struct {
14765	_ struct{} `type:"structure"`
14766
14767	// Whether to enable Elastic Load Balancing connection draining. For more information,
14768	// see Connection Draining (https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain)
14769	DelayUntilElbConnectionsDrained *bool `type:"boolean"`
14770
14771	// The time, in seconds, that AWS OpsWorks Stacks will wait after triggering
14772	// a Shutdown event before shutting down an instance.
14773	ExecutionTimeout *int64 `type:"integer"`
14774}
14775
14776// String returns the string representation
14777func (s ShutdownEventConfiguration) String() string {
14778	return awsutil.Prettify(s)
14779}
14780
14781// GoString returns the string representation
14782func (s ShutdownEventConfiguration) GoString() string {
14783	return s.String()
14784}
14785
14786// SetDelayUntilElbConnectionsDrained sets the DelayUntilElbConnectionsDrained field's value.
14787func (s *ShutdownEventConfiguration) SetDelayUntilElbConnectionsDrained(v bool) *ShutdownEventConfiguration {
14788	s.DelayUntilElbConnectionsDrained = &v
14789	return s
14790}
14791
14792// SetExecutionTimeout sets the ExecutionTimeout field's value.
14793func (s *ShutdownEventConfiguration) SetExecutionTimeout(v int64) *ShutdownEventConfiguration {
14794	s.ExecutionTimeout = &v
14795	return s
14796}
14797
14798// Contains the information required to retrieve an app or cookbook from a repository.
14799// For more information, see Creating Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
14800// or Custom Recipes and Cookbooks (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
14801type Source struct {
14802	_ struct{} `type:"structure"`
14803
14804	// When included in a request, the parameter depends on the repository type.
14805	//
14806	//    * For Amazon S3 bundles, set Password to the appropriate IAM secret access
14807	//    key.
14808	//
14809	//    * For HTTP bundles and Subversion repositories, set Password to the password.
14810	//
14811	// For more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html
14812	// (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
14813	//
14814	// In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the
14815	// actual value.
14816	Password *string `type:"string"`
14817
14818	// The application's version. AWS OpsWorks Stacks enables you to easily deploy
14819	// new versions of an application. One of the simplest approaches is to have
14820	// branches or revisions in your repository that represent different versions
14821	// that can potentially be deployed.
14822	Revision *string `type:"string"`
14823
14824	// In requests, the repository's SSH key.
14825	//
14826	// In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the
14827	// actual value.
14828	SshKey *string `type:"string"`
14829
14830	// The repository type.
14831	Type *string `type:"string" enum:"SourceType"`
14832
14833	// The source URL. The following is an example of an Amazon S3 source URL: https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.
14834	Url *string `type:"string"`
14835
14836	// This parameter depends on the repository type.
14837	//
14838	//    * For Amazon S3 bundles, set Username to the appropriate IAM access key
14839	//    ID.
14840	//
14841	//    * For HTTP bundles, Git repositories, and Subversion repositories, set
14842	//    Username to the user name.
14843	Username *string `type:"string"`
14844}
14845
14846// String returns the string representation
14847func (s Source) String() string {
14848	return awsutil.Prettify(s)
14849}
14850
14851// GoString returns the string representation
14852func (s Source) GoString() string {
14853	return s.String()
14854}
14855
14856// SetPassword sets the Password field's value.
14857func (s *Source) SetPassword(v string) *Source {
14858	s.Password = &v
14859	return s
14860}
14861
14862// SetRevision sets the Revision field's value.
14863func (s *Source) SetRevision(v string) *Source {
14864	s.Revision = &v
14865	return s
14866}
14867
14868// SetSshKey sets the SshKey field's value.
14869func (s *Source) SetSshKey(v string) *Source {
14870	s.SshKey = &v
14871	return s
14872}
14873
14874// SetType sets the Type field's value.
14875func (s *Source) SetType(v string) *Source {
14876	s.Type = &v
14877	return s
14878}
14879
14880// SetUrl sets the Url field's value.
14881func (s *Source) SetUrl(v string) *Source {
14882	s.Url = &v
14883	return s
14884}
14885
14886// SetUsername sets the Username field's value.
14887func (s *Source) SetUsername(v string) *Source {
14888	s.Username = &v
14889	return s
14890}
14891
14892// Describes an app's SSL configuration.
14893type SslConfiguration struct {
14894	_ struct{} `type:"structure"`
14895
14896	// The contents of the certificate's domain.crt file.
14897	//
14898	// Certificate is a required field
14899	Certificate *string `type:"string" required:"true"`
14900
14901	// Optional. Can be used to specify an intermediate certificate authority key
14902	// or client authentication.
14903	Chain *string `type:"string"`
14904
14905	// The private key; the contents of the certificate's domain.kex file.
14906	//
14907	// PrivateKey is a required field
14908	PrivateKey *string `type:"string" required:"true"`
14909}
14910
14911// String returns the string representation
14912func (s SslConfiguration) String() string {
14913	return awsutil.Prettify(s)
14914}
14915
14916// GoString returns the string representation
14917func (s SslConfiguration) GoString() string {
14918	return s.String()
14919}
14920
14921// Validate inspects the fields of the type to determine if they are valid.
14922func (s *SslConfiguration) Validate() error {
14923	invalidParams := request.ErrInvalidParams{Context: "SslConfiguration"}
14924	if s.Certificate == nil {
14925		invalidParams.Add(request.NewErrParamRequired("Certificate"))
14926	}
14927	if s.PrivateKey == nil {
14928		invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
14929	}
14930
14931	if invalidParams.Len() > 0 {
14932		return invalidParams
14933	}
14934	return nil
14935}
14936
14937// SetCertificate sets the Certificate field's value.
14938func (s *SslConfiguration) SetCertificate(v string) *SslConfiguration {
14939	s.Certificate = &v
14940	return s
14941}
14942
14943// SetChain sets the Chain field's value.
14944func (s *SslConfiguration) SetChain(v string) *SslConfiguration {
14945	s.Chain = &v
14946	return s
14947}
14948
14949// SetPrivateKey sets the PrivateKey field's value.
14950func (s *SslConfiguration) SetPrivateKey(v string) *SslConfiguration {
14951	s.PrivateKey = &v
14952	return s
14953}
14954
14955// Describes a stack.
14956type Stack struct {
14957	_ struct{} `type:"structure"`
14958
14959	// The agent version. This parameter is set to LATEST for auto-update. or a
14960	// version number for a fixed agent version.
14961	AgentVersion *string `type:"string"`
14962
14963	// The stack's ARN.
14964	Arn *string `type:"string"`
14965
14966	// The stack's attributes.
14967	Attributes map[string]*string `type:"map"`
14968
14969	// A ChefConfiguration object that specifies whether to enable Berkshelf and
14970	// the Berkshelf version. For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
14971	ChefConfiguration *ChefConfiguration `type:"structure"`
14972
14973	// The configuration manager.
14974	ConfigurationManager *StackConfigurationManager `type:"structure"`
14975
14976	// The date when the stack was created.
14977	CreatedAt *string `type:"string"`
14978
14979	// Contains the information required to retrieve an app or cookbook from a repository.
14980	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
14981	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
14982	CustomCookbooksSource *Source `type:"structure"`
14983
14984	// A JSON object that contains user-defined attributes to be added to the stack
14985	// configuration and deployment attributes. You can use custom JSON to override
14986	// the corresponding default stack configuration attribute values or to pass
14987	// data to recipes. The string should be in the following format:
14988	//
14989	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
14990	//
14991	// For more information on custom JSON, see Use Custom JSON to Modify the Stack
14992	// Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
14993	CustomJson *string `type:"string"`
14994
14995	// The stack's default Availability Zone. For more information, see Regions
14996	// and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
14997	DefaultAvailabilityZone *string `type:"string"`
14998
14999	// The ARN of an IAM profile that is the default profile for all of the stack's
15000	// EC2 instances. For more information about IAM ARNs, see Using Identifiers
15001	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
15002	DefaultInstanceProfileArn *string `type:"string"`
15003
15004	// The stack's default operating system.
15005	DefaultOs *string `type:"string"`
15006
15007	// The default root device type. This value is used by default for all instances
15008	// in the stack, but you can override it when you create an instance. For more
15009	// information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
15010	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
15011
15012	// A default Amazon EC2 key pair for the stack's instances. You can override
15013	// this value when you create or update an instance.
15014	DefaultSshKeyName *string `type:"string"`
15015
15016	// The default subnet ID; applicable only if the stack is running in a VPC.
15017	DefaultSubnetId *string `type:"string"`
15018
15019	// The stack host name theme, with spaces replaced by underscores.
15020	HostnameTheme *string `type:"string"`
15021
15022	// The stack name.
15023	Name *string `type:"string"`
15024
15025	// The stack AWS region, such as "ap-northeast-2". For more information about
15026	// AWS regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
15027	Region *string `type:"string"`
15028
15029	// The stack AWS Identity and Access Management (IAM) role.
15030	ServiceRoleArn *string `type:"string"`
15031
15032	// The stack ID.
15033	StackId *string `type:"string"`
15034
15035	// Whether the stack uses custom cookbooks.
15036	UseCustomCookbooks *bool `type:"boolean"`
15037
15038	// Whether the stack automatically associates the AWS OpsWorks Stacks built-in
15039	// security groups with the stack's layers.
15040	UseOpsworksSecurityGroups *bool `type:"boolean"`
15041
15042	// The VPC ID; applicable only if the stack is running in a VPC.
15043	VpcId *string `type:"string"`
15044}
15045
15046// String returns the string representation
15047func (s Stack) String() string {
15048	return awsutil.Prettify(s)
15049}
15050
15051// GoString returns the string representation
15052func (s Stack) GoString() string {
15053	return s.String()
15054}
15055
15056// SetAgentVersion sets the AgentVersion field's value.
15057func (s *Stack) SetAgentVersion(v string) *Stack {
15058	s.AgentVersion = &v
15059	return s
15060}
15061
15062// SetArn sets the Arn field's value.
15063func (s *Stack) SetArn(v string) *Stack {
15064	s.Arn = &v
15065	return s
15066}
15067
15068// SetAttributes sets the Attributes field's value.
15069func (s *Stack) SetAttributes(v map[string]*string) *Stack {
15070	s.Attributes = v
15071	return s
15072}
15073
15074// SetChefConfiguration sets the ChefConfiguration field's value.
15075func (s *Stack) SetChefConfiguration(v *ChefConfiguration) *Stack {
15076	s.ChefConfiguration = v
15077	return s
15078}
15079
15080// SetConfigurationManager sets the ConfigurationManager field's value.
15081func (s *Stack) SetConfigurationManager(v *StackConfigurationManager) *Stack {
15082	s.ConfigurationManager = v
15083	return s
15084}
15085
15086// SetCreatedAt sets the CreatedAt field's value.
15087func (s *Stack) SetCreatedAt(v string) *Stack {
15088	s.CreatedAt = &v
15089	return s
15090}
15091
15092// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
15093func (s *Stack) SetCustomCookbooksSource(v *Source) *Stack {
15094	s.CustomCookbooksSource = v
15095	return s
15096}
15097
15098// SetCustomJson sets the CustomJson field's value.
15099func (s *Stack) SetCustomJson(v string) *Stack {
15100	s.CustomJson = &v
15101	return s
15102}
15103
15104// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
15105func (s *Stack) SetDefaultAvailabilityZone(v string) *Stack {
15106	s.DefaultAvailabilityZone = &v
15107	return s
15108}
15109
15110// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
15111func (s *Stack) SetDefaultInstanceProfileArn(v string) *Stack {
15112	s.DefaultInstanceProfileArn = &v
15113	return s
15114}
15115
15116// SetDefaultOs sets the DefaultOs field's value.
15117func (s *Stack) SetDefaultOs(v string) *Stack {
15118	s.DefaultOs = &v
15119	return s
15120}
15121
15122// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
15123func (s *Stack) SetDefaultRootDeviceType(v string) *Stack {
15124	s.DefaultRootDeviceType = &v
15125	return s
15126}
15127
15128// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
15129func (s *Stack) SetDefaultSshKeyName(v string) *Stack {
15130	s.DefaultSshKeyName = &v
15131	return s
15132}
15133
15134// SetDefaultSubnetId sets the DefaultSubnetId field's value.
15135func (s *Stack) SetDefaultSubnetId(v string) *Stack {
15136	s.DefaultSubnetId = &v
15137	return s
15138}
15139
15140// SetHostnameTheme sets the HostnameTheme field's value.
15141func (s *Stack) SetHostnameTheme(v string) *Stack {
15142	s.HostnameTheme = &v
15143	return s
15144}
15145
15146// SetName sets the Name field's value.
15147func (s *Stack) SetName(v string) *Stack {
15148	s.Name = &v
15149	return s
15150}
15151
15152// SetRegion sets the Region field's value.
15153func (s *Stack) SetRegion(v string) *Stack {
15154	s.Region = &v
15155	return s
15156}
15157
15158// SetServiceRoleArn sets the ServiceRoleArn field's value.
15159func (s *Stack) SetServiceRoleArn(v string) *Stack {
15160	s.ServiceRoleArn = &v
15161	return s
15162}
15163
15164// SetStackId sets the StackId field's value.
15165func (s *Stack) SetStackId(v string) *Stack {
15166	s.StackId = &v
15167	return s
15168}
15169
15170// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
15171func (s *Stack) SetUseCustomCookbooks(v bool) *Stack {
15172	s.UseCustomCookbooks = &v
15173	return s
15174}
15175
15176// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
15177func (s *Stack) SetUseOpsworksSecurityGroups(v bool) *Stack {
15178	s.UseOpsworksSecurityGroups = &v
15179	return s
15180}
15181
15182// SetVpcId sets the VpcId field's value.
15183func (s *Stack) SetVpcId(v string) *Stack {
15184	s.VpcId = &v
15185	return s
15186}
15187
15188// Describes the configuration manager.
15189type StackConfigurationManager struct {
15190	_ struct{} `type:"structure"`
15191
15192	// The name. This parameter must be set to "Chef".
15193	Name *string `type:"string"`
15194
15195	// The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux
15196	// stacks, and to 12.2 for Windows stacks. The default value for Linux stacks
15197	// is 11.4.
15198	Version *string `type:"string"`
15199}
15200
15201// String returns the string representation
15202func (s StackConfigurationManager) String() string {
15203	return awsutil.Prettify(s)
15204}
15205
15206// GoString returns the string representation
15207func (s StackConfigurationManager) GoString() string {
15208	return s.String()
15209}
15210
15211// SetName sets the Name field's value.
15212func (s *StackConfigurationManager) SetName(v string) *StackConfigurationManager {
15213	s.Name = &v
15214	return s
15215}
15216
15217// SetVersion sets the Version field's value.
15218func (s *StackConfigurationManager) SetVersion(v string) *StackConfigurationManager {
15219	s.Version = &v
15220	return s
15221}
15222
15223// Summarizes the number of layers, instances, and apps in a stack.
15224type StackSummary struct {
15225	_ struct{} `type:"structure"`
15226
15227	// The number of apps.
15228	AppsCount *int64 `type:"integer"`
15229
15230	// The stack's ARN.
15231	Arn *string `type:"string"`
15232
15233	// An InstancesCount object with the number of instances in each status.
15234	InstancesCount *InstancesCount `type:"structure"`
15235
15236	// The number of layers.
15237	LayersCount *int64 `type:"integer"`
15238
15239	// The stack name.
15240	Name *string `type:"string"`
15241
15242	// The stack ID.
15243	StackId *string `type:"string"`
15244}
15245
15246// String returns the string representation
15247func (s StackSummary) String() string {
15248	return awsutil.Prettify(s)
15249}
15250
15251// GoString returns the string representation
15252func (s StackSummary) GoString() string {
15253	return s.String()
15254}
15255
15256// SetAppsCount sets the AppsCount field's value.
15257func (s *StackSummary) SetAppsCount(v int64) *StackSummary {
15258	s.AppsCount = &v
15259	return s
15260}
15261
15262// SetArn sets the Arn field's value.
15263func (s *StackSummary) SetArn(v string) *StackSummary {
15264	s.Arn = &v
15265	return s
15266}
15267
15268// SetInstancesCount sets the InstancesCount field's value.
15269func (s *StackSummary) SetInstancesCount(v *InstancesCount) *StackSummary {
15270	s.InstancesCount = v
15271	return s
15272}
15273
15274// SetLayersCount sets the LayersCount field's value.
15275func (s *StackSummary) SetLayersCount(v int64) *StackSummary {
15276	s.LayersCount = &v
15277	return s
15278}
15279
15280// SetName sets the Name field's value.
15281func (s *StackSummary) SetName(v string) *StackSummary {
15282	s.Name = &v
15283	return s
15284}
15285
15286// SetStackId sets the StackId field's value.
15287func (s *StackSummary) SetStackId(v string) *StackSummary {
15288	s.StackId = &v
15289	return s
15290}
15291
15292type StartInstanceInput struct {
15293	_ struct{} `type:"structure"`
15294
15295	// The instance ID.
15296	//
15297	// InstanceId is a required field
15298	InstanceId *string `type:"string" required:"true"`
15299}
15300
15301// String returns the string representation
15302func (s StartInstanceInput) String() string {
15303	return awsutil.Prettify(s)
15304}
15305
15306// GoString returns the string representation
15307func (s StartInstanceInput) GoString() string {
15308	return s.String()
15309}
15310
15311// Validate inspects the fields of the type to determine if they are valid.
15312func (s *StartInstanceInput) Validate() error {
15313	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
15314	if s.InstanceId == nil {
15315		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15316	}
15317
15318	if invalidParams.Len() > 0 {
15319		return invalidParams
15320	}
15321	return nil
15322}
15323
15324// SetInstanceId sets the InstanceId field's value.
15325func (s *StartInstanceInput) SetInstanceId(v string) *StartInstanceInput {
15326	s.InstanceId = &v
15327	return s
15328}
15329
15330type StartInstanceOutput struct {
15331	_ struct{} `type:"structure"`
15332}
15333
15334// String returns the string representation
15335func (s StartInstanceOutput) String() string {
15336	return awsutil.Prettify(s)
15337}
15338
15339// GoString returns the string representation
15340func (s StartInstanceOutput) GoString() string {
15341	return s.String()
15342}
15343
15344type StartStackInput struct {
15345	_ struct{} `type:"structure"`
15346
15347	// The stack ID.
15348	//
15349	// StackId is a required field
15350	StackId *string `type:"string" required:"true"`
15351}
15352
15353// String returns the string representation
15354func (s StartStackInput) String() string {
15355	return awsutil.Prettify(s)
15356}
15357
15358// GoString returns the string representation
15359func (s StartStackInput) GoString() string {
15360	return s.String()
15361}
15362
15363// Validate inspects the fields of the type to determine if they are valid.
15364func (s *StartStackInput) Validate() error {
15365	invalidParams := request.ErrInvalidParams{Context: "StartStackInput"}
15366	if s.StackId == nil {
15367		invalidParams.Add(request.NewErrParamRequired("StackId"))
15368	}
15369
15370	if invalidParams.Len() > 0 {
15371		return invalidParams
15372	}
15373	return nil
15374}
15375
15376// SetStackId sets the StackId field's value.
15377func (s *StartStackInput) SetStackId(v string) *StartStackInput {
15378	s.StackId = &v
15379	return s
15380}
15381
15382type StartStackOutput struct {
15383	_ struct{} `type:"structure"`
15384}
15385
15386// String returns the string representation
15387func (s StartStackOutput) String() string {
15388	return awsutil.Prettify(s)
15389}
15390
15391// GoString returns the string representation
15392func (s StartStackOutput) GoString() string {
15393	return s.String()
15394}
15395
15396type StopInstanceInput struct {
15397	_ struct{} `type:"structure"`
15398
15399	// Specifies whether to force an instance to stop. If the instance's root device
15400	// type is ebs, or EBS-backed, adding the Force parameter to the StopInstances
15401	// API call disassociates the AWS OpsWorks Stacks instance from EC2, and forces
15402	// deletion of only the OpsWorks Stacks instance. You must also delete the formerly-associated
15403	// instance in EC2 after troubleshooting and replacing the AWS OpsWorks Stacks
15404	// instance with a new one.
15405	Force *bool `type:"boolean"`
15406
15407	// The instance ID.
15408	//
15409	// InstanceId is a required field
15410	InstanceId *string `type:"string" required:"true"`
15411}
15412
15413// String returns the string representation
15414func (s StopInstanceInput) String() string {
15415	return awsutil.Prettify(s)
15416}
15417
15418// GoString returns the string representation
15419func (s StopInstanceInput) GoString() string {
15420	return s.String()
15421}
15422
15423// Validate inspects the fields of the type to determine if they are valid.
15424func (s *StopInstanceInput) Validate() error {
15425	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
15426	if s.InstanceId == nil {
15427		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15428	}
15429
15430	if invalidParams.Len() > 0 {
15431		return invalidParams
15432	}
15433	return nil
15434}
15435
15436// SetForce sets the Force field's value.
15437func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
15438	s.Force = &v
15439	return s
15440}
15441
15442// SetInstanceId sets the InstanceId field's value.
15443func (s *StopInstanceInput) SetInstanceId(v string) *StopInstanceInput {
15444	s.InstanceId = &v
15445	return s
15446}
15447
15448type StopInstanceOutput struct {
15449	_ struct{} `type:"structure"`
15450}
15451
15452// String returns the string representation
15453func (s StopInstanceOutput) String() string {
15454	return awsutil.Prettify(s)
15455}
15456
15457// GoString returns the string representation
15458func (s StopInstanceOutput) GoString() string {
15459	return s.String()
15460}
15461
15462type StopStackInput struct {
15463	_ struct{} `type:"structure"`
15464
15465	// The stack ID.
15466	//
15467	// StackId is a required field
15468	StackId *string `type:"string" required:"true"`
15469}
15470
15471// String returns the string representation
15472func (s StopStackInput) String() string {
15473	return awsutil.Prettify(s)
15474}
15475
15476// GoString returns the string representation
15477func (s StopStackInput) GoString() string {
15478	return s.String()
15479}
15480
15481// Validate inspects the fields of the type to determine if they are valid.
15482func (s *StopStackInput) Validate() error {
15483	invalidParams := request.ErrInvalidParams{Context: "StopStackInput"}
15484	if s.StackId == nil {
15485		invalidParams.Add(request.NewErrParamRequired("StackId"))
15486	}
15487
15488	if invalidParams.Len() > 0 {
15489		return invalidParams
15490	}
15491	return nil
15492}
15493
15494// SetStackId sets the StackId field's value.
15495func (s *StopStackInput) SetStackId(v string) *StopStackInput {
15496	s.StackId = &v
15497	return s
15498}
15499
15500type StopStackOutput struct {
15501	_ struct{} `type:"structure"`
15502}
15503
15504// String returns the string representation
15505func (s StopStackOutput) String() string {
15506	return awsutil.Prettify(s)
15507}
15508
15509// GoString returns the string representation
15510func (s StopStackOutput) GoString() string {
15511	return s.String()
15512}
15513
15514type TagResourceInput struct {
15515	_ struct{} `type:"structure"`
15516
15517	// The stack or layer's Amazon Resource Number (ARN).
15518	//
15519	// ResourceArn is a required field
15520	ResourceArn *string `type:"string" required:"true"`
15521
15522	// A map that contains tag keys and tag values that are attached to a stack
15523	// or layer.
15524	//
15525	//    * The key cannot be empty.
15526	//
15527	//    * The key can be a maximum of 127 characters, and can contain only Unicode
15528	//    letters, numbers, or separators, or the following special characters:
15529	//    + - = . _ : /
15530	//
15531	//    * The value can be a maximum 255 characters, and contain only Unicode
15532	//    letters, numbers, or separators, or the following special characters:
15533	//    + - = . _ : /
15534	//
15535	//    * Leading and trailing white spaces are trimmed from both the key and
15536	//    value.
15537	//
15538	//    * A maximum of 40 tags is allowed for any resource.
15539	//
15540	// Tags is a required field
15541	Tags map[string]*string `type:"map" required:"true"`
15542}
15543
15544// String returns the string representation
15545func (s TagResourceInput) String() string {
15546	return awsutil.Prettify(s)
15547}
15548
15549// GoString returns the string representation
15550func (s TagResourceInput) GoString() string {
15551	return s.String()
15552}
15553
15554// Validate inspects the fields of the type to determine if they are valid.
15555func (s *TagResourceInput) Validate() error {
15556	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
15557	if s.ResourceArn == nil {
15558		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15559	}
15560	if s.Tags == nil {
15561		invalidParams.Add(request.NewErrParamRequired("Tags"))
15562	}
15563
15564	if invalidParams.Len() > 0 {
15565		return invalidParams
15566	}
15567	return nil
15568}
15569
15570// SetResourceArn sets the ResourceArn field's value.
15571func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
15572	s.ResourceArn = &v
15573	return s
15574}
15575
15576// SetTags sets the Tags field's value.
15577func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
15578	s.Tags = v
15579	return s
15580}
15581
15582type TagResourceOutput struct {
15583	_ struct{} `type:"structure"`
15584}
15585
15586// String returns the string representation
15587func (s TagResourceOutput) String() string {
15588	return awsutil.Prettify(s)
15589}
15590
15591// GoString returns the string representation
15592func (s TagResourceOutput) GoString() string {
15593	return s.String()
15594}
15595
15596// Contains the data needed by RDP clients such as the Microsoft Remote Desktop
15597// Connection to log in to the instance.
15598type TemporaryCredential struct {
15599	_ struct{} `type:"structure"`
15600
15601	// The instance's AWS OpsWorks Stacks ID.
15602	InstanceId *string `type:"string"`
15603
15604	// The password.
15605	Password *string `type:"string"`
15606
15607	// The user name.
15608	Username *string `type:"string"`
15609
15610	// The length of time (in minutes) that the grant is valid. When the grant expires,
15611	// at the end of this period, the user will no longer be able to use the credentials
15612	// to log in. If they are logged in at the time, they will be automatically
15613	// logged out.
15614	ValidForInMinutes *int64 `type:"integer"`
15615}
15616
15617// String returns the string representation
15618func (s TemporaryCredential) String() string {
15619	return awsutil.Prettify(s)
15620}
15621
15622// GoString returns the string representation
15623func (s TemporaryCredential) GoString() string {
15624	return s.String()
15625}
15626
15627// SetInstanceId sets the InstanceId field's value.
15628func (s *TemporaryCredential) SetInstanceId(v string) *TemporaryCredential {
15629	s.InstanceId = &v
15630	return s
15631}
15632
15633// SetPassword sets the Password field's value.
15634func (s *TemporaryCredential) SetPassword(v string) *TemporaryCredential {
15635	s.Password = &v
15636	return s
15637}
15638
15639// SetUsername sets the Username field's value.
15640func (s *TemporaryCredential) SetUsername(v string) *TemporaryCredential {
15641	s.Username = &v
15642	return s
15643}
15644
15645// SetValidForInMinutes sets the ValidForInMinutes field's value.
15646func (s *TemporaryCredential) SetValidForInMinutes(v int64) *TemporaryCredential {
15647	s.ValidForInMinutes = &v
15648	return s
15649}
15650
15651// Describes an instance's time-based auto scaling configuration.
15652type TimeBasedAutoScalingConfiguration struct {
15653	_ struct{} `type:"structure"`
15654
15655	// A WeeklyAutoScalingSchedule object with the instance schedule.
15656	AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"`
15657
15658	// The instance ID.
15659	InstanceId *string `type:"string"`
15660}
15661
15662// String returns the string representation
15663func (s TimeBasedAutoScalingConfiguration) String() string {
15664	return awsutil.Prettify(s)
15665}
15666
15667// GoString returns the string representation
15668func (s TimeBasedAutoScalingConfiguration) GoString() string {
15669	return s.String()
15670}
15671
15672// SetAutoScalingSchedule sets the AutoScalingSchedule field's value.
15673func (s *TimeBasedAutoScalingConfiguration) SetAutoScalingSchedule(v *WeeklyAutoScalingSchedule) *TimeBasedAutoScalingConfiguration {
15674	s.AutoScalingSchedule = v
15675	return s
15676}
15677
15678// SetInstanceId sets the InstanceId field's value.
15679func (s *TimeBasedAutoScalingConfiguration) SetInstanceId(v string) *TimeBasedAutoScalingConfiguration {
15680	s.InstanceId = &v
15681	return s
15682}
15683
15684type UnassignInstanceInput struct {
15685	_ struct{} `type:"structure"`
15686
15687	// The instance ID.
15688	//
15689	// InstanceId is a required field
15690	InstanceId *string `type:"string" required:"true"`
15691}
15692
15693// String returns the string representation
15694func (s UnassignInstanceInput) String() string {
15695	return awsutil.Prettify(s)
15696}
15697
15698// GoString returns the string representation
15699func (s UnassignInstanceInput) GoString() string {
15700	return s.String()
15701}
15702
15703// Validate inspects the fields of the type to determine if they are valid.
15704func (s *UnassignInstanceInput) Validate() error {
15705	invalidParams := request.ErrInvalidParams{Context: "UnassignInstanceInput"}
15706	if s.InstanceId == nil {
15707		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15708	}
15709
15710	if invalidParams.Len() > 0 {
15711		return invalidParams
15712	}
15713	return nil
15714}
15715
15716// SetInstanceId sets the InstanceId field's value.
15717func (s *UnassignInstanceInput) SetInstanceId(v string) *UnassignInstanceInput {
15718	s.InstanceId = &v
15719	return s
15720}
15721
15722type UnassignInstanceOutput struct {
15723	_ struct{} `type:"structure"`
15724}
15725
15726// String returns the string representation
15727func (s UnassignInstanceOutput) String() string {
15728	return awsutil.Prettify(s)
15729}
15730
15731// GoString returns the string representation
15732func (s UnassignInstanceOutput) GoString() string {
15733	return s.String()
15734}
15735
15736type UnassignVolumeInput struct {
15737	_ struct{} `type:"structure"`
15738
15739	// The volume ID.
15740	//
15741	// VolumeId is a required field
15742	VolumeId *string `type:"string" required:"true"`
15743}
15744
15745// String returns the string representation
15746func (s UnassignVolumeInput) String() string {
15747	return awsutil.Prettify(s)
15748}
15749
15750// GoString returns the string representation
15751func (s UnassignVolumeInput) GoString() string {
15752	return s.String()
15753}
15754
15755// Validate inspects the fields of the type to determine if they are valid.
15756func (s *UnassignVolumeInput) Validate() error {
15757	invalidParams := request.ErrInvalidParams{Context: "UnassignVolumeInput"}
15758	if s.VolumeId == nil {
15759		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
15760	}
15761
15762	if invalidParams.Len() > 0 {
15763		return invalidParams
15764	}
15765	return nil
15766}
15767
15768// SetVolumeId sets the VolumeId field's value.
15769func (s *UnassignVolumeInput) SetVolumeId(v string) *UnassignVolumeInput {
15770	s.VolumeId = &v
15771	return s
15772}
15773
15774type UnassignVolumeOutput struct {
15775	_ struct{} `type:"structure"`
15776}
15777
15778// String returns the string representation
15779func (s UnassignVolumeOutput) String() string {
15780	return awsutil.Prettify(s)
15781}
15782
15783// GoString returns the string representation
15784func (s UnassignVolumeOutput) GoString() string {
15785	return s.String()
15786}
15787
15788type UntagResourceInput struct {
15789	_ struct{} `type:"structure"`
15790
15791	// The stack or layer's Amazon Resource Number (ARN).
15792	//
15793	// ResourceArn is a required field
15794	ResourceArn *string `type:"string" required:"true"`
15795
15796	// A list of the keys of tags to be removed from a stack or layer.
15797	//
15798	// TagKeys is a required field
15799	TagKeys []*string `type:"list" required:"true"`
15800}
15801
15802// String returns the string representation
15803func (s UntagResourceInput) String() string {
15804	return awsutil.Prettify(s)
15805}
15806
15807// GoString returns the string representation
15808func (s UntagResourceInput) GoString() string {
15809	return s.String()
15810}
15811
15812// Validate inspects the fields of the type to determine if they are valid.
15813func (s *UntagResourceInput) Validate() error {
15814	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
15815	if s.ResourceArn == nil {
15816		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15817	}
15818	if s.TagKeys == nil {
15819		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
15820	}
15821
15822	if invalidParams.Len() > 0 {
15823		return invalidParams
15824	}
15825	return nil
15826}
15827
15828// SetResourceArn sets the ResourceArn field's value.
15829func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
15830	s.ResourceArn = &v
15831	return s
15832}
15833
15834// SetTagKeys sets the TagKeys field's value.
15835func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
15836	s.TagKeys = v
15837	return s
15838}
15839
15840type UntagResourceOutput struct {
15841	_ struct{} `type:"structure"`
15842}
15843
15844// String returns the string representation
15845func (s UntagResourceOutput) String() string {
15846	return awsutil.Prettify(s)
15847}
15848
15849// GoString returns the string representation
15850func (s UntagResourceOutput) GoString() string {
15851	return s.String()
15852}
15853
15854type UpdateAppInput struct {
15855	_ struct{} `type:"structure"`
15856
15857	// The app ID.
15858	//
15859	// AppId is a required field
15860	AppId *string `type:"string" required:"true"`
15861
15862	// A Source object that specifies the app repository.
15863	AppSource *Source `type:"structure"`
15864
15865	// One or more user-defined key/value pairs to be added to the stack attributes.
15866	Attributes map[string]*string `type:"map"`
15867
15868	// The app's data sources.
15869	DataSources []*DataSource `type:"list"`
15870
15871	// A description of the app.
15872	Description *string `type:"string"`
15873
15874	// The app's virtual host settings, with multiple domains separated by commas.
15875	// For example: 'www.example.com, example.com'
15876	Domains []*string `type:"list"`
15877
15878	// Whether SSL is enabled for the app.
15879	EnableSsl *bool `type:"boolean"`
15880
15881	// An array of EnvironmentVariable objects that specify environment variables
15882	// to be associated with the app. After you deploy the app, these variables
15883	// are defined on the associated app server instances.For more information,
15884	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
15885	//
15886	// There is no specific limit on the number of environment variables. However,
15887	// the size of the associated data structure - which includes the variables'
15888	// names, values, and protected flag values - cannot exceed 20 KB. This limit
15889	// should accommodate most if not all use cases. Exceeding it will cause an
15890	// exception with the message, "Environment: is too large (maximum is 20 KB)."
15891	//
15892	// If you have specified one or more environment variables, you cannot modify
15893	// the stack's Chef version.
15894	Environment []*EnvironmentVariable `type:"list"`
15895
15896	// The app name.
15897	Name *string `type:"string"`
15898
15899	// An SslConfiguration object with the SSL configuration.
15900	SslConfiguration *SslConfiguration `type:"structure"`
15901
15902	// The app type.
15903	Type *string `type:"string" enum:"AppType"`
15904}
15905
15906// String returns the string representation
15907func (s UpdateAppInput) String() string {
15908	return awsutil.Prettify(s)
15909}
15910
15911// GoString returns the string representation
15912func (s UpdateAppInput) GoString() string {
15913	return s.String()
15914}
15915
15916// Validate inspects the fields of the type to determine if they are valid.
15917func (s *UpdateAppInput) Validate() error {
15918	invalidParams := request.ErrInvalidParams{Context: "UpdateAppInput"}
15919	if s.AppId == nil {
15920		invalidParams.Add(request.NewErrParamRequired("AppId"))
15921	}
15922	if s.Environment != nil {
15923		for i, v := range s.Environment {
15924			if v == nil {
15925				continue
15926			}
15927			if err := v.Validate(); err != nil {
15928				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams))
15929			}
15930		}
15931	}
15932	if s.SslConfiguration != nil {
15933		if err := s.SslConfiguration.Validate(); err != nil {
15934			invalidParams.AddNested("SslConfiguration", err.(request.ErrInvalidParams))
15935		}
15936	}
15937
15938	if invalidParams.Len() > 0 {
15939		return invalidParams
15940	}
15941	return nil
15942}
15943
15944// SetAppId sets the AppId field's value.
15945func (s *UpdateAppInput) SetAppId(v string) *UpdateAppInput {
15946	s.AppId = &v
15947	return s
15948}
15949
15950// SetAppSource sets the AppSource field's value.
15951func (s *UpdateAppInput) SetAppSource(v *Source) *UpdateAppInput {
15952	s.AppSource = v
15953	return s
15954}
15955
15956// SetAttributes sets the Attributes field's value.
15957func (s *UpdateAppInput) SetAttributes(v map[string]*string) *UpdateAppInput {
15958	s.Attributes = v
15959	return s
15960}
15961
15962// SetDataSources sets the DataSources field's value.
15963func (s *UpdateAppInput) SetDataSources(v []*DataSource) *UpdateAppInput {
15964	s.DataSources = v
15965	return s
15966}
15967
15968// SetDescription sets the Description field's value.
15969func (s *UpdateAppInput) SetDescription(v string) *UpdateAppInput {
15970	s.Description = &v
15971	return s
15972}
15973
15974// SetDomains sets the Domains field's value.
15975func (s *UpdateAppInput) SetDomains(v []*string) *UpdateAppInput {
15976	s.Domains = v
15977	return s
15978}
15979
15980// SetEnableSsl sets the EnableSsl field's value.
15981func (s *UpdateAppInput) SetEnableSsl(v bool) *UpdateAppInput {
15982	s.EnableSsl = &v
15983	return s
15984}
15985
15986// SetEnvironment sets the Environment field's value.
15987func (s *UpdateAppInput) SetEnvironment(v []*EnvironmentVariable) *UpdateAppInput {
15988	s.Environment = v
15989	return s
15990}
15991
15992// SetName sets the Name field's value.
15993func (s *UpdateAppInput) SetName(v string) *UpdateAppInput {
15994	s.Name = &v
15995	return s
15996}
15997
15998// SetSslConfiguration sets the SslConfiguration field's value.
15999func (s *UpdateAppInput) SetSslConfiguration(v *SslConfiguration) *UpdateAppInput {
16000	s.SslConfiguration = v
16001	return s
16002}
16003
16004// SetType sets the Type field's value.
16005func (s *UpdateAppInput) SetType(v string) *UpdateAppInput {
16006	s.Type = &v
16007	return s
16008}
16009
16010type UpdateAppOutput struct {
16011	_ struct{} `type:"structure"`
16012}
16013
16014// String returns the string representation
16015func (s UpdateAppOutput) String() string {
16016	return awsutil.Prettify(s)
16017}
16018
16019// GoString returns the string representation
16020func (s UpdateAppOutput) GoString() string {
16021	return s.String()
16022}
16023
16024type UpdateElasticIpInput struct {
16025	_ struct{} `type:"structure"`
16026
16027	// The IP address for which you want to update the name.
16028	//
16029	// ElasticIp is a required field
16030	ElasticIp *string `type:"string" required:"true"`
16031
16032	// The new name.
16033	Name *string `type:"string"`
16034}
16035
16036// String returns the string representation
16037func (s UpdateElasticIpInput) String() string {
16038	return awsutil.Prettify(s)
16039}
16040
16041// GoString returns the string representation
16042func (s UpdateElasticIpInput) GoString() string {
16043	return s.String()
16044}
16045
16046// Validate inspects the fields of the type to determine if they are valid.
16047func (s *UpdateElasticIpInput) Validate() error {
16048	invalidParams := request.ErrInvalidParams{Context: "UpdateElasticIpInput"}
16049	if s.ElasticIp == nil {
16050		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
16051	}
16052
16053	if invalidParams.Len() > 0 {
16054		return invalidParams
16055	}
16056	return nil
16057}
16058
16059// SetElasticIp sets the ElasticIp field's value.
16060func (s *UpdateElasticIpInput) SetElasticIp(v string) *UpdateElasticIpInput {
16061	s.ElasticIp = &v
16062	return s
16063}
16064
16065// SetName sets the Name field's value.
16066func (s *UpdateElasticIpInput) SetName(v string) *UpdateElasticIpInput {
16067	s.Name = &v
16068	return s
16069}
16070
16071type UpdateElasticIpOutput struct {
16072	_ struct{} `type:"structure"`
16073}
16074
16075// String returns the string representation
16076func (s UpdateElasticIpOutput) String() string {
16077	return awsutil.Prettify(s)
16078}
16079
16080// GoString returns the string representation
16081func (s UpdateElasticIpOutput) GoString() string {
16082	return s.String()
16083}
16084
16085type UpdateInstanceInput struct {
16086	_ struct{} `type:"structure"`
16087
16088	// The default AWS OpsWorks Stacks agent version. You have the following options:
16089	//
16090	//    * INHERIT - Use the stack's default agent version setting.
16091	//
16092	//    * version_number - Use the specified agent version. This value overrides
16093	//    the stack's default setting. To update the agent version, you must edit
16094	//    the instance configuration and specify a new version. AWS OpsWorks Stacks
16095	//    then automatically installs that version on the instance.
16096	//
16097	// The default setting is INHERIT. To specify an agent version, you must use
16098	// the complete version number, not the abbreviated number shown on the console.
16099	// For a list of available agent version numbers, call DescribeAgentVersions.
16100	//
16101	// AgentVersion cannot be set to Chef 12.2.
16102	AgentVersion *string `type:"string"`
16103
16104	// The ID of the AMI that was used to create the instance. The value of this
16105	// parameter must be the same AMI ID that the instance is already using. You
16106	// cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance
16107	// does not work on instances that are using custom AMIs.
16108	AmiId *string `type:"string"`
16109
16110	// The instance architecture. Instance types do not necessarily support both
16111	// architectures. For a list of the architectures that are supported by the
16112	// different instance types, see Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
16113	Architecture *string `type:"string" enum:"Architecture"`
16114
16115	// For load-based or time-based instances, the type. Windows stacks can use
16116	// only time-based instances.
16117	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
16118
16119	// This property cannot be updated.
16120	EbsOptimized *bool `type:"boolean"`
16121
16122	// The instance host name.
16123	Hostname *string `type:"string"`
16124
16125	// Whether to install operating system and package updates when the instance
16126	// boots. The default value is true. To control when updates are installed,
16127	// set this value to false. You must then update your instances manually by
16128	// using CreateDeployment to run the update_dependencies stack command or by
16129	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
16130	//
16131	// We strongly recommend using the default value of true, to ensure that your
16132	// instances have the latest security updates.
16133	InstallUpdatesOnBoot *bool `type:"boolean"`
16134
16135	// The instance ID.
16136	//
16137	// InstanceId is a required field
16138	InstanceId *string `type:"string" required:"true"`
16139
16140	// The instance type, such as t2.micro. For a list of supported instance types,
16141	// open the stack in the console, choose Instances, and choose + Instance. The
16142	// Size list contains the currently supported types. For more information, see
16143	// Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
16144	// The parameter values that you use to specify the various types are in the
16145	// API Name column of the Available Instance Types table.
16146	InstanceType *string `type:"string"`
16147
16148	// The instance's layer IDs.
16149	LayerIds []*string `type:"list"`
16150
16151	// The instance's operating system, which must be set to one of the following.
16152	// You cannot update an instance that is using a custom AMI.
16153	//
16154	//    * A supported Linux operating system: An Amazon Linux version, such as
16155	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
16156	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
16157	//    2015.03.
16158	//
16159	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
16160	//    14.04 LTS, or Ubuntu 12.04 LTS.
16161	//
16162	//    * CentOS Linux 7
16163	//
16164	//    * Red Hat Enterprise Linux 7
16165	//
16166	//    * A supported Windows operating system, such as Microsoft Windows Server
16167	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
16168	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
16169	//    Windows Server 2012 R2 with SQL Server Web.
16170	//
16171	// For more information about supported operating systems, see AWS OpsWorks
16172	// Stacks Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
16173	//
16174	// The default option is the current Amazon Linux version. If you set this parameter
16175	// to Custom, you must use the AmiId parameter to specify the custom AMI that
16176	// you want to use. For more information about supported operating systems,
16177	// see Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
16178	// For more information about how to use custom AMIs with OpsWorks, see Using
16179	// Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
16180	//
16181	// You can specify a different Linux operating system for the updated stack,
16182	// but you cannot change from Linux to Windows or Windows to Linux.
16183	Os *string `type:"string"`
16184
16185	// The instance's Amazon EC2 key name.
16186	SshKeyName *string `type:"string"`
16187}
16188
16189// String returns the string representation
16190func (s UpdateInstanceInput) String() string {
16191	return awsutil.Prettify(s)
16192}
16193
16194// GoString returns the string representation
16195func (s UpdateInstanceInput) GoString() string {
16196	return s.String()
16197}
16198
16199// Validate inspects the fields of the type to determine if they are valid.
16200func (s *UpdateInstanceInput) Validate() error {
16201	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceInput"}
16202	if s.InstanceId == nil {
16203		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16204	}
16205
16206	if invalidParams.Len() > 0 {
16207		return invalidParams
16208	}
16209	return nil
16210}
16211
16212// SetAgentVersion sets the AgentVersion field's value.
16213func (s *UpdateInstanceInput) SetAgentVersion(v string) *UpdateInstanceInput {
16214	s.AgentVersion = &v
16215	return s
16216}
16217
16218// SetAmiId sets the AmiId field's value.
16219func (s *UpdateInstanceInput) SetAmiId(v string) *UpdateInstanceInput {
16220	s.AmiId = &v
16221	return s
16222}
16223
16224// SetArchitecture sets the Architecture field's value.
16225func (s *UpdateInstanceInput) SetArchitecture(v string) *UpdateInstanceInput {
16226	s.Architecture = &v
16227	return s
16228}
16229
16230// SetAutoScalingType sets the AutoScalingType field's value.
16231func (s *UpdateInstanceInput) SetAutoScalingType(v string) *UpdateInstanceInput {
16232	s.AutoScalingType = &v
16233	return s
16234}
16235
16236// SetEbsOptimized sets the EbsOptimized field's value.
16237func (s *UpdateInstanceInput) SetEbsOptimized(v bool) *UpdateInstanceInput {
16238	s.EbsOptimized = &v
16239	return s
16240}
16241
16242// SetHostname sets the Hostname field's value.
16243func (s *UpdateInstanceInput) SetHostname(v string) *UpdateInstanceInput {
16244	s.Hostname = &v
16245	return s
16246}
16247
16248// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
16249func (s *UpdateInstanceInput) SetInstallUpdatesOnBoot(v bool) *UpdateInstanceInput {
16250	s.InstallUpdatesOnBoot = &v
16251	return s
16252}
16253
16254// SetInstanceId sets the InstanceId field's value.
16255func (s *UpdateInstanceInput) SetInstanceId(v string) *UpdateInstanceInput {
16256	s.InstanceId = &v
16257	return s
16258}
16259
16260// SetInstanceType sets the InstanceType field's value.
16261func (s *UpdateInstanceInput) SetInstanceType(v string) *UpdateInstanceInput {
16262	s.InstanceType = &v
16263	return s
16264}
16265
16266// SetLayerIds sets the LayerIds field's value.
16267func (s *UpdateInstanceInput) SetLayerIds(v []*string) *UpdateInstanceInput {
16268	s.LayerIds = v
16269	return s
16270}
16271
16272// SetOs sets the Os field's value.
16273func (s *UpdateInstanceInput) SetOs(v string) *UpdateInstanceInput {
16274	s.Os = &v
16275	return s
16276}
16277
16278// SetSshKeyName sets the SshKeyName field's value.
16279func (s *UpdateInstanceInput) SetSshKeyName(v string) *UpdateInstanceInput {
16280	s.SshKeyName = &v
16281	return s
16282}
16283
16284type UpdateInstanceOutput struct {
16285	_ struct{} `type:"structure"`
16286}
16287
16288// String returns the string representation
16289func (s UpdateInstanceOutput) String() string {
16290	return awsutil.Prettify(s)
16291}
16292
16293// GoString returns the string representation
16294func (s UpdateInstanceOutput) GoString() string {
16295	return s.String()
16296}
16297
16298type UpdateLayerInput struct {
16299	_ struct{} `type:"structure"`
16300
16301	// One or more user-defined key/value pairs to be added to the stack attributes.
16302	Attributes map[string]*string `type:"map"`
16303
16304	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
16305	// to the layer's instances. For more information, see How to Edit a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
16306	AutoAssignElasticIps *bool `type:"boolean"`
16307
16308	// For stacks that are running in a VPC, whether to automatically assign a public
16309	// IP address to the layer's instances. For more information, see How to Edit
16310	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
16311	AutoAssignPublicIps *bool `type:"boolean"`
16312
16313	// Specifies CloudWatch Logs configuration options for the layer. For more information,
16314	// see CloudWatchLogsLogStream.
16315	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
16316
16317	// The ARN of an IAM profile to be used for all of the layer's EC2 instances.
16318	// For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
16319	CustomInstanceProfileArn *string `type:"string"`
16320
16321	// A JSON-formatted string containing custom stack configuration and deployment
16322	// attributes to be installed on the layer's instances. For more information,
16323	// see Using Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
16324	CustomJson *string `type:"string"`
16325
16326	// A LayerCustomRecipes object that specifies the layer's custom recipes.
16327	CustomRecipes *Recipes `type:"structure"`
16328
16329	// An array containing the layer's custom security group IDs.
16330	CustomSecurityGroupIds []*string `type:"list"`
16331
16332	// Whether to disable auto healing for the layer.
16333	EnableAutoHealing *bool `type:"boolean"`
16334
16335	// Whether to install operating system and package updates when the instance
16336	// boots. The default value is true. To control when updates are installed,
16337	// set this value to false. You must then update your instances manually by
16338	// using CreateDeployment to run the update_dependencies stack command or manually
16339	// running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
16340	//
16341	// We strongly recommend using the default value of true, to ensure that your
16342	// instances have the latest security updates.
16343	InstallUpdatesOnBoot *bool `type:"boolean"`
16344
16345	// The layer ID.
16346	//
16347	// LayerId is a required field
16348	LayerId *string `type:"string" required:"true"`
16349
16350	// Specifies the lifecycle event configuration
16351	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
16352
16353	// The layer name, which is used by the console.
16354	Name *string `type:"string"`
16355
16356	// An array of Package objects that describe the layer's packages.
16357	Packages []*string `type:"list"`
16358
16359	// For custom layers only, use this parameter to specify the layer's short name,
16360	// which is used internally by AWS OpsWorks Stacks and by Chef. The short name
16361	// is also used as the name for the directory where your app files are installed.
16362	// It can have a maximum of 200 characters and must be in the following format:
16363	// /\A[a-z0-9\-\_\.]+\Z/.
16364	//
16365	// The built-in layers' short names are defined by AWS OpsWorks Stacks. For
16366	// more information, see the Layer Reference (https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html)
16367	Shortname *string `type:"string"`
16368
16369	// Whether to use Amazon EBS-optimized instances.
16370	UseEbsOptimizedInstances *bool `type:"boolean"`
16371
16372	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
16373	VolumeConfigurations []*VolumeConfiguration `type:"list"`
16374}
16375
16376// String returns the string representation
16377func (s UpdateLayerInput) String() string {
16378	return awsutil.Prettify(s)
16379}
16380
16381// GoString returns the string representation
16382func (s UpdateLayerInput) GoString() string {
16383	return s.String()
16384}
16385
16386// Validate inspects the fields of the type to determine if they are valid.
16387func (s *UpdateLayerInput) Validate() error {
16388	invalidParams := request.ErrInvalidParams{Context: "UpdateLayerInput"}
16389	if s.LayerId == nil {
16390		invalidParams.Add(request.NewErrParamRequired("LayerId"))
16391	}
16392	if s.VolumeConfigurations != nil {
16393		for i, v := range s.VolumeConfigurations {
16394			if v == nil {
16395				continue
16396			}
16397			if err := v.Validate(); err != nil {
16398				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VolumeConfigurations", i), err.(request.ErrInvalidParams))
16399			}
16400		}
16401	}
16402
16403	if invalidParams.Len() > 0 {
16404		return invalidParams
16405	}
16406	return nil
16407}
16408
16409// SetAttributes sets the Attributes field's value.
16410func (s *UpdateLayerInput) SetAttributes(v map[string]*string) *UpdateLayerInput {
16411	s.Attributes = v
16412	return s
16413}
16414
16415// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
16416func (s *UpdateLayerInput) SetAutoAssignElasticIps(v bool) *UpdateLayerInput {
16417	s.AutoAssignElasticIps = &v
16418	return s
16419}
16420
16421// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
16422func (s *UpdateLayerInput) SetAutoAssignPublicIps(v bool) *UpdateLayerInput {
16423	s.AutoAssignPublicIps = &v
16424	return s
16425}
16426
16427// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
16428func (s *UpdateLayerInput) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *UpdateLayerInput {
16429	s.CloudWatchLogsConfiguration = v
16430	return s
16431}
16432
16433// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
16434func (s *UpdateLayerInput) SetCustomInstanceProfileArn(v string) *UpdateLayerInput {
16435	s.CustomInstanceProfileArn = &v
16436	return s
16437}
16438
16439// SetCustomJson sets the CustomJson field's value.
16440func (s *UpdateLayerInput) SetCustomJson(v string) *UpdateLayerInput {
16441	s.CustomJson = &v
16442	return s
16443}
16444
16445// SetCustomRecipes sets the CustomRecipes field's value.
16446func (s *UpdateLayerInput) SetCustomRecipes(v *Recipes) *UpdateLayerInput {
16447	s.CustomRecipes = v
16448	return s
16449}
16450
16451// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
16452func (s *UpdateLayerInput) SetCustomSecurityGroupIds(v []*string) *UpdateLayerInput {
16453	s.CustomSecurityGroupIds = v
16454	return s
16455}
16456
16457// SetEnableAutoHealing sets the EnableAutoHealing field's value.
16458func (s *UpdateLayerInput) SetEnableAutoHealing(v bool) *UpdateLayerInput {
16459	s.EnableAutoHealing = &v
16460	return s
16461}
16462
16463// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
16464func (s *UpdateLayerInput) SetInstallUpdatesOnBoot(v bool) *UpdateLayerInput {
16465	s.InstallUpdatesOnBoot = &v
16466	return s
16467}
16468
16469// SetLayerId sets the LayerId field's value.
16470func (s *UpdateLayerInput) SetLayerId(v string) *UpdateLayerInput {
16471	s.LayerId = &v
16472	return s
16473}
16474
16475// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
16476func (s *UpdateLayerInput) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *UpdateLayerInput {
16477	s.LifecycleEventConfiguration = v
16478	return s
16479}
16480
16481// SetName sets the Name field's value.
16482func (s *UpdateLayerInput) SetName(v string) *UpdateLayerInput {
16483	s.Name = &v
16484	return s
16485}
16486
16487// SetPackages sets the Packages field's value.
16488func (s *UpdateLayerInput) SetPackages(v []*string) *UpdateLayerInput {
16489	s.Packages = v
16490	return s
16491}
16492
16493// SetShortname sets the Shortname field's value.
16494func (s *UpdateLayerInput) SetShortname(v string) *UpdateLayerInput {
16495	s.Shortname = &v
16496	return s
16497}
16498
16499// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
16500func (s *UpdateLayerInput) SetUseEbsOptimizedInstances(v bool) *UpdateLayerInput {
16501	s.UseEbsOptimizedInstances = &v
16502	return s
16503}
16504
16505// SetVolumeConfigurations sets the VolumeConfigurations field's value.
16506func (s *UpdateLayerInput) SetVolumeConfigurations(v []*VolumeConfiguration) *UpdateLayerInput {
16507	s.VolumeConfigurations = v
16508	return s
16509}
16510
16511type UpdateLayerOutput struct {
16512	_ struct{} `type:"structure"`
16513}
16514
16515// String returns the string representation
16516func (s UpdateLayerOutput) String() string {
16517	return awsutil.Prettify(s)
16518}
16519
16520// GoString returns the string representation
16521func (s UpdateLayerOutput) GoString() string {
16522	return s.String()
16523}
16524
16525type UpdateMyUserProfileInput struct {
16526	_ struct{} `type:"structure"`
16527
16528	// The user's SSH public key.
16529	SshPublicKey *string `type:"string"`
16530}
16531
16532// String returns the string representation
16533func (s UpdateMyUserProfileInput) String() string {
16534	return awsutil.Prettify(s)
16535}
16536
16537// GoString returns the string representation
16538func (s UpdateMyUserProfileInput) GoString() string {
16539	return s.String()
16540}
16541
16542// SetSshPublicKey sets the SshPublicKey field's value.
16543func (s *UpdateMyUserProfileInput) SetSshPublicKey(v string) *UpdateMyUserProfileInput {
16544	s.SshPublicKey = &v
16545	return s
16546}
16547
16548type UpdateMyUserProfileOutput struct {
16549	_ struct{} `type:"structure"`
16550}
16551
16552// String returns the string representation
16553func (s UpdateMyUserProfileOutput) String() string {
16554	return awsutil.Prettify(s)
16555}
16556
16557// GoString returns the string representation
16558func (s UpdateMyUserProfileOutput) GoString() string {
16559	return s.String()
16560}
16561
16562type UpdateRdsDbInstanceInput struct {
16563	_ struct{} `type:"structure"`
16564
16565	// The database password.
16566	DbPassword *string `type:"string"`
16567
16568	// The master user name.
16569	DbUser *string `type:"string"`
16570
16571	// The Amazon RDS instance's ARN.
16572	//
16573	// RdsDbInstanceArn is a required field
16574	RdsDbInstanceArn *string `type:"string" required:"true"`
16575}
16576
16577// String returns the string representation
16578func (s UpdateRdsDbInstanceInput) String() string {
16579	return awsutil.Prettify(s)
16580}
16581
16582// GoString returns the string representation
16583func (s UpdateRdsDbInstanceInput) GoString() string {
16584	return s.String()
16585}
16586
16587// Validate inspects the fields of the type to determine if they are valid.
16588func (s *UpdateRdsDbInstanceInput) Validate() error {
16589	invalidParams := request.ErrInvalidParams{Context: "UpdateRdsDbInstanceInput"}
16590	if s.RdsDbInstanceArn == nil {
16591		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
16592	}
16593
16594	if invalidParams.Len() > 0 {
16595		return invalidParams
16596	}
16597	return nil
16598}
16599
16600// SetDbPassword sets the DbPassword field's value.
16601func (s *UpdateRdsDbInstanceInput) SetDbPassword(v string) *UpdateRdsDbInstanceInput {
16602	s.DbPassword = &v
16603	return s
16604}
16605
16606// SetDbUser sets the DbUser field's value.
16607func (s *UpdateRdsDbInstanceInput) SetDbUser(v string) *UpdateRdsDbInstanceInput {
16608	s.DbUser = &v
16609	return s
16610}
16611
16612// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
16613func (s *UpdateRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *UpdateRdsDbInstanceInput {
16614	s.RdsDbInstanceArn = &v
16615	return s
16616}
16617
16618type UpdateRdsDbInstanceOutput struct {
16619	_ struct{} `type:"structure"`
16620}
16621
16622// String returns the string representation
16623func (s UpdateRdsDbInstanceOutput) String() string {
16624	return awsutil.Prettify(s)
16625}
16626
16627// GoString returns the string representation
16628func (s UpdateRdsDbInstanceOutput) GoString() string {
16629	return s.String()
16630}
16631
16632type UpdateStackInput struct {
16633	_ struct{} `type:"structure"`
16634
16635	// The default AWS OpsWorks Stacks agent version. You have the following options:
16636	//
16637	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
16638	//    installs new agent versions on the stack's instances as soon as they are
16639	//    available.
16640	//
16641	//    * Fixed version - Set this parameter to your preferred agent version.
16642	//    To update the agent version, you must edit the stack configuration and
16643	//    specify a new version. AWS OpsWorks Stacks then automatically installs
16644	//    that version on the stack's instances.
16645	//
16646	// The default setting is LATEST. To specify an agent version, you must use
16647	// the complete version number, not the abbreviated number shown on the console.
16648	// For a list of available agent version numbers, call DescribeAgentVersions.
16649	// AgentVersion cannot be set to Chef 12.2.
16650	//
16651	// You can also specify an agent version when you create or update an instance,
16652	// which overrides the stack's default setting.
16653	AgentVersion *string `type:"string"`
16654
16655	// One or more user-defined key-value pairs to be added to the stack attributes.
16656	Attributes map[string]*string `type:"map"`
16657
16658	// A ChefConfiguration object that specifies whether to enable Berkshelf and
16659	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
16660	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
16661	ChefConfiguration *ChefConfiguration `type:"structure"`
16662
16663	// The configuration manager. When you update a stack, we recommend that you
16664	// use the configuration manager to specify the Chef version: 12, 11.10, or
16665	// 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for
16666	// Linux stacks is currently 12.
16667	ConfigurationManager *StackConfigurationManager `type:"structure"`
16668
16669	// Contains the information required to retrieve an app or cookbook from a repository.
16670	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
16671	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
16672	CustomCookbooksSource *Source `type:"structure"`
16673
16674	// A string that contains user-defined, custom JSON. It can be used to override
16675	// the corresponding default stack configuration JSON values or to pass data
16676	// to recipes. The string should be in the following format:
16677	//
16678	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
16679	//
16680	// For more information about custom JSON, see Use Custom JSON to Modify the
16681	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
16682	CustomJson *string `type:"string"`
16683
16684	// The stack's default Availability Zone, which must be in the stack's region.
16685	// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
16686	// If you also specify a value for DefaultSubnetId, the subnet must be in the
16687	// same zone. For more information, see CreateStack.
16688	DefaultAvailabilityZone *string `type:"string"`
16689
16690	// The ARN of an IAM profile that is the default profile for all of the stack's
16691	// EC2 instances. For more information about IAM ARNs, see Using Identifiers
16692	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
16693	DefaultInstanceProfileArn *string `type:"string"`
16694
16695	// The stack's operating system, which must be set to one of the following:
16696	//
16697	//    * A supported Linux operating system: An Amazon Linux version, such as
16698	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
16699	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
16700	//    2015.03.
16701	//
16702	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
16703	//    14.04 LTS, or Ubuntu 12.04 LTS.
16704	//
16705	//    * CentOS Linux 7
16706	//
16707	//    * Red Hat Enterprise Linux 7
16708	//
16709	//    * A supported Windows operating system, such as Microsoft Windows Server
16710	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
16711	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
16712	//    Windows Server 2012 R2 with SQL Server Web.
16713	//
16714	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
16715	//    you create instances. For more information about how to use custom AMIs
16716	//    with OpsWorks, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
16717	//
16718	// The default option is the stack's current operating system. For more information
16719	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
16720	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
16721	DefaultOs *string `type:"string"`
16722
16723	// The default root device type. This value is used by default for all instances
16724	// in the stack, but you can override it when you create an instance. For more
16725	// information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
16726	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
16727
16728	// A default Amazon EC2 key-pair name. The default value is none. If you specify
16729	// a key-pair name, AWS OpsWorks Stacks installs the public key on the instance
16730	// and you can use the private key with an SSH client to log in to the instance.
16731	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
16732	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
16733	// You can override this setting by specifying a different key pair, or no key
16734	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
16735	DefaultSshKeyName *string `type:"string"`
16736
16737	// The stack's default VPC subnet ID. This parameter is required if you specify
16738	// a value for the VpcId parameter. All instances are launched into this subnet
16739	// unless you specify otherwise when you create the instance. If you also specify
16740	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
16741	// information on default values and when this parameter is required, see the
16742	// VpcId parameter description.
16743	DefaultSubnetId *string `type:"string"`
16744
16745	// The stack's new host name theme, with spaces replaced by underscores. The
16746	// theme is used to generate host names for the stack's instances. By default,
16747	// HostnameTheme is set to Layer_Dependent, which creates host names by appending
16748	// integers to the layer's short name. The other themes are:
16749	//
16750	//    * Baked_Goods
16751	//
16752	//    * Clouds
16753	//
16754	//    * Europe_Cities
16755	//
16756	//    * Fruits
16757	//
16758	//    * Greek_Deities_and_Titans
16759	//
16760	//    * Legendary_creatures_from_Japan
16761	//
16762	//    * Planets_and_Moons
16763	//
16764	//    * Roman_Deities
16765	//
16766	//    * Scottish_Islands
16767	//
16768	//    * US_Cities
16769	//
16770	//    * Wild_Cats
16771	//
16772	// To obtain a generated host name, call GetHostNameSuggestion, which returns
16773	// a host name based on the current theme.
16774	HostnameTheme *string `type:"string"`
16775
16776	// The stack's new name.
16777	Name *string `type:"string"`
16778
16779	// Do not use this parameter. You cannot update a stack's service role.
16780	ServiceRoleArn *string `type:"string"`
16781
16782	// The stack ID.
16783	//
16784	// StackId is a required field
16785	StackId *string `type:"string" required:"true"`
16786
16787	// Whether the stack uses custom cookbooks.
16788	UseCustomCookbooks *bool `type:"boolean"`
16789
16790	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
16791	// the stack's layers.
16792	//
16793	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
16794	// one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups
16795	// allows you to provide your own custom security groups instead of using the
16796	// built-in groups. UseOpsworksSecurityGroups has the following settings:
16797	//
16798	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
16799	//    built-in security group with each layer (default setting). You can associate
16800	//    additional security groups with a layer after you create it, but you cannot
16801	//    delete the built-in security group.
16802	//
16803	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
16804	//    with layers. You must create appropriate EC2 security groups and associate
16805	//    a security group with each layer that you create. However, you can still
16806	//    manually associate a built-in security group with a layer on. Custom security
16807	//    groups are required only for those layers that need custom settings.
16808	//
16809	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
16810	UseOpsworksSecurityGroups *bool `type:"boolean"`
16811}
16812
16813// String returns the string representation
16814func (s UpdateStackInput) String() string {
16815	return awsutil.Prettify(s)
16816}
16817
16818// GoString returns the string representation
16819func (s UpdateStackInput) GoString() string {
16820	return s.String()
16821}
16822
16823// Validate inspects the fields of the type to determine if they are valid.
16824func (s *UpdateStackInput) Validate() error {
16825	invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
16826	if s.StackId == nil {
16827		invalidParams.Add(request.NewErrParamRequired("StackId"))
16828	}
16829
16830	if invalidParams.Len() > 0 {
16831		return invalidParams
16832	}
16833	return nil
16834}
16835
16836// SetAgentVersion sets the AgentVersion field's value.
16837func (s *UpdateStackInput) SetAgentVersion(v string) *UpdateStackInput {
16838	s.AgentVersion = &v
16839	return s
16840}
16841
16842// SetAttributes sets the Attributes field's value.
16843func (s *UpdateStackInput) SetAttributes(v map[string]*string) *UpdateStackInput {
16844	s.Attributes = v
16845	return s
16846}
16847
16848// SetChefConfiguration sets the ChefConfiguration field's value.
16849func (s *UpdateStackInput) SetChefConfiguration(v *ChefConfiguration) *UpdateStackInput {
16850	s.ChefConfiguration = v
16851	return s
16852}
16853
16854// SetConfigurationManager sets the ConfigurationManager field's value.
16855func (s *UpdateStackInput) SetConfigurationManager(v *StackConfigurationManager) *UpdateStackInput {
16856	s.ConfigurationManager = v
16857	return s
16858}
16859
16860// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
16861func (s *UpdateStackInput) SetCustomCookbooksSource(v *Source) *UpdateStackInput {
16862	s.CustomCookbooksSource = v
16863	return s
16864}
16865
16866// SetCustomJson sets the CustomJson field's value.
16867func (s *UpdateStackInput) SetCustomJson(v string) *UpdateStackInput {
16868	s.CustomJson = &v
16869	return s
16870}
16871
16872// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
16873func (s *UpdateStackInput) SetDefaultAvailabilityZone(v string) *UpdateStackInput {
16874	s.DefaultAvailabilityZone = &v
16875	return s
16876}
16877
16878// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
16879func (s *UpdateStackInput) SetDefaultInstanceProfileArn(v string) *UpdateStackInput {
16880	s.DefaultInstanceProfileArn = &v
16881	return s
16882}
16883
16884// SetDefaultOs sets the DefaultOs field's value.
16885func (s *UpdateStackInput) SetDefaultOs(v string) *UpdateStackInput {
16886	s.DefaultOs = &v
16887	return s
16888}
16889
16890// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
16891func (s *UpdateStackInput) SetDefaultRootDeviceType(v string) *UpdateStackInput {
16892	s.DefaultRootDeviceType = &v
16893	return s
16894}
16895
16896// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
16897func (s *UpdateStackInput) SetDefaultSshKeyName(v string) *UpdateStackInput {
16898	s.DefaultSshKeyName = &v
16899	return s
16900}
16901
16902// SetDefaultSubnetId sets the DefaultSubnetId field's value.
16903func (s *UpdateStackInput) SetDefaultSubnetId(v string) *UpdateStackInput {
16904	s.DefaultSubnetId = &v
16905	return s
16906}
16907
16908// SetHostnameTheme sets the HostnameTheme field's value.
16909func (s *UpdateStackInput) SetHostnameTheme(v string) *UpdateStackInput {
16910	s.HostnameTheme = &v
16911	return s
16912}
16913
16914// SetName sets the Name field's value.
16915func (s *UpdateStackInput) SetName(v string) *UpdateStackInput {
16916	s.Name = &v
16917	return s
16918}
16919
16920// SetServiceRoleArn sets the ServiceRoleArn field's value.
16921func (s *UpdateStackInput) SetServiceRoleArn(v string) *UpdateStackInput {
16922	s.ServiceRoleArn = &v
16923	return s
16924}
16925
16926// SetStackId sets the StackId field's value.
16927func (s *UpdateStackInput) SetStackId(v string) *UpdateStackInput {
16928	s.StackId = &v
16929	return s
16930}
16931
16932// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
16933func (s *UpdateStackInput) SetUseCustomCookbooks(v bool) *UpdateStackInput {
16934	s.UseCustomCookbooks = &v
16935	return s
16936}
16937
16938// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
16939func (s *UpdateStackInput) SetUseOpsworksSecurityGroups(v bool) *UpdateStackInput {
16940	s.UseOpsworksSecurityGroups = &v
16941	return s
16942}
16943
16944type UpdateStackOutput struct {
16945	_ struct{} `type:"structure"`
16946}
16947
16948// String returns the string representation
16949func (s UpdateStackOutput) String() string {
16950	return awsutil.Prettify(s)
16951}
16952
16953// GoString returns the string representation
16954func (s UpdateStackOutput) GoString() string {
16955	return s.String()
16956}
16957
16958type UpdateUserProfileInput struct {
16959	_ struct{} `type:"structure"`
16960
16961	// Whether users can specify their own SSH public key through the My Settings
16962	// page. For more information, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
16963	AllowSelfManagement *bool `type:"boolean"`
16964
16965	// The user IAM ARN. This can also be a federated user's ARN.
16966	//
16967	// IamUserArn is a required field
16968	IamUserArn *string `type:"string" required:"true"`
16969
16970	// The user's new SSH public key.
16971	SshPublicKey *string `type:"string"`
16972
16973	// The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9],
16974	// '-', and '_'. If the specified name includes other punctuation marks, AWS
16975	// OpsWorks Stacks removes them. For example, my.name will be changed to myname.
16976	// If you do not specify an SSH user name, AWS OpsWorks Stacks generates one
16977	// from the IAM user name.
16978	SshUsername *string `type:"string"`
16979}
16980
16981// String returns the string representation
16982func (s UpdateUserProfileInput) String() string {
16983	return awsutil.Prettify(s)
16984}
16985
16986// GoString returns the string representation
16987func (s UpdateUserProfileInput) GoString() string {
16988	return s.String()
16989}
16990
16991// Validate inspects the fields of the type to determine if they are valid.
16992func (s *UpdateUserProfileInput) Validate() error {
16993	invalidParams := request.ErrInvalidParams{Context: "UpdateUserProfileInput"}
16994	if s.IamUserArn == nil {
16995		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
16996	}
16997
16998	if invalidParams.Len() > 0 {
16999		return invalidParams
17000	}
17001	return nil
17002}
17003
17004// SetAllowSelfManagement sets the AllowSelfManagement field's value.
17005func (s *UpdateUserProfileInput) SetAllowSelfManagement(v bool) *UpdateUserProfileInput {
17006	s.AllowSelfManagement = &v
17007	return s
17008}
17009
17010// SetIamUserArn sets the IamUserArn field's value.
17011func (s *UpdateUserProfileInput) SetIamUserArn(v string) *UpdateUserProfileInput {
17012	s.IamUserArn = &v
17013	return s
17014}
17015
17016// SetSshPublicKey sets the SshPublicKey field's value.
17017func (s *UpdateUserProfileInput) SetSshPublicKey(v string) *UpdateUserProfileInput {
17018	s.SshPublicKey = &v
17019	return s
17020}
17021
17022// SetSshUsername sets the SshUsername field's value.
17023func (s *UpdateUserProfileInput) SetSshUsername(v string) *UpdateUserProfileInput {
17024	s.SshUsername = &v
17025	return s
17026}
17027
17028type UpdateUserProfileOutput struct {
17029	_ struct{} `type:"structure"`
17030}
17031
17032// String returns the string representation
17033func (s UpdateUserProfileOutput) String() string {
17034	return awsutil.Prettify(s)
17035}
17036
17037// GoString returns the string representation
17038func (s UpdateUserProfileOutput) GoString() string {
17039	return s.String()
17040}
17041
17042type UpdateVolumeInput struct {
17043	_ struct{} `type:"structure"`
17044
17045	// The new mount point.
17046	MountPoint *string `type:"string"`
17047
17048	// The new name.
17049	Name *string `type:"string"`
17050
17051	// The volume ID.
17052	//
17053	// VolumeId is a required field
17054	VolumeId *string `type:"string" required:"true"`
17055}
17056
17057// String returns the string representation
17058func (s UpdateVolumeInput) String() string {
17059	return awsutil.Prettify(s)
17060}
17061
17062// GoString returns the string representation
17063func (s UpdateVolumeInput) GoString() string {
17064	return s.String()
17065}
17066
17067// Validate inspects the fields of the type to determine if they are valid.
17068func (s *UpdateVolumeInput) Validate() error {
17069	invalidParams := request.ErrInvalidParams{Context: "UpdateVolumeInput"}
17070	if s.VolumeId == nil {
17071		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
17072	}
17073
17074	if invalidParams.Len() > 0 {
17075		return invalidParams
17076	}
17077	return nil
17078}
17079
17080// SetMountPoint sets the MountPoint field's value.
17081func (s *UpdateVolumeInput) SetMountPoint(v string) *UpdateVolumeInput {
17082	s.MountPoint = &v
17083	return s
17084}
17085
17086// SetName sets the Name field's value.
17087func (s *UpdateVolumeInput) SetName(v string) *UpdateVolumeInput {
17088	s.Name = &v
17089	return s
17090}
17091
17092// SetVolumeId sets the VolumeId field's value.
17093func (s *UpdateVolumeInput) SetVolumeId(v string) *UpdateVolumeInput {
17094	s.VolumeId = &v
17095	return s
17096}
17097
17098type UpdateVolumeOutput struct {
17099	_ struct{} `type:"structure"`
17100}
17101
17102// String returns the string representation
17103func (s UpdateVolumeOutput) String() string {
17104	return awsutil.Prettify(s)
17105}
17106
17107// GoString returns the string representation
17108func (s UpdateVolumeOutput) GoString() string {
17109	return s.String()
17110}
17111
17112// Describes a user's SSH information.
17113type UserProfile struct {
17114	_ struct{} `type:"structure"`
17115
17116	// Whether users can specify their own SSH public key through the My Settings
17117	// page. For more information, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
17118	AllowSelfManagement *bool `type:"boolean"`
17119
17120	// The user's IAM ARN.
17121	IamUserArn *string `type:"string"`
17122
17123	// The user's name.
17124	Name *string `type:"string"`
17125
17126	// The user's SSH public key.
17127	SshPublicKey *string `type:"string"`
17128
17129	// The user's SSH user name.
17130	SshUsername *string `type:"string"`
17131}
17132
17133// String returns the string representation
17134func (s UserProfile) String() string {
17135	return awsutil.Prettify(s)
17136}
17137
17138// GoString returns the string representation
17139func (s UserProfile) GoString() string {
17140	return s.String()
17141}
17142
17143// SetAllowSelfManagement sets the AllowSelfManagement field's value.
17144func (s *UserProfile) SetAllowSelfManagement(v bool) *UserProfile {
17145	s.AllowSelfManagement = &v
17146	return s
17147}
17148
17149// SetIamUserArn sets the IamUserArn field's value.
17150func (s *UserProfile) SetIamUserArn(v string) *UserProfile {
17151	s.IamUserArn = &v
17152	return s
17153}
17154
17155// SetName sets the Name field's value.
17156func (s *UserProfile) SetName(v string) *UserProfile {
17157	s.Name = &v
17158	return s
17159}
17160
17161// SetSshPublicKey sets the SshPublicKey field's value.
17162func (s *UserProfile) SetSshPublicKey(v string) *UserProfile {
17163	s.SshPublicKey = &v
17164	return s
17165}
17166
17167// SetSshUsername sets the SshUsername field's value.
17168func (s *UserProfile) SetSshUsername(v string) *UserProfile {
17169	s.SshUsername = &v
17170	return s
17171}
17172
17173// Indicates that a request was not valid.
17174type ValidationException struct {
17175	_            struct{}                  `type:"structure"`
17176	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17177
17178	// The exception message.
17179	Message_ *string `locationName:"message" type:"string"`
17180}
17181
17182// String returns the string representation
17183func (s ValidationException) String() string {
17184	return awsutil.Prettify(s)
17185}
17186
17187// GoString returns the string representation
17188func (s ValidationException) GoString() string {
17189	return s.String()
17190}
17191
17192func newErrorValidationException(v protocol.ResponseMetadata) error {
17193	return &ValidationException{
17194		RespMetadata: v,
17195	}
17196}
17197
17198// Code returns the exception type name.
17199func (s *ValidationException) Code() string {
17200	return "ValidationException"
17201}
17202
17203// Message returns the exception's message.
17204func (s *ValidationException) Message() string {
17205	if s.Message_ != nil {
17206		return *s.Message_
17207	}
17208	return ""
17209}
17210
17211// OrigErr always returns nil, satisfies awserr.Error interface.
17212func (s *ValidationException) OrigErr() error {
17213	return nil
17214}
17215
17216func (s *ValidationException) Error() string {
17217	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17218}
17219
17220// Status code returns the HTTP status code for the request's response error.
17221func (s *ValidationException) StatusCode() int {
17222	return s.RespMetadata.StatusCode
17223}
17224
17225// RequestID returns the service's response RequestID for request.
17226func (s *ValidationException) RequestID() string {
17227	return s.RespMetadata.RequestID
17228}
17229
17230// Describes an instance's Amazon EBS volume.
17231type Volume struct {
17232	_ struct{} `type:"structure"`
17233
17234	// The volume Availability Zone. For more information, see Regions and Endpoints
17235	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
17236	AvailabilityZone *string `type:"string"`
17237
17238	// The device name.
17239	Device *string `type:"string"`
17240
17241	// The Amazon EC2 volume ID.
17242	Ec2VolumeId *string `type:"string"`
17243
17244	// Specifies whether an Amazon EBS volume is encrypted. For more information,
17245	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).
17246	Encrypted *bool `type:"boolean"`
17247
17248	// The instance ID.
17249	InstanceId *string `type:"string"`
17250
17251	// For PIOPS volumes, the IOPS per disk.
17252	Iops *int64 `type:"integer"`
17253
17254	// The volume mount point. For example, "/mnt/disk1".
17255	MountPoint *string `type:"string"`
17256
17257	// The volume name.
17258	Name *string `type:"string"`
17259
17260	// The RAID array ID.
17261	RaidArrayId *string `type:"string"`
17262
17263	// The AWS region. For more information about AWS regions, see Regions and Endpoints
17264	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
17265	Region *string `type:"string"`
17266
17267	// The volume size.
17268	Size *int64 `type:"integer"`
17269
17270	// The value returned by DescribeVolumes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html).
17271	Status *string `type:"string"`
17272
17273	// The volume ID.
17274	VolumeId *string `type:"string"`
17275
17276	// The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
17277	//
17278	//    * standard - Magnetic. Magnetic volumes must have a minimum size of 1
17279	//    GiB and a maximum size of 1024 GiB.
17280	//
17281	//    * io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size
17282	//    of 4 GiB and a maximum size of 16384 GiB.
17283	//
17284	//    * gp2 - General Purpose (SSD). General purpose volumes must have a minimum
17285	//    size of 1 GiB and a maximum size of 16384 GiB.
17286	//
17287	//    * st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized
17288	//    HDD volumes must have a minimum size of 500 GiB and a maximum size of
17289	//    16384 GiB.
17290	//
17291	//    * sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB
17292	//    and a maximum size of 16384 GiB.
17293	VolumeType *string `type:"string"`
17294}
17295
17296// String returns the string representation
17297func (s Volume) String() string {
17298	return awsutil.Prettify(s)
17299}
17300
17301// GoString returns the string representation
17302func (s Volume) GoString() string {
17303	return s.String()
17304}
17305
17306// SetAvailabilityZone sets the AvailabilityZone field's value.
17307func (s *Volume) SetAvailabilityZone(v string) *Volume {
17308	s.AvailabilityZone = &v
17309	return s
17310}
17311
17312// SetDevice sets the Device field's value.
17313func (s *Volume) SetDevice(v string) *Volume {
17314	s.Device = &v
17315	return s
17316}
17317
17318// SetEc2VolumeId sets the Ec2VolumeId field's value.
17319func (s *Volume) SetEc2VolumeId(v string) *Volume {
17320	s.Ec2VolumeId = &v
17321	return s
17322}
17323
17324// SetEncrypted sets the Encrypted field's value.
17325func (s *Volume) SetEncrypted(v bool) *Volume {
17326	s.Encrypted = &v
17327	return s
17328}
17329
17330// SetInstanceId sets the InstanceId field's value.
17331func (s *Volume) SetInstanceId(v string) *Volume {
17332	s.InstanceId = &v
17333	return s
17334}
17335
17336// SetIops sets the Iops field's value.
17337func (s *Volume) SetIops(v int64) *Volume {
17338	s.Iops = &v
17339	return s
17340}
17341
17342// SetMountPoint sets the MountPoint field's value.
17343func (s *Volume) SetMountPoint(v string) *Volume {
17344	s.MountPoint = &v
17345	return s
17346}
17347
17348// SetName sets the Name field's value.
17349func (s *Volume) SetName(v string) *Volume {
17350	s.Name = &v
17351	return s
17352}
17353
17354// SetRaidArrayId sets the RaidArrayId field's value.
17355func (s *Volume) SetRaidArrayId(v string) *Volume {
17356	s.RaidArrayId = &v
17357	return s
17358}
17359
17360// SetRegion sets the Region field's value.
17361func (s *Volume) SetRegion(v string) *Volume {
17362	s.Region = &v
17363	return s
17364}
17365
17366// SetSize sets the Size field's value.
17367func (s *Volume) SetSize(v int64) *Volume {
17368	s.Size = &v
17369	return s
17370}
17371
17372// SetStatus sets the Status field's value.
17373func (s *Volume) SetStatus(v string) *Volume {
17374	s.Status = &v
17375	return s
17376}
17377
17378// SetVolumeId sets the VolumeId field's value.
17379func (s *Volume) SetVolumeId(v string) *Volume {
17380	s.VolumeId = &v
17381	return s
17382}
17383
17384// SetVolumeType sets the VolumeType field's value.
17385func (s *Volume) SetVolumeType(v string) *Volume {
17386	s.VolumeType = &v
17387	return s
17388}
17389
17390// Describes an Amazon EBS volume configuration.
17391type VolumeConfiguration struct {
17392	_ struct{} `type:"structure"`
17393
17394	// Specifies whether an Amazon EBS volume is encrypted. For more information,
17395	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).
17396	Encrypted *bool `type:"boolean"`
17397
17398	// For PIOPS volumes, the IOPS per disk.
17399	Iops *int64 `type:"integer"`
17400
17401	// The volume mount point. For example "/dev/sdh".
17402	//
17403	// MountPoint is a required field
17404	MountPoint *string `type:"string" required:"true"`
17405
17406	// The number of disks in the volume.
17407	//
17408	// NumberOfDisks is a required field
17409	NumberOfDisks *int64 `type:"integer" required:"true"`
17410
17411	// The volume RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels).
17412	RaidLevel *int64 `type:"integer"`
17413
17414	// The volume size.
17415	//
17416	// Size is a required field
17417	Size *int64 `type:"integer" required:"true"`
17418
17419	// The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
17420	//
17421	//    * standard - Magnetic. Magnetic volumes must have a minimum size of 1
17422	//    GiB and a maximum size of 1024 GiB.
17423	//
17424	//    * io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size
17425	//    of 4 GiB and a maximum size of 16384 GiB.
17426	//
17427	//    * gp2 - General Purpose (SSD). General purpose volumes must have a minimum
17428	//    size of 1 GiB and a maximum size of 16384 GiB.
17429	//
17430	//    * st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized
17431	//    HDD volumes must have a minimum size of 500 GiB and a maximum size of
17432	//    16384 GiB.
17433	//
17434	//    * sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB
17435	//    and a maximum size of 16384 GiB.
17436	VolumeType *string `type:"string"`
17437}
17438
17439// String returns the string representation
17440func (s VolumeConfiguration) String() string {
17441	return awsutil.Prettify(s)
17442}
17443
17444// GoString returns the string representation
17445func (s VolumeConfiguration) GoString() string {
17446	return s.String()
17447}
17448
17449// Validate inspects the fields of the type to determine if they are valid.
17450func (s *VolumeConfiguration) Validate() error {
17451	invalidParams := request.ErrInvalidParams{Context: "VolumeConfiguration"}
17452	if s.MountPoint == nil {
17453		invalidParams.Add(request.NewErrParamRequired("MountPoint"))
17454	}
17455	if s.NumberOfDisks == nil {
17456		invalidParams.Add(request.NewErrParamRequired("NumberOfDisks"))
17457	}
17458	if s.Size == nil {
17459		invalidParams.Add(request.NewErrParamRequired("Size"))
17460	}
17461
17462	if invalidParams.Len() > 0 {
17463		return invalidParams
17464	}
17465	return nil
17466}
17467
17468// SetEncrypted sets the Encrypted field's value.
17469func (s *VolumeConfiguration) SetEncrypted(v bool) *VolumeConfiguration {
17470	s.Encrypted = &v
17471	return s
17472}
17473
17474// SetIops sets the Iops field's value.
17475func (s *VolumeConfiguration) SetIops(v int64) *VolumeConfiguration {
17476	s.Iops = &v
17477	return s
17478}
17479
17480// SetMountPoint sets the MountPoint field's value.
17481func (s *VolumeConfiguration) SetMountPoint(v string) *VolumeConfiguration {
17482	s.MountPoint = &v
17483	return s
17484}
17485
17486// SetNumberOfDisks sets the NumberOfDisks field's value.
17487func (s *VolumeConfiguration) SetNumberOfDisks(v int64) *VolumeConfiguration {
17488	s.NumberOfDisks = &v
17489	return s
17490}
17491
17492// SetRaidLevel sets the RaidLevel field's value.
17493func (s *VolumeConfiguration) SetRaidLevel(v int64) *VolumeConfiguration {
17494	s.RaidLevel = &v
17495	return s
17496}
17497
17498// SetSize sets the Size field's value.
17499func (s *VolumeConfiguration) SetSize(v int64) *VolumeConfiguration {
17500	s.Size = &v
17501	return s
17502}
17503
17504// SetVolumeType sets the VolumeType field's value.
17505func (s *VolumeConfiguration) SetVolumeType(v string) *VolumeConfiguration {
17506	s.VolumeType = &v
17507	return s
17508}
17509
17510// Describes a time-based instance's auto scaling schedule. The schedule consists
17511// of a set of key-value pairs.
17512//
17513//    * The key is the time period (a UTC hour) and must be an integer from
17514//    0 - 23.
17515//
17516//    * The value indicates whether the instance should be online or offline
17517//    for the specified period, and must be set to "on" or "off"
17518//
17519// The default setting for all time periods is off, so you use the following
17520// parameters primarily to specify the online periods. You don't have to explicitly
17521// specify offline periods unless you want to change an online period to an
17522// offline period.
17523//
17524// The following example specifies that the instance should be online for four
17525// hours, from UTC 1200 - 1600. It will be off for the remainder of the day.
17526//
17527// { "12":"on", "13":"on", "14":"on", "15":"on" }
17528type WeeklyAutoScalingSchedule struct {
17529	_ struct{} `type:"structure"`
17530
17531	// The schedule for Friday.
17532	Friday map[string]*string `type:"map"`
17533
17534	// The schedule for Monday.
17535	Monday map[string]*string `type:"map"`
17536
17537	// The schedule for Saturday.
17538	Saturday map[string]*string `type:"map"`
17539
17540	// The schedule for Sunday.
17541	Sunday map[string]*string `type:"map"`
17542
17543	// The schedule for Thursday.
17544	Thursday map[string]*string `type:"map"`
17545
17546	// The schedule for Tuesday.
17547	Tuesday map[string]*string `type:"map"`
17548
17549	// The schedule for Wednesday.
17550	Wednesday map[string]*string `type:"map"`
17551}
17552
17553// String returns the string representation
17554func (s WeeklyAutoScalingSchedule) String() string {
17555	return awsutil.Prettify(s)
17556}
17557
17558// GoString returns the string representation
17559func (s WeeklyAutoScalingSchedule) GoString() string {
17560	return s.String()
17561}
17562
17563// SetFriday sets the Friday field's value.
17564func (s *WeeklyAutoScalingSchedule) SetFriday(v map[string]*string) *WeeklyAutoScalingSchedule {
17565	s.Friday = v
17566	return s
17567}
17568
17569// SetMonday sets the Monday field's value.
17570func (s *WeeklyAutoScalingSchedule) SetMonday(v map[string]*string) *WeeklyAutoScalingSchedule {
17571	s.Monday = v
17572	return s
17573}
17574
17575// SetSaturday sets the Saturday field's value.
17576func (s *WeeklyAutoScalingSchedule) SetSaturday(v map[string]*string) *WeeklyAutoScalingSchedule {
17577	s.Saturday = v
17578	return s
17579}
17580
17581// SetSunday sets the Sunday field's value.
17582func (s *WeeklyAutoScalingSchedule) SetSunday(v map[string]*string) *WeeklyAutoScalingSchedule {
17583	s.Sunday = v
17584	return s
17585}
17586
17587// SetThursday sets the Thursday field's value.
17588func (s *WeeklyAutoScalingSchedule) SetThursday(v map[string]*string) *WeeklyAutoScalingSchedule {
17589	s.Thursday = v
17590	return s
17591}
17592
17593// SetTuesday sets the Tuesday field's value.
17594func (s *WeeklyAutoScalingSchedule) SetTuesday(v map[string]*string) *WeeklyAutoScalingSchedule {
17595	s.Tuesday = v
17596	return s
17597}
17598
17599// SetWednesday sets the Wednesday field's value.
17600func (s *WeeklyAutoScalingSchedule) SetWednesday(v map[string]*string) *WeeklyAutoScalingSchedule {
17601	s.Wednesday = v
17602	return s
17603}
17604
17605const (
17606	// AppAttributesKeysDocumentRoot is a AppAttributesKeys enum value
17607	AppAttributesKeysDocumentRoot = "DocumentRoot"
17608
17609	// AppAttributesKeysRailsEnv is a AppAttributesKeys enum value
17610	AppAttributesKeysRailsEnv = "RailsEnv"
17611
17612	// AppAttributesKeysAutoBundleOnDeploy is a AppAttributesKeys enum value
17613	AppAttributesKeysAutoBundleOnDeploy = "AutoBundleOnDeploy"
17614
17615	// AppAttributesKeysAwsFlowRubySettings is a AppAttributesKeys enum value
17616	AppAttributesKeysAwsFlowRubySettings = "AwsFlowRubySettings"
17617)
17618
17619// AppAttributesKeys_Values returns all elements of the AppAttributesKeys enum
17620func AppAttributesKeys_Values() []string {
17621	return []string{
17622		AppAttributesKeysDocumentRoot,
17623		AppAttributesKeysRailsEnv,
17624		AppAttributesKeysAutoBundleOnDeploy,
17625		AppAttributesKeysAwsFlowRubySettings,
17626	}
17627}
17628
17629const (
17630	// AppTypeAwsFlowRuby is a AppType enum value
17631	AppTypeAwsFlowRuby = "aws-flow-ruby"
17632
17633	// AppTypeJava is a AppType enum value
17634	AppTypeJava = "java"
17635
17636	// AppTypeRails is a AppType enum value
17637	AppTypeRails = "rails"
17638
17639	// AppTypePhp is a AppType enum value
17640	AppTypePhp = "php"
17641
17642	// AppTypeNodejs is a AppType enum value
17643	AppTypeNodejs = "nodejs"
17644
17645	// AppTypeStatic is a AppType enum value
17646	AppTypeStatic = "static"
17647
17648	// AppTypeOther is a AppType enum value
17649	AppTypeOther = "other"
17650)
17651
17652// AppType_Values returns all elements of the AppType enum
17653func AppType_Values() []string {
17654	return []string{
17655		AppTypeAwsFlowRuby,
17656		AppTypeJava,
17657		AppTypeRails,
17658		AppTypePhp,
17659		AppTypeNodejs,
17660		AppTypeStatic,
17661		AppTypeOther,
17662	}
17663}
17664
17665const (
17666	// ArchitectureX8664 is a Architecture enum value
17667	ArchitectureX8664 = "x86_64"
17668
17669	// ArchitectureI386 is a Architecture enum value
17670	ArchitectureI386 = "i386"
17671)
17672
17673// Architecture_Values returns all elements of the Architecture enum
17674func Architecture_Values() []string {
17675	return []string{
17676		ArchitectureX8664,
17677		ArchitectureI386,
17678	}
17679}
17680
17681const (
17682	// AutoScalingTypeLoad is a AutoScalingType enum value
17683	AutoScalingTypeLoad = "load"
17684
17685	// AutoScalingTypeTimer is a AutoScalingType enum value
17686	AutoScalingTypeTimer = "timer"
17687)
17688
17689// AutoScalingType_Values returns all elements of the AutoScalingType enum
17690func AutoScalingType_Values() []string {
17691	return []string{
17692		AutoScalingTypeLoad,
17693		AutoScalingTypeTimer,
17694	}
17695}
17696
17697// Specifies the encoding of the log file so that the file can be read correctly.
17698// The default is utf_8. Encodings supported by Python codecs.decode() can be
17699// used here.
17700const (
17701	// CloudWatchLogsEncodingAscii is a CloudWatchLogsEncoding enum value
17702	CloudWatchLogsEncodingAscii = "ascii"
17703
17704	// CloudWatchLogsEncodingBig5 is a CloudWatchLogsEncoding enum value
17705	CloudWatchLogsEncodingBig5 = "big5"
17706
17707	// CloudWatchLogsEncodingBig5hkscs is a CloudWatchLogsEncoding enum value
17708	CloudWatchLogsEncodingBig5hkscs = "big5hkscs"
17709
17710	// CloudWatchLogsEncodingCp037 is a CloudWatchLogsEncoding enum value
17711	CloudWatchLogsEncodingCp037 = "cp037"
17712
17713	// CloudWatchLogsEncodingCp424 is a CloudWatchLogsEncoding enum value
17714	CloudWatchLogsEncodingCp424 = "cp424"
17715
17716	// CloudWatchLogsEncodingCp437 is a CloudWatchLogsEncoding enum value
17717	CloudWatchLogsEncodingCp437 = "cp437"
17718
17719	// CloudWatchLogsEncodingCp500 is a CloudWatchLogsEncoding enum value
17720	CloudWatchLogsEncodingCp500 = "cp500"
17721
17722	// CloudWatchLogsEncodingCp720 is a CloudWatchLogsEncoding enum value
17723	CloudWatchLogsEncodingCp720 = "cp720"
17724
17725	// CloudWatchLogsEncodingCp737 is a CloudWatchLogsEncoding enum value
17726	CloudWatchLogsEncodingCp737 = "cp737"
17727
17728	// CloudWatchLogsEncodingCp775 is a CloudWatchLogsEncoding enum value
17729	CloudWatchLogsEncodingCp775 = "cp775"
17730
17731	// CloudWatchLogsEncodingCp850 is a CloudWatchLogsEncoding enum value
17732	CloudWatchLogsEncodingCp850 = "cp850"
17733
17734	// CloudWatchLogsEncodingCp852 is a CloudWatchLogsEncoding enum value
17735	CloudWatchLogsEncodingCp852 = "cp852"
17736
17737	// CloudWatchLogsEncodingCp855 is a CloudWatchLogsEncoding enum value
17738	CloudWatchLogsEncodingCp855 = "cp855"
17739
17740	// CloudWatchLogsEncodingCp856 is a CloudWatchLogsEncoding enum value
17741	CloudWatchLogsEncodingCp856 = "cp856"
17742
17743	// CloudWatchLogsEncodingCp857 is a CloudWatchLogsEncoding enum value
17744	CloudWatchLogsEncodingCp857 = "cp857"
17745
17746	// CloudWatchLogsEncodingCp858 is a CloudWatchLogsEncoding enum value
17747	CloudWatchLogsEncodingCp858 = "cp858"
17748
17749	// CloudWatchLogsEncodingCp860 is a CloudWatchLogsEncoding enum value
17750	CloudWatchLogsEncodingCp860 = "cp860"
17751
17752	// CloudWatchLogsEncodingCp861 is a CloudWatchLogsEncoding enum value
17753	CloudWatchLogsEncodingCp861 = "cp861"
17754
17755	// CloudWatchLogsEncodingCp862 is a CloudWatchLogsEncoding enum value
17756	CloudWatchLogsEncodingCp862 = "cp862"
17757
17758	// CloudWatchLogsEncodingCp863 is a CloudWatchLogsEncoding enum value
17759	CloudWatchLogsEncodingCp863 = "cp863"
17760
17761	// CloudWatchLogsEncodingCp864 is a CloudWatchLogsEncoding enum value
17762	CloudWatchLogsEncodingCp864 = "cp864"
17763
17764	// CloudWatchLogsEncodingCp865 is a CloudWatchLogsEncoding enum value
17765	CloudWatchLogsEncodingCp865 = "cp865"
17766
17767	// CloudWatchLogsEncodingCp866 is a CloudWatchLogsEncoding enum value
17768	CloudWatchLogsEncodingCp866 = "cp866"
17769
17770	// CloudWatchLogsEncodingCp869 is a CloudWatchLogsEncoding enum value
17771	CloudWatchLogsEncodingCp869 = "cp869"
17772
17773	// CloudWatchLogsEncodingCp874 is a CloudWatchLogsEncoding enum value
17774	CloudWatchLogsEncodingCp874 = "cp874"
17775
17776	// CloudWatchLogsEncodingCp875 is a CloudWatchLogsEncoding enum value
17777	CloudWatchLogsEncodingCp875 = "cp875"
17778
17779	// CloudWatchLogsEncodingCp932 is a CloudWatchLogsEncoding enum value
17780	CloudWatchLogsEncodingCp932 = "cp932"
17781
17782	// CloudWatchLogsEncodingCp949 is a CloudWatchLogsEncoding enum value
17783	CloudWatchLogsEncodingCp949 = "cp949"
17784
17785	// CloudWatchLogsEncodingCp950 is a CloudWatchLogsEncoding enum value
17786	CloudWatchLogsEncodingCp950 = "cp950"
17787
17788	// CloudWatchLogsEncodingCp1006 is a CloudWatchLogsEncoding enum value
17789	CloudWatchLogsEncodingCp1006 = "cp1006"
17790
17791	// CloudWatchLogsEncodingCp1026 is a CloudWatchLogsEncoding enum value
17792	CloudWatchLogsEncodingCp1026 = "cp1026"
17793
17794	// CloudWatchLogsEncodingCp1140 is a CloudWatchLogsEncoding enum value
17795	CloudWatchLogsEncodingCp1140 = "cp1140"
17796
17797	// CloudWatchLogsEncodingCp1250 is a CloudWatchLogsEncoding enum value
17798	CloudWatchLogsEncodingCp1250 = "cp1250"
17799
17800	// CloudWatchLogsEncodingCp1251 is a CloudWatchLogsEncoding enum value
17801	CloudWatchLogsEncodingCp1251 = "cp1251"
17802
17803	// CloudWatchLogsEncodingCp1252 is a CloudWatchLogsEncoding enum value
17804	CloudWatchLogsEncodingCp1252 = "cp1252"
17805
17806	// CloudWatchLogsEncodingCp1253 is a CloudWatchLogsEncoding enum value
17807	CloudWatchLogsEncodingCp1253 = "cp1253"
17808
17809	// CloudWatchLogsEncodingCp1254 is a CloudWatchLogsEncoding enum value
17810	CloudWatchLogsEncodingCp1254 = "cp1254"
17811
17812	// CloudWatchLogsEncodingCp1255 is a CloudWatchLogsEncoding enum value
17813	CloudWatchLogsEncodingCp1255 = "cp1255"
17814
17815	// CloudWatchLogsEncodingCp1256 is a CloudWatchLogsEncoding enum value
17816	CloudWatchLogsEncodingCp1256 = "cp1256"
17817
17818	// CloudWatchLogsEncodingCp1257 is a CloudWatchLogsEncoding enum value
17819	CloudWatchLogsEncodingCp1257 = "cp1257"
17820
17821	// CloudWatchLogsEncodingCp1258 is a CloudWatchLogsEncoding enum value
17822	CloudWatchLogsEncodingCp1258 = "cp1258"
17823
17824	// CloudWatchLogsEncodingEucJp is a CloudWatchLogsEncoding enum value
17825	CloudWatchLogsEncodingEucJp = "euc_jp"
17826
17827	// CloudWatchLogsEncodingEucJis2004 is a CloudWatchLogsEncoding enum value
17828	CloudWatchLogsEncodingEucJis2004 = "euc_jis_2004"
17829
17830	// CloudWatchLogsEncodingEucJisx0213 is a CloudWatchLogsEncoding enum value
17831	CloudWatchLogsEncodingEucJisx0213 = "euc_jisx0213"
17832
17833	// CloudWatchLogsEncodingEucKr is a CloudWatchLogsEncoding enum value
17834	CloudWatchLogsEncodingEucKr = "euc_kr"
17835
17836	// CloudWatchLogsEncodingGb2312 is a CloudWatchLogsEncoding enum value
17837	CloudWatchLogsEncodingGb2312 = "gb2312"
17838
17839	// CloudWatchLogsEncodingGbk is a CloudWatchLogsEncoding enum value
17840	CloudWatchLogsEncodingGbk = "gbk"
17841
17842	// CloudWatchLogsEncodingGb18030 is a CloudWatchLogsEncoding enum value
17843	CloudWatchLogsEncodingGb18030 = "gb18030"
17844
17845	// CloudWatchLogsEncodingHz is a CloudWatchLogsEncoding enum value
17846	CloudWatchLogsEncodingHz = "hz"
17847
17848	// CloudWatchLogsEncodingIso2022Jp is a CloudWatchLogsEncoding enum value
17849	CloudWatchLogsEncodingIso2022Jp = "iso2022_jp"
17850
17851	// CloudWatchLogsEncodingIso2022Jp1 is a CloudWatchLogsEncoding enum value
17852	CloudWatchLogsEncodingIso2022Jp1 = "iso2022_jp_1"
17853
17854	// CloudWatchLogsEncodingIso2022Jp2 is a CloudWatchLogsEncoding enum value
17855	CloudWatchLogsEncodingIso2022Jp2 = "iso2022_jp_2"
17856
17857	// CloudWatchLogsEncodingIso2022Jp2004 is a CloudWatchLogsEncoding enum value
17858	CloudWatchLogsEncodingIso2022Jp2004 = "iso2022_jp_2004"
17859
17860	// CloudWatchLogsEncodingIso2022Jp3 is a CloudWatchLogsEncoding enum value
17861	CloudWatchLogsEncodingIso2022Jp3 = "iso2022_jp_3"
17862
17863	// CloudWatchLogsEncodingIso2022JpExt is a CloudWatchLogsEncoding enum value
17864	CloudWatchLogsEncodingIso2022JpExt = "iso2022_jp_ext"
17865
17866	// CloudWatchLogsEncodingIso2022Kr is a CloudWatchLogsEncoding enum value
17867	CloudWatchLogsEncodingIso2022Kr = "iso2022_kr"
17868
17869	// CloudWatchLogsEncodingLatin1 is a CloudWatchLogsEncoding enum value
17870	CloudWatchLogsEncodingLatin1 = "latin_1"
17871
17872	// CloudWatchLogsEncodingIso88592 is a CloudWatchLogsEncoding enum value
17873	CloudWatchLogsEncodingIso88592 = "iso8859_2"
17874
17875	// CloudWatchLogsEncodingIso88593 is a CloudWatchLogsEncoding enum value
17876	CloudWatchLogsEncodingIso88593 = "iso8859_3"
17877
17878	// CloudWatchLogsEncodingIso88594 is a CloudWatchLogsEncoding enum value
17879	CloudWatchLogsEncodingIso88594 = "iso8859_4"
17880
17881	// CloudWatchLogsEncodingIso88595 is a CloudWatchLogsEncoding enum value
17882	CloudWatchLogsEncodingIso88595 = "iso8859_5"
17883
17884	// CloudWatchLogsEncodingIso88596 is a CloudWatchLogsEncoding enum value
17885	CloudWatchLogsEncodingIso88596 = "iso8859_6"
17886
17887	// CloudWatchLogsEncodingIso88597 is a CloudWatchLogsEncoding enum value
17888	CloudWatchLogsEncodingIso88597 = "iso8859_7"
17889
17890	// CloudWatchLogsEncodingIso88598 is a CloudWatchLogsEncoding enum value
17891	CloudWatchLogsEncodingIso88598 = "iso8859_8"
17892
17893	// CloudWatchLogsEncodingIso88599 is a CloudWatchLogsEncoding enum value
17894	CloudWatchLogsEncodingIso88599 = "iso8859_9"
17895
17896	// CloudWatchLogsEncodingIso885910 is a CloudWatchLogsEncoding enum value
17897	CloudWatchLogsEncodingIso885910 = "iso8859_10"
17898
17899	// CloudWatchLogsEncodingIso885913 is a CloudWatchLogsEncoding enum value
17900	CloudWatchLogsEncodingIso885913 = "iso8859_13"
17901
17902	// CloudWatchLogsEncodingIso885914 is a CloudWatchLogsEncoding enum value
17903	CloudWatchLogsEncodingIso885914 = "iso8859_14"
17904
17905	// CloudWatchLogsEncodingIso885915 is a CloudWatchLogsEncoding enum value
17906	CloudWatchLogsEncodingIso885915 = "iso8859_15"
17907
17908	// CloudWatchLogsEncodingIso885916 is a CloudWatchLogsEncoding enum value
17909	CloudWatchLogsEncodingIso885916 = "iso8859_16"
17910
17911	// CloudWatchLogsEncodingJohab is a CloudWatchLogsEncoding enum value
17912	CloudWatchLogsEncodingJohab = "johab"
17913
17914	// CloudWatchLogsEncodingKoi8R is a CloudWatchLogsEncoding enum value
17915	CloudWatchLogsEncodingKoi8R = "koi8_r"
17916
17917	// CloudWatchLogsEncodingKoi8U is a CloudWatchLogsEncoding enum value
17918	CloudWatchLogsEncodingKoi8U = "koi8_u"
17919
17920	// CloudWatchLogsEncodingMacCyrillic is a CloudWatchLogsEncoding enum value
17921	CloudWatchLogsEncodingMacCyrillic = "mac_cyrillic"
17922
17923	// CloudWatchLogsEncodingMacGreek is a CloudWatchLogsEncoding enum value
17924	CloudWatchLogsEncodingMacGreek = "mac_greek"
17925
17926	// CloudWatchLogsEncodingMacIceland is a CloudWatchLogsEncoding enum value
17927	CloudWatchLogsEncodingMacIceland = "mac_iceland"
17928
17929	// CloudWatchLogsEncodingMacLatin2 is a CloudWatchLogsEncoding enum value
17930	CloudWatchLogsEncodingMacLatin2 = "mac_latin2"
17931
17932	// CloudWatchLogsEncodingMacRoman is a CloudWatchLogsEncoding enum value
17933	CloudWatchLogsEncodingMacRoman = "mac_roman"
17934
17935	// CloudWatchLogsEncodingMacTurkish is a CloudWatchLogsEncoding enum value
17936	CloudWatchLogsEncodingMacTurkish = "mac_turkish"
17937
17938	// CloudWatchLogsEncodingPtcp154 is a CloudWatchLogsEncoding enum value
17939	CloudWatchLogsEncodingPtcp154 = "ptcp154"
17940
17941	// CloudWatchLogsEncodingShiftJis is a CloudWatchLogsEncoding enum value
17942	CloudWatchLogsEncodingShiftJis = "shift_jis"
17943
17944	// CloudWatchLogsEncodingShiftJis2004 is a CloudWatchLogsEncoding enum value
17945	CloudWatchLogsEncodingShiftJis2004 = "shift_jis_2004"
17946
17947	// CloudWatchLogsEncodingShiftJisx0213 is a CloudWatchLogsEncoding enum value
17948	CloudWatchLogsEncodingShiftJisx0213 = "shift_jisx0213"
17949
17950	// CloudWatchLogsEncodingUtf32 is a CloudWatchLogsEncoding enum value
17951	CloudWatchLogsEncodingUtf32 = "utf_32"
17952
17953	// CloudWatchLogsEncodingUtf32Be is a CloudWatchLogsEncoding enum value
17954	CloudWatchLogsEncodingUtf32Be = "utf_32_be"
17955
17956	// CloudWatchLogsEncodingUtf32Le is a CloudWatchLogsEncoding enum value
17957	CloudWatchLogsEncodingUtf32Le = "utf_32_le"
17958
17959	// CloudWatchLogsEncodingUtf16 is a CloudWatchLogsEncoding enum value
17960	CloudWatchLogsEncodingUtf16 = "utf_16"
17961
17962	// CloudWatchLogsEncodingUtf16Be is a CloudWatchLogsEncoding enum value
17963	CloudWatchLogsEncodingUtf16Be = "utf_16_be"
17964
17965	// CloudWatchLogsEncodingUtf16Le is a CloudWatchLogsEncoding enum value
17966	CloudWatchLogsEncodingUtf16Le = "utf_16_le"
17967
17968	// CloudWatchLogsEncodingUtf7 is a CloudWatchLogsEncoding enum value
17969	CloudWatchLogsEncodingUtf7 = "utf_7"
17970
17971	// CloudWatchLogsEncodingUtf8 is a CloudWatchLogsEncoding enum value
17972	CloudWatchLogsEncodingUtf8 = "utf_8"
17973
17974	// CloudWatchLogsEncodingUtf8Sig is a CloudWatchLogsEncoding enum value
17975	CloudWatchLogsEncodingUtf8Sig = "utf_8_sig"
17976)
17977
17978// CloudWatchLogsEncoding_Values returns all elements of the CloudWatchLogsEncoding enum
17979func CloudWatchLogsEncoding_Values() []string {
17980	return []string{
17981		CloudWatchLogsEncodingAscii,
17982		CloudWatchLogsEncodingBig5,
17983		CloudWatchLogsEncodingBig5hkscs,
17984		CloudWatchLogsEncodingCp037,
17985		CloudWatchLogsEncodingCp424,
17986		CloudWatchLogsEncodingCp437,
17987		CloudWatchLogsEncodingCp500,
17988		CloudWatchLogsEncodingCp720,
17989		CloudWatchLogsEncodingCp737,
17990		CloudWatchLogsEncodingCp775,
17991		CloudWatchLogsEncodingCp850,
17992		CloudWatchLogsEncodingCp852,
17993		CloudWatchLogsEncodingCp855,
17994		CloudWatchLogsEncodingCp856,
17995		CloudWatchLogsEncodingCp857,
17996		CloudWatchLogsEncodingCp858,
17997		CloudWatchLogsEncodingCp860,
17998		CloudWatchLogsEncodingCp861,
17999		CloudWatchLogsEncodingCp862,
18000		CloudWatchLogsEncodingCp863,
18001		CloudWatchLogsEncodingCp864,
18002		CloudWatchLogsEncodingCp865,
18003		CloudWatchLogsEncodingCp866,
18004		CloudWatchLogsEncodingCp869,
18005		CloudWatchLogsEncodingCp874,
18006		CloudWatchLogsEncodingCp875,
18007		CloudWatchLogsEncodingCp932,
18008		CloudWatchLogsEncodingCp949,
18009		CloudWatchLogsEncodingCp950,
18010		CloudWatchLogsEncodingCp1006,
18011		CloudWatchLogsEncodingCp1026,
18012		CloudWatchLogsEncodingCp1140,
18013		CloudWatchLogsEncodingCp1250,
18014		CloudWatchLogsEncodingCp1251,
18015		CloudWatchLogsEncodingCp1252,
18016		CloudWatchLogsEncodingCp1253,
18017		CloudWatchLogsEncodingCp1254,
18018		CloudWatchLogsEncodingCp1255,
18019		CloudWatchLogsEncodingCp1256,
18020		CloudWatchLogsEncodingCp1257,
18021		CloudWatchLogsEncodingCp1258,
18022		CloudWatchLogsEncodingEucJp,
18023		CloudWatchLogsEncodingEucJis2004,
18024		CloudWatchLogsEncodingEucJisx0213,
18025		CloudWatchLogsEncodingEucKr,
18026		CloudWatchLogsEncodingGb2312,
18027		CloudWatchLogsEncodingGbk,
18028		CloudWatchLogsEncodingGb18030,
18029		CloudWatchLogsEncodingHz,
18030		CloudWatchLogsEncodingIso2022Jp,
18031		CloudWatchLogsEncodingIso2022Jp1,
18032		CloudWatchLogsEncodingIso2022Jp2,
18033		CloudWatchLogsEncodingIso2022Jp2004,
18034		CloudWatchLogsEncodingIso2022Jp3,
18035		CloudWatchLogsEncodingIso2022JpExt,
18036		CloudWatchLogsEncodingIso2022Kr,
18037		CloudWatchLogsEncodingLatin1,
18038		CloudWatchLogsEncodingIso88592,
18039		CloudWatchLogsEncodingIso88593,
18040		CloudWatchLogsEncodingIso88594,
18041		CloudWatchLogsEncodingIso88595,
18042		CloudWatchLogsEncodingIso88596,
18043		CloudWatchLogsEncodingIso88597,
18044		CloudWatchLogsEncodingIso88598,
18045		CloudWatchLogsEncodingIso88599,
18046		CloudWatchLogsEncodingIso885910,
18047		CloudWatchLogsEncodingIso885913,
18048		CloudWatchLogsEncodingIso885914,
18049		CloudWatchLogsEncodingIso885915,
18050		CloudWatchLogsEncodingIso885916,
18051		CloudWatchLogsEncodingJohab,
18052		CloudWatchLogsEncodingKoi8R,
18053		CloudWatchLogsEncodingKoi8U,
18054		CloudWatchLogsEncodingMacCyrillic,
18055		CloudWatchLogsEncodingMacGreek,
18056		CloudWatchLogsEncodingMacIceland,
18057		CloudWatchLogsEncodingMacLatin2,
18058		CloudWatchLogsEncodingMacRoman,
18059		CloudWatchLogsEncodingMacTurkish,
18060		CloudWatchLogsEncodingPtcp154,
18061		CloudWatchLogsEncodingShiftJis,
18062		CloudWatchLogsEncodingShiftJis2004,
18063		CloudWatchLogsEncodingShiftJisx0213,
18064		CloudWatchLogsEncodingUtf32,
18065		CloudWatchLogsEncodingUtf32Be,
18066		CloudWatchLogsEncodingUtf32Le,
18067		CloudWatchLogsEncodingUtf16,
18068		CloudWatchLogsEncodingUtf16Be,
18069		CloudWatchLogsEncodingUtf16Le,
18070		CloudWatchLogsEncodingUtf7,
18071		CloudWatchLogsEncodingUtf8,
18072		CloudWatchLogsEncodingUtf8Sig,
18073	}
18074}
18075
18076// Specifies where to start to read data (start_of_file or end_of_file). The
18077// default is start_of_file. It's only used if there is no state persisted for
18078// that log stream.
18079const (
18080	// CloudWatchLogsInitialPositionStartOfFile is a CloudWatchLogsInitialPosition enum value
18081	CloudWatchLogsInitialPositionStartOfFile = "start_of_file"
18082
18083	// CloudWatchLogsInitialPositionEndOfFile is a CloudWatchLogsInitialPosition enum value
18084	CloudWatchLogsInitialPositionEndOfFile = "end_of_file"
18085)
18086
18087// CloudWatchLogsInitialPosition_Values returns all elements of the CloudWatchLogsInitialPosition enum
18088func CloudWatchLogsInitialPosition_Values() []string {
18089	return []string{
18090		CloudWatchLogsInitialPositionStartOfFile,
18091		CloudWatchLogsInitialPositionEndOfFile,
18092	}
18093}
18094
18095// The preferred time zone for logs streamed to CloudWatch Logs. Valid values
18096// are LOCAL and UTC, for Coordinated Universal Time.
18097const (
18098	// CloudWatchLogsTimeZoneLocal is a CloudWatchLogsTimeZone enum value
18099	CloudWatchLogsTimeZoneLocal = "LOCAL"
18100
18101	// CloudWatchLogsTimeZoneUtc is a CloudWatchLogsTimeZone enum value
18102	CloudWatchLogsTimeZoneUtc = "UTC"
18103)
18104
18105// CloudWatchLogsTimeZone_Values returns all elements of the CloudWatchLogsTimeZone enum
18106func CloudWatchLogsTimeZone_Values() []string {
18107	return []string{
18108		CloudWatchLogsTimeZoneLocal,
18109		CloudWatchLogsTimeZoneUtc,
18110	}
18111}
18112
18113const (
18114	// DeploymentCommandNameInstallDependencies is a DeploymentCommandName enum value
18115	DeploymentCommandNameInstallDependencies = "install_dependencies"
18116
18117	// DeploymentCommandNameUpdateDependencies is a DeploymentCommandName enum value
18118	DeploymentCommandNameUpdateDependencies = "update_dependencies"
18119
18120	// DeploymentCommandNameUpdateCustomCookbooks is a DeploymentCommandName enum value
18121	DeploymentCommandNameUpdateCustomCookbooks = "update_custom_cookbooks"
18122
18123	// DeploymentCommandNameExecuteRecipes is a DeploymentCommandName enum value
18124	DeploymentCommandNameExecuteRecipes = "execute_recipes"
18125
18126	// DeploymentCommandNameConfigure is a DeploymentCommandName enum value
18127	DeploymentCommandNameConfigure = "configure"
18128
18129	// DeploymentCommandNameSetup is a DeploymentCommandName enum value
18130	DeploymentCommandNameSetup = "setup"
18131
18132	// DeploymentCommandNameDeploy is a DeploymentCommandName enum value
18133	DeploymentCommandNameDeploy = "deploy"
18134
18135	// DeploymentCommandNameRollback is a DeploymentCommandName enum value
18136	DeploymentCommandNameRollback = "rollback"
18137
18138	// DeploymentCommandNameStart is a DeploymentCommandName enum value
18139	DeploymentCommandNameStart = "start"
18140
18141	// DeploymentCommandNameStop is a DeploymentCommandName enum value
18142	DeploymentCommandNameStop = "stop"
18143
18144	// DeploymentCommandNameRestart is a DeploymentCommandName enum value
18145	DeploymentCommandNameRestart = "restart"
18146
18147	// DeploymentCommandNameUndeploy is a DeploymentCommandName enum value
18148	DeploymentCommandNameUndeploy = "undeploy"
18149)
18150
18151// DeploymentCommandName_Values returns all elements of the DeploymentCommandName enum
18152func DeploymentCommandName_Values() []string {
18153	return []string{
18154		DeploymentCommandNameInstallDependencies,
18155		DeploymentCommandNameUpdateDependencies,
18156		DeploymentCommandNameUpdateCustomCookbooks,
18157		DeploymentCommandNameExecuteRecipes,
18158		DeploymentCommandNameConfigure,
18159		DeploymentCommandNameSetup,
18160		DeploymentCommandNameDeploy,
18161		DeploymentCommandNameRollback,
18162		DeploymentCommandNameStart,
18163		DeploymentCommandNameStop,
18164		DeploymentCommandNameRestart,
18165		DeploymentCommandNameUndeploy,
18166	}
18167}
18168
18169const (
18170	// LayerAttributesKeysEcsClusterArn is a LayerAttributesKeys enum value
18171	LayerAttributesKeysEcsClusterArn = "EcsClusterArn"
18172
18173	// LayerAttributesKeysEnableHaproxyStats is a LayerAttributesKeys enum value
18174	LayerAttributesKeysEnableHaproxyStats = "EnableHaproxyStats"
18175
18176	// LayerAttributesKeysHaproxyStatsUrl is a LayerAttributesKeys enum value
18177	LayerAttributesKeysHaproxyStatsUrl = "HaproxyStatsUrl"
18178
18179	// LayerAttributesKeysHaproxyStatsUser is a LayerAttributesKeys enum value
18180	LayerAttributesKeysHaproxyStatsUser = "HaproxyStatsUser"
18181
18182	// LayerAttributesKeysHaproxyStatsPassword is a LayerAttributesKeys enum value
18183	LayerAttributesKeysHaproxyStatsPassword = "HaproxyStatsPassword"
18184
18185	// LayerAttributesKeysHaproxyHealthCheckUrl is a LayerAttributesKeys enum value
18186	LayerAttributesKeysHaproxyHealthCheckUrl = "HaproxyHealthCheckUrl"
18187
18188	// LayerAttributesKeysHaproxyHealthCheckMethod is a LayerAttributesKeys enum value
18189	LayerAttributesKeysHaproxyHealthCheckMethod = "HaproxyHealthCheckMethod"
18190
18191	// LayerAttributesKeysMysqlRootPassword is a LayerAttributesKeys enum value
18192	LayerAttributesKeysMysqlRootPassword = "MysqlRootPassword"
18193
18194	// LayerAttributesKeysMysqlRootPasswordUbiquitous is a LayerAttributesKeys enum value
18195	LayerAttributesKeysMysqlRootPasswordUbiquitous = "MysqlRootPasswordUbiquitous"
18196
18197	// LayerAttributesKeysGangliaUrl is a LayerAttributesKeys enum value
18198	LayerAttributesKeysGangliaUrl = "GangliaUrl"
18199
18200	// LayerAttributesKeysGangliaUser is a LayerAttributesKeys enum value
18201	LayerAttributesKeysGangliaUser = "GangliaUser"
18202
18203	// LayerAttributesKeysGangliaPassword is a LayerAttributesKeys enum value
18204	LayerAttributesKeysGangliaPassword = "GangliaPassword"
18205
18206	// LayerAttributesKeysMemcachedMemory is a LayerAttributesKeys enum value
18207	LayerAttributesKeysMemcachedMemory = "MemcachedMemory"
18208
18209	// LayerAttributesKeysNodejsVersion is a LayerAttributesKeys enum value
18210	LayerAttributesKeysNodejsVersion = "NodejsVersion"
18211
18212	// LayerAttributesKeysRubyVersion is a LayerAttributesKeys enum value
18213	LayerAttributesKeysRubyVersion = "RubyVersion"
18214
18215	// LayerAttributesKeysRubygemsVersion is a LayerAttributesKeys enum value
18216	LayerAttributesKeysRubygemsVersion = "RubygemsVersion"
18217
18218	// LayerAttributesKeysManageBundler is a LayerAttributesKeys enum value
18219	LayerAttributesKeysManageBundler = "ManageBundler"
18220
18221	// LayerAttributesKeysBundlerVersion is a LayerAttributesKeys enum value
18222	LayerAttributesKeysBundlerVersion = "BundlerVersion"
18223
18224	// LayerAttributesKeysRailsStack is a LayerAttributesKeys enum value
18225	LayerAttributesKeysRailsStack = "RailsStack"
18226
18227	// LayerAttributesKeysPassengerVersion is a LayerAttributesKeys enum value
18228	LayerAttributesKeysPassengerVersion = "PassengerVersion"
18229
18230	// LayerAttributesKeysJvm is a LayerAttributesKeys enum value
18231	LayerAttributesKeysJvm = "Jvm"
18232
18233	// LayerAttributesKeysJvmVersion is a LayerAttributesKeys enum value
18234	LayerAttributesKeysJvmVersion = "JvmVersion"
18235
18236	// LayerAttributesKeysJvmOptions is a LayerAttributesKeys enum value
18237	LayerAttributesKeysJvmOptions = "JvmOptions"
18238
18239	// LayerAttributesKeysJavaAppServer is a LayerAttributesKeys enum value
18240	LayerAttributesKeysJavaAppServer = "JavaAppServer"
18241
18242	// LayerAttributesKeysJavaAppServerVersion is a LayerAttributesKeys enum value
18243	LayerAttributesKeysJavaAppServerVersion = "JavaAppServerVersion"
18244)
18245
18246// LayerAttributesKeys_Values returns all elements of the LayerAttributesKeys enum
18247func LayerAttributesKeys_Values() []string {
18248	return []string{
18249		LayerAttributesKeysEcsClusterArn,
18250		LayerAttributesKeysEnableHaproxyStats,
18251		LayerAttributesKeysHaproxyStatsUrl,
18252		LayerAttributesKeysHaproxyStatsUser,
18253		LayerAttributesKeysHaproxyStatsPassword,
18254		LayerAttributesKeysHaproxyHealthCheckUrl,
18255		LayerAttributesKeysHaproxyHealthCheckMethod,
18256		LayerAttributesKeysMysqlRootPassword,
18257		LayerAttributesKeysMysqlRootPasswordUbiquitous,
18258		LayerAttributesKeysGangliaUrl,
18259		LayerAttributesKeysGangliaUser,
18260		LayerAttributesKeysGangliaPassword,
18261		LayerAttributesKeysMemcachedMemory,
18262		LayerAttributesKeysNodejsVersion,
18263		LayerAttributesKeysRubyVersion,
18264		LayerAttributesKeysRubygemsVersion,
18265		LayerAttributesKeysManageBundler,
18266		LayerAttributesKeysBundlerVersion,
18267		LayerAttributesKeysRailsStack,
18268		LayerAttributesKeysPassengerVersion,
18269		LayerAttributesKeysJvm,
18270		LayerAttributesKeysJvmVersion,
18271		LayerAttributesKeysJvmOptions,
18272		LayerAttributesKeysJavaAppServer,
18273		LayerAttributesKeysJavaAppServerVersion,
18274	}
18275}
18276
18277const (
18278	// LayerTypeAwsFlowRuby is a LayerType enum value
18279	LayerTypeAwsFlowRuby = "aws-flow-ruby"
18280
18281	// LayerTypeEcsCluster is a LayerType enum value
18282	LayerTypeEcsCluster = "ecs-cluster"
18283
18284	// LayerTypeJavaApp is a LayerType enum value
18285	LayerTypeJavaApp = "java-app"
18286
18287	// LayerTypeLb is a LayerType enum value
18288	LayerTypeLb = "lb"
18289
18290	// LayerTypeWeb is a LayerType enum value
18291	LayerTypeWeb = "web"
18292
18293	// LayerTypePhpApp is a LayerType enum value
18294	LayerTypePhpApp = "php-app"
18295
18296	// LayerTypeRailsApp is a LayerType enum value
18297	LayerTypeRailsApp = "rails-app"
18298
18299	// LayerTypeNodejsApp is a LayerType enum value
18300	LayerTypeNodejsApp = "nodejs-app"
18301
18302	// LayerTypeMemcached is a LayerType enum value
18303	LayerTypeMemcached = "memcached"
18304
18305	// LayerTypeDbMaster is a LayerType enum value
18306	LayerTypeDbMaster = "db-master"
18307
18308	// LayerTypeMonitoringMaster is a LayerType enum value
18309	LayerTypeMonitoringMaster = "monitoring-master"
18310
18311	// LayerTypeCustom is a LayerType enum value
18312	LayerTypeCustom = "custom"
18313)
18314
18315// LayerType_Values returns all elements of the LayerType enum
18316func LayerType_Values() []string {
18317	return []string{
18318		LayerTypeAwsFlowRuby,
18319		LayerTypeEcsCluster,
18320		LayerTypeJavaApp,
18321		LayerTypeLb,
18322		LayerTypeWeb,
18323		LayerTypePhpApp,
18324		LayerTypeRailsApp,
18325		LayerTypeNodejsApp,
18326		LayerTypeMemcached,
18327		LayerTypeDbMaster,
18328		LayerTypeMonitoringMaster,
18329		LayerTypeCustom,
18330	}
18331}
18332
18333const (
18334	// RootDeviceTypeEbs is a RootDeviceType enum value
18335	RootDeviceTypeEbs = "ebs"
18336
18337	// RootDeviceTypeInstanceStore is a RootDeviceType enum value
18338	RootDeviceTypeInstanceStore = "instance-store"
18339)
18340
18341// RootDeviceType_Values returns all elements of the RootDeviceType enum
18342func RootDeviceType_Values() []string {
18343	return []string{
18344		RootDeviceTypeEbs,
18345		RootDeviceTypeInstanceStore,
18346	}
18347}
18348
18349const (
18350	// SourceTypeGit is a SourceType enum value
18351	SourceTypeGit = "git"
18352
18353	// SourceTypeSvn is a SourceType enum value
18354	SourceTypeSvn = "svn"
18355
18356	// SourceTypeArchive is a SourceType enum value
18357	SourceTypeArchive = "archive"
18358
18359	// SourceTypeS3 is a SourceType enum value
18360	SourceTypeS3 = "s3"
18361)
18362
18363// SourceType_Values returns all elements of the SourceType enum
18364func SourceType_Values() []string {
18365	return []string{
18366		SourceTypeGit,
18367		SourceTypeSvn,
18368		SourceTypeArchive,
18369		SourceTypeS3,
18370	}
18371}
18372
18373const (
18374	// StackAttributesKeysColor is a StackAttributesKeys enum value
18375	StackAttributesKeysColor = "Color"
18376)
18377
18378// StackAttributesKeys_Values returns all elements of the StackAttributesKeys enum
18379func StackAttributesKeys_Values() []string {
18380	return []string{
18381		StackAttributesKeysColor,
18382	}
18383}
18384
18385const (
18386	// VirtualizationTypeParavirtual is a VirtualizationType enum value
18387	VirtualizationTypeParavirtual = "paravirtual"
18388
18389	// VirtualizationTypeHvm is a VirtualizationType enum value
18390	VirtualizationTypeHvm = "hvm"
18391)
18392
18393// VirtualizationType_Values returns all elements of the VirtualizationType enum
18394func VirtualizationType_Values() []string {
18395	return []string{
18396		VirtualizationTypeParavirtual,
18397		VirtualizationTypeHvm,
18398	}
18399}
18400
18401const (
18402	// VolumeTypeGp2 is a VolumeType enum value
18403	VolumeTypeGp2 = "gp2"
18404
18405	// VolumeTypeIo1 is a VolumeType enum value
18406	VolumeTypeIo1 = "io1"
18407
18408	// VolumeTypeStandard is a VolumeType enum value
18409	VolumeTypeStandard = "standard"
18410)
18411
18412// VolumeType_Values returns all elements of the VolumeType enum
18413func VolumeType_Values() []string {
18414	return []string{
18415		VolumeTypeGp2,
18416		VolumeTypeIo1,
18417		VolumeTypeStandard,
18418	}
18419}
18420