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.
6625//
6626// API parameter values that are decorated as "sensitive" in the API will not
6627// be included in the string output. The member name will be present, but the
6628// value will be replaced with "sensitive".
6629func (s AgentVersion) String() string {
6630	return awsutil.Prettify(s)
6631}
6632
6633// GoString returns the string representation.
6634//
6635// API parameter values that are decorated as "sensitive" in the API will not
6636// be included in the string output. The member name will be present, but the
6637// value will be replaced with "sensitive".
6638func (s AgentVersion) GoString() string {
6639	return s.String()
6640}
6641
6642// SetConfigurationManager sets the ConfigurationManager field's value.
6643func (s *AgentVersion) SetConfigurationManager(v *StackConfigurationManager) *AgentVersion {
6644	s.ConfigurationManager = v
6645	return s
6646}
6647
6648// SetVersion sets the Version field's value.
6649func (s *AgentVersion) SetVersion(v string) *AgentVersion {
6650	s.Version = &v
6651	return s
6652}
6653
6654// A description of the app.
6655type App struct {
6656	_ struct{} `type:"structure"`
6657
6658	// The app ID.
6659	AppId *string `type:"string"`
6660
6661	// A Source object that describes the app repository.
6662	AppSource *Source `type:"structure"`
6663
6664	// The stack attributes.
6665	Attributes map[string]*string `type:"map"`
6666
6667	// When the app was created.
6668	CreatedAt *string `type:"string"`
6669
6670	// The app's data sources.
6671	DataSources []*DataSource `type:"list"`
6672
6673	// A description of the app.
6674	Description *string `type:"string"`
6675
6676	// The app vhost settings with multiple domains separated by commas. For example:
6677	// 'www.example.com, example.com'
6678	Domains []*string `type:"list"`
6679
6680	// Whether to enable SSL for the app.
6681	EnableSsl *bool `type:"boolean"`
6682
6683	// An array of EnvironmentVariable objects that specify environment variables
6684	// to be associated with the app. After you deploy the app, these variables
6685	// are defined on the associated app server instances. For more information,
6686	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
6687	//
6688	// There is no specific limit on the number of environment variables. However,
6689	// the size of the associated data structure - which includes the variable names,
6690	// values, and protected flag values - cannot exceed 20 KB. This limit should
6691	// accommodate most if not all use cases, but if you do exceed it, you will
6692	// cause an exception (API) with an "Environment: is too large (maximum is 20
6693	// KB)" message.
6694	Environment []*EnvironmentVariable `type:"list"`
6695
6696	// The app name.
6697	Name *string `type:"string"`
6698
6699	// The app's short name.
6700	Shortname *string `type:"string"`
6701
6702	// An SslConfiguration object with the SSL configuration.
6703	SslConfiguration *SslConfiguration `type:"structure"`
6704
6705	// The app stack ID.
6706	StackId *string `type:"string"`
6707
6708	// The app type.
6709	Type *string `type:"string" enum:"AppType"`
6710}
6711
6712// String returns the string representation.
6713//
6714// API parameter values that are decorated as "sensitive" in the API will not
6715// be included in the string output. The member name will be present, but the
6716// value will be replaced with "sensitive".
6717func (s App) String() string {
6718	return awsutil.Prettify(s)
6719}
6720
6721// GoString returns the string representation.
6722//
6723// API parameter values that are decorated as "sensitive" in the API will not
6724// be included in the string output. The member name will be present, but the
6725// value will be replaced with "sensitive".
6726func (s App) GoString() string {
6727	return s.String()
6728}
6729
6730// SetAppId sets the AppId field's value.
6731func (s *App) SetAppId(v string) *App {
6732	s.AppId = &v
6733	return s
6734}
6735
6736// SetAppSource sets the AppSource field's value.
6737func (s *App) SetAppSource(v *Source) *App {
6738	s.AppSource = v
6739	return s
6740}
6741
6742// SetAttributes sets the Attributes field's value.
6743func (s *App) SetAttributes(v map[string]*string) *App {
6744	s.Attributes = v
6745	return s
6746}
6747
6748// SetCreatedAt sets the CreatedAt field's value.
6749func (s *App) SetCreatedAt(v string) *App {
6750	s.CreatedAt = &v
6751	return s
6752}
6753
6754// SetDataSources sets the DataSources field's value.
6755func (s *App) SetDataSources(v []*DataSource) *App {
6756	s.DataSources = v
6757	return s
6758}
6759
6760// SetDescription sets the Description field's value.
6761func (s *App) SetDescription(v string) *App {
6762	s.Description = &v
6763	return s
6764}
6765
6766// SetDomains sets the Domains field's value.
6767func (s *App) SetDomains(v []*string) *App {
6768	s.Domains = v
6769	return s
6770}
6771
6772// SetEnableSsl sets the EnableSsl field's value.
6773func (s *App) SetEnableSsl(v bool) *App {
6774	s.EnableSsl = &v
6775	return s
6776}
6777
6778// SetEnvironment sets the Environment field's value.
6779func (s *App) SetEnvironment(v []*EnvironmentVariable) *App {
6780	s.Environment = v
6781	return s
6782}
6783
6784// SetName sets the Name field's value.
6785func (s *App) SetName(v string) *App {
6786	s.Name = &v
6787	return s
6788}
6789
6790// SetShortname sets the Shortname field's value.
6791func (s *App) SetShortname(v string) *App {
6792	s.Shortname = &v
6793	return s
6794}
6795
6796// SetSslConfiguration sets the SslConfiguration field's value.
6797func (s *App) SetSslConfiguration(v *SslConfiguration) *App {
6798	s.SslConfiguration = v
6799	return s
6800}
6801
6802// SetStackId sets the StackId field's value.
6803func (s *App) SetStackId(v string) *App {
6804	s.StackId = &v
6805	return s
6806}
6807
6808// SetType sets the Type field's value.
6809func (s *App) SetType(v string) *App {
6810	s.Type = &v
6811	return s
6812}
6813
6814type AssignInstanceInput struct {
6815	_ struct{} `type:"structure"`
6816
6817	// The instance ID.
6818	//
6819	// InstanceId is a required field
6820	InstanceId *string `type:"string" required:"true"`
6821
6822	// The layer ID, which must correspond to a custom layer. You cannot assign
6823	// a registered instance to a built-in layer.
6824	//
6825	// LayerIds is a required field
6826	LayerIds []*string `type:"list" required:"true"`
6827}
6828
6829// String returns the string representation.
6830//
6831// API parameter values that are decorated as "sensitive" in the API will not
6832// be included in the string output. The member name will be present, but the
6833// value will be replaced with "sensitive".
6834func (s AssignInstanceInput) String() string {
6835	return awsutil.Prettify(s)
6836}
6837
6838// GoString returns the string representation.
6839//
6840// API parameter values that are decorated as "sensitive" in the API will not
6841// be included in the string output. The member name will be present, but the
6842// value will be replaced with "sensitive".
6843func (s AssignInstanceInput) GoString() string {
6844	return s.String()
6845}
6846
6847// Validate inspects the fields of the type to determine if they are valid.
6848func (s *AssignInstanceInput) Validate() error {
6849	invalidParams := request.ErrInvalidParams{Context: "AssignInstanceInput"}
6850	if s.InstanceId == nil {
6851		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6852	}
6853	if s.LayerIds == nil {
6854		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
6855	}
6856
6857	if invalidParams.Len() > 0 {
6858		return invalidParams
6859	}
6860	return nil
6861}
6862
6863// SetInstanceId sets the InstanceId field's value.
6864func (s *AssignInstanceInput) SetInstanceId(v string) *AssignInstanceInput {
6865	s.InstanceId = &v
6866	return s
6867}
6868
6869// SetLayerIds sets the LayerIds field's value.
6870func (s *AssignInstanceInput) SetLayerIds(v []*string) *AssignInstanceInput {
6871	s.LayerIds = v
6872	return s
6873}
6874
6875type AssignInstanceOutput struct {
6876	_ struct{} `type:"structure"`
6877}
6878
6879// String returns the string representation.
6880//
6881// API parameter values that are decorated as "sensitive" in the API will not
6882// be included in the string output. The member name will be present, but the
6883// value will be replaced with "sensitive".
6884func (s AssignInstanceOutput) String() string {
6885	return awsutil.Prettify(s)
6886}
6887
6888// GoString returns the string representation.
6889//
6890// API parameter values that are decorated as "sensitive" in the API will not
6891// be included in the string output. The member name will be present, but the
6892// value will be replaced with "sensitive".
6893func (s AssignInstanceOutput) GoString() string {
6894	return s.String()
6895}
6896
6897type AssignVolumeInput struct {
6898	_ struct{} `type:"structure"`
6899
6900	// The instance ID.
6901	InstanceId *string `type:"string"`
6902
6903	// The volume ID.
6904	//
6905	// VolumeId is a required field
6906	VolumeId *string `type:"string" required:"true"`
6907}
6908
6909// String returns the string representation.
6910//
6911// API parameter values that are decorated as "sensitive" in the API will not
6912// be included in the string output. The member name will be present, but the
6913// value will be replaced with "sensitive".
6914func (s AssignVolumeInput) String() string {
6915	return awsutil.Prettify(s)
6916}
6917
6918// GoString returns the string representation.
6919//
6920// API parameter values that are decorated as "sensitive" in the API will not
6921// be included in the string output. The member name will be present, but the
6922// value will be replaced with "sensitive".
6923func (s AssignVolumeInput) GoString() string {
6924	return s.String()
6925}
6926
6927// Validate inspects the fields of the type to determine if they are valid.
6928func (s *AssignVolumeInput) Validate() error {
6929	invalidParams := request.ErrInvalidParams{Context: "AssignVolumeInput"}
6930	if s.VolumeId == nil {
6931		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
6932	}
6933
6934	if invalidParams.Len() > 0 {
6935		return invalidParams
6936	}
6937	return nil
6938}
6939
6940// SetInstanceId sets the InstanceId field's value.
6941func (s *AssignVolumeInput) SetInstanceId(v string) *AssignVolumeInput {
6942	s.InstanceId = &v
6943	return s
6944}
6945
6946// SetVolumeId sets the VolumeId field's value.
6947func (s *AssignVolumeInput) SetVolumeId(v string) *AssignVolumeInput {
6948	s.VolumeId = &v
6949	return s
6950}
6951
6952type AssignVolumeOutput struct {
6953	_ struct{} `type:"structure"`
6954}
6955
6956// String returns the string representation.
6957//
6958// API parameter values that are decorated as "sensitive" in the API will not
6959// be included in the string output. The member name will be present, but the
6960// value will be replaced with "sensitive".
6961func (s AssignVolumeOutput) String() string {
6962	return awsutil.Prettify(s)
6963}
6964
6965// GoString returns the string representation.
6966//
6967// API parameter values that are decorated as "sensitive" in the API will not
6968// be included in the string output. The member name will be present, but the
6969// value will be replaced with "sensitive".
6970func (s AssignVolumeOutput) GoString() string {
6971	return s.String()
6972}
6973
6974type AssociateElasticIpInput struct {
6975	_ struct{} `type:"structure"`
6976
6977	// The Elastic IP address.
6978	//
6979	// ElasticIp is a required field
6980	ElasticIp *string `type:"string" required:"true"`
6981
6982	// The instance ID.
6983	InstanceId *string `type:"string"`
6984}
6985
6986// String returns the string representation.
6987//
6988// API parameter values that are decorated as "sensitive" in the API will not
6989// be included in the string output. The member name will be present, but the
6990// value will be replaced with "sensitive".
6991func (s AssociateElasticIpInput) String() string {
6992	return awsutil.Prettify(s)
6993}
6994
6995// GoString returns the string representation.
6996//
6997// API parameter values that are decorated as "sensitive" in the API will not
6998// be included in the string output. The member name will be present, but the
6999// value will be replaced with "sensitive".
7000func (s AssociateElasticIpInput) GoString() string {
7001	return s.String()
7002}
7003
7004// Validate inspects the fields of the type to determine if they are valid.
7005func (s *AssociateElasticIpInput) Validate() error {
7006	invalidParams := request.ErrInvalidParams{Context: "AssociateElasticIpInput"}
7007	if s.ElasticIp == nil {
7008		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
7009	}
7010
7011	if invalidParams.Len() > 0 {
7012		return invalidParams
7013	}
7014	return nil
7015}
7016
7017// SetElasticIp sets the ElasticIp field's value.
7018func (s *AssociateElasticIpInput) SetElasticIp(v string) *AssociateElasticIpInput {
7019	s.ElasticIp = &v
7020	return s
7021}
7022
7023// SetInstanceId sets the InstanceId field's value.
7024func (s *AssociateElasticIpInput) SetInstanceId(v string) *AssociateElasticIpInput {
7025	s.InstanceId = &v
7026	return s
7027}
7028
7029type AssociateElasticIpOutput struct {
7030	_ struct{} `type:"structure"`
7031}
7032
7033// String returns the string representation.
7034//
7035// API parameter values that are decorated as "sensitive" in the API will not
7036// be included in the string output. The member name will be present, but the
7037// value will be replaced with "sensitive".
7038func (s AssociateElasticIpOutput) String() string {
7039	return awsutil.Prettify(s)
7040}
7041
7042// GoString returns the string representation.
7043//
7044// API parameter values that are decorated as "sensitive" in the API will not
7045// be included in the string output. The member name will be present, but the
7046// value will be replaced with "sensitive".
7047func (s AssociateElasticIpOutput) GoString() string {
7048	return s.String()
7049}
7050
7051type AttachElasticLoadBalancerInput struct {
7052	_ struct{} `type:"structure"`
7053
7054	// The Elastic Load Balancing instance's name.
7055	//
7056	// ElasticLoadBalancerName is a required field
7057	ElasticLoadBalancerName *string `type:"string" required:"true"`
7058
7059	// The ID of the layer to which the Elastic Load Balancing instance is to be
7060	// attached.
7061	//
7062	// LayerId is a required field
7063	LayerId *string `type:"string" required:"true"`
7064}
7065
7066// String returns the string representation.
7067//
7068// API parameter values that are decorated as "sensitive" in the API will not
7069// be included in the string output. The member name will be present, but the
7070// value will be replaced with "sensitive".
7071func (s AttachElasticLoadBalancerInput) String() string {
7072	return awsutil.Prettify(s)
7073}
7074
7075// GoString returns the string representation.
7076//
7077// API parameter values that are decorated as "sensitive" in the API will not
7078// be included in the string output. The member name will be present, but the
7079// value will be replaced with "sensitive".
7080func (s AttachElasticLoadBalancerInput) GoString() string {
7081	return s.String()
7082}
7083
7084// Validate inspects the fields of the type to determine if they are valid.
7085func (s *AttachElasticLoadBalancerInput) Validate() error {
7086	invalidParams := request.ErrInvalidParams{Context: "AttachElasticLoadBalancerInput"}
7087	if s.ElasticLoadBalancerName == nil {
7088		invalidParams.Add(request.NewErrParamRequired("ElasticLoadBalancerName"))
7089	}
7090	if s.LayerId == nil {
7091		invalidParams.Add(request.NewErrParamRequired("LayerId"))
7092	}
7093
7094	if invalidParams.Len() > 0 {
7095		return invalidParams
7096	}
7097	return nil
7098}
7099
7100// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
7101func (s *AttachElasticLoadBalancerInput) SetElasticLoadBalancerName(v string) *AttachElasticLoadBalancerInput {
7102	s.ElasticLoadBalancerName = &v
7103	return s
7104}
7105
7106// SetLayerId sets the LayerId field's value.
7107func (s *AttachElasticLoadBalancerInput) SetLayerId(v string) *AttachElasticLoadBalancerInput {
7108	s.LayerId = &v
7109	return s
7110}
7111
7112type AttachElasticLoadBalancerOutput struct {
7113	_ struct{} `type:"structure"`
7114}
7115
7116// String returns the string representation.
7117//
7118// API parameter values that are decorated as "sensitive" in the API will not
7119// be included in the string output. The member name will be present, but the
7120// value will be replaced with "sensitive".
7121func (s AttachElasticLoadBalancerOutput) String() string {
7122	return awsutil.Prettify(s)
7123}
7124
7125// GoString returns the string representation.
7126//
7127// API parameter values that are decorated as "sensitive" in the API will not
7128// be included in the string output. The member name will be present, but the
7129// value will be replaced with "sensitive".
7130func (s AttachElasticLoadBalancerOutput) GoString() string {
7131	return s.String()
7132}
7133
7134// Describes a load-based auto scaling upscaling or downscaling threshold configuration,
7135// which specifies when AWS OpsWorks Stacks starts or stops load-based instances.
7136type AutoScalingThresholds struct {
7137	_ struct{} `type:"structure"`
7138
7139	// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter
7140	// takes a list of up to five alarm names, which are case sensitive and must
7141	// be in the same region as the stack.
7142	//
7143	// To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms.
7144	// You can either have AWS OpsWorks Stacks update the role for you when you
7145	// first use this feature or you can edit the role manually. For more information,
7146	// see Allowing AWS OpsWorks Stacks to Act on Your Behalf (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-servicerole.html).
7147	Alarms []*string `type:"list"`
7148
7149	// The CPU utilization threshold, as a percent of the available CPU. A value
7150	// of -1 disables the threshold.
7151	CpuThreshold *float64 `type:"double"`
7152
7153	// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks
7154	// Stacks should ignore metrics and suppress additional scaling events. For
7155	// example, AWS OpsWorks Stacks adds new instances following an upscaling event
7156	// but the instances won't start reducing the load until they have been booted
7157	// and configured. There is no point in raising additional scaling events during
7158	// that operation, which typically takes several minutes. IgnoreMetricsTime
7159	// allows you to direct AWS OpsWorks Stacks to suppress scaling events long
7160	// enough to get the new instances online.
7161	IgnoreMetricsTime *int64 `min:"1" type:"integer"`
7162
7163	// The number of instances to add or remove when the load exceeds a threshold.
7164	InstanceCount *int64 `type:"integer"`
7165
7166	// The load threshold. A value of -1 disables the threshold. For more information
7167	// about how load is computed, see Load (computing) (http://en.wikipedia.org/wiki/Load_%28computing%29).
7168	LoadThreshold *float64 `type:"double"`
7169
7170	// The memory utilization threshold, as a percent of the available memory. A
7171	// value of -1 disables the threshold.
7172	MemoryThreshold *float64 `type:"double"`
7173
7174	// The amount of time, in minutes, that the load must exceed a threshold before
7175	// more instances are added or removed.
7176	ThresholdsWaitTime *int64 `min:"1" type:"integer"`
7177}
7178
7179// String returns the string representation.
7180//
7181// API parameter values that are decorated as "sensitive" in the API will not
7182// be included in the string output. The member name will be present, but the
7183// value will be replaced with "sensitive".
7184func (s AutoScalingThresholds) String() string {
7185	return awsutil.Prettify(s)
7186}
7187
7188// GoString returns the string representation.
7189//
7190// API parameter values that are decorated as "sensitive" in the API will not
7191// be included in the string output. The member name will be present, but the
7192// value will be replaced with "sensitive".
7193func (s AutoScalingThresholds) GoString() string {
7194	return s.String()
7195}
7196
7197// Validate inspects the fields of the type to determine if they are valid.
7198func (s *AutoScalingThresholds) Validate() error {
7199	invalidParams := request.ErrInvalidParams{Context: "AutoScalingThresholds"}
7200	if s.IgnoreMetricsTime != nil && *s.IgnoreMetricsTime < 1 {
7201		invalidParams.Add(request.NewErrParamMinValue("IgnoreMetricsTime", 1))
7202	}
7203	if s.ThresholdsWaitTime != nil && *s.ThresholdsWaitTime < 1 {
7204		invalidParams.Add(request.NewErrParamMinValue("ThresholdsWaitTime", 1))
7205	}
7206
7207	if invalidParams.Len() > 0 {
7208		return invalidParams
7209	}
7210	return nil
7211}
7212
7213// SetAlarms sets the Alarms field's value.
7214func (s *AutoScalingThresholds) SetAlarms(v []*string) *AutoScalingThresholds {
7215	s.Alarms = v
7216	return s
7217}
7218
7219// SetCpuThreshold sets the CpuThreshold field's value.
7220func (s *AutoScalingThresholds) SetCpuThreshold(v float64) *AutoScalingThresholds {
7221	s.CpuThreshold = &v
7222	return s
7223}
7224
7225// SetIgnoreMetricsTime sets the IgnoreMetricsTime field's value.
7226func (s *AutoScalingThresholds) SetIgnoreMetricsTime(v int64) *AutoScalingThresholds {
7227	s.IgnoreMetricsTime = &v
7228	return s
7229}
7230
7231// SetInstanceCount sets the InstanceCount field's value.
7232func (s *AutoScalingThresholds) SetInstanceCount(v int64) *AutoScalingThresholds {
7233	s.InstanceCount = &v
7234	return s
7235}
7236
7237// SetLoadThreshold sets the LoadThreshold field's value.
7238func (s *AutoScalingThresholds) SetLoadThreshold(v float64) *AutoScalingThresholds {
7239	s.LoadThreshold = &v
7240	return s
7241}
7242
7243// SetMemoryThreshold sets the MemoryThreshold field's value.
7244func (s *AutoScalingThresholds) SetMemoryThreshold(v float64) *AutoScalingThresholds {
7245	s.MemoryThreshold = &v
7246	return s
7247}
7248
7249// SetThresholdsWaitTime sets the ThresholdsWaitTime field's value.
7250func (s *AutoScalingThresholds) SetThresholdsWaitTime(v int64) *AutoScalingThresholds {
7251	s.ThresholdsWaitTime = &v
7252	return s
7253}
7254
7255// Describes a block device mapping. This data type maps directly to the Amazon
7256// EC2 BlockDeviceMapping (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html)
7257// data type.
7258type BlockDeviceMapping struct {
7259	_ struct{} `type:"structure"`
7260
7261	// The device name that is exposed to the instance, such as /dev/sdh. For the
7262	// root device, you can use the explicit device name or you can set this parameter
7263	// to ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.
7264	DeviceName *string `type:"string"`
7265
7266	// An EBSBlockDevice that defines how to configure an Amazon EBS volume when
7267	// the instance is launched.
7268	Ebs *EbsBlockDevice `type:"structure"`
7269
7270	// Suppresses the specified device included in the AMI's block device mapping.
7271	NoDevice *string `type:"string"`
7272
7273	// The virtual device name. For more information, see BlockDeviceMapping (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html).
7274	VirtualName *string `type:"string"`
7275}
7276
7277// String returns the string representation.
7278//
7279// API parameter values that are decorated as "sensitive" in the API will not
7280// be included in the string output. The member name will be present, but the
7281// value will be replaced with "sensitive".
7282func (s BlockDeviceMapping) String() string {
7283	return awsutil.Prettify(s)
7284}
7285
7286// GoString returns the string representation.
7287//
7288// API parameter values that are decorated as "sensitive" in the API will not
7289// be included in the string output. The member name will be present, but the
7290// value will be replaced with "sensitive".
7291func (s BlockDeviceMapping) GoString() string {
7292	return s.String()
7293}
7294
7295// SetDeviceName sets the DeviceName field's value.
7296func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
7297	s.DeviceName = &v
7298	return s
7299}
7300
7301// SetEbs sets the Ebs field's value.
7302func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
7303	s.Ebs = v
7304	return s
7305}
7306
7307// SetNoDevice sets the NoDevice field's value.
7308func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
7309	s.NoDevice = &v
7310	return s
7311}
7312
7313// SetVirtualName sets the VirtualName field's value.
7314func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
7315	s.VirtualName = &v
7316	return s
7317}
7318
7319// Describes the Chef configuration.
7320type ChefConfiguration struct {
7321	_ struct{} `type:"structure"`
7322
7323	// The Berkshelf version.
7324	BerkshelfVersion *string `type:"string"`
7325
7326	// Whether to enable Berkshelf.
7327	ManageBerkshelf *bool `type:"boolean"`
7328}
7329
7330// String returns the string representation.
7331//
7332// API parameter values that are decorated as "sensitive" in the API will not
7333// be included in the string output. The member name will be present, but the
7334// value will be replaced with "sensitive".
7335func (s ChefConfiguration) String() string {
7336	return awsutil.Prettify(s)
7337}
7338
7339// GoString returns the string representation.
7340//
7341// API parameter values that are decorated as "sensitive" in the API will not
7342// be included in the string output. The member name will be present, but the
7343// value will be replaced with "sensitive".
7344func (s ChefConfiguration) GoString() string {
7345	return s.String()
7346}
7347
7348// SetBerkshelfVersion sets the BerkshelfVersion field's value.
7349func (s *ChefConfiguration) SetBerkshelfVersion(v string) *ChefConfiguration {
7350	s.BerkshelfVersion = &v
7351	return s
7352}
7353
7354// SetManageBerkshelf sets the ManageBerkshelf field's value.
7355func (s *ChefConfiguration) SetManageBerkshelf(v bool) *ChefConfiguration {
7356	s.ManageBerkshelf = &v
7357	return s
7358}
7359
7360type CloneStackInput struct {
7361	_ struct{} `type:"structure"`
7362
7363	// The default AWS OpsWorks Stacks agent version. You have the following options:
7364	//
7365	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
7366	//    installs new agent versions on the stack's instances as soon as they are
7367	//    available.
7368	//
7369	//    * Fixed version - Set this parameter to your preferred agent version.
7370	//    To update the agent version, you must edit the stack configuration and
7371	//    specify a new version. AWS OpsWorks Stacks then automatically installs
7372	//    that version on the stack's instances.
7373	//
7374	// The default setting is LATEST. To specify an agent version, you must use
7375	// the complete version number, not the abbreviated number shown on the console.
7376	// For a list of available agent version numbers, call DescribeAgentVersions.
7377	// AgentVersion cannot be set to Chef 12.2.
7378	//
7379	// You can also specify an agent version when you create or update an instance,
7380	// which overrides the stack's default setting.
7381	AgentVersion *string `type:"string"`
7382
7383	// A list of stack attributes and values as key/value pairs to be added to the
7384	// cloned stack.
7385	Attributes map[string]*string `type:"map"`
7386
7387	// A ChefConfiguration object that specifies whether to enable Berkshelf and
7388	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
7389	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
7390	ChefConfiguration *ChefConfiguration `type:"structure"`
7391
7392	// A list of source stack app IDs to be included in the cloned stack.
7393	CloneAppIds []*string `type:"list"`
7394
7395	// Whether to clone the source stack's permissions.
7396	ClonePermissions *bool `type:"boolean"`
7397
7398	// The configuration manager. When you clone a stack we recommend that you use
7399	// the configuration manager to specify the Chef version: 12, 11.10, or 11.4
7400	// for Linux stacks, or 12.2 for Windows stacks. The default value for Linux
7401	// stacks is currently 12.
7402	ConfigurationManager *StackConfigurationManager `type:"structure"`
7403
7404	// Contains the information required to retrieve an app or cookbook from a repository.
7405	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
7406	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
7407	CustomCookbooksSource *Source `type:"structure"`
7408
7409	// A string that contains user-defined, custom JSON. It is used to override
7410	// the corresponding default stack configuration JSON values. The string should
7411	// be in the following format:
7412	//
7413	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
7414	//
7415	// For more information about custom JSON, see Use Custom JSON to Modify the
7416	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html)
7417	CustomJson *string `type:"string"`
7418
7419	// The cloned stack's default Availability Zone, which must be in the specified
7420	// region. For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
7421	// If you also specify a value for DefaultSubnetId, the subnet must be in the
7422	// same zone. For more information, see the VpcId parameter description.
7423	DefaultAvailabilityZone *string `type:"string"`
7424
7425	// The Amazon Resource Name (ARN) of an IAM profile that is the default profile
7426	// for all of the stack's EC2 instances. For more information about IAM ARNs,
7427	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
7428	DefaultInstanceProfileArn *string `type:"string"`
7429
7430	// The stack's operating system, which must be set to one of the following.
7431	//
7432	//    * A supported Linux operating system: An Amazon Linux version, such as
7433	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
7434	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
7435	//    2015.03.
7436	//
7437	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
7438	//    14.04 LTS, or Ubuntu 12.04 LTS.
7439	//
7440	//    * CentOS Linux 7
7441	//
7442	//    * Red Hat Enterprise Linux 7
7443	//
7444	//    * Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012
7445	//    R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL
7446	//    Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.
7447	//
7448	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
7449	//    you create instances. For more information about how to use custom AMIs
7450	//    with OpsWorks, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
7451	//
7452	// The default option is the parent stack's operating system. For more information
7453	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
7454	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
7455	//
7456	// You can specify a different Linux operating system for the cloned stack,
7457	// but you cannot change from Linux to Windows or Windows to Linux.
7458	DefaultOs *string `type:"string"`
7459
7460	// The default root device type. This value is used by default for all instances
7461	// in the cloned stack, but you can override it when you create an instance.
7462	// For more information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
7463	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
7464
7465	// A default Amazon EC2 key pair name. The default value is none. If you specify
7466	// a key pair name, AWS OpsWorks installs the public key on the instance and
7467	// you can use the private key with an SSH client to log in to the instance.
7468	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
7469	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
7470	// You can override this setting by specifying a different key pair, or no key
7471	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
7472	DefaultSshKeyName *string `type:"string"`
7473
7474	// The stack's default VPC subnet ID. This parameter is required if you specify
7475	// a value for the VpcId parameter. All instances are launched into this subnet
7476	// unless you specify otherwise when you create the instance. If you also specify
7477	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
7478	// information on default values and when this parameter is required, see the
7479	// VpcId parameter description.
7480	DefaultSubnetId *string `type:"string"`
7481
7482	// The stack's host name theme, with spaces are replaced by underscores. The
7483	// theme is used to generate host names for the stack's instances. By default,
7484	// HostnameTheme is set to Layer_Dependent, which creates host names by appending
7485	// integers to the layer's short name. The other themes are:
7486	//
7487	//    * Baked_Goods
7488	//
7489	//    * Clouds
7490	//
7491	//    * Europe_Cities
7492	//
7493	//    * Fruits
7494	//
7495	//    * Greek_Deities_and_Titans
7496	//
7497	//    * Legendary_creatures_from_Japan
7498	//
7499	//    * Planets_and_Moons
7500	//
7501	//    * Roman_Deities
7502	//
7503	//    * Scottish_Islands
7504	//
7505	//    * US_Cities
7506	//
7507	//    * Wild_Cats
7508	//
7509	// To obtain a generated host name, call GetHostNameSuggestion, which returns
7510	// a host name based on the current theme.
7511	HostnameTheme *string `type:"string"`
7512
7513	// The cloned stack name.
7514	Name *string `type:"string"`
7515
7516	// The cloned stack AWS region, such as "ap-northeast-2". For more information
7517	// about AWS regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
7518	Region *string `type:"string"`
7519
7520	// The stack AWS Identity and Access Management (IAM) role, which allows AWS
7521	// OpsWorks Stacks to work with AWS resources on your behalf. You must set this
7522	// parameter to the Amazon Resource Name (ARN) for an existing IAM role. If
7523	// you create a stack by using the AWS OpsWorks Stacks console, it creates the
7524	// role for you. You can obtain an existing stack's IAM ARN programmatically
7525	// by calling DescribePermissions. For more information about IAM ARNs, see
7526	// Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
7527	//
7528	// You must set this parameter to a valid service role ARN or the action will
7529	// fail; there is no default value. You can specify the source stack's service
7530	// role ARN, if you prefer, but you must do so explicitly.
7531	//
7532	// ServiceRoleArn is a required field
7533	ServiceRoleArn *string `type:"string" required:"true"`
7534
7535	// The source stack ID.
7536	//
7537	// SourceStackId is a required field
7538	SourceStackId *string `type:"string" required:"true"`
7539
7540	// Whether to use custom cookbooks.
7541	UseCustomCookbooks *bool `type:"boolean"`
7542
7543	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
7544	// the stack's layers.
7545	//
7546	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
7547	// one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups
7548	// you can instead provide your own custom security groups. UseOpsworksSecurityGroups
7549	// has the following settings:
7550	//
7551	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
7552	//    built-in security group with each layer (default setting). You can associate
7553	//    additional security groups with a layer after you create it but you cannot
7554	//    delete the built-in security group.
7555	//
7556	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
7557	//    with layers. You must create appropriate Amazon Elastic Compute Cloud
7558	//    (Amazon EC2) security groups and associate a security group with each
7559	//    layer that you create. However, you can still manually associate a built-in
7560	//    security group with a layer on creation; custom security groups are required
7561	//    only for those layers that need custom settings.
7562	//
7563	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
7564	UseOpsworksSecurityGroups *bool `type:"boolean"`
7565
7566	// The ID of the VPC that the cloned stack is to be launched into. It must be
7567	// in the specified region. All instances are launched into this VPC, and you
7568	// cannot change the ID later.
7569	//
7570	//    * If your account supports EC2 Classic, the default value is no VPC.
7571	//
7572	//    * If your account does not support EC2 Classic, the default value is the
7573	//    default VPC for the specified region.
7574	//
7575	// If the VPC ID corresponds to a default VPC and you have specified either
7576	// the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks
7577	// Stacks infers the value of the other parameter. If you specify neither parameter,
7578	// AWS OpsWorks Stacks sets these parameters to the first valid Availability
7579	// Zone for the specified region and the corresponding default VPC subnet ID,
7580	// respectively.
7581	//
7582	// If you specify a nondefault VPC ID, note the following:
7583	//
7584	//    * It must belong to a VPC in your account that is in the specified region.
7585	//
7586	//    * You must specify a value for DefaultSubnetId.
7587	//
7588	// For more information about how to use AWS OpsWorks Stacks with a VPC, see
7589	// Running a Stack in a VPC (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html).
7590	// For more information about default VPC and EC2 Classic, see Supported Platforms
7591	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
7592	VpcId *string `type:"string"`
7593}
7594
7595// String returns the string representation.
7596//
7597// API parameter values that are decorated as "sensitive" in the API will not
7598// be included in the string output. The member name will be present, but the
7599// value will be replaced with "sensitive".
7600func (s CloneStackInput) String() string {
7601	return awsutil.Prettify(s)
7602}
7603
7604// GoString returns the string representation.
7605//
7606// API parameter values that are decorated as "sensitive" in the API will not
7607// be included in the string output. The member name will be present, but the
7608// value will be replaced with "sensitive".
7609func (s CloneStackInput) GoString() string {
7610	return s.String()
7611}
7612
7613// Validate inspects the fields of the type to determine if they are valid.
7614func (s *CloneStackInput) Validate() error {
7615	invalidParams := request.ErrInvalidParams{Context: "CloneStackInput"}
7616	if s.ServiceRoleArn == nil {
7617		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
7618	}
7619	if s.SourceStackId == nil {
7620		invalidParams.Add(request.NewErrParamRequired("SourceStackId"))
7621	}
7622
7623	if invalidParams.Len() > 0 {
7624		return invalidParams
7625	}
7626	return nil
7627}
7628
7629// SetAgentVersion sets the AgentVersion field's value.
7630func (s *CloneStackInput) SetAgentVersion(v string) *CloneStackInput {
7631	s.AgentVersion = &v
7632	return s
7633}
7634
7635// SetAttributes sets the Attributes field's value.
7636func (s *CloneStackInput) SetAttributes(v map[string]*string) *CloneStackInput {
7637	s.Attributes = v
7638	return s
7639}
7640
7641// SetChefConfiguration sets the ChefConfiguration field's value.
7642func (s *CloneStackInput) SetChefConfiguration(v *ChefConfiguration) *CloneStackInput {
7643	s.ChefConfiguration = v
7644	return s
7645}
7646
7647// SetCloneAppIds sets the CloneAppIds field's value.
7648func (s *CloneStackInput) SetCloneAppIds(v []*string) *CloneStackInput {
7649	s.CloneAppIds = v
7650	return s
7651}
7652
7653// SetClonePermissions sets the ClonePermissions field's value.
7654func (s *CloneStackInput) SetClonePermissions(v bool) *CloneStackInput {
7655	s.ClonePermissions = &v
7656	return s
7657}
7658
7659// SetConfigurationManager sets the ConfigurationManager field's value.
7660func (s *CloneStackInput) SetConfigurationManager(v *StackConfigurationManager) *CloneStackInput {
7661	s.ConfigurationManager = v
7662	return s
7663}
7664
7665// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
7666func (s *CloneStackInput) SetCustomCookbooksSource(v *Source) *CloneStackInput {
7667	s.CustomCookbooksSource = v
7668	return s
7669}
7670
7671// SetCustomJson sets the CustomJson field's value.
7672func (s *CloneStackInput) SetCustomJson(v string) *CloneStackInput {
7673	s.CustomJson = &v
7674	return s
7675}
7676
7677// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
7678func (s *CloneStackInput) SetDefaultAvailabilityZone(v string) *CloneStackInput {
7679	s.DefaultAvailabilityZone = &v
7680	return s
7681}
7682
7683// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
7684func (s *CloneStackInput) SetDefaultInstanceProfileArn(v string) *CloneStackInput {
7685	s.DefaultInstanceProfileArn = &v
7686	return s
7687}
7688
7689// SetDefaultOs sets the DefaultOs field's value.
7690func (s *CloneStackInput) SetDefaultOs(v string) *CloneStackInput {
7691	s.DefaultOs = &v
7692	return s
7693}
7694
7695// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
7696func (s *CloneStackInput) SetDefaultRootDeviceType(v string) *CloneStackInput {
7697	s.DefaultRootDeviceType = &v
7698	return s
7699}
7700
7701// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
7702func (s *CloneStackInput) SetDefaultSshKeyName(v string) *CloneStackInput {
7703	s.DefaultSshKeyName = &v
7704	return s
7705}
7706
7707// SetDefaultSubnetId sets the DefaultSubnetId field's value.
7708func (s *CloneStackInput) SetDefaultSubnetId(v string) *CloneStackInput {
7709	s.DefaultSubnetId = &v
7710	return s
7711}
7712
7713// SetHostnameTheme sets the HostnameTheme field's value.
7714func (s *CloneStackInput) SetHostnameTheme(v string) *CloneStackInput {
7715	s.HostnameTheme = &v
7716	return s
7717}
7718
7719// SetName sets the Name field's value.
7720func (s *CloneStackInput) SetName(v string) *CloneStackInput {
7721	s.Name = &v
7722	return s
7723}
7724
7725// SetRegion sets the Region field's value.
7726func (s *CloneStackInput) SetRegion(v string) *CloneStackInput {
7727	s.Region = &v
7728	return s
7729}
7730
7731// SetServiceRoleArn sets the ServiceRoleArn field's value.
7732func (s *CloneStackInput) SetServiceRoleArn(v string) *CloneStackInput {
7733	s.ServiceRoleArn = &v
7734	return s
7735}
7736
7737// SetSourceStackId sets the SourceStackId field's value.
7738func (s *CloneStackInput) SetSourceStackId(v string) *CloneStackInput {
7739	s.SourceStackId = &v
7740	return s
7741}
7742
7743// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
7744func (s *CloneStackInput) SetUseCustomCookbooks(v bool) *CloneStackInput {
7745	s.UseCustomCookbooks = &v
7746	return s
7747}
7748
7749// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
7750func (s *CloneStackInput) SetUseOpsworksSecurityGroups(v bool) *CloneStackInput {
7751	s.UseOpsworksSecurityGroups = &v
7752	return s
7753}
7754
7755// SetVpcId sets the VpcId field's value.
7756func (s *CloneStackInput) SetVpcId(v string) *CloneStackInput {
7757	s.VpcId = &v
7758	return s
7759}
7760
7761// Contains the response to a CloneStack request.
7762type CloneStackOutput struct {
7763	_ struct{} `type:"structure"`
7764
7765	// The cloned stack ID.
7766	StackId *string `type:"string"`
7767}
7768
7769// String returns the string representation.
7770//
7771// API parameter values that are decorated as "sensitive" in the API will not
7772// be included in the string output. The member name will be present, but the
7773// value will be replaced with "sensitive".
7774func (s CloneStackOutput) String() string {
7775	return awsutil.Prettify(s)
7776}
7777
7778// GoString returns the string representation.
7779//
7780// API parameter values that are decorated as "sensitive" in the API will not
7781// be included in the string output. The member name will be present, but the
7782// value will be replaced with "sensitive".
7783func (s CloneStackOutput) GoString() string {
7784	return s.String()
7785}
7786
7787// SetStackId sets the StackId field's value.
7788func (s *CloneStackOutput) SetStackId(v string) *CloneStackOutput {
7789	s.StackId = &v
7790	return s
7791}
7792
7793// Describes the Amazon CloudWatch logs configuration for a layer.
7794type CloudWatchLogsConfiguration struct {
7795	_ struct{} `type:"structure"`
7796
7797	// Whether CloudWatch Logs is enabled for a layer.
7798	Enabled *bool `type:"boolean"`
7799
7800	// A list of configuration options for CloudWatch Logs.
7801	LogStreams []*CloudWatchLogsLogStream `type:"list"`
7802}
7803
7804// String returns the string representation.
7805//
7806// API parameter values that are decorated as "sensitive" in the API will not
7807// be included in the string output. The member name will be present, but the
7808// value will be replaced with "sensitive".
7809func (s CloudWatchLogsConfiguration) String() string {
7810	return awsutil.Prettify(s)
7811}
7812
7813// GoString returns the string representation.
7814//
7815// API parameter values that are decorated as "sensitive" in the API will not
7816// be included in the string output. The member name will be present, but the
7817// value will be replaced with "sensitive".
7818func (s CloudWatchLogsConfiguration) GoString() string {
7819	return s.String()
7820}
7821
7822// SetEnabled sets the Enabled field's value.
7823func (s *CloudWatchLogsConfiguration) SetEnabled(v bool) *CloudWatchLogsConfiguration {
7824	s.Enabled = &v
7825	return s
7826}
7827
7828// SetLogStreams sets the LogStreams field's value.
7829func (s *CloudWatchLogsConfiguration) SetLogStreams(v []*CloudWatchLogsLogStream) *CloudWatchLogsConfiguration {
7830	s.LogStreams = v
7831	return s
7832}
7833
7834// Describes the Amazon CloudWatch logs configuration for a layer. For detailed
7835// information about members of this data type, see the CloudWatch Logs Agent
7836// Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
7837type CloudWatchLogsLogStream struct {
7838	_ struct{} `type:"structure"`
7839
7840	// Specifies the max number of log events in a batch, up to 10000. The default
7841	// value is 1000.
7842	BatchCount *int64 `type:"integer"`
7843
7844	// Specifies the maximum size of log events in a batch, in bytes, up to 1048576
7845	// bytes. The default value is 32768 bytes. This size is calculated as the sum
7846	// of all event messages in UTF-8, plus 26 bytes for each log event.
7847	BatchSize *int64 `type:"integer"`
7848
7849	// Specifies the time duration for the batching of log events. The minimum value
7850	// is 5000ms and default value is 5000ms.
7851	BufferDuration *int64 `type:"integer"`
7852
7853	// Specifies how the time stamp is extracted from logs. For more information,
7854	// see the CloudWatch Logs Agent Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
7855	DatetimeFormat *string `type:"string"`
7856
7857	// Specifies the encoding of the log file so that the file can be read correctly.
7858	// The default is utf_8. Encodings supported by Python codecs.decode() can be
7859	// used here.
7860	Encoding *string `type:"string" enum:"CloudWatchLogsEncoding"`
7861
7862	// Specifies log files that you want to push to CloudWatch Logs.
7863	//
7864	// File can point to a specific file or multiple files (by using wild card characters
7865	// such as /var/log/system.log*). Only the latest file is pushed to CloudWatch
7866	// Logs, based on file modification time. We recommend that you use wild card
7867	// characters to specify a series of files of the same type, such as access_log.2014-06-01-01,
7868	// access_log.2014-06-01-02, and so on by using a pattern like access_log.*.
7869	// Don't use a wildcard to match multiple file types, such as access_log_80
7870	// and access_log_443. To specify multiple, different file types, add another
7871	// log stream entry to the configuration file, so that each log file type is
7872	// stored in a different log group.
7873	//
7874	// Zipped files are not supported.
7875	File *string `type:"string"`
7876
7877	// Specifies the range of lines for identifying a file. The valid values are
7878	// one number, or two dash-delimited numbers, such as '1', '2-5'. The default
7879	// value is '1', meaning the first line is used to calculate the fingerprint.
7880	// Fingerprint lines are not sent to CloudWatch Logs unless all specified lines
7881	// are available.
7882	FileFingerprintLines *string `type:"string"`
7883
7884	// Specifies where to start to read data (start_of_file or end_of_file). The
7885	// default is start_of_file. This setting is only used if there is no state
7886	// persisted for that log stream.
7887	InitialPosition *string `type:"string" enum:"CloudWatchLogsInitialPosition"`
7888
7889	// Specifies the destination log group. A log group is created automatically
7890	// if it doesn't already exist. Log group names can be between 1 and 512 characters
7891	// long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen),
7892	// '/' (forward slash), and '.' (period).
7893	LogGroupName *string `type:"string"`
7894
7895	// Specifies the pattern for identifying the start of a log message.
7896	MultiLineStartPattern *string `type:"string"`
7897
7898	// Specifies the time zone of log event time stamps.
7899	TimeZone *string `type:"string" enum:"CloudWatchLogsTimeZone"`
7900}
7901
7902// String returns the string representation.
7903//
7904// API parameter values that are decorated as "sensitive" in the API will not
7905// be included in the string output. The member name will be present, but the
7906// value will be replaced with "sensitive".
7907func (s CloudWatchLogsLogStream) String() string {
7908	return awsutil.Prettify(s)
7909}
7910
7911// GoString returns the string representation.
7912//
7913// API parameter values that are decorated as "sensitive" in the API will not
7914// be included in the string output. The member name will be present, but the
7915// value will be replaced with "sensitive".
7916func (s CloudWatchLogsLogStream) GoString() string {
7917	return s.String()
7918}
7919
7920// SetBatchCount sets the BatchCount field's value.
7921func (s *CloudWatchLogsLogStream) SetBatchCount(v int64) *CloudWatchLogsLogStream {
7922	s.BatchCount = &v
7923	return s
7924}
7925
7926// SetBatchSize sets the BatchSize field's value.
7927func (s *CloudWatchLogsLogStream) SetBatchSize(v int64) *CloudWatchLogsLogStream {
7928	s.BatchSize = &v
7929	return s
7930}
7931
7932// SetBufferDuration sets the BufferDuration field's value.
7933func (s *CloudWatchLogsLogStream) SetBufferDuration(v int64) *CloudWatchLogsLogStream {
7934	s.BufferDuration = &v
7935	return s
7936}
7937
7938// SetDatetimeFormat sets the DatetimeFormat field's value.
7939func (s *CloudWatchLogsLogStream) SetDatetimeFormat(v string) *CloudWatchLogsLogStream {
7940	s.DatetimeFormat = &v
7941	return s
7942}
7943
7944// SetEncoding sets the Encoding field's value.
7945func (s *CloudWatchLogsLogStream) SetEncoding(v string) *CloudWatchLogsLogStream {
7946	s.Encoding = &v
7947	return s
7948}
7949
7950// SetFile sets the File field's value.
7951func (s *CloudWatchLogsLogStream) SetFile(v string) *CloudWatchLogsLogStream {
7952	s.File = &v
7953	return s
7954}
7955
7956// SetFileFingerprintLines sets the FileFingerprintLines field's value.
7957func (s *CloudWatchLogsLogStream) SetFileFingerprintLines(v string) *CloudWatchLogsLogStream {
7958	s.FileFingerprintLines = &v
7959	return s
7960}
7961
7962// SetInitialPosition sets the InitialPosition field's value.
7963func (s *CloudWatchLogsLogStream) SetInitialPosition(v string) *CloudWatchLogsLogStream {
7964	s.InitialPosition = &v
7965	return s
7966}
7967
7968// SetLogGroupName sets the LogGroupName field's value.
7969func (s *CloudWatchLogsLogStream) SetLogGroupName(v string) *CloudWatchLogsLogStream {
7970	s.LogGroupName = &v
7971	return s
7972}
7973
7974// SetMultiLineStartPattern sets the MultiLineStartPattern field's value.
7975func (s *CloudWatchLogsLogStream) SetMultiLineStartPattern(v string) *CloudWatchLogsLogStream {
7976	s.MultiLineStartPattern = &v
7977	return s
7978}
7979
7980// SetTimeZone sets the TimeZone field's value.
7981func (s *CloudWatchLogsLogStream) SetTimeZone(v string) *CloudWatchLogsLogStream {
7982	s.TimeZone = &v
7983	return s
7984}
7985
7986// Describes a command.
7987type Command struct {
7988	_ struct{} `type:"structure"`
7989
7990	// Date and time when the command was acknowledged.
7991	AcknowledgedAt *string `type:"string"`
7992
7993	// The command ID.
7994	CommandId *string `type:"string"`
7995
7996	// Date when the command completed.
7997	CompletedAt *string `type:"string"`
7998
7999	// Date and time when the command was run.
8000	CreatedAt *string `type:"string"`
8001
8002	// The command deployment ID.
8003	DeploymentId *string `type:"string"`
8004
8005	// The command exit code.
8006	ExitCode *int64 `type:"integer"`
8007
8008	// The ID of the instance where the command was executed.
8009	InstanceId *string `type:"string"`
8010
8011	// The URL of the command log.
8012	LogUrl *string `type:"string"`
8013
8014	// The command status:
8015	//
8016	//    * failed
8017	//
8018	//    * successful
8019	//
8020	//    * skipped
8021	//
8022	//    * pending
8023	Status *string `type:"string"`
8024
8025	// The command type:
8026	//
8027	//    * configure
8028	//
8029	//    * deploy
8030	//
8031	//    * execute_recipes
8032	//
8033	//    * install_dependencies
8034	//
8035	//    * restart
8036	//
8037	//    * rollback
8038	//
8039	//    * setup
8040	//
8041	//    * start
8042	//
8043	//    * stop
8044	//
8045	//    * undeploy
8046	//
8047	//    * update_custom_cookbooks
8048	//
8049	//    * update_dependencies
8050	Type *string `type:"string"`
8051}
8052
8053// String returns the string representation.
8054//
8055// API parameter values that are decorated as "sensitive" in the API will not
8056// be included in the string output. The member name will be present, but the
8057// value will be replaced with "sensitive".
8058func (s Command) String() string {
8059	return awsutil.Prettify(s)
8060}
8061
8062// GoString returns the string representation.
8063//
8064// API parameter values that are decorated as "sensitive" in the API will not
8065// be included in the string output. The member name will be present, but the
8066// value will be replaced with "sensitive".
8067func (s Command) GoString() string {
8068	return s.String()
8069}
8070
8071// SetAcknowledgedAt sets the AcknowledgedAt field's value.
8072func (s *Command) SetAcknowledgedAt(v string) *Command {
8073	s.AcknowledgedAt = &v
8074	return s
8075}
8076
8077// SetCommandId sets the CommandId field's value.
8078func (s *Command) SetCommandId(v string) *Command {
8079	s.CommandId = &v
8080	return s
8081}
8082
8083// SetCompletedAt sets the CompletedAt field's value.
8084func (s *Command) SetCompletedAt(v string) *Command {
8085	s.CompletedAt = &v
8086	return s
8087}
8088
8089// SetCreatedAt sets the CreatedAt field's value.
8090func (s *Command) SetCreatedAt(v string) *Command {
8091	s.CreatedAt = &v
8092	return s
8093}
8094
8095// SetDeploymentId sets the DeploymentId field's value.
8096func (s *Command) SetDeploymentId(v string) *Command {
8097	s.DeploymentId = &v
8098	return s
8099}
8100
8101// SetExitCode sets the ExitCode field's value.
8102func (s *Command) SetExitCode(v int64) *Command {
8103	s.ExitCode = &v
8104	return s
8105}
8106
8107// SetInstanceId sets the InstanceId field's value.
8108func (s *Command) SetInstanceId(v string) *Command {
8109	s.InstanceId = &v
8110	return s
8111}
8112
8113// SetLogUrl sets the LogUrl field's value.
8114func (s *Command) SetLogUrl(v string) *Command {
8115	s.LogUrl = &v
8116	return s
8117}
8118
8119// SetStatus sets the Status field's value.
8120func (s *Command) SetStatus(v string) *Command {
8121	s.Status = &v
8122	return s
8123}
8124
8125// SetType sets the Type field's value.
8126func (s *Command) SetType(v string) *Command {
8127	s.Type = &v
8128	return s
8129}
8130
8131type CreateAppInput struct {
8132	_ struct{} `type:"structure"`
8133
8134	// A Source object that specifies the app repository.
8135	AppSource *Source `type:"structure"`
8136
8137	// One or more user-defined key/value pairs to be added to the stack attributes.
8138	Attributes map[string]*string `type:"map"`
8139
8140	// The app's data source.
8141	DataSources []*DataSource `type:"list"`
8142
8143	// A description of the app.
8144	Description *string `type:"string"`
8145
8146	// The app virtual host settings, with multiple domains separated by commas.
8147	// For example: 'www.example.com, example.com'
8148	Domains []*string `type:"list"`
8149
8150	// Whether to enable SSL for the app.
8151	EnableSsl *bool `type:"boolean"`
8152
8153	// An array of EnvironmentVariable objects that specify environment variables
8154	// to be associated with the app. After you deploy the app, these variables
8155	// are defined on the associated app server instance. For more information,
8156	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
8157	//
8158	// There is no specific limit on the number of environment variables. However,
8159	// the size of the associated data structure - which includes the variables'
8160	// names, values, and protected flag values - cannot exceed 20 KB. This limit
8161	// should accommodate most if not all use cases. Exceeding it will cause an
8162	// exception with the message, "Environment: is too large (maximum is 20KB)."
8163	//
8164	// If you have specified one or more environment variables, you cannot modify
8165	// the stack's Chef version.
8166	Environment []*EnvironmentVariable `type:"list"`
8167
8168	// The app name.
8169	//
8170	// Name is a required field
8171	Name *string `type:"string" required:"true"`
8172
8173	// The app's short name.
8174	Shortname *string `type:"string"`
8175
8176	// An SslConfiguration object with the SSL configuration.
8177	SslConfiguration *SslConfiguration `type:"structure"`
8178
8179	// The stack ID.
8180	//
8181	// StackId is a required field
8182	StackId *string `type:"string" required:"true"`
8183
8184	// The app type. Each supported type is associated with a particular layer.
8185	// For example, PHP applications are associated with a PHP layer. AWS OpsWorks
8186	// Stacks deploys an application to those instances that are members of the
8187	// corresponding layer. If your app isn't one of the standard types, or you
8188	// prefer to implement your own Deploy recipes, specify other.
8189	//
8190	// Type is a required field
8191	Type *string `type:"string" required:"true" enum:"AppType"`
8192}
8193
8194// String returns the string representation.
8195//
8196// API parameter values that are decorated as "sensitive" in the API will not
8197// be included in the string output. The member name will be present, but the
8198// value will be replaced with "sensitive".
8199func (s CreateAppInput) String() string {
8200	return awsutil.Prettify(s)
8201}
8202
8203// GoString returns the string representation.
8204//
8205// API parameter values that are decorated as "sensitive" in the API will not
8206// be included in the string output. The member name will be present, but the
8207// value will be replaced with "sensitive".
8208func (s CreateAppInput) GoString() string {
8209	return s.String()
8210}
8211
8212// Validate inspects the fields of the type to determine if they are valid.
8213func (s *CreateAppInput) Validate() error {
8214	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
8215	if s.Name == nil {
8216		invalidParams.Add(request.NewErrParamRequired("Name"))
8217	}
8218	if s.StackId == nil {
8219		invalidParams.Add(request.NewErrParamRequired("StackId"))
8220	}
8221	if s.Type == nil {
8222		invalidParams.Add(request.NewErrParamRequired("Type"))
8223	}
8224	if s.Environment != nil {
8225		for i, v := range s.Environment {
8226			if v == nil {
8227				continue
8228			}
8229			if err := v.Validate(); err != nil {
8230				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams))
8231			}
8232		}
8233	}
8234	if s.SslConfiguration != nil {
8235		if err := s.SslConfiguration.Validate(); err != nil {
8236			invalidParams.AddNested("SslConfiguration", err.(request.ErrInvalidParams))
8237		}
8238	}
8239
8240	if invalidParams.Len() > 0 {
8241		return invalidParams
8242	}
8243	return nil
8244}
8245
8246// SetAppSource sets the AppSource field's value.
8247func (s *CreateAppInput) SetAppSource(v *Source) *CreateAppInput {
8248	s.AppSource = v
8249	return s
8250}
8251
8252// SetAttributes sets the Attributes field's value.
8253func (s *CreateAppInput) SetAttributes(v map[string]*string) *CreateAppInput {
8254	s.Attributes = v
8255	return s
8256}
8257
8258// SetDataSources sets the DataSources field's value.
8259func (s *CreateAppInput) SetDataSources(v []*DataSource) *CreateAppInput {
8260	s.DataSources = v
8261	return s
8262}
8263
8264// SetDescription sets the Description field's value.
8265func (s *CreateAppInput) SetDescription(v string) *CreateAppInput {
8266	s.Description = &v
8267	return s
8268}
8269
8270// SetDomains sets the Domains field's value.
8271func (s *CreateAppInput) SetDomains(v []*string) *CreateAppInput {
8272	s.Domains = v
8273	return s
8274}
8275
8276// SetEnableSsl sets the EnableSsl field's value.
8277func (s *CreateAppInput) SetEnableSsl(v bool) *CreateAppInput {
8278	s.EnableSsl = &v
8279	return s
8280}
8281
8282// SetEnvironment sets the Environment field's value.
8283func (s *CreateAppInput) SetEnvironment(v []*EnvironmentVariable) *CreateAppInput {
8284	s.Environment = v
8285	return s
8286}
8287
8288// SetName sets the Name field's value.
8289func (s *CreateAppInput) SetName(v string) *CreateAppInput {
8290	s.Name = &v
8291	return s
8292}
8293
8294// SetShortname sets the Shortname field's value.
8295func (s *CreateAppInput) SetShortname(v string) *CreateAppInput {
8296	s.Shortname = &v
8297	return s
8298}
8299
8300// SetSslConfiguration sets the SslConfiguration field's value.
8301func (s *CreateAppInput) SetSslConfiguration(v *SslConfiguration) *CreateAppInput {
8302	s.SslConfiguration = v
8303	return s
8304}
8305
8306// SetStackId sets the StackId field's value.
8307func (s *CreateAppInput) SetStackId(v string) *CreateAppInput {
8308	s.StackId = &v
8309	return s
8310}
8311
8312// SetType sets the Type field's value.
8313func (s *CreateAppInput) SetType(v string) *CreateAppInput {
8314	s.Type = &v
8315	return s
8316}
8317
8318// Contains the response to a CreateApp request.
8319type CreateAppOutput struct {
8320	_ struct{} `type:"structure"`
8321
8322	// The app ID.
8323	AppId *string `type:"string"`
8324}
8325
8326// String returns the string representation.
8327//
8328// API parameter values that are decorated as "sensitive" in the API will not
8329// be included in the string output. The member name will be present, but the
8330// value will be replaced with "sensitive".
8331func (s CreateAppOutput) String() string {
8332	return awsutil.Prettify(s)
8333}
8334
8335// GoString returns the string representation.
8336//
8337// API parameter values that are decorated as "sensitive" in the API will not
8338// be included in the string output. The member name will be present, but the
8339// value will be replaced with "sensitive".
8340func (s CreateAppOutput) GoString() string {
8341	return s.String()
8342}
8343
8344// SetAppId sets the AppId field's value.
8345func (s *CreateAppOutput) SetAppId(v string) *CreateAppOutput {
8346	s.AppId = &v
8347	return s
8348}
8349
8350type CreateDeploymentInput struct {
8351	_ struct{} `type:"structure"`
8352
8353	// The app ID. This parameter is required for app deployments, but not for other
8354	// deployment commands.
8355	AppId *string `type:"string"`
8356
8357	// A DeploymentCommand object that specifies the deployment command and any
8358	// associated arguments.
8359	//
8360	// Command is a required field
8361	Command *DeploymentCommand `type:"structure" required:"true"`
8362
8363	// A user-defined comment.
8364	Comment *string `type:"string"`
8365
8366	// A string that contains user-defined, custom JSON. You can use this parameter
8367	// to override some corresponding default stack configuration JSON values. The
8368	// string should be in the following format:
8369	//
8370	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
8371	//
8372	// For more information about custom JSON, see Use Custom JSON to Modify the
8373	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html)
8374	// and Overriding Attributes With Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
8375	CustomJson *string `type:"string"`
8376
8377	// The instance IDs for the deployment targets.
8378	InstanceIds []*string `type:"list"`
8379
8380	// The layer IDs for the deployment targets.
8381	LayerIds []*string `type:"list"`
8382
8383	// The stack ID.
8384	//
8385	// StackId is a required field
8386	StackId *string `type:"string" required:"true"`
8387}
8388
8389// String returns the string representation.
8390//
8391// API parameter values that are decorated as "sensitive" in the API will not
8392// be included in the string output. The member name will be present, but the
8393// value will be replaced with "sensitive".
8394func (s CreateDeploymentInput) String() string {
8395	return awsutil.Prettify(s)
8396}
8397
8398// GoString returns the string representation.
8399//
8400// API parameter values that are decorated as "sensitive" in the API will not
8401// be included in the string output. The member name will be present, but the
8402// value will be replaced with "sensitive".
8403func (s CreateDeploymentInput) GoString() string {
8404	return s.String()
8405}
8406
8407// Validate inspects the fields of the type to determine if they are valid.
8408func (s *CreateDeploymentInput) Validate() error {
8409	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
8410	if s.Command == nil {
8411		invalidParams.Add(request.NewErrParamRequired("Command"))
8412	}
8413	if s.StackId == nil {
8414		invalidParams.Add(request.NewErrParamRequired("StackId"))
8415	}
8416	if s.Command != nil {
8417		if err := s.Command.Validate(); err != nil {
8418			invalidParams.AddNested("Command", err.(request.ErrInvalidParams))
8419		}
8420	}
8421
8422	if invalidParams.Len() > 0 {
8423		return invalidParams
8424	}
8425	return nil
8426}
8427
8428// SetAppId sets the AppId field's value.
8429func (s *CreateDeploymentInput) SetAppId(v string) *CreateDeploymentInput {
8430	s.AppId = &v
8431	return s
8432}
8433
8434// SetCommand sets the Command field's value.
8435func (s *CreateDeploymentInput) SetCommand(v *DeploymentCommand) *CreateDeploymentInput {
8436	s.Command = v
8437	return s
8438}
8439
8440// SetComment sets the Comment field's value.
8441func (s *CreateDeploymentInput) SetComment(v string) *CreateDeploymentInput {
8442	s.Comment = &v
8443	return s
8444}
8445
8446// SetCustomJson sets the CustomJson field's value.
8447func (s *CreateDeploymentInput) SetCustomJson(v string) *CreateDeploymentInput {
8448	s.CustomJson = &v
8449	return s
8450}
8451
8452// SetInstanceIds sets the InstanceIds field's value.
8453func (s *CreateDeploymentInput) SetInstanceIds(v []*string) *CreateDeploymentInput {
8454	s.InstanceIds = v
8455	return s
8456}
8457
8458// SetLayerIds sets the LayerIds field's value.
8459func (s *CreateDeploymentInput) SetLayerIds(v []*string) *CreateDeploymentInput {
8460	s.LayerIds = v
8461	return s
8462}
8463
8464// SetStackId sets the StackId field's value.
8465func (s *CreateDeploymentInput) SetStackId(v string) *CreateDeploymentInput {
8466	s.StackId = &v
8467	return s
8468}
8469
8470// Contains the response to a CreateDeployment request.
8471type CreateDeploymentOutput struct {
8472	_ struct{} `type:"structure"`
8473
8474	// The deployment ID, which can be used with other requests to identify the
8475	// deployment.
8476	DeploymentId *string `type:"string"`
8477}
8478
8479// String returns the string representation.
8480//
8481// API parameter values that are decorated as "sensitive" in the API will not
8482// be included in the string output. The member name will be present, but the
8483// value will be replaced with "sensitive".
8484func (s CreateDeploymentOutput) String() string {
8485	return awsutil.Prettify(s)
8486}
8487
8488// GoString returns the string representation.
8489//
8490// API parameter values that are decorated as "sensitive" in the API will not
8491// be included in the string output. The member name will be present, but the
8492// value will be replaced with "sensitive".
8493func (s CreateDeploymentOutput) GoString() string {
8494	return s.String()
8495}
8496
8497// SetDeploymentId sets the DeploymentId field's value.
8498func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
8499	s.DeploymentId = &v
8500	return s
8501}
8502
8503type CreateInstanceInput struct {
8504	_ struct{} `type:"structure"`
8505
8506	// The default AWS OpsWorks Stacks agent version. You have the following options:
8507	//
8508	//    * INHERIT - Use the stack's default agent version setting.
8509	//
8510	//    * version_number - Use the specified agent version. This value overrides
8511	//    the stack's default setting. To update the agent version, edit the instance
8512	//    configuration and specify a new version. AWS OpsWorks Stacks then automatically
8513	//    installs that version on the instance.
8514	//
8515	// The default setting is INHERIT. To specify an agent version, you must use
8516	// the complete version number, not the abbreviated number shown on the console.
8517	// For a list of available agent version numbers, call DescribeAgentVersions.
8518	// AgentVersion cannot be set to Chef 12.2.
8519	AgentVersion *string `type:"string"`
8520
8521	// A custom AMI ID to be used to create the instance. The AMI should be based
8522	// on one of the supported operating systems. For more information, see Using
8523	// Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
8524	//
8525	// If you specify a custom AMI, you must set Os to Custom.
8526	AmiId *string `type:"string"`
8527
8528	// The instance architecture. The default option is x86_64. Instance types do
8529	// not necessarily support both architectures. For a list of the architectures
8530	// that are supported by the different instance types, see Instance Families
8531	// and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
8532	Architecture *string `type:"string" enum:"Architecture"`
8533
8534	// For load-based or time-based instances, the type. Windows stacks can use
8535	// only time-based instances.
8536	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
8537
8538	// The instance Availability Zone. For more information, see Regions and Endpoints
8539	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
8540	AvailabilityZone *string `type:"string"`
8541
8542	// An array of BlockDeviceMapping objects that specify the instance's block
8543	// devices. For more information, see Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html).
8544	// Note that block device mappings are not supported for custom AMIs.
8545	BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
8546
8547	// Whether to create an Amazon EBS-optimized instance.
8548	EbsOptimized *bool `type:"boolean"`
8549
8550	// The instance host name.
8551	Hostname *string `type:"string"`
8552
8553	// Whether to install operating system and package updates when the instance
8554	// boots. The default value is true. To control when updates are installed,
8555	// set this value to false. You must then update your instances manually by
8556	// using CreateDeployment to run the update_dependencies stack command or by
8557	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
8558	//
8559	// We strongly recommend using the default value of true to ensure that your
8560	// instances have the latest security updates.
8561	InstallUpdatesOnBoot *bool `type:"boolean"`
8562
8563	// The instance type, such as t2.micro. For a list of supported instance types,
8564	// open the stack in the console, choose Instances, and choose + Instance. The
8565	// Size list contains the currently supported types. For more information, see
8566	// Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
8567	// The parameter values that you use to specify the various types are in the
8568	// API Name column of the Available Instance Types table.
8569	//
8570	// InstanceType is a required field
8571	InstanceType *string `type:"string" required:"true"`
8572
8573	// An array that contains the instance's layer IDs.
8574	//
8575	// LayerIds is a required field
8576	LayerIds []*string `type:"list" required:"true"`
8577
8578	// The instance's operating system, which must be set to one of the following.
8579	//
8580	//    * A supported Linux operating system: An Amazon Linux version, such as
8581	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
8582	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
8583	//    2015.03.
8584	//
8585	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
8586	//    14.04 LTS, or Ubuntu 12.04 LTS.
8587	//
8588	//    * CentOS Linux 7
8589	//
8590	//    * Red Hat Enterprise Linux 7
8591	//
8592	//    * A supported Windows operating system, such as Microsoft Windows Server
8593	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
8594	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
8595	//    Windows Server 2012 R2 with SQL Server Web.
8596	//
8597	//    * A custom AMI: Custom.
8598	//
8599	// For more information about the supported operating systems, see AWS OpsWorks
8600	// Stacks Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
8601	//
8602	// The default option is the current Amazon Linux version. If you set this parameter
8603	// to Custom, you must use the CreateInstance action's AmiId parameter to specify
8604	// the custom AMI that you want to use. Block device mappings are not supported
8605	// if the value is Custom. For more information about supported operating systems,
8606	// see Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html)For
8607	// more information about how to use custom AMIs with AWS OpsWorks Stacks, see
8608	// Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
8609	Os *string `type:"string"`
8610
8611	// The instance root device type. For more information, see Storage for the
8612	// Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
8613	RootDeviceType *string `type:"string" enum:"RootDeviceType"`
8614
8615	// The instance's Amazon EC2 key-pair name.
8616	SshKeyName *string `type:"string"`
8617
8618	// The stack ID.
8619	//
8620	// StackId is a required field
8621	StackId *string `type:"string" required:"true"`
8622
8623	// The ID of the instance's subnet. If the stack is running in a VPC, you can
8624	// use this parameter to override the stack's default subnet ID value and direct
8625	// AWS OpsWorks Stacks to launch the instance in a different subnet.
8626	SubnetId *string `type:"string"`
8627
8628	// The instance's tenancy option. The default option is no tenancy, or if the
8629	// instance is running in a VPC, inherit tenancy settings from the VPC. The
8630	// following are valid values for this parameter: dedicated, default, or host.
8631	// Because there are costs associated with changes in tenancy options, we recommend
8632	// that you research tenancy options before choosing them for your instances.
8633	// For more information about dedicated hosts, see Dedicated Hosts Overview
8634	// (http://aws.amazon.com/ec2/dedicated-hosts/) and Amazon EC2 Dedicated Hosts
8635	// (http://aws.amazon.com/ec2/dedicated-hosts/). For more information about
8636	// dedicated instances, see Dedicated Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html)
8637	// and Amazon EC2 Dedicated Instances (http://aws.amazon.com/ec2/purchasing-options/dedicated-instances/).
8638	Tenancy *string `type:"string"`
8639
8640	// The instance's virtualization type, paravirtual or hvm.
8641	VirtualizationType *string `type:"string"`
8642}
8643
8644// String returns the string representation.
8645//
8646// API parameter values that are decorated as "sensitive" in the API will not
8647// be included in the string output. The member name will be present, but the
8648// value will be replaced with "sensitive".
8649func (s CreateInstanceInput) String() string {
8650	return awsutil.Prettify(s)
8651}
8652
8653// GoString returns the string representation.
8654//
8655// API parameter values that are decorated as "sensitive" in the API will not
8656// be included in the string output. The member name will be present, but the
8657// value will be replaced with "sensitive".
8658func (s CreateInstanceInput) GoString() string {
8659	return s.String()
8660}
8661
8662// Validate inspects the fields of the type to determine if they are valid.
8663func (s *CreateInstanceInput) Validate() error {
8664	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceInput"}
8665	if s.InstanceType == nil {
8666		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
8667	}
8668	if s.LayerIds == nil {
8669		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
8670	}
8671	if s.StackId == nil {
8672		invalidParams.Add(request.NewErrParamRequired("StackId"))
8673	}
8674
8675	if invalidParams.Len() > 0 {
8676		return invalidParams
8677	}
8678	return nil
8679}
8680
8681// SetAgentVersion sets the AgentVersion field's value.
8682func (s *CreateInstanceInput) SetAgentVersion(v string) *CreateInstanceInput {
8683	s.AgentVersion = &v
8684	return s
8685}
8686
8687// SetAmiId sets the AmiId field's value.
8688func (s *CreateInstanceInput) SetAmiId(v string) *CreateInstanceInput {
8689	s.AmiId = &v
8690	return s
8691}
8692
8693// SetArchitecture sets the Architecture field's value.
8694func (s *CreateInstanceInput) SetArchitecture(v string) *CreateInstanceInput {
8695	s.Architecture = &v
8696	return s
8697}
8698
8699// SetAutoScalingType sets the AutoScalingType field's value.
8700func (s *CreateInstanceInput) SetAutoScalingType(v string) *CreateInstanceInput {
8701	s.AutoScalingType = &v
8702	return s
8703}
8704
8705// SetAvailabilityZone sets the AvailabilityZone field's value.
8706func (s *CreateInstanceInput) SetAvailabilityZone(v string) *CreateInstanceInput {
8707	s.AvailabilityZone = &v
8708	return s
8709}
8710
8711// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
8712func (s *CreateInstanceInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateInstanceInput {
8713	s.BlockDeviceMappings = v
8714	return s
8715}
8716
8717// SetEbsOptimized sets the EbsOptimized field's value.
8718func (s *CreateInstanceInput) SetEbsOptimized(v bool) *CreateInstanceInput {
8719	s.EbsOptimized = &v
8720	return s
8721}
8722
8723// SetHostname sets the Hostname field's value.
8724func (s *CreateInstanceInput) SetHostname(v string) *CreateInstanceInput {
8725	s.Hostname = &v
8726	return s
8727}
8728
8729// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
8730func (s *CreateInstanceInput) SetInstallUpdatesOnBoot(v bool) *CreateInstanceInput {
8731	s.InstallUpdatesOnBoot = &v
8732	return s
8733}
8734
8735// SetInstanceType sets the InstanceType field's value.
8736func (s *CreateInstanceInput) SetInstanceType(v string) *CreateInstanceInput {
8737	s.InstanceType = &v
8738	return s
8739}
8740
8741// SetLayerIds sets the LayerIds field's value.
8742func (s *CreateInstanceInput) SetLayerIds(v []*string) *CreateInstanceInput {
8743	s.LayerIds = v
8744	return s
8745}
8746
8747// SetOs sets the Os field's value.
8748func (s *CreateInstanceInput) SetOs(v string) *CreateInstanceInput {
8749	s.Os = &v
8750	return s
8751}
8752
8753// SetRootDeviceType sets the RootDeviceType field's value.
8754func (s *CreateInstanceInput) SetRootDeviceType(v string) *CreateInstanceInput {
8755	s.RootDeviceType = &v
8756	return s
8757}
8758
8759// SetSshKeyName sets the SshKeyName field's value.
8760func (s *CreateInstanceInput) SetSshKeyName(v string) *CreateInstanceInput {
8761	s.SshKeyName = &v
8762	return s
8763}
8764
8765// SetStackId sets the StackId field's value.
8766func (s *CreateInstanceInput) SetStackId(v string) *CreateInstanceInput {
8767	s.StackId = &v
8768	return s
8769}
8770
8771// SetSubnetId sets the SubnetId field's value.
8772func (s *CreateInstanceInput) SetSubnetId(v string) *CreateInstanceInput {
8773	s.SubnetId = &v
8774	return s
8775}
8776
8777// SetTenancy sets the Tenancy field's value.
8778func (s *CreateInstanceInput) SetTenancy(v string) *CreateInstanceInput {
8779	s.Tenancy = &v
8780	return s
8781}
8782
8783// SetVirtualizationType sets the VirtualizationType field's value.
8784func (s *CreateInstanceInput) SetVirtualizationType(v string) *CreateInstanceInput {
8785	s.VirtualizationType = &v
8786	return s
8787}
8788
8789// Contains the response to a CreateInstance request.
8790type CreateInstanceOutput struct {
8791	_ struct{} `type:"structure"`
8792
8793	// The instance ID.
8794	InstanceId *string `type:"string"`
8795}
8796
8797// String returns the string representation.
8798//
8799// API parameter values that are decorated as "sensitive" in the API will not
8800// be included in the string output. The member name will be present, but the
8801// value will be replaced with "sensitive".
8802func (s CreateInstanceOutput) String() string {
8803	return awsutil.Prettify(s)
8804}
8805
8806// GoString returns the string representation.
8807//
8808// API parameter values that are decorated as "sensitive" in the API will not
8809// be included in the string output. The member name will be present, but the
8810// value will be replaced with "sensitive".
8811func (s CreateInstanceOutput) GoString() string {
8812	return s.String()
8813}
8814
8815// SetInstanceId sets the InstanceId field's value.
8816func (s *CreateInstanceOutput) SetInstanceId(v string) *CreateInstanceOutput {
8817	s.InstanceId = &v
8818	return s
8819}
8820
8821type CreateLayerInput struct {
8822	_ struct{} `type:"structure"`
8823
8824	// One or more user-defined key-value pairs to be added to the stack attributes.
8825	//
8826	// To create a cluster layer, set the EcsClusterArn attribute to the cluster's
8827	// ARN.
8828	Attributes map[string]*string `type:"map"`
8829
8830	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
8831	// 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).
8832	AutoAssignElasticIps *bool `type:"boolean"`
8833
8834	// For stacks that are running in a VPC, whether to automatically assign a public
8835	// IP address to the layer's instances. For more information, see How to Edit
8836	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
8837	AutoAssignPublicIps *bool `type:"boolean"`
8838
8839	// Specifies CloudWatch Logs configuration options for the layer. For more information,
8840	// see CloudWatchLogsLogStream.
8841	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
8842
8843	// The ARN of an IAM profile to be used for the layer's EC2 instances. For more
8844	// information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
8845	CustomInstanceProfileArn *string `type:"string"`
8846
8847	// A JSON-formatted string containing custom stack configuration and deployment
8848	// attributes to be installed on the layer's instances. For more information,
8849	// see Using Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
8850	// This feature is supported as of version 1.7.42 of the AWS CLI.
8851	CustomJson *string `type:"string"`
8852
8853	// A LayerCustomRecipes object that specifies the layer custom recipes.
8854	CustomRecipes *Recipes `type:"structure"`
8855
8856	// An array containing the layer custom security group IDs.
8857	CustomSecurityGroupIds []*string `type:"list"`
8858
8859	// Whether to disable auto healing for the layer.
8860	EnableAutoHealing *bool `type:"boolean"`
8861
8862	// Whether to install operating system and package updates when the instance
8863	// boots. The default value is true. To control when updates are installed,
8864	// set this value to false. You must then update your instances manually by
8865	// using CreateDeployment to run the update_dependencies stack command or by
8866	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
8867	//
8868	// To ensure that your instances have the latest security updates, we strongly
8869	// recommend using the default value of true.
8870	InstallUpdatesOnBoot *bool `type:"boolean"`
8871
8872	// A LifeCycleEventConfiguration object that you can use to configure the Shutdown
8873	// event to specify an execution timeout and enable or disable Elastic Load
8874	// Balancer connection draining.
8875	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
8876
8877	// The layer name, which is used by the console.
8878	//
8879	// Name is a required field
8880	Name *string `type:"string" required:"true"`
8881
8882	// An array of Package objects that describes the layer packages.
8883	Packages []*string `type:"list"`
8884
8885	// For custom layers only, use this parameter to specify the layer's short name,
8886	// which is used internally by AWS OpsWorks Stacks and by Chef recipes. The
8887	// short name is also used as the name for the directory where your app files
8888	// are installed. It can have a maximum of 200 characters, which are limited
8889	// to the alphanumeric characters, '-', '_', and '.'.
8890	//
8891	// The built-in layers' short names are defined by AWS OpsWorks Stacks. For
8892	// more information, see the Layer Reference (https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html).
8893	//
8894	// Shortname is a required field
8895	Shortname *string `type:"string" required:"true"`
8896
8897	// The layer stack ID.
8898	//
8899	// StackId is a required field
8900	StackId *string `type:"string" required:"true"`
8901
8902	// The layer type. A stack cannot have more than one built-in layer of the same
8903	// type. It can have any number of custom layers. Built-in layers are not available
8904	// in Chef 12 stacks.
8905	//
8906	// Type is a required field
8907	Type *string `type:"string" required:"true" enum:"LayerType"`
8908
8909	// Whether to use Amazon EBS-optimized instances.
8910	UseEbsOptimizedInstances *bool `type:"boolean"`
8911
8912	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
8913	VolumeConfigurations []*VolumeConfiguration `type:"list"`
8914}
8915
8916// String returns the string representation.
8917//
8918// API parameter values that are decorated as "sensitive" in the API will not
8919// be included in the string output. The member name will be present, but the
8920// value will be replaced with "sensitive".
8921func (s CreateLayerInput) String() string {
8922	return awsutil.Prettify(s)
8923}
8924
8925// GoString returns the string representation.
8926//
8927// API parameter values that are decorated as "sensitive" in the API will not
8928// be included in the string output. The member name will be present, but the
8929// value will be replaced with "sensitive".
8930func (s CreateLayerInput) GoString() string {
8931	return s.String()
8932}
8933
8934// Validate inspects the fields of the type to determine if they are valid.
8935func (s *CreateLayerInput) Validate() error {
8936	invalidParams := request.ErrInvalidParams{Context: "CreateLayerInput"}
8937	if s.Name == nil {
8938		invalidParams.Add(request.NewErrParamRequired("Name"))
8939	}
8940	if s.Shortname == nil {
8941		invalidParams.Add(request.NewErrParamRequired("Shortname"))
8942	}
8943	if s.StackId == nil {
8944		invalidParams.Add(request.NewErrParamRequired("StackId"))
8945	}
8946	if s.Type == nil {
8947		invalidParams.Add(request.NewErrParamRequired("Type"))
8948	}
8949	if s.VolumeConfigurations != nil {
8950		for i, v := range s.VolumeConfigurations {
8951			if v == nil {
8952				continue
8953			}
8954			if err := v.Validate(); err != nil {
8955				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VolumeConfigurations", i), err.(request.ErrInvalidParams))
8956			}
8957		}
8958	}
8959
8960	if invalidParams.Len() > 0 {
8961		return invalidParams
8962	}
8963	return nil
8964}
8965
8966// SetAttributes sets the Attributes field's value.
8967func (s *CreateLayerInput) SetAttributes(v map[string]*string) *CreateLayerInput {
8968	s.Attributes = v
8969	return s
8970}
8971
8972// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
8973func (s *CreateLayerInput) SetAutoAssignElasticIps(v bool) *CreateLayerInput {
8974	s.AutoAssignElasticIps = &v
8975	return s
8976}
8977
8978// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
8979func (s *CreateLayerInput) SetAutoAssignPublicIps(v bool) *CreateLayerInput {
8980	s.AutoAssignPublicIps = &v
8981	return s
8982}
8983
8984// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
8985func (s *CreateLayerInput) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *CreateLayerInput {
8986	s.CloudWatchLogsConfiguration = v
8987	return s
8988}
8989
8990// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
8991func (s *CreateLayerInput) SetCustomInstanceProfileArn(v string) *CreateLayerInput {
8992	s.CustomInstanceProfileArn = &v
8993	return s
8994}
8995
8996// SetCustomJson sets the CustomJson field's value.
8997func (s *CreateLayerInput) SetCustomJson(v string) *CreateLayerInput {
8998	s.CustomJson = &v
8999	return s
9000}
9001
9002// SetCustomRecipes sets the CustomRecipes field's value.
9003func (s *CreateLayerInput) SetCustomRecipes(v *Recipes) *CreateLayerInput {
9004	s.CustomRecipes = v
9005	return s
9006}
9007
9008// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
9009func (s *CreateLayerInput) SetCustomSecurityGroupIds(v []*string) *CreateLayerInput {
9010	s.CustomSecurityGroupIds = v
9011	return s
9012}
9013
9014// SetEnableAutoHealing sets the EnableAutoHealing field's value.
9015func (s *CreateLayerInput) SetEnableAutoHealing(v bool) *CreateLayerInput {
9016	s.EnableAutoHealing = &v
9017	return s
9018}
9019
9020// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
9021func (s *CreateLayerInput) SetInstallUpdatesOnBoot(v bool) *CreateLayerInput {
9022	s.InstallUpdatesOnBoot = &v
9023	return s
9024}
9025
9026// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
9027func (s *CreateLayerInput) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *CreateLayerInput {
9028	s.LifecycleEventConfiguration = v
9029	return s
9030}
9031
9032// SetName sets the Name field's value.
9033func (s *CreateLayerInput) SetName(v string) *CreateLayerInput {
9034	s.Name = &v
9035	return s
9036}
9037
9038// SetPackages sets the Packages field's value.
9039func (s *CreateLayerInput) SetPackages(v []*string) *CreateLayerInput {
9040	s.Packages = v
9041	return s
9042}
9043
9044// SetShortname sets the Shortname field's value.
9045func (s *CreateLayerInput) SetShortname(v string) *CreateLayerInput {
9046	s.Shortname = &v
9047	return s
9048}
9049
9050// SetStackId sets the StackId field's value.
9051func (s *CreateLayerInput) SetStackId(v string) *CreateLayerInput {
9052	s.StackId = &v
9053	return s
9054}
9055
9056// SetType sets the Type field's value.
9057func (s *CreateLayerInput) SetType(v string) *CreateLayerInput {
9058	s.Type = &v
9059	return s
9060}
9061
9062// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
9063func (s *CreateLayerInput) SetUseEbsOptimizedInstances(v bool) *CreateLayerInput {
9064	s.UseEbsOptimizedInstances = &v
9065	return s
9066}
9067
9068// SetVolumeConfigurations sets the VolumeConfigurations field's value.
9069func (s *CreateLayerInput) SetVolumeConfigurations(v []*VolumeConfiguration) *CreateLayerInput {
9070	s.VolumeConfigurations = v
9071	return s
9072}
9073
9074// Contains the response to a CreateLayer request.
9075type CreateLayerOutput struct {
9076	_ struct{} `type:"structure"`
9077
9078	// The layer ID.
9079	LayerId *string `type:"string"`
9080}
9081
9082// String returns the string representation.
9083//
9084// API parameter values that are decorated as "sensitive" in the API will not
9085// be included in the string output. The member name will be present, but the
9086// value will be replaced with "sensitive".
9087func (s CreateLayerOutput) String() string {
9088	return awsutil.Prettify(s)
9089}
9090
9091// GoString returns the string representation.
9092//
9093// API parameter values that are decorated as "sensitive" in the API will not
9094// be included in the string output. The member name will be present, but the
9095// value will be replaced with "sensitive".
9096func (s CreateLayerOutput) GoString() string {
9097	return s.String()
9098}
9099
9100// SetLayerId sets the LayerId field's value.
9101func (s *CreateLayerOutput) SetLayerId(v string) *CreateLayerOutput {
9102	s.LayerId = &v
9103	return s
9104}
9105
9106type CreateStackInput struct {
9107	_ struct{} `type:"structure"`
9108
9109	// The default AWS OpsWorks Stacks agent version. You have the following options:
9110	//
9111	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
9112	//    installs new agent versions on the stack's instances as soon as they are
9113	//    available.
9114	//
9115	//    * Fixed version - Set this parameter to your preferred agent version.
9116	//    To update the agent version, you must edit the stack configuration and
9117	//    specify a new version. AWS OpsWorks Stacks then automatically installs
9118	//    that version on the stack's instances.
9119	//
9120	// The default setting is the most recent release of the agent. To specify an
9121	// agent version, you must use the complete version number, not the abbreviated
9122	// number shown on the console. For a list of available agent version numbers,
9123	// call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.
9124	//
9125	// You can also specify an agent version when you create or update an instance,
9126	// which overrides the stack's default setting.
9127	AgentVersion *string `type:"string"`
9128
9129	// One or more user-defined key-value pairs to be added to the stack attributes.
9130	Attributes map[string]*string `type:"map"`
9131
9132	// A ChefConfiguration object that specifies whether to enable Berkshelf and
9133	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
9134	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
9135	ChefConfiguration *ChefConfiguration `type:"structure"`
9136
9137	// The configuration manager. When you create a stack we recommend that you
9138	// use the configuration manager to specify the Chef version: 12, 11.10, or
9139	// 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for
9140	// Linux stacks is currently 12.
9141	ConfigurationManager *StackConfigurationManager `type:"structure"`
9142
9143	// Contains the information required to retrieve an app or cookbook from a repository.
9144	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
9145	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
9146	CustomCookbooksSource *Source `type:"structure"`
9147
9148	// A string that contains user-defined, custom JSON. It can be used to override
9149	// the corresponding default stack configuration attribute values or to pass
9150	// data to recipes. The string should be in the following format:
9151	//
9152	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
9153	//
9154	// For more information about custom JSON, see Use Custom JSON to Modify the
9155	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
9156	CustomJson *string `type:"string"`
9157
9158	// The stack's default Availability Zone, which must be in the specified region.
9159	// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
9160	// If you also specify a value for DefaultSubnetId, the subnet must be in the
9161	// same zone. For more information, see the VpcId parameter description.
9162	DefaultAvailabilityZone *string `type:"string"`
9163
9164	// The Amazon Resource Name (ARN) of an IAM profile that is the default profile
9165	// for all of the stack's EC2 instances. For more information about IAM ARNs,
9166	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
9167	//
9168	// DefaultInstanceProfileArn is a required field
9169	DefaultInstanceProfileArn *string `type:"string" required:"true"`
9170
9171	// The stack's default operating system, which is installed on every instance
9172	// unless you specify a different operating system when you create the instance.
9173	// You can specify one of the following.
9174	//
9175	//    * A supported Linux operating system: An Amazon Linux version, such as
9176	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
9177	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
9178	//    2015.03.
9179	//
9180	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
9181	//    14.04 LTS, or Ubuntu 12.04 LTS.
9182	//
9183	//    * CentOS Linux 7
9184	//
9185	//    * Red Hat Enterprise Linux 7
9186	//
9187	//    * A supported Windows operating system, such as Microsoft Windows Server
9188	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
9189	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
9190	//    Windows Server 2012 R2 with SQL Server Web.
9191	//
9192	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
9193	//    you create instances. For more information, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
9194	//
9195	// The default option is the current Amazon Linux version. For more information
9196	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
9197	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
9198	DefaultOs *string `type:"string"`
9199
9200	// The default root device type. This value is the default for all instances
9201	// in the stack, but you can override it when you create an instance. The default
9202	// option is instance-store. For more information, see Storage for the Root
9203	// Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
9204	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
9205
9206	// A default Amazon EC2 key pair name. The default value is none. If you specify
9207	// a key pair name, AWS OpsWorks installs the public key on the instance and
9208	// you can use the private key with an SSH client to log in to the instance.
9209	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
9210	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
9211	// You can override this setting by specifying a different key pair, or no key
9212	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
9213	DefaultSshKeyName *string `type:"string"`
9214
9215	// The stack's default VPC subnet ID. This parameter is required if you specify
9216	// a value for the VpcId parameter. All instances are launched into this subnet
9217	// unless you specify otherwise when you create the instance. If you also specify
9218	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
9219	// information on default values and when this parameter is required, see the
9220	// VpcId parameter description.
9221	DefaultSubnetId *string `type:"string"`
9222
9223	// The stack's host name theme, with spaces replaced by underscores. The theme
9224	// is used to generate host names for the stack's instances. By default, HostnameTheme
9225	// is set to Layer_Dependent, which creates host names by appending integers
9226	// to the layer's short name. The other themes are:
9227	//
9228	//    * Baked_Goods
9229	//
9230	//    * Clouds
9231	//
9232	//    * Europe_Cities
9233	//
9234	//    * Fruits
9235	//
9236	//    * Greek_Deities_and_Titans
9237	//
9238	//    * Legendary_creatures_from_Japan
9239	//
9240	//    * Planets_and_Moons
9241	//
9242	//    * Roman_Deities
9243	//
9244	//    * Scottish_Islands
9245	//
9246	//    * US_Cities
9247	//
9248	//    * Wild_Cats
9249	//
9250	// To obtain a generated host name, call GetHostNameSuggestion, which returns
9251	// a host name based on the current theme.
9252	HostnameTheme *string `type:"string"`
9253
9254	// The stack name.
9255	//
9256	// Name is a required field
9257	Name *string `type:"string" required:"true"`
9258
9259	// The stack's AWS region, such as ap-south-1. For more information about Amazon
9260	// regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
9261	//
9262	// In the AWS CLI, this API maps to the --stack-region parameter. If the --stack-region
9263	// parameter and the AWS CLI common parameter --region are set to the same value,
9264	// the stack uses a regional endpoint. If the --stack-region parameter is not
9265	// set, but the AWS CLI --region parameter is, this also results in a stack
9266	// with a regional endpoint. However, if the --region parameter is set to us-east-1,
9267	// and the --stack-region parameter is set to one of the following, then the
9268	// stack uses a legacy or classic region: us-west-1, us-west-2, sa-east-1, eu-central-1,
9269	// eu-west-1, ap-northeast-1, ap-southeast-1, ap-southeast-2. In this case,
9270	// the actual API endpoint of the stack is in us-east-1. Only the preceding
9271	// regions are supported as classic regions in the us-east-1 API endpoint. Because
9272	// it is a best practice to choose the regional endpoint that is closest to
9273	// where you manage AWS, we recommend that you use regional endpoints for new
9274	// stacks. The AWS CLI common --region parameter always specifies a regional
9275	// API endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks
9276	// region.
9277	//
9278	// Region is a required field
9279	Region *string `type:"string" required:"true"`
9280
9281	// The stack's AWS Identity and Access Management (IAM) role, which allows AWS
9282	// OpsWorks Stacks to work with AWS resources on your behalf. You must set this
9283	// parameter to the Amazon Resource Name (ARN) for an existing IAM role. For
9284	// more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
9285	//
9286	// ServiceRoleArn is a required field
9287	ServiceRoleArn *string `type:"string" required:"true"`
9288
9289	// Whether the stack uses custom cookbooks.
9290	UseCustomCookbooks *bool `type:"boolean"`
9291
9292	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
9293	// the stack's layers.
9294	//
9295	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
9296	// one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups
9297	// you can instead provide your own custom security groups. UseOpsworksSecurityGroups
9298	// has the following settings:
9299	//
9300	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
9301	//    built-in security group with each layer (default setting). You can associate
9302	//    additional security groups with a layer after you create it, but you cannot
9303	//    delete the built-in security group.
9304	//
9305	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
9306	//    with layers. You must create appropriate EC2 security groups and associate
9307	//    a security group with each layer that you create. However, you can still
9308	//    manually associate a built-in security group with a layer on creation;
9309	//    custom security groups are required only for those layers that need custom
9310	//    settings.
9311	//
9312	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
9313	UseOpsworksSecurityGroups *bool `type:"boolean"`
9314
9315	// The ID of the VPC that the stack is to be launched into. The VPC must be
9316	// in the stack's region. All instances are launched into this VPC. You cannot
9317	// change the ID later.
9318	//
9319	//    * If your account supports EC2-Classic, the default value is no VPC.
9320	//
9321	//    * If your account does not support EC2-Classic, the default value is the
9322	//    default VPC for the specified region.
9323	//
9324	// If the VPC ID corresponds to a default VPC and you have specified either
9325	// the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks
9326	// Stacks infers the value of the other parameter. If you specify neither parameter,
9327	// AWS OpsWorks Stacks sets these parameters to the first valid Availability
9328	// Zone for the specified region and the corresponding default VPC subnet ID,
9329	// respectively.
9330	//
9331	// If you specify a nondefault VPC ID, note the following:
9332	//
9333	//    * It must belong to a VPC in your account that is in the specified region.
9334	//
9335	//    * You must specify a value for DefaultSubnetId.
9336	//
9337	// For more information about how to use AWS OpsWorks Stacks with a VPC, see
9338	// Running a Stack in a VPC (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html).
9339	// For more information about default VPC and EC2-Classic, see Supported Platforms
9340	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
9341	VpcId *string `type:"string"`
9342}
9343
9344// String returns the string representation.
9345//
9346// API parameter values that are decorated as "sensitive" in the API will not
9347// be included in the string output. The member name will be present, but the
9348// value will be replaced with "sensitive".
9349func (s CreateStackInput) String() string {
9350	return awsutil.Prettify(s)
9351}
9352
9353// GoString returns the string representation.
9354//
9355// API parameter values that are decorated as "sensitive" in the API will not
9356// be included in the string output. The member name will be present, but the
9357// value will be replaced with "sensitive".
9358func (s CreateStackInput) GoString() string {
9359	return s.String()
9360}
9361
9362// Validate inspects the fields of the type to determine if they are valid.
9363func (s *CreateStackInput) Validate() error {
9364	invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
9365	if s.DefaultInstanceProfileArn == nil {
9366		invalidParams.Add(request.NewErrParamRequired("DefaultInstanceProfileArn"))
9367	}
9368	if s.Name == nil {
9369		invalidParams.Add(request.NewErrParamRequired("Name"))
9370	}
9371	if s.Region == nil {
9372		invalidParams.Add(request.NewErrParamRequired("Region"))
9373	}
9374	if s.ServiceRoleArn == nil {
9375		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
9376	}
9377
9378	if invalidParams.Len() > 0 {
9379		return invalidParams
9380	}
9381	return nil
9382}
9383
9384// SetAgentVersion sets the AgentVersion field's value.
9385func (s *CreateStackInput) SetAgentVersion(v string) *CreateStackInput {
9386	s.AgentVersion = &v
9387	return s
9388}
9389
9390// SetAttributes sets the Attributes field's value.
9391func (s *CreateStackInput) SetAttributes(v map[string]*string) *CreateStackInput {
9392	s.Attributes = v
9393	return s
9394}
9395
9396// SetChefConfiguration sets the ChefConfiguration field's value.
9397func (s *CreateStackInput) SetChefConfiguration(v *ChefConfiguration) *CreateStackInput {
9398	s.ChefConfiguration = v
9399	return s
9400}
9401
9402// SetConfigurationManager sets the ConfigurationManager field's value.
9403func (s *CreateStackInput) SetConfigurationManager(v *StackConfigurationManager) *CreateStackInput {
9404	s.ConfigurationManager = v
9405	return s
9406}
9407
9408// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
9409func (s *CreateStackInput) SetCustomCookbooksSource(v *Source) *CreateStackInput {
9410	s.CustomCookbooksSource = v
9411	return s
9412}
9413
9414// SetCustomJson sets the CustomJson field's value.
9415func (s *CreateStackInput) SetCustomJson(v string) *CreateStackInput {
9416	s.CustomJson = &v
9417	return s
9418}
9419
9420// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
9421func (s *CreateStackInput) SetDefaultAvailabilityZone(v string) *CreateStackInput {
9422	s.DefaultAvailabilityZone = &v
9423	return s
9424}
9425
9426// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
9427func (s *CreateStackInput) SetDefaultInstanceProfileArn(v string) *CreateStackInput {
9428	s.DefaultInstanceProfileArn = &v
9429	return s
9430}
9431
9432// SetDefaultOs sets the DefaultOs field's value.
9433func (s *CreateStackInput) SetDefaultOs(v string) *CreateStackInput {
9434	s.DefaultOs = &v
9435	return s
9436}
9437
9438// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
9439func (s *CreateStackInput) SetDefaultRootDeviceType(v string) *CreateStackInput {
9440	s.DefaultRootDeviceType = &v
9441	return s
9442}
9443
9444// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
9445func (s *CreateStackInput) SetDefaultSshKeyName(v string) *CreateStackInput {
9446	s.DefaultSshKeyName = &v
9447	return s
9448}
9449
9450// SetDefaultSubnetId sets the DefaultSubnetId field's value.
9451func (s *CreateStackInput) SetDefaultSubnetId(v string) *CreateStackInput {
9452	s.DefaultSubnetId = &v
9453	return s
9454}
9455
9456// SetHostnameTheme sets the HostnameTheme field's value.
9457func (s *CreateStackInput) SetHostnameTheme(v string) *CreateStackInput {
9458	s.HostnameTheme = &v
9459	return s
9460}
9461
9462// SetName sets the Name field's value.
9463func (s *CreateStackInput) SetName(v string) *CreateStackInput {
9464	s.Name = &v
9465	return s
9466}
9467
9468// SetRegion sets the Region field's value.
9469func (s *CreateStackInput) SetRegion(v string) *CreateStackInput {
9470	s.Region = &v
9471	return s
9472}
9473
9474// SetServiceRoleArn sets the ServiceRoleArn field's value.
9475func (s *CreateStackInput) SetServiceRoleArn(v string) *CreateStackInput {
9476	s.ServiceRoleArn = &v
9477	return s
9478}
9479
9480// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
9481func (s *CreateStackInput) SetUseCustomCookbooks(v bool) *CreateStackInput {
9482	s.UseCustomCookbooks = &v
9483	return s
9484}
9485
9486// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
9487func (s *CreateStackInput) SetUseOpsworksSecurityGroups(v bool) *CreateStackInput {
9488	s.UseOpsworksSecurityGroups = &v
9489	return s
9490}
9491
9492// SetVpcId sets the VpcId field's value.
9493func (s *CreateStackInput) SetVpcId(v string) *CreateStackInput {
9494	s.VpcId = &v
9495	return s
9496}
9497
9498// Contains the response to a CreateStack request.
9499type CreateStackOutput struct {
9500	_ struct{} `type:"structure"`
9501
9502	// The stack ID, which is an opaque string that you use to identify the stack
9503	// when performing actions such as DescribeStacks.
9504	StackId *string `type:"string"`
9505}
9506
9507// String returns the string representation.
9508//
9509// API parameter values that are decorated as "sensitive" in the API will not
9510// be included in the string output. The member name will be present, but the
9511// value will be replaced with "sensitive".
9512func (s CreateStackOutput) String() string {
9513	return awsutil.Prettify(s)
9514}
9515
9516// GoString returns the string representation.
9517//
9518// API parameter values that are decorated as "sensitive" in the API will not
9519// be included in the string output. The member name will be present, but the
9520// value will be replaced with "sensitive".
9521func (s CreateStackOutput) GoString() string {
9522	return s.String()
9523}
9524
9525// SetStackId sets the StackId field's value.
9526func (s *CreateStackOutput) SetStackId(v string) *CreateStackOutput {
9527	s.StackId = &v
9528	return s
9529}
9530
9531type CreateUserProfileInput struct {
9532	_ struct{} `type:"structure"`
9533
9534	// Whether users can specify their own SSH public key through the My Settings
9535	// page. For more information, see Setting an IAM User's Public SSH Key (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
9536	AllowSelfManagement *bool `type:"boolean"`
9537
9538	// The user's IAM ARN; this can also be a federated user's ARN.
9539	//
9540	// IamUserArn is a required field
9541	IamUserArn *string `type:"string" required:"true"`
9542
9543	// The user's public SSH key.
9544	SshPublicKey *string `type:"string"`
9545
9546	// The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9],
9547	// '-', and '_'. If the specified name includes other punctuation marks, AWS
9548	// OpsWorks Stacks removes them. For example, my.name will be changed to myname.
9549	// If you do not specify an SSH user name, AWS OpsWorks Stacks generates one
9550	// from the IAM user name.
9551	SshUsername *string `type:"string"`
9552}
9553
9554// String returns the string representation.
9555//
9556// API parameter values that are decorated as "sensitive" in the API will not
9557// be included in the string output. The member name will be present, but the
9558// value will be replaced with "sensitive".
9559func (s CreateUserProfileInput) String() string {
9560	return awsutil.Prettify(s)
9561}
9562
9563// GoString returns the string representation.
9564//
9565// API parameter values that are decorated as "sensitive" in the API will not
9566// be included in the string output. The member name will be present, but the
9567// value will be replaced with "sensitive".
9568func (s CreateUserProfileInput) GoString() string {
9569	return s.String()
9570}
9571
9572// Validate inspects the fields of the type to determine if they are valid.
9573func (s *CreateUserProfileInput) Validate() error {
9574	invalidParams := request.ErrInvalidParams{Context: "CreateUserProfileInput"}
9575	if s.IamUserArn == nil {
9576		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
9577	}
9578
9579	if invalidParams.Len() > 0 {
9580		return invalidParams
9581	}
9582	return nil
9583}
9584
9585// SetAllowSelfManagement sets the AllowSelfManagement field's value.
9586func (s *CreateUserProfileInput) SetAllowSelfManagement(v bool) *CreateUserProfileInput {
9587	s.AllowSelfManagement = &v
9588	return s
9589}
9590
9591// SetIamUserArn sets the IamUserArn field's value.
9592func (s *CreateUserProfileInput) SetIamUserArn(v string) *CreateUserProfileInput {
9593	s.IamUserArn = &v
9594	return s
9595}
9596
9597// SetSshPublicKey sets the SshPublicKey field's value.
9598func (s *CreateUserProfileInput) SetSshPublicKey(v string) *CreateUserProfileInput {
9599	s.SshPublicKey = &v
9600	return s
9601}
9602
9603// SetSshUsername sets the SshUsername field's value.
9604func (s *CreateUserProfileInput) SetSshUsername(v string) *CreateUserProfileInput {
9605	s.SshUsername = &v
9606	return s
9607}
9608
9609// Contains the response to a CreateUserProfile request.
9610type CreateUserProfileOutput struct {
9611	_ struct{} `type:"structure"`
9612
9613	// The user's IAM ARN.
9614	IamUserArn *string `type:"string"`
9615}
9616
9617// String returns the string representation.
9618//
9619// API parameter values that are decorated as "sensitive" in the API will not
9620// be included in the string output. The member name will be present, but the
9621// value will be replaced with "sensitive".
9622func (s CreateUserProfileOutput) String() string {
9623	return awsutil.Prettify(s)
9624}
9625
9626// GoString returns the string representation.
9627//
9628// API parameter values that are decorated as "sensitive" in the API will not
9629// be included in the string output. The member name will be present, but the
9630// value will be replaced with "sensitive".
9631func (s CreateUserProfileOutput) GoString() string {
9632	return s.String()
9633}
9634
9635// SetIamUserArn sets the IamUserArn field's value.
9636func (s *CreateUserProfileOutput) SetIamUserArn(v string) *CreateUserProfileOutput {
9637	s.IamUserArn = &v
9638	return s
9639}
9640
9641// Describes an app's data source.
9642type DataSource struct {
9643	_ struct{} `type:"structure"`
9644
9645	// The data source's ARN.
9646	Arn *string `type:"string"`
9647
9648	// The database name.
9649	DatabaseName *string `type:"string"`
9650
9651	// The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance,
9652	// RdsDbInstance, or None.
9653	Type *string `type:"string"`
9654}
9655
9656// String returns the string representation.
9657//
9658// API parameter values that are decorated as "sensitive" in the API will not
9659// be included in the string output. The member name will be present, but the
9660// value will be replaced with "sensitive".
9661func (s DataSource) String() string {
9662	return awsutil.Prettify(s)
9663}
9664
9665// GoString returns the string representation.
9666//
9667// API parameter values that are decorated as "sensitive" in the API will not
9668// be included in the string output. The member name will be present, but the
9669// value will be replaced with "sensitive".
9670func (s DataSource) GoString() string {
9671	return s.String()
9672}
9673
9674// SetArn sets the Arn field's value.
9675func (s *DataSource) SetArn(v string) *DataSource {
9676	s.Arn = &v
9677	return s
9678}
9679
9680// SetDatabaseName sets the DatabaseName field's value.
9681func (s *DataSource) SetDatabaseName(v string) *DataSource {
9682	s.DatabaseName = &v
9683	return s
9684}
9685
9686// SetType sets the Type field's value.
9687func (s *DataSource) SetType(v string) *DataSource {
9688	s.Type = &v
9689	return s
9690}
9691
9692type DeleteAppInput struct {
9693	_ struct{} `type:"structure"`
9694
9695	// The app ID.
9696	//
9697	// AppId is a required field
9698	AppId *string `type:"string" required:"true"`
9699}
9700
9701// String returns the string representation.
9702//
9703// API parameter values that are decorated as "sensitive" in the API will not
9704// be included in the string output. The member name will be present, but the
9705// value will be replaced with "sensitive".
9706func (s DeleteAppInput) String() string {
9707	return awsutil.Prettify(s)
9708}
9709
9710// GoString returns the string representation.
9711//
9712// API parameter values that are decorated as "sensitive" in the API will not
9713// be included in the string output. The member name will be present, but the
9714// value will be replaced with "sensitive".
9715func (s DeleteAppInput) GoString() string {
9716	return s.String()
9717}
9718
9719// Validate inspects the fields of the type to determine if they are valid.
9720func (s *DeleteAppInput) Validate() error {
9721	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
9722	if s.AppId == nil {
9723		invalidParams.Add(request.NewErrParamRequired("AppId"))
9724	}
9725
9726	if invalidParams.Len() > 0 {
9727		return invalidParams
9728	}
9729	return nil
9730}
9731
9732// SetAppId sets the AppId field's value.
9733func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput {
9734	s.AppId = &v
9735	return s
9736}
9737
9738type DeleteAppOutput struct {
9739	_ struct{} `type:"structure"`
9740}
9741
9742// String returns the string representation.
9743//
9744// API parameter values that are decorated as "sensitive" in the API will not
9745// be included in the string output. The member name will be present, but the
9746// value will be replaced with "sensitive".
9747func (s DeleteAppOutput) String() string {
9748	return awsutil.Prettify(s)
9749}
9750
9751// GoString returns the string representation.
9752//
9753// API parameter values that are decorated as "sensitive" in the API will not
9754// be included in the string output. The member name will be present, but the
9755// value will be replaced with "sensitive".
9756func (s DeleteAppOutput) GoString() string {
9757	return s.String()
9758}
9759
9760type DeleteInstanceInput struct {
9761	_ struct{} `type:"structure"`
9762
9763	// Whether to delete the instance Elastic IP address.
9764	DeleteElasticIp *bool `type:"boolean"`
9765
9766	// Whether to delete the instance's Amazon EBS volumes.
9767	DeleteVolumes *bool `type:"boolean"`
9768
9769	// The instance ID.
9770	//
9771	// InstanceId is a required field
9772	InstanceId *string `type:"string" required:"true"`
9773}
9774
9775// String returns the string representation.
9776//
9777// API parameter values that are decorated as "sensitive" in the API will not
9778// be included in the string output. The member name will be present, but the
9779// value will be replaced with "sensitive".
9780func (s DeleteInstanceInput) String() string {
9781	return awsutil.Prettify(s)
9782}
9783
9784// GoString returns the string representation.
9785//
9786// API parameter values that are decorated as "sensitive" in the API will not
9787// be included in the string output. The member name will be present, but the
9788// value will be replaced with "sensitive".
9789func (s DeleteInstanceInput) GoString() string {
9790	return s.String()
9791}
9792
9793// Validate inspects the fields of the type to determine if they are valid.
9794func (s *DeleteInstanceInput) Validate() error {
9795	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
9796	if s.InstanceId == nil {
9797		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
9798	}
9799
9800	if invalidParams.Len() > 0 {
9801		return invalidParams
9802	}
9803	return nil
9804}
9805
9806// SetDeleteElasticIp sets the DeleteElasticIp field's value.
9807func (s *DeleteInstanceInput) SetDeleteElasticIp(v bool) *DeleteInstanceInput {
9808	s.DeleteElasticIp = &v
9809	return s
9810}
9811
9812// SetDeleteVolumes sets the DeleteVolumes field's value.
9813func (s *DeleteInstanceInput) SetDeleteVolumes(v bool) *DeleteInstanceInput {
9814	s.DeleteVolumes = &v
9815	return s
9816}
9817
9818// SetInstanceId sets the InstanceId field's value.
9819func (s *DeleteInstanceInput) SetInstanceId(v string) *DeleteInstanceInput {
9820	s.InstanceId = &v
9821	return s
9822}
9823
9824type DeleteInstanceOutput struct {
9825	_ struct{} `type:"structure"`
9826}
9827
9828// String returns the string representation.
9829//
9830// API parameter values that are decorated as "sensitive" in the API will not
9831// be included in the string output. The member name will be present, but the
9832// value will be replaced with "sensitive".
9833func (s DeleteInstanceOutput) String() string {
9834	return awsutil.Prettify(s)
9835}
9836
9837// GoString returns the string representation.
9838//
9839// API parameter values that are decorated as "sensitive" in the API will not
9840// be included in the string output. The member name will be present, but the
9841// value will be replaced with "sensitive".
9842func (s DeleteInstanceOutput) GoString() string {
9843	return s.String()
9844}
9845
9846type DeleteLayerInput struct {
9847	_ struct{} `type:"structure"`
9848
9849	// The layer ID.
9850	//
9851	// LayerId is a required field
9852	LayerId *string `type:"string" required:"true"`
9853}
9854
9855// String returns the string representation.
9856//
9857// API parameter values that are decorated as "sensitive" in the API will not
9858// be included in the string output. The member name will be present, but the
9859// value will be replaced with "sensitive".
9860func (s DeleteLayerInput) String() string {
9861	return awsutil.Prettify(s)
9862}
9863
9864// GoString returns the string representation.
9865//
9866// API parameter values that are decorated as "sensitive" in the API will not
9867// be included in the string output. The member name will be present, but the
9868// value will be replaced with "sensitive".
9869func (s DeleteLayerInput) GoString() string {
9870	return s.String()
9871}
9872
9873// Validate inspects the fields of the type to determine if they are valid.
9874func (s *DeleteLayerInput) Validate() error {
9875	invalidParams := request.ErrInvalidParams{Context: "DeleteLayerInput"}
9876	if s.LayerId == nil {
9877		invalidParams.Add(request.NewErrParamRequired("LayerId"))
9878	}
9879
9880	if invalidParams.Len() > 0 {
9881		return invalidParams
9882	}
9883	return nil
9884}
9885
9886// SetLayerId sets the LayerId field's value.
9887func (s *DeleteLayerInput) SetLayerId(v string) *DeleteLayerInput {
9888	s.LayerId = &v
9889	return s
9890}
9891
9892type DeleteLayerOutput struct {
9893	_ struct{} `type:"structure"`
9894}
9895
9896// String returns the string representation.
9897//
9898// API parameter values that are decorated as "sensitive" in the API will not
9899// be included in the string output. The member name will be present, but the
9900// value will be replaced with "sensitive".
9901func (s DeleteLayerOutput) String() string {
9902	return awsutil.Prettify(s)
9903}
9904
9905// GoString returns the string representation.
9906//
9907// API parameter values that are decorated as "sensitive" in the API will not
9908// be included in the string output. The member name will be present, but the
9909// value will be replaced with "sensitive".
9910func (s DeleteLayerOutput) GoString() string {
9911	return s.String()
9912}
9913
9914type DeleteStackInput struct {
9915	_ struct{} `type:"structure"`
9916
9917	// The stack ID.
9918	//
9919	// StackId is a required field
9920	StackId *string `type:"string" required:"true"`
9921}
9922
9923// String returns the string representation.
9924//
9925// API parameter values that are decorated as "sensitive" in the API will not
9926// be included in the string output. The member name will be present, but the
9927// value will be replaced with "sensitive".
9928func (s DeleteStackInput) String() string {
9929	return awsutil.Prettify(s)
9930}
9931
9932// GoString returns the string representation.
9933//
9934// API parameter values that are decorated as "sensitive" in the API will not
9935// be included in the string output. The member name will be present, but the
9936// value will be replaced with "sensitive".
9937func (s DeleteStackInput) GoString() string {
9938	return s.String()
9939}
9940
9941// Validate inspects the fields of the type to determine if they are valid.
9942func (s *DeleteStackInput) Validate() error {
9943	invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
9944	if s.StackId == nil {
9945		invalidParams.Add(request.NewErrParamRequired("StackId"))
9946	}
9947
9948	if invalidParams.Len() > 0 {
9949		return invalidParams
9950	}
9951	return nil
9952}
9953
9954// SetStackId sets the StackId field's value.
9955func (s *DeleteStackInput) SetStackId(v string) *DeleteStackInput {
9956	s.StackId = &v
9957	return s
9958}
9959
9960type DeleteStackOutput struct {
9961	_ struct{} `type:"structure"`
9962}
9963
9964// String returns the string representation.
9965//
9966// API parameter values that are decorated as "sensitive" in the API will not
9967// be included in the string output. The member name will be present, but the
9968// value will be replaced with "sensitive".
9969func (s DeleteStackOutput) String() string {
9970	return awsutil.Prettify(s)
9971}
9972
9973// GoString returns the string representation.
9974//
9975// API parameter values that are decorated as "sensitive" in the API will not
9976// be included in the string output. The member name will be present, but the
9977// value will be replaced with "sensitive".
9978func (s DeleteStackOutput) GoString() string {
9979	return s.String()
9980}
9981
9982type DeleteUserProfileInput struct {
9983	_ struct{} `type:"structure"`
9984
9985	// The user's IAM ARN. This can also be a federated user's ARN.
9986	//
9987	// IamUserArn is a required field
9988	IamUserArn *string `type:"string" required:"true"`
9989}
9990
9991// String returns the string representation.
9992//
9993// API parameter values that are decorated as "sensitive" in the API will not
9994// be included in the string output. The member name will be present, but the
9995// value will be replaced with "sensitive".
9996func (s DeleteUserProfileInput) String() string {
9997	return awsutil.Prettify(s)
9998}
9999
10000// GoString returns the string representation.
10001//
10002// API parameter values that are decorated as "sensitive" in the API will not
10003// be included in the string output. The member name will be present, but the
10004// value will be replaced with "sensitive".
10005func (s DeleteUserProfileInput) GoString() string {
10006	return s.String()
10007}
10008
10009// Validate inspects the fields of the type to determine if they are valid.
10010func (s *DeleteUserProfileInput) Validate() error {
10011	invalidParams := request.ErrInvalidParams{Context: "DeleteUserProfileInput"}
10012	if s.IamUserArn == nil {
10013		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
10014	}
10015
10016	if invalidParams.Len() > 0 {
10017		return invalidParams
10018	}
10019	return nil
10020}
10021
10022// SetIamUserArn sets the IamUserArn field's value.
10023func (s *DeleteUserProfileInput) SetIamUserArn(v string) *DeleteUserProfileInput {
10024	s.IamUserArn = &v
10025	return s
10026}
10027
10028type DeleteUserProfileOutput struct {
10029	_ struct{} `type:"structure"`
10030}
10031
10032// String returns the string representation.
10033//
10034// API parameter values that are decorated as "sensitive" in the API will not
10035// be included in the string output. The member name will be present, but the
10036// value will be replaced with "sensitive".
10037func (s DeleteUserProfileOutput) String() string {
10038	return awsutil.Prettify(s)
10039}
10040
10041// GoString returns the string representation.
10042//
10043// API parameter values that are decorated as "sensitive" in the API will not
10044// be included in the string output. The member name will be present, but the
10045// value will be replaced with "sensitive".
10046func (s DeleteUserProfileOutput) GoString() string {
10047	return s.String()
10048}
10049
10050// Describes a deployment of a stack or app.
10051type Deployment struct {
10052	_ struct{} `type:"structure"`
10053
10054	// The app ID.
10055	AppId *string `type:"string"`
10056
10057	// Used to specify a stack or deployment command.
10058	Command *DeploymentCommand `type:"structure"`
10059
10060	// A user-defined comment.
10061	Comment *string `type:"string"`
10062
10063	// Date when the deployment completed.
10064	CompletedAt *string `type:"string"`
10065
10066	// Date when the deployment was created.
10067	CreatedAt *string `type:"string"`
10068
10069	// A string that contains user-defined custom JSON. It can be used to override
10070	// the corresponding default stack configuration attribute values for stack
10071	// or to pass data to recipes. The string should be in the following format:
10072	//
10073	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
10074	//
10075	// For more information on custom JSON, see Use Custom JSON to Modify the Stack
10076	// Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
10077	CustomJson *string `type:"string"`
10078
10079	// The deployment ID.
10080	DeploymentId *string `type:"string"`
10081
10082	// The deployment duration.
10083	Duration *int64 `type:"integer"`
10084
10085	// The user's IAM ARN.
10086	IamUserArn *string `type:"string"`
10087
10088	// The IDs of the target instances.
10089	InstanceIds []*string `type:"list"`
10090
10091	// The stack ID.
10092	StackId *string `type:"string"`
10093
10094	// The deployment status:
10095	//
10096	//    * running
10097	//
10098	//    * successful
10099	//
10100	//    * failed
10101	Status *string `type:"string"`
10102}
10103
10104// String returns the string representation.
10105//
10106// API parameter values that are decorated as "sensitive" in the API will not
10107// be included in the string output. The member name will be present, but the
10108// value will be replaced with "sensitive".
10109func (s Deployment) String() string {
10110	return awsutil.Prettify(s)
10111}
10112
10113// GoString returns the string representation.
10114//
10115// API parameter values that are decorated as "sensitive" in the API will not
10116// be included in the string output. The member name will be present, but the
10117// value will be replaced with "sensitive".
10118func (s Deployment) GoString() string {
10119	return s.String()
10120}
10121
10122// SetAppId sets the AppId field's value.
10123func (s *Deployment) SetAppId(v string) *Deployment {
10124	s.AppId = &v
10125	return s
10126}
10127
10128// SetCommand sets the Command field's value.
10129func (s *Deployment) SetCommand(v *DeploymentCommand) *Deployment {
10130	s.Command = v
10131	return s
10132}
10133
10134// SetComment sets the Comment field's value.
10135func (s *Deployment) SetComment(v string) *Deployment {
10136	s.Comment = &v
10137	return s
10138}
10139
10140// SetCompletedAt sets the CompletedAt field's value.
10141func (s *Deployment) SetCompletedAt(v string) *Deployment {
10142	s.CompletedAt = &v
10143	return s
10144}
10145
10146// SetCreatedAt sets the CreatedAt field's value.
10147func (s *Deployment) SetCreatedAt(v string) *Deployment {
10148	s.CreatedAt = &v
10149	return s
10150}
10151
10152// SetCustomJson sets the CustomJson field's value.
10153func (s *Deployment) SetCustomJson(v string) *Deployment {
10154	s.CustomJson = &v
10155	return s
10156}
10157
10158// SetDeploymentId sets the DeploymentId field's value.
10159func (s *Deployment) SetDeploymentId(v string) *Deployment {
10160	s.DeploymentId = &v
10161	return s
10162}
10163
10164// SetDuration sets the Duration field's value.
10165func (s *Deployment) SetDuration(v int64) *Deployment {
10166	s.Duration = &v
10167	return s
10168}
10169
10170// SetIamUserArn sets the IamUserArn field's value.
10171func (s *Deployment) SetIamUserArn(v string) *Deployment {
10172	s.IamUserArn = &v
10173	return s
10174}
10175
10176// SetInstanceIds sets the InstanceIds field's value.
10177func (s *Deployment) SetInstanceIds(v []*string) *Deployment {
10178	s.InstanceIds = v
10179	return s
10180}
10181
10182// SetStackId sets the StackId field's value.
10183func (s *Deployment) SetStackId(v string) *Deployment {
10184	s.StackId = &v
10185	return s
10186}
10187
10188// SetStatus sets the Status field's value.
10189func (s *Deployment) SetStatus(v string) *Deployment {
10190	s.Status = &v
10191	return s
10192}
10193
10194// Used to specify a stack or deployment command.
10195type DeploymentCommand struct {
10196	_ struct{} `type:"structure"`
10197
10198	// The arguments of those commands that take arguments. It should be set to
10199	// a JSON object with the following format:
10200	//
10201	// {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2",
10202	// ...], ...}
10203	//
10204	// The update_dependencies command takes two arguments:
10205	//
10206	//    * upgrade_os_to - Specifies the desired Amazon Linux version for instances
10207	//    whose OS you want to upgrade, such as Amazon Linux 2016.09. You must also
10208	//    set the allow_reboot argument to true.
10209	//
10210	//    * allow_reboot - Specifies whether to allow AWS OpsWorks Stacks to reboot
10211	//    the instances if necessary, after installing the updates. This argument
10212	//    can be set to either true or false. The default value is false.
10213	//
10214	// For example, to upgrade an instance to Amazon Linux 2016.09, set Args to
10215	// the following.
10216	//
10217	// { "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] }
10218	Args map[string][]*string `type:"map"`
10219
10220	// Specifies the operation. You can specify only one command.
10221	//
10222	// For stacks, the following commands are available:
10223	//
10224	//    * execute_recipes: Execute one or more recipes. To specify the recipes,
10225	//    set an Args parameter named recipes to the list of recipes to be executed.
10226	//    For example, to execute phpapp::appsetup, set Args to {"recipes":["phpapp::appsetup"]}.
10227	//
10228	//    * install_dependencies: Install the stack's dependencies.
10229	//
10230	//    * update_custom_cookbooks: Update the stack's custom cookbooks.
10231	//
10232	//    * update_dependencies: Update the stack's dependencies.
10233	//
10234	// The update_dependencies and install_dependencies commands are supported only
10235	// for Linux instances. You can run the commands successfully on Windows instances,
10236	// but they do nothing.
10237	//
10238	// For apps, the following commands are available:
10239	//
10240	//    * deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter
10241	//    named migrate. Set Args to {"migrate":["true"]} to migrate the database.
10242	//    The default setting is {"migrate":["false"]}.
10243	//
10244	//    * rollback Roll the app back to the previous version. When you update
10245	//    an app, AWS OpsWorks Stacks stores the previous version, up to a maximum
10246	//    of five versions. You can use this command to roll an app back as many
10247	//    as four versions.
10248	//
10249	//    * start: Start the app's web or application server.
10250	//
10251	//    * stop: Stop the app's web or application server.
10252	//
10253	//    * restart: Restart the app's web or application server.
10254	//
10255	//    * undeploy: Undeploy the app.
10256	//
10257	// Name is a required field
10258	Name *string `type:"string" required:"true" enum:"DeploymentCommandName"`
10259}
10260
10261// String returns the string representation.
10262//
10263// API parameter values that are decorated as "sensitive" in the API will not
10264// be included in the string output. The member name will be present, but the
10265// value will be replaced with "sensitive".
10266func (s DeploymentCommand) String() string {
10267	return awsutil.Prettify(s)
10268}
10269
10270// GoString returns the string representation.
10271//
10272// API parameter values that are decorated as "sensitive" in the API will not
10273// be included in the string output. The member name will be present, but the
10274// value will be replaced with "sensitive".
10275func (s DeploymentCommand) GoString() string {
10276	return s.String()
10277}
10278
10279// Validate inspects the fields of the type to determine if they are valid.
10280func (s *DeploymentCommand) Validate() error {
10281	invalidParams := request.ErrInvalidParams{Context: "DeploymentCommand"}
10282	if s.Name == nil {
10283		invalidParams.Add(request.NewErrParamRequired("Name"))
10284	}
10285
10286	if invalidParams.Len() > 0 {
10287		return invalidParams
10288	}
10289	return nil
10290}
10291
10292// SetArgs sets the Args field's value.
10293func (s *DeploymentCommand) SetArgs(v map[string][]*string) *DeploymentCommand {
10294	s.Args = v
10295	return s
10296}
10297
10298// SetName sets the Name field's value.
10299func (s *DeploymentCommand) SetName(v string) *DeploymentCommand {
10300	s.Name = &v
10301	return s
10302}
10303
10304type DeregisterEcsClusterInput struct {
10305	_ struct{} `type:"structure"`
10306
10307	// The cluster's Amazon Resource Number (ARN).
10308	//
10309	// EcsClusterArn is a required field
10310	EcsClusterArn *string `type:"string" required:"true"`
10311}
10312
10313// String returns the string representation.
10314//
10315// API parameter values that are decorated as "sensitive" in the API will not
10316// be included in the string output. The member name will be present, but the
10317// value will be replaced with "sensitive".
10318func (s DeregisterEcsClusterInput) String() string {
10319	return awsutil.Prettify(s)
10320}
10321
10322// GoString returns the string representation.
10323//
10324// API parameter values that are decorated as "sensitive" in the API will not
10325// be included in the string output. The member name will be present, but the
10326// value will be replaced with "sensitive".
10327func (s DeregisterEcsClusterInput) GoString() string {
10328	return s.String()
10329}
10330
10331// Validate inspects the fields of the type to determine if they are valid.
10332func (s *DeregisterEcsClusterInput) Validate() error {
10333	invalidParams := request.ErrInvalidParams{Context: "DeregisterEcsClusterInput"}
10334	if s.EcsClusterArn == nil {
10335		invalidParams.Add(request.NewErrParamRequired("EcsClusterArn"))
10336	}
10337
10338	if invalidParams.Len() > 0 {
10339		return invalidParams
10340	}
10341	return nil
10342}
10343
10344// SetEcsClusterArn sets the EcsClusterArn field's value.
10345func (s *DeregisterEcsClusterInput) SetEcsClusterArn(v string) *DeregisterEcsClusterInput {
10346	s.EcsClusterArn = &v
10347	return s
10348}
10349
10350type DeregisterEcsClusterOutput struct {
10351	_ struct{} `type:"structure"`
10352}
10353
10354// String returns the string representation.
10355//
10356// API parameter values that are decorated as "sensitive" in the API will not
10357// be included in the string output. The member name will be present, but the
10358// value will be replaced with "sensitive".
10359func (s DeregisterEcsClusterOutput) String() string {
10360	return awsutil.Prettify(s)
10361}
10362
10363// GoString returns the string representation.
10364//
10365// API parameter values that are decorated as "sensitive" in the API will not
10366// be included in the string output. The member name will be present, but the
10367// value will be replaced with "sensitive".
10368func (s DeregisterEcsClusterOutput) GoString() string {
10369	return s.String()
10370}
10371
10372type DeregisterElasticIpInput struct {
10373	_ struct{} `type:"structure"`
10374
10375	// The Elastic IP address.
10376	//
10377	// ElasticIp is a required field
10378	ElasticIp *string `type:"string" required:"true"`
10379}
10380
10381// String returns the string representation.
10382//
10383// API parameter values that are decorated as "sensitive" in the API will not
10384// be included in the string output. The member name will be present, but the
10385// value will be replaced with "sensitive".
10386func (s DeregisterElasticIpInput) String() string {
10387	return awsutil.Prettify(s)
10388}
10389
10390// GoString returns the string representation.
10391//
10392// API parameter values that are decorated as "sensitive" in the API will not
10393// be included in the string output. The member name will be present, but the
10394// value will be replaced with "sensitive".
10395func (s DeregisterElasticIpInput) GoString() string {
10396	return s.String()
10397}
10398
10399// Validate inspects the fields of the type to determine if they are valid.
10400func (s *DeregisterElasticIpInput) Validate() error {
10401	invalidParams := request.ErrInvalidParams{Context: "DeregisterElasticIpInput"}
10402	if s.ElasticIp == nil {
10403		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
10404	}
10405
10406	if invalidParams.Len() > 0 {
10407		return invalidParams
10408	}
10409	return nil
10410}
10411
10412// SetElasticIp sets the ElasticIp field's value.
10413func (s *DeregisterElasticIpInput) SetElasticIp(v string) *DeregisterElasticIpInput {
10414	s.ElasticIp = &v
10415	return s
10416}
10417
10418type DeregisterElasticIpOutput struct {
10419	_ struct{} `type:"structure"`
10420}
10421
10422// String returns the string representation.
10423//
10424// API parameter values that are decorated as "sensitive" in the API will not
10425// be included in the string output. The member name will be present, but the
10426// value will be replaced with "sensitive".
10427func (s DeregisterElasticIpOutput) String() string {
10428	return awsutil.Prettify(s)
10429}
10430
10431// GoString returns the string representation.
10432//
10433// API parameter values that are decorated as "sensitive" in the API will not
10434// be included in the string output. The member name will be present, but the
10435// value will be replaced with "sensitive".
10436func (s DeregisterElasticIpOutput) GoString() string {
10437	return s.String()
10438}
10439
10440type DeregisterInstanceInput struct {
10441	_ struct{} `type:"structure"`
10442
10443	// The instance ID.
10444	//
10445	// InstanceId is a required field
10446	InstanceId *string `type:"string" required:"true"`
10447}
10448
10449// String returns the string representation.
10450//
10451// API parameter values that are decorated as "sensitive" in the API will not
10452// be included in the string output. The member name will be present, but the
10453// value will be replaced with "sensitive".
10454func (s DeregisterInstanceInput) String() string {
10455	return awsutil.Prettify(s)
10456}
10457
10458// GoString returns the string representation.
10459//
10460// API parameter values that are decorated as "sensitive" in the API will not
10461// be included in the string output. The member name will be present, but the
10462// value will be replaced with "sensitive".
10463func (s DeregisterInstanceInput) GoString() string {
10464	return s.String()
10465}
10466
10467// Validate inspects the fields of the type to determine if they are valid.
10468func (s *DeregisterInstanceInput) Validate() error {
10469	invalidParams := request.ErrInvalidParams{Context: "DeregisterInstanceInput"}
10470	if s.InstanceId == nil {
10471		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
10472	}
10473
10474	if invalidParams.Len() > 0 {
10475		return invalidParams
10476	}
10477	return nil
10478}
10479
10480// SetInstanceId sets the InstanceId field's value.
10481func (s *DeregisterInstanceInput) SetInstanceId(v string) *DeregisterInstanceInput {
10482	s.InstanceId = &v
10483	return s
10484}
10485
10486type DeregisterInstanceOutput struct {
10487	_ struct{} `type:"structure"`
10488}
10489
10490// String returns the string representation.
10491//
10492// API parameter values that are decorated as "sensitive" in the API will not
10493// be included in the string output. The member name will be present, but the
10494// value will be replaced with "sensitive".
10495func (s DeregisterInstanceOutput) String() string {
10496	return awsutil.Prettify(s)
10497}
10498
10499// GoString returns the string representation.
10500//
10501// API parameter values that are decorated as "sensitive" in the API will not
10502// be included in the string output. The member name will be present, but the
10503// value will be replaced with "sensitive".
10504func (s DeregisterInstanceOutput) GoString() string {
10505	return s.String()
10506}
10507
10508type DeregisterRdsDbInstanceInput struct {
10509	_ struct{} `type:"structure"`
10510
10511	// The Amazon RDS instance's ARN.
10512	//
10513	// RdsDbInstanceArn is a required field
10514	RdsDbInstanceArn *string `type:"string" required:"true"`
10515}
10516
10517// String returns the string representation.
10518//
10519// API parameter values that are decorated as "sensitive" in the API will not
10520// be included in the string output. The member name will be present, but the
10521// value will be replaced with "sensitive".
10522func (s DeregisterRdsDbInstanceInput) String() string {
10523	return awsutil.Prettify(s)
10524}
10525
10526// GoString returns the string representation.
10527//
10528// API parameter values that are decorated as "sensitive" in the API will not
10529// be included in the string output. The member name will be present, but the
10530// value will be replaced with "sensitive".
10531func (s DeregisterRdsDbInstanceInput) GoString() string {
10532	return s.String()
10533}
10534
10535// Validate inspects the fields of the type to determine if they are valid.
10536func (s *DeregisterRdsDbInstanceInput) Validate() error {
10537	invalidParams := request.ErrInvalidParams{Context: "DeregisterRdsDbInstanceInput"}
10538	if s.RdsDbInstanceArn == nil {
10539		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
10540	}
10541
10542	if invalidParams.Len() > 0 {
10543		return invalidParams
10544	}
10545	return nil
10546}
10547
10548// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
10549func (s *DeregisterRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *DeregisterRdsDbInstanceInput {
10550	s.RdsDbInstanceArn = &v
10551	return s
10552}
10553
10554type DeregisterRdsDbInstanceOutput struct {
10555	_ struct{} `type:"structure"`
10556}
10557
10558// String returns the string representation.
10559//
10560// API parameter values that are decorated as "sensitive" in the API will not
10561// be included in the string output. The member name will be present, but the
10562// value will be replaced with "sensitive".
10563func (s DeregisterRdsDbInstanceOutput) String() string {
10564	return awsutil.Prettify(s)
10565}
10566
10567// GoString returns the string representation.
10568//
10569// API parameter values that are decorated as "sensitive" in the API will not
10570// be included in the string output. The member name will be present, but the
10571// value will be replaced with "sensitive".
10572func (s DeregisterRdsDbInstanceOutput) GoString() string {
10573	return s.String()
10574}
10575
10576type DeregisterVolumeInput struct {
10577	_ struct{} `type:"structure"`
10578
10579	// The AWS OpsWorks Stacks volume ID, which is the GUID that AWS OpsWorks Stacks
10580	// assigned to the instance when you registered the volume with the stack, not
10581	// the Amazon EC2 volume ID.
10582	//
10583	// VolumeId is a required field
10584	VolumeId *string `type:"string" required:"true"`
10585}
10586
10587// String returns the string representation.
10588//
10589// API parameter values that are decorated as "sensitive" in the API will not
10590// be included in the string output. The member name will be present, but the
10591// value will be replaced with "sensitive".
10592func (s DeregisterVolumeInput) String() string {
10593	return awsutil.Prettify(s)
10594}
10595
10596// GoString returns the string representation.
10597//
10598// API parameter values that are decorated as "sensitive" in the API will not
10599// be included in the string output. The member name will be present, but the
10600// value will be replaced with "sensitive".
10601func (s DeregisterVolumeInput) GoString() string {
10602	return s.String()
10603}
10604
10605// Validate inspects the fields of the type to determine if they are valid.
10606func (s *DeregisterVolumeInput) Validate() error {
10607	invalidParams := request.ErrInvalidParams{Context: "DeregisterVolumeInput"}
10608	if s.VolumeId == nil {
10609		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
10610	}
10611
10612	if invalidParams.Len() > 0 {
10613		return invalidParams
10614	}
10615	return nil
10616}
10617
10618// SetVolumeId sets the VolumeId field's value.
10619func (s *DeregisterVolumeInput) SetVolumeId(v string) *DeregisterVolumeInput {
10620	s.VolumeId = &v
10621	return s
10622}
10623
10624type DeregisterVolumeOutput struct {
10625	_ struct{} `type:"structure"`
10626}
10627
10628// String returns the string representation.
10629//
10630// API parameter values that are decorated as "sensitive" in the API will not
10631// be included in the string output. The member name will be present, but the
10632// value will be replaced with "sensitive".
10633func (s DeregisterVolumeOutput) String() string {
10634	return awsutil.Prettify(s)
10635}
10636
10637// GoString returns the string representation.
10638//
10639// API parameter values that are decorated as "sensitive" in the API will not
10640// be included in the string output. The member name will be present, but the
10641// value will be replaced with "sensitive".
10642func (s DeregisterVolumeOutput) GoString() string {
10643	return s.String()
10644}
10645
10646type DescribeAgentVersionsInput struct {
10647	_ struct{} `type:"structure"`
10648
10649	// The configuration manager.
10650	ConfigurationManager *StackConfigurationManager `type:"structure"`
10651
10652	// The stack ID.
10653	StackId *string `type:"string"`
10654}
10655
10656// String returns the string representation.
10657//
10658// API parameter values that are decorated as "sensitive" in the API will not
10659// be included in the string output. The member name will be present, but the
10660// value will be replaced with "sensitive".
10661func (s DescribeAgentVersionsInput) String() string {
10662	return awsutil.Prettify(s)
10663}
10664
10665// GoString returns the string representation.
10666//
10667// API parameter values that are decorated as "sensitive" in the API will not
10668// be included in the string output. The member name will be present, but the
10669// value will be replaced with "sensitive".
10670func (s DescribeAgentVersionsInput) GoString() string {
10671	return s.String()
10672}
10673
10674// SetConfigurationManager sets the ConfigurationManager field's value.
10675func (s *DescribeAgentVersionsInput) SetConfigurationManager(v *StackConfigurationManager) *DescribeAgentVersionsInput {
10676	s.ConfigurationManager = v
10677	return s
10678}
10679
10680// SetStackId sets the StackId field's value.
10681func (s *DescribeAgentVersionsInput) SetStackId(v string) *DescribeAgentVersionsInput {
10682	s.StackId = &v
10683	return s
10684}
10685
10686// Contains the response to a DescribeAgentVersions request.
10687type DescribeAgentVersionsOutput struct {
10688	_ struct{} `type:"structure"`
10689
10690	// The agent versions for the specified stack or configuration manager. Note
10691	// that this value is the complete version number, not the abbreviated number
10692	// used by the console.
10693	AgentVersions []*AgentVersion `type:"list"`
10694}
10695
10696// String returns the string representation.
10697//
10698// API parameter values that are decorated as "sensitive" in the API will not
10699// be included in the string output. The member name will be present, but the
10700// value will be replaced with "sensitive".
10701func (s DescribeAgentVersionsOutput) String() string {
10702	return awsutil.Prettify(s)
10703}
10704
10705// GoString returns the string representation.
10706//
10707// API parameter values that are decorated as "sensitive" in the API will not
10708// be included in the string output. The member name will be present, but the
10709// value will be replaced with "sensitive".
10710func (s DescribeAgentVersionsOutput) GoString() string {
10711	return s.String()
10712}
10713
10714// SetAgentVersions sets the AgentVersions field's value.
10715func (s *DescribeAgentVersionsOutput) SetAgentVersions(v []*AgentVersion) *DescribeAgentVersionsOutput {
10716	s.AgentVersions = v
10717	return s
10718}
10719
10720type DescribeAppsInput struct {
10721	_ struct{} `type:"structure"`
10722
10723	// An array of app IDs for the apps to be described. If you use this parameter,
10724	// DescribeApps returns a description of the specified apps. Otherwise, it returns
10725	// a description of every app.
10726	AppIds []*string `type:"list"`
10727
10728	// The app stack ID. If you use this parameter, DescribeApps returns a description
10729	// of the apps in the specified stack.
10730	StackId *string `type:"string"`
10731}
10732
10733// String returns the string representation.
10734//
10735// API parameter values that are decorated as "sensitive" in the API will not
10736// be included in the string output. The member name will be present, but the
10737// value will be replaced with "sensitive".
10738func (s DescribeAppsInput) String() string {
10739	return awsutil.Prettify(s)
10740}
10741
10742// GoString returns the string representation.
10743//
10744// API parameter values that are decorated as "sensitive" in the API will not
10745// be included in the string output. The member name will be present, but the
10746// value will be replaced with "sensitive".
10747func (s DescribeAppsInput) GoString() string {
10748	return s.String()
10749}
10750
10751// SetAppIds sets the AppIds field's value.
10752func (s *DescribeAppsInput) SetAppIds(v []*string) *DescribeAppsInput {
10753	s.AppIds = v
10754	return s
10755}
10756
10757// SetStackId sets the StackId field's value.
10758func (s *DescribeAppsInput) SetStackId(v string) *DescribeAppsInput {
10759	s.StackId = &v
10760	return s
10761}
10762
10763// Contains the response to a DescribeApps request.
10764type DescribeAppsOutput struct {
10765	_ struct{} `type:"structure"`
10766
10767	// An array of App objects that describe the specified apps.
10768	Apps []*App `type:"list"`
10769}
10770
10771// String returns the string representation.
10772//
10773// API parameter values that are decorated as "sensitive" in the API will not
10774// be included in the string output. The member name will be present, but the
10775// value will be replaced with "sensitive".
10776func (s DescribeAppsOutput) String() string {
10777	return awsutil.Prettify(s)
10778}
10779
10780// GoString returns the string representation.
10781//
10782// API parameter values that are decorated as "sensitive" in the API will not
10783// be included in the string output. The member name will be present, but the
10784// value will be replaced with "sensitive".
10785func (s DescribeAppsOutput) GoString() string {
10786	return s.String()
10787}
10788
10789// SetApps sets the Apps field's value.
10790func (s *DescribeAppsOutput) SetApps(v []*App) *DescribeAppsOutput {
10791	s.Apps = v
10792	return s
10793}
10794
10795type DescribeCommandsInput struct {
10796	_ struct{} `type:"structure"`
10797
10798	// An array of command IDs. If you include this parameter, DescribeCommands
10799	// returns a description of the specified commands. Otherwise, it returns a
10800	// description of every command.
10801	CommandIds []*string `type:"list"`
10802
10803	// The deployment ID. If you include this parameter, DescribeCommands returns
10804	// a description of the commands associated with the specified deployment.
10805	DeploymentId *string `type:"string"`
10806
10807	// The instance ID. If you include this parameter, DescribeCommands returns
10808	// a description of the commands associated with the specified instance.
10809	InstanceId *string `type:"string"`
10810}
10811
10812// String returns the string representation.
10813//
10814// API parameter values that are decorated as "sensitive" in the API will not
10815// be included in the string output. The member name will be present, but the
10816// value will be replaced with "sensitive".
10817func (s DescribeCommandsInput) String() string {
10818	return awsutil.Prettify(s)
10819}
10820
10821// GoString returns the string representation.
10822//
10823// API parameter values that are decorated as "sensitive" in the API will not
10824// be included in the string output. The member name will be present, but the
10825// value will be replaced with "sensitive".
10826func (s DescribeCommandsInput) GoString() string {
10827	return s.String()
10828}
10829
10830// SetCommandIds sets the CommandIds field's value.
10831func (s *DescribeCommandsInput) SetCommandIds(v []*string) *DescribeCommandsInput {
10832	s.CommandIds = v
10833	return s
10834}
10835
10836// SetDeploymentId sets the DeploymentId field's value.
10837func (s *DescribeCommandsInput) SetDeploymentId(v string) *DescribeCommandsInput {
10838	s.DeploymentId = &v
10839	return s
10840}
10841
10842// SetInstanceId sets the InstanceId field's value.
10843func (s *DescribeCommandsInput) SetInstanceId(v string) *DescribeCommandsInput {
10844	s.InstanceId = &v
10845	return s
10846}
10847
10848// Contains the response to a DescribeCommands request.
10849type DescribeCommandsOutput struct {
10850	_ struct{} `type:"structure"`
10851
10852	// An array of Command objects that describe each of the specified commands.
10853	Commands []*Command `type:"list"`
10854}
10855
10856// String returns the string representation.
10857//
10858// API parameter values that are decorated as "sensitive" in the API will not
10859// be included in the string output. The member name will be present, but the
10860// value will be replaced with "sensitive".
10861func (s DescribeCommandsOutput) String() string {
10862	return awsutil.Prettify(s)
10863}
10864
10865// GoString returns the string representation.
10866//
10867// API parameter values that are decorated as "sensitive" in the API will not
10868// be included in the string output. The member name will be present, but the
10869// value will be replaced with "sensitive".
10870func (s DescribeCommandsOutput) GoString() string {
10871	return s.String()
10872}
10873
10874// SetCommands sets the Commands field's value.
10875func (s *DescribeCommandsOutput) SetCommands(v []*Command) *DescribeCommandsOutput {
10876	s.Commands = v
10877	return s
10878}
10879
10880type DescribeDeploymentsInput struct {
10881	_ struct{} `type:"structure"`
10882
10883	// The app ID. If you include this parameter, the command returns a description
10884	// of the commands associated with the specified app.
10885	AppId *string `type:"string"`
10886
10887	// An array of deployment IDs to be described. If you include this parameter,
10888	// the command returns a description of the specified deployments. Otherwise,
10889	// it returns a description of every deployment.
10890	DeploymentIds []*string `type:"list"`
10891
10892	// The stack ID. If you include this parameter, the command returns a description
10893	// of the commands associated with the specified stack.
10894	StackId *string `type:"string"`
10895}
10896
10897// String returns the string representation.
10898//
10899// API parameter values that are decorated as "sensitive" in the API will not
10900// be included in the string output. The member name will be present, but the
10901// value will be replaced with "sensitive".
10902func (s DescribeDeploymentsInput) String() string {
10903	return awsutil.Prettify(s)
10904}
10905
10906// GoString returns the string representation.
10907//
10908// API parameter values that are decorated as "sensitive" in the API will not
10909// be included in the string output. The member name will be present, but the
10910// value will be replaced with "sensitive".
10911func (s DescribeDeploymentsInput) GoString() string {
10912	return s.String()
10913}
10914
10915// SetAppId sets the AppId field's value.
10916func (s *DescribeDeploymentsInput) SetAppId(v string) *DescribeDeploymentsInput {
10917	s.AppId = &v
10918	return s
10919}
10920
10921// SetDeploymentIds sets the DeploymentIds field's value.
10922func (s *DescribeDeploymentsInput) SetDeploymentIds(v []*string) *DescribeDeploymentsInput {
10923	s.DeploymentIds = v
10924	return s
10925}
10926
10927// SetStackId sets the StackId field's value.
10928func (s *DescribeDeploymentsInput) SetStackId(v string) *DescribeDeploymentsInput {
10929	s.StackId = &v
10930	return s
10931}
10932
10933// Contains the response to a DescribeDeployments request.
10934type DescribeDeploymentsOutput struct {
10935	_ struct{} `type:"structure"`
10936
10937	// An array of Deployment objects that describe the deployments.
10938	Deployments []*Deployment `type:"list"`
10939}
10940
10941// String returns the string representation.
10942//
10943// API parameter values that are decorated as "sensitive" in the API will not
10944// be included in the string output. The member name will be present, but the
10945// value will be replaced with "sensitive".
10946func (s DescribeDeploymentsOutput) String() string {
10947	return awsutil.Prettify(s)
10948}
10949
10950// GoString returns the string representation.
10951//
10952// API parameter values that are decorated as "sensitive" in the API will not
10953// be included in the string output. The member name will be present, but the
10954// value will be replaced with "sensitive".
10955func (s DescribeDeploymentsOutput) GoString() string {
10956	return s.String()
10957}
10958
10959// SetDeployments sets the Deployments field's value.
10960func (s *DescribeDeploymentsOutput) SetDeployments(v []*Deployment) *DescribeDeploymentsOutput {
10961	s.Deployments = v
10962	return s
10963}
10964
10965type DescribeEcsClustersInput struct {
10966	_ struct{} `type:"structure"`
10967
10968	// A list of ARNs, one for each cluster to be described.
10969	EcsClusterArns []*string `type:"list"`
10970
10971	// To receive a paginated response, use this parameter to specify the maximum
10972	// number of results to be returned with a single call. If the number of available
10973	// results exceeds this maximum, the response includes a NextToken value that
10974	// you can assign to the NextToken request parameter to get the next set of
10975	// results.
10976	MaxResults *int64 `type:"integer"`
10977
10978	// If the previous paginated request did not return all of the remaining results,
10979	// the response object'sNextToken parameter value is set to a token. To retrieve
10980	// the next set of results, call DescribeEcsClusters again and assign that token
10981	// to the request object's NextToken parameter. If there are no remaining results,
10982	// the previous response object's NextToken parameter is set to null.
10983	NextToken *string `type:"string"`
10984
10985	// A stack ID. DescribeEcsClusters returns a description of the cluster that
10986	// is registered with the stack.
10987	StackId *string `type:"string"`
10988}
10989
10990// String returns the string representation.
10991//
10992// API parameter values that are decorated as "sensitive" in the API will not
10993// be included in the string output. The member name will be present, but the
10994// value will be replaced with "sensitive".
10995func (s DescribeEcsClustersInput) String() string {
10996	return awsutil.Prettify(s)
10997}
10998
10999// GoString returns the string representation.
11000//
11001// API parameter values that are decorated as "sensitive" in the API will not
11002// be included in the string output. The member name will be present, but the
11003// value will be replaced with "sensitive".
11004func (s DescribeEcsClustersInput) GoString() string {
11005	return s.String()
11006}
11007
11008// SetEcsClusterArns sets the EcsClusterArns field's value.
11009func (s *DescribeEcsClustersInput) SetEcsClusterArns(v []*string) *DescribeEcsClustersInput {
11010	s.EcsClusterArns = v
11011	return s
11012}
11013
11014// SetMaxResults sets the MaxResults field's value.
11015func (s *DescribeEcsClustersInput) SetMaxResults(v int64) *DescribeEcsClustersInput {
11016	s.MaxResults = &v
11017	return s
11018}
11019
11020// SetNextToken sets the NextToken field's value.
11021func (s *DescribeEcsClustersInput) SetNextToken(v string) *DescribeEcsClustersInput {
11022	s.NextToken = &v
11023	return s
11024}
11025
11026// SetStackId sets the StackId field's value.
11027func (s *DescribeEcsClustersInput) SetStackId(v string) *DescribeEcsClustersInput {
11028	s.StackId = &v
11029	return s
11030}
11031
11032// Contains the response to a DescribeEcsClusters request.
11033type DescribeEcsClustersOutput struct {
11034	_ struct{} `type:"structure"`
11035
11036	// A list of EcsCluster objects containing the cluster descriptions.
11037	EcsClusters []*EcsCluster `type:"list"`
11038
11039	// If a paginated request does not return all of the remaining results, this
11040	// parameter is set to a token that you can assign to the request object's NextToken
11041	// parameter to retrieve the next set of results. If the previous paginated
11042	// request returned all of the remaining results, this parameter is set to null.
11043	NextToken *string `type:"string"`
11044}
11045
11046// String returns the string representation.
11047//
11048// API parameter values that are decorated as "sensitive" in the API will not
11049// be included in the string output. The member name will be present, but the
11050// value will be replaced with "sensitive".
11051func (s DescribeEcsClustersOutput) String() string {
11052	return awsutil.Prettify(s)
11053}
11054
11055// GoString returns the string representation.
11056//
11057// API parameter values that are decorated as "sensitive" in the API will not
11058// be included in the string output. The member name will be present, but the
11059// value will be replaced with "sensitive".
11060func (s DescribeEcsClustersOutput) GoString() string {
11061	return s.String()
11062}
11063
11064// SetEcsClusters sets the EcsClusters field's value.
11065func (s *DescribeEcsClustersOutput) SetEcsClusters(v []*EcsCluster) *DescribeEcsClustersOutput {
11066	s.EcsClusters = v
11067	return s
11068}
11069
11070// SetNextToken sets the NextToken field's value.
11071func (s *DescribeEcsClustersOutput) SetNextToken(v string) *DescribeEcsClustersOutput {
11072	s.NextToken = &v
11073	return s
11074}
11075
11076type DescribeElasticIpsInput struct {
11077	_ struct{} `type:"structure"`
11078
11079	// The instance ID. If you include this parameter, DescribeElasticIps returns
11080	// a description of the Elastic IP addresses associated with the specified instance.
11081	InstanceId *string `type:"string"`
11082
11083	// An array of Elastic IP addresses to be described. If you include this parameter,
11084	// DescribeElasticIps returns a description of the specified Elastic IP addresses.
11085	// Otherwise, it returns a description of every Elastic IP address.
11086	Ips []*string `type:"list"`
11087
11088	// A stack ID. If you include this parameter, DescribeElasticIps returns a description
11089	// of the Elastic IP addresses that are registered with the specified stack.
11090	StackId *string `type:"string"`
11091}
11092
11093// String returns the string representation.
11094//
11095// API parameter values that are decorated as "sensitive" in the API will not
11096// be included in the string output. The member name will be present, but the
11097// value will be replaced with "sensitive".
11098func (s DescribeElasticIpsInput) String() string {
11099	return awsutil.Prettify(s)
11100}
11101
11102// GoString returns the string representation.
11103//
11104// API parameter values that are decorated as "sensitive" in the API will not
11105// be included in the string output. The member name will be present, but the
11106// value will be replaced with "sensitive".
11107func (s DescribeElasticIpsInput) GoString() string {
11108	return s.String()
11109}
11110
11111// SetInstanceId sets the InstanceId field's value.
11112func (s *DescribeElasticIpsInput) SetInstanceId(v string) *DescribeElasticIpsInput {
11113	s.InstanceId = &v
11114	return s
11115}
11116
11117// SetIps sets the Ips field's value.
11118func (s *DescribeElasticIpsInput) SetIps(v []*string) *DescribeElasticIpsInput {
11119	s.Ips = v
11120	return s
11121}
11122
11123// SetStackId sets the StackId field's value.
11124func (s *DescribeElasticIpsInput) SetStackId(v string) *DescribeElasticIpsInput {
11125	s.StackId = &v
11126	return s
11127}
11128
11129// Contains the response to a DescribeElasticIps request.
11130type DescribeElasticIpsOutput struct {
11131	_ struct{} `type:"structure"`
11132
11133	// An ElasticIps object that describes the specified Elastic IP addresses.
11134	ElasticIps []*ElasticIp `type:"list"`
11135}
11136
11137// String returns the string representation.
11138//
11139// API parameter values that are decorated as "sensitive" in the API will not
11140// be included in the string output. The member name will be present, but the
11141// value will be replaced with "sensitive".
11142func (s DescribeElasticIpsOutput) String() string {
11143	return awsutil.Prettify(s)
11144}
11145
11146// GoString returns the string representation.
11147//
11148// API parameter values that are decorated as "sensitive" in the API will not
11149// be included in the string output. The member name will be present, but the
11150// value will be replaced with "sensitive".
11151func (s DescribeElasticIpsOutput) GoString() string {
11152	return s.String()
11153}
11154
11155// SetElasticIps sets the ElasticIps field's value.
11156func (s *DescribeElasticIpsOutput) SetElasticIps(v []*ElasticIp) *DescribeElasticIpsOutput {
11157	s.ElasticIps = v
11158	return s
11159}
11160
11161type DescribeElasticLoadBalancersInput struct {
11162	_ struct{} `type:"structure"`
11163
11164	// A list of layer IDs. The action describes the Elastic Load Balancing instances
11165	// for the specified layers.
11166	LayerIds []*string `type:"list"`
11167
11168	// A stack ID. The action describes the stack's Elastic Load Balancing instances.
11169	StackId *string `type:"string"`
11170}
11171
11172// String returns the string representation.
11173//
11174// API parameter values that are decorated as "sensitive" in the API will not
11175// be included in the string output. The member name will be present, but the
11176// value will be replaced with "sensitive".
11177func (s DescribeElasticLoadBalancersInput) String() string {
11178	return awsutil.Prettify(s)
11179}
11180
11181// GoString returns the string representation.
11182//
11183// API parameter values that are decorated as "sensitive" in the API will not
11184// be included in the string output. The member name will be present, but the
11185// value will be replaced with "sensitive".
11186func (s DescribeElasticLoadBalancersInput) GoString() string {
11187	return s.String()
11188}
11189
11190// SetLayerIds sets the LayerIds field's value.
11191func (s *DescribeElasticLoadBalancersInput) SetLayerIds(v []*string) *DescribeElasticLoadBalancersInput {
11192	s.LayerIds = v
11193	return s
11194}
11195
11196// SetStackId sets the StackId field's value.
11197func (s *DescribeElasticLoadBalancersInput) SetStackId(v string) *DescribeElasticLoadBalancersInput {
11198	s.StackId = &v
11199	return s
11200}
11201
11202// Contains the response to a DescribeElasticLoadBalancers request.
11203type DescribeElasticLoadBalancersOutput struct {
11204	_ struct{} `type:"structure"`
11205
11206	// A list of ElasticLoadBalancer objects that describe the specified Elastic
11207	// Load Balancing instances.
11208	ElasticLoadBalancers []*ElasticLoadBalancer `type:"list"`
11209}
11210
11211// String returns the string representation.
11212//
11213// API parameter values that are decorated as "sensitive" in the API will not
11214// be included in the string output. The member name will be present, but the
11215// value will be replaced with "sensitive".
11216func (s DescribeElasticLoadBalancersOutput) String() string {
11217	return awsutil.Prettify(s)
11218}
11219
11220// GoString returns the string representation.
11221//
11222// API parameter values that are decorated as "sensitive" in the API will not
11223// be included in the string output. The member name will be present, but the
11224// value will be replaced with "sensitive".
11225func (s DescribeElasticLoadBalancersOutput) GoString() string {
11226	return s.String()
11227}
11228
11229// SetElasticLoadBalancers sets the ElasticLoadBalancers field's value.
11230func (s *DescribeElasticLoadBalancersOutput) SetElasticLoadBalancers(v []*ElasticLoadBalancer) *DescribeElasticLoadBalancersOutput {
11231	s.ElasticLoadBalancers = v
11232	return s
11233}
11234
11235type DescribeInstancesInput struct {
11236	_ struct{} `type:"structure"`
11237
11238	// An array of instance IDs to be described. If you use this parameter, DescribeInstances
11239	// returns a description of the specified instances. Otherwise, it returns a
11240	// description of every instance.
11241	InstanceIds []*string `type:"list"`
11242
11243	// A layer ID. If you use this parameter, DescribeInstances returns descriptions
11244	// of the instances associated with the specified layer.
11245	LayerId *string `type:"string"`
11246
11247	// A stack ID. If you use this parameter, DescribeInstances returns descriptions
11248	// of the instances associated with the specified stack.
11249	StackId *string `type:"string"`
11250}
11251
11252// String returns the string representation.
11253//
11254// API parameter values that are decorated as "sensitive" in the API will not
11255// be included in the string output. The member name will be present, but the
11256// value will be replaced with "sensitive".
11257func (s DescribeInstancesInput) String() string {
11258	return awsutil.Prettify(s)
11259}
11260
11261// GoString returns the string representation.
11262//
11263// API parameter values that are decorated as "sensitive" in the API will not
11264// be included in the string output. The member name will be present, but the
11265// value will be replaced with "sensitive".
11266func (s DescribeInstancesInput) GoString() string {
11267	return s.String()
11268}
11269
11270// SetInstanceIds sets the InstanceIds field's value.
11271func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
11272	s.InstanceIds = v
11273	return s
11274}
11275
11276// SetLayerId sets the LayerId field's value.
11277func (s *DescribeInstancesInput) SetLayerId(v string) *DescribeInstancesInput {
11278	s.LayerId = &v
11279	return s
11280}
11281
11282// SetStackId sets the StackId field's value.
11283func (s *DescribeInstancesInput) SetStackId(v string) *DescribeInstancesInput {
11284	s.StackId = &v
11285	return s
11286}
11287
11288// Contains the response to a DescribeInstances request.
11289type DescribeInstancesOutput struct {
11290	_ struct{} `type:"structure"`
11291
11292	// An array of Instance objects that describe the instances.
11293	Instances []*Instance `type:"list"`
11294}
11295
11296// String returns the string representation.
11297//
11298// API parameter values that are decorated as "sensitive" in the API will not
11299// be included in the string output. The member name will be present, but the
11300// value will be replaced with "sensitive".
11301func (s DescribeInstancesOutput) String() string {
11302	return awsutil.Prettify(s)
11303}
11304
11305// GoString returns the string representation.
11306//
11307// API parameter values that are decorated as "sensitive" in the API will not
11308// be included in the string output. The member name will be present, but the
11309// value will be replaced with "sensitive".
11310func (s DescribeInstancesOutput) GoString() string {
11311	return s.String()
11312}
11313
11314// SetInstances sets the Instances field's value.
11315func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput {
11316	s.Instances = v
11317	return s
11318}
11319
11320type DescribeLayersInput struct {
11321	_ struct{} `type:"structure"`
11322
11323	// An array of layer IDs that specify the layers to be described. If you omit
11324	// this parameter, DescribeLayers returns a description of every layer in the
11325	// specified stack.
11326	LayerIds []*string `type:"list"`
11327
11328	// The stack ID.
11329	StackId *string `type:"string"`
11330}
11331
11332// String returns the string representation.
11333//
11334// API parameter values that are decorated as "sensitive" in the API will not
11335// be included in the string output. The member name will be present, but the
11336// value will be replaced with "sensitive".
11337func (s DescribeLayersInput) String() string {
11338	return awsutil.Prettify(s)
11339}
11340
11341// GoString returns the string representation.
11342//
11343// API parameter values that are decorated as "sensitive" in the API will not
11344// be included in the string output. The member name will be present, but the
11345// value will be replaced with "sensitive".
11346func (s DescribeLayersInput) GoString() string {
11347	return s.String()
11348}
11349
11350// SetLayerIds sets the LayerIds field's value.
11351func (s *DescribeLayersInput) SetLayerIds(v []*string) *DescribeLayersInput {
11352	s.LayerIds = v
11353	return s
11354}
11355
11356// SetStackId sets the StackId field's value.
11357func (s *DescribeLayersInput) SetStackId(v string) *DescribeLayersInput {
11358	s.StackId = &v
11359	return s
11360}
11361
11362// Contains the response to a DescribeLayers request.
11363type DescribeLayersOutput struct {
11364	_ struct{} `type:"structure"`
11365
11366	// An array of Layer objects that describe the layers.
11367	Layers []*Layer `type:"list"`
11368}
11369
11370// String returns the string representation.
11371//
11372// API parameter values that are decorated as "sensitive" in the API will not
11373// be included in the string output. The member name will be present, but the
11374// value will be replaced with "sensitive".
11375func (s DescribeLayersOutput) String() string {
11376	return awsutil.Prettify(s)
11377}
11378
11379// GoString returns the string representation.
11380//
11381// API parameter values that are decorated as "sensitive" in the API will not
11382// be included in the string output. The member name will be present, but the
11383// value will be replaced with "sensitive".
11384func (s DescribeLayersOutput) GoString() string {
11385	return s.String()
11386}
11387
11388// SetLayers sets the Layers field's value.
11389func (s *DescribeLayersOutput) SetLayers(v []*Layer) *DescribeLayersOutput {
11390	s.Layers = v
11391	return s
11392}
11393
11394type DescribeLoadBasedAutoScalingInput struct {
11395	_ struct{} `type:"structure"`
11396
11397	// An array of layer IDs.
11398	//
11399	// LayerIds is a required field
11400	LayerIds []*string `type:"list" required:"true"`
11401}
11402
11403// String returns the string representation.
11404//
11405// API parameter values that are decorated as "sensitive" in the API will not
11406// be included in the string output. The member name will be present, but the
11407// value will be replaced with "sensitive".
11408func (s DescribeLoadBasedAutoScalingInput) String() string {
11409	return awsutil.Prettify(s)
11410}
11411
11412// GoString returns the string representation.
11413//
11414// API parameter values that are decorated as "sensitive" in the API will not
11415// be included in the string output. The member name will be present, but the
11416// value will be replaced with "sensitive".
11417func (s DescribeLoadBasedAutoScalingInput) GoString() string {
11418	return s.String()
11419}
11420
11421// Validate inspects the fields of the type to determine if they are valid.
11422func (s *DescribeLoadBasedAutoScalingInput) Validate() error {
11423	invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBasedAutoScalingInput"}
11424	if s.LayerIds == nil {
11425		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
11426	}
11427
11428	if invalidParams.Len() > 0 {
11429		return invalidParams
11430	}
11431	return nil
11432}
11433
11434// SetLayerIds sets the LayerIds field's value.
11435func (s *DescribeLoadBasedAutoScalingInput) SetLayerIds(v []*string) *DescribeLoadBasedAutoScalingInput {
11436	s.LayerIds = v
11437	return s
11438}
11439
11440// Contains the response to a DescribeLoadBasedAutoScaling request.
11441type DescribeLoadBasedAutoScalingOutput struct {
11442	_ struct{} `type:"structure"`
11443
11444	// An array of LoadBasedAutoScalingConfiguration objects that describe each
11445	// layer's configuration.
11446	LoadBasedAutoScalingConfigurations []*LoadBasedAutoScalingConfiguration `type:"list"`
11447}
11448
11449// String returns the string representation.
11450//
11451// API parameter values that are decorated as "sensitive" in the API will not
11452// be included in the string output. The member name will be present, but the
11453// value will be replaced with "sensitive".
11454func (s DescribeLoadBasedAutoScalingOutput) String() string {
11455	return awsutil.Prettify(s)
11456}
11457
11458// GoString returns the string representation.
11459//
11460// API parameter values that are decorated as "sensitive" in the API will not
11461// be included in the string output. The member name will be present, but the
11462// value will be replaced with "sensitive".
11463func (s DescribeLoadBasedAutoScalingOutput) GoString() string {
11464	return s.String()
11465}
11466
11467// SetLoadBasedAutoScalingConfigurations sets the LoadBasedAutoScalingConfigurations field's value.
11468func (s *DescribeLoadBasedAutoScalingOutput) SetLoadBasedAutoScalingConfigurations(v []*LoadBasedAutoScalingConfiguration) *DescribeLoadBasedAutoScalingOutput {
11469	s.LoadBasedAutoScalingConfigurations = v
11470	return s
11471}
11472
11473type DescribeMyUserProfileInput struct {
11474	_ struct{} `type:"structure"`
11475}
11476
11477// String returns the string representation.
11478//
11479// API parameter values that are decorated as "sensitive" in the API will not
11480// be included in the string output. The member name will be present, but the
11481// value will be replaced with "sensitive".
11482func (s DescribeMyUserProfileInput) String() string {
11483	return awsutil.Prettify(s)
11484}
11485
11486// GoString returns the string representation.
11487//
11488// API parameter values that are decorated as "sensitive" in the API will not
11489// be included in the string output. The member name will be present, but the
11490// value will be replaced with "sensitive".
11491func (s DescribeMyUserProfileInput) GoString() string {
11492	return s.String()
11493}
11494
11495// Contains the response to a DescribeMyUserProfile request.
11496type DescribeMyUserProfileOutput struct {
11497	_ struct{} `type:"structure"`
11498
11499	// A UserProfile object that describes the user's SSH information.
11500	UserProfile *SelfUserProfile `type:"structure"`
11501}
11502
11503// String returns the string representation.
11504//
11505// API parameter values that are decorated as "sensitive" in the API will not
11506// be included in the string output. The member name will be present, but the
11507// value will be replaced with "sensitive".
11508func (s DescribeMyUserProfileOutput) String() string {
11509	return awsutil.Prettify(s)
11510}
11511
11512// GoString returns the string representation.
11513//
11514// API parameter values that are decorated as "sensitive" in the API will not
11515// be included in the string output. The member name will be present, but the
11516// value will be replaced with "sensitive".
11517func (s DescribeMyUserProfileOutput) GoString() string {
11518	return s.String()
11519}
11520
11521// SetUserProfile sets the UserProfile field's value.
11522func (s *DescribeMyUserProfileOutput) SetUserProfile(v *SelfUserProfile) *DescribeMyUserProfileOutput {
11523	s.UserProfile = v
11524	return s
11525}
11526
11527type DescribeOperatingSystemsInput struct {
11528	_ struct{} `type:"structure"`
11529}
11530
11531// String returns the string representation.
11532//
11533// API parameter values that are decorated as "sensitive" in the API will not
11534// be included in the string output. The member name will be present, but the
11535// value will be replaced with "sensitive".
11536func (s DescribeOperatingSystemsInput) String() string {
11537	return awsutil.Prettify(s)
11538}
11539
11540// GoString returns the string representation.
11541//
11542// API parameter values that are decorated as "sensitive" in the API will not
11543// be included in the string output. The member name will be present, but the
11544// value will be replaced with "sensitive".
11545func (s DescribeOperatingSystemsInput) GoString() string {
11546	return s.String()
11547}
11548
11549// The response to a DescribeOperatingSystems request.
11550type DescribeOperatingSystemsOutput struct {
11551	_ struct{} `type:"structure"`
11552
11553	// Contains information in response to a DescribeOperatingSystems request.
11554	OperatingSystems []*OperatingSystem `type:"list"`
11555}
11556
11557// String returns the string representation.
11558//
11559// API parameter values that are decorated as "sensitive" in the API will not
11560// be included in the string output. The member name will be present, but the
11561// value will be replaced with "sensitive".
11562func (s DescribeOperatingSystemsOutput) String() string {
11563	return awsutil.Prettify(s)
11564}
11565
11566// GoString returns the string representation.
11567//
11568// API parameter values that are decorated as "sensitive" in the API will not
11569// be included in the string output. The member name will be present, but the
11570// value will be replaced with "sensitive".
11571func (s DescribeOperatingSystemsOutput) GoString() string {
11572	return s.String()
11573}
11574
11575// SetOperatingSystems sets the OperatingSystems field's value.
11576func (s *DescribeOperatingSystemsOutput) SetOperatingSystems(v []*OperatingSystem) *DescribeOperatingSystemsOutput {
11577	s.OperatingSystems = v
11578	return s
11579}
11580
11581type DescribePermissionsInput struct {
11582	_ struct{} `type:"structure"`
11583
11584	// The user's IAM ARN. This can also be a federated user's ARN. For more information
11585	// about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
11586	IamUserArn *string `type:"string"`
11587
11588	// The stack ID.
11589	StackId *string `type:"string"`
11590}
11591
11592// String returns the string representation.
11593//
11594// API parameter values that are decorated as "sensitive" in the API will not
11595// be included in the string output. The member name will be present, but the
11596// value will be replaced with "sensitive".
11597func (s DescribePermissionsInput) String() string {
11598	return awsutil.Prettify(s)
11599}
11600
11601// GoString returns the string representation.
11602//
11603// API parameter values that are decorated as "sensitive" in the API will not
11604// be included in the string output. The member name will be present, but the
11605// value will be replaced with "sensitive".
11606func (s DescribePermissionsInput) GoString() string {
11607	return s.String()
11608}
11609
11610// SetIamUserArn sets the IamUserArn field's value.
11611func (s *DescribePermissionsInput) SetIamUserArn(v string) *DescribePermissionsInput {
11612	s.IamUserArn = &v
11613	return s
11614}
11615
11616// SetStackId sets the StackId field's value.
11617func (s *DescribePermissionsInput) SetStackId(v string) *DescribePermissionsInput {
11618	s.StackId = &v
11619	return s
11620}
11621
11622// Contains the response to a DescribePermissions request.
11623type DescribePermissionsOutput struct {
11624	_ struct{} `type:"structure"`
11625
11626	// An array of Permission objects that describe the stack permissions.
11627	//
11628	//    * If the request object contains only a stack ID, the array contains a
11629	//    Permission object with permissions for each of the stack IAM ARNs.
11630	//
11631	//    * If the request object contains only an IAM ARN, the array contains a
11632	//    Permission object with permissions for each of the user's stack IDs.
11633	//
11634	//    * If the request contains a stack ID and an IAM ARN, the array contains
11635	//    a single Permission object with permissions for the specified stack and
11636	//    IAM ARN.
11637	Permissions []*Permission `type:"list"`
11638}
11639
11640// String returns the string representation.
11641//
11642// API parameter values that are decorated as "sensitive" in the API will not
11643// be included in the string output. The member name will be present, but the
11644// value will be replaced with "sensitive".
11645func (s DescribePermissionsOutput) String() string {
11646	return awsutil.Prettify(s)
11647}
11648
11649// GoString returns the string representation.
11650//
11651// API parameter values that are decorated as "sensitive" in the API will not
11652// be included in the string output. The member name will be present, but the
11653// value will be replaced with "sensitive".
11654func (s DescribePermissionsOutput) GoString() string {
11655	return s.String()
11656}
11657
11658// SetPermissions sets the Permissions field's value.
11659func (s *DescribePermissionsOutput) SetPermissions(v []*Permission) *DescribePermissionsOutput {
11660	s.Permissions = v
11661	return s
11662}
11663
11664type DescribeRaidArraysInput struct {
11665	_ struct{} `type:"structure"`
11666
11667	// The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions
11668	// of the RAID arrays associated with the specified instance.
11669	InstanceId *string `type:"string"`
11670
11671	// An array of RAID array IDs. If you use this parameter, DescribeRaidArrays
11672	// returns descriptions of the specified arrays. Otherwise, it returns a description
11673	// of every array.
11674	RaidArrayIds []*string `type:"list"`
11675
11676	// The stack ID.
11677	StackId *string `type:"string"`
11678}
11679
11680// String returns the string representation.
11681//
11682// API parameter values that are decorated as "sensitive" in the API will not
11683// be included in the string output. The member name will be present, but the
11684// value will be replaced with "sensitive".
11685func (s DescribeRaidArraysInput) String() string {
11686	return awsutil.Prettify(s)
11687}
11688
11689// GoString returns the string representation.
11690//
11691// API parameter values that are decorated as "sensitive" in the API will not
11692// be included in the string output. The member name will be present, but the
11693// value will be replaced with "sensitive".
11694func (s DescribeRaidArraysInput) GoString() string {
11695	return s.String()
11696}
11697
11698// SetInstanceId sets the InstanceId field's value.
11699func (s *DescribeRaidArraysInput) SetInstanceId(v string) *DescribeRaidArraysInput {
11700	s.InstanceId = &v
11701	return s
11702}
11703
11704// SetRaidArrayIds sets the RaidArrayIds field's value.
11705func (s *DescribeRaidArraysInput) SetRaidArrayIds(v []*string) *DescribeRaidArraysInput {
11706	s.RaidArrayIds = v
11707	return s
11708}
11709
11710// SetStackId sets the StackId field's value.
11711func (s *DescribeRaidArraysInput) SetStackId(v string) *DescribeRaidArraysInput {
11712	s.StackId = &v
11713	return s
11714}
11715
11716// Contains the response to a DescribeRaidArrays request.
11717type DescribeRaidArraysOutput struct {
11718	_ struct{} `type:"structure"`
11719
11720	// A RaidArrays object that describes the specified RAID arrays.
11721	RaidArrays []*RaidArray `type:"list"`
11722}
11723
11724// String returns the string representation.
11725//
11726// API parameter values that are decorated as "sensitive" in the API will not
11727// be included in the string output. The member name will be present, but the
11728// value will be replaced with "sensitive".
11729func (s DescribeRaidArraysOutput) String() string {
11730	return awsutil.Prettify(s)
11731}
11732
11733// GoString returns the string representation.
11734//
11735// API parameter values that are decorated as "sensitive" in the API will not
11736// be included in the string output. The member name will be present, but the
11737// value will be replaced with "sensitive".
11738func (s DescribeRaidArraysOutput) GoString() string {
11739	return s.String()
11740}
11741
11742// SetRaidArrays sets the RaidArrays field's value.
11743func (s *DescribeRaidArraysOutput) SetRaidArrays(v []*RaidArray) *DescribeRaidArraysOutput {
11744	s.RaidArrays = v
11745	return s
11746}
11747
11748type DescribeRdsDbInstancesInput struct {
11749	_ struct{} `type:"structure"`
11750
11751	// An array containing the ARNs of the instances to be described.
11752	RdsDbInstanceArns []*string `type:"list"`
11753
11754	// The ID of the stack with which the instances are registered. The operation
11755	// returns descriptions of all registered Amazon RDS instances.
11756	//
11757	// StackId is a required field
11758	StackId *string `type:"string" required:"true"`
11759}
11760
11761// String returns the string representation.
11762//
11763// API parameter values that are decorated as "sensitive" in the API will not
11764// be included in the string output. The member name will be present, but the
11765// value will be replaced with "sensitive".
11766func (s DescribeRdsDbInstancesInput) String() string {
11767	return awsutil.Prettify(s)
11768}
11769
11770// GoString returns the string representation.
11771//
11772// API parameter values that are decorated as "sensitive" in the API will not
11773// be included in the string output. The member name will be present, but the
11774// value will be replaced with "sensitive".
11775func (s DescribeRdsDbInstancesInput) GoString() string {
11776	return s.String()
11777}
11778
11779// Validate inspects the fields of the type to determine if they are valid.
11780func (s *DescribeRdsDbInstancesInput) Validate() error {
11781	invalidParams := request.ErrInvalidParams{Context: "DescribeRdsDbInstancesInput"}
11782	if s.StackId == nil {
11783		invalidParams.Add(request.NewErrParamRequired("StackId"))
11784	}
11785
11786	if invalidParams.Len() > 0 {
11787		return invalidParams
11788	}
11789	return nil
11790}
11791
11792// SetRdsDbInstanceArns sets the RdsDbInstanceArns field's value.
11793func (s *DescribeRdsDbInstancesInput) SetRdsDbInstanceArns(v []*string) *DescribeRdsDbInstancesInput {
11794	s.RdsDbInstanceArns = v
11795	return s
11796}
11797
11798// SetStackId sets the StackId field's value.
11799func (s *DescribeRdsDbInstancesInput) SetStackId(v string) *DescribeRdsDbInstancesInput {
11800	s.StackId = &v
11801	return s
11802}
11803
11804// Contains the response to a DescribeRdsDbInstances request.
11805type DescribeRdsDbInstancesOutput struct {
11806	_ struct{} `type:"structure"`
11807
11808	// An a array of RdsDbInstance objects that describe the instances.
11809	RdsDbInstances []*RdsDbInstance `type:"list"`
11810}
11811
11812// String returns the string representation.
11813//
11814// API parameter values that are decorated as "sensitive" in the API will not
11815// be included in the string output. The member name will be present, but the
11816// value will be replaced with "sensitive".
11817func (s DescribeRdsDbInstancesOutput) String() string {
11818	return awsutil.Prettify(s)
11819}
11820
11821// GoString returns the string representation.
11822//
11823// API parameter values that are decorated as "sensitive" in the API will not
11824// be included in the string output. The member name will be present, but the
11825// value will be replaced with "sensitive".
11826func (s DescribeRdsDbInstancesOutput) GoString() string {
11827	return s.String()
11828}
11829
11830// SetRdsDbInstances sets the RdsDbInstances field's value.
11831func (s *DescribeRdsDbInstancesOutput) SetRdsDbInstances(v []*RdsDbInstance) *DescribeRdsDbInstancesOutput {
11832	s.RdsDbInstances = v
11833	return s
11834}
11835
11836type DescribeServiceErrorsInput struct {
11837	_ struct{} `type:"structure"`
11838
11839	// The instance ID. If you use this parameter, DescribeServiceErrors returns
11840	// descriptions of the errors associated with the specified instance.
11841	InstanceId *string `type:"string"`
11842
11843	// An array of service error IDs. If you use this parameter, DescribeServiceErrors
11844	// returns descriptions of the specified errors. Otherwise, it returns a description
11845	// of every error.
11846	ServiceErrorIds []*string `type:"list"`
11847
11848	// The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions
11849	// of the errors associated with the specified stack.
11850	StackId *string `type:"string"`
11851}
11852
11853// String returns the string representation.
11854//
11855// API parameter values that are decorated as "sensitive" in the API will not
11856// be included in the string output. The member name will be present, but the
11857// value will be replaced with "sensitive".
11858func (s DescribeServiceErrorsInput) String() string {
11859	return awsutil.Prettify(s)
11860}
11861
11862// GoString returns the string representation.
11863//
11864// API parameter values that are decorated as "sensitive" in the API will not
11865// be included in the string output. The member name will be present, but the
11866// value will be replaced with "sensitive".
11867func (s DescribeServiceErrorsInput) GoString() string {
11868	return s.String()
11869}
11870
11871// SetInstanceId sets the InstanceId field's value.
11872func (s *DescribeServiceErrorsInput) SetInstanceId(v string) *DescribeServiceErrorsInput {
11873	s.InstanceId = &v
11874	return s
11875}
11876
11877// SetServiceErrorIds sets the ServiceErrorIds field's value.
11878func (s *DescribeServiceErrorsInput) SetServiceErrorIds(v []*string) *DescribeServiceErrorsInput {
11879	s.ServiceErrorIds = v
11880	return s
11881}
11882
11883// SetStackId sets the StackId field's value.
11884func (s *DescribeServiceErrorsInput) SetStackId(v string) *DescribeServiceErrorsInput {
11885	s.StackId = &v
11886	return s
11887}
11888
11889// Contains the response to a DescribeServiceErrors request.
11890type DescribeServiceErrorsOutput struct {
11891	_ struct{} `type:"structure"`
11892
11893	// An array of ServiceError objects that describe the specified service errors.
11894	ServiceErrors []*ServiceError `type:"list"`
11895}
11896
11897// String returns the string representation.
11898//
11899// API parameter values that are decorated as "sensitive" in the API will not
11900// be included in the string output. The member name will be present, but the
11901// value will be replaced with "sensitive".
11902func (s DescribeServiceErrorsOutput) String() string {
11903	return awsutil.Prettify(s)
11904}
11905
11906// GoString returns the string representation.
11907//
11908// API parameter values that are decorated as "sensitive" in the API will not
11909// be included in the string output. The member name will be present, but the
11910// value will be replaced with "sensitive".
11911func (s DescribeServiceErrorsOutput) GoString() string {
11912	return s.String()
11913}
11914
11915// SetServiceErrors sets the ServiceErrors field's value.
11916func (s *DescribeServiceErrorsOutput) SetServiceErrors(v []*ServiceError) *DescribeServiceErrorsOutput {
11917	s.ServiceErrors = v
11918	return s
11919}
11920
11921type DescribeStackProvisioningParametersInput struct {
11922	_ struct{} `type:"structure"`
11923
11924	// The stack ID.
11925	//
11926	// StackId is a required field
11927	StackId *string `type:"string" required:"true"`
11928}
11929
11930// String returns the string representation.
11931//
11932// API parameter values that are decorated as "sensitive" in the API will not
11933// be included in the string output. The member name will be present, but the
11934// value will be replaced with "sensitive".
11935func (s DescribeStackProvisioningParametersInput) String() string {
11936	return awsutil.Prettify(s)
11937}
11938
11939// GoString returns the string representation.
11940//
11941// API parameter values that are decorated as "sensitive" in the API will not
11942// be included in the string output. The member name will be present, but the
11943// value will be replaced with "sensitive".
11944func (s DescribeStackProvisioningParametersInput) GoString() string {
11945	return s.String()
11946}
11947
11948// Validate inspects the fields of the type to determine if they are valid.
11949func (s *DescribeStackProvisioningParametersInput) Validate() error {
11950	invalidParams := request.ErrInvalidParams{Context: "DescribeStackProvisioningParametersInput"}
11951	if s.StackId == nil {
11952		invalidParams.Add(request.NewErrParamRequired("StackId"))
11953	}
11954
11955	if invalidParams.Len() > 0 {
11956		return invalidParams
11957	}
11958	return nil
11959}
11960
11961// SetStackId sets the StackId field's value.
11962func (s *DescribeStackProvisioningParametersInput) SetStackId(v string) *DescribeStackProvisioningParametersInput {
11963	s.StackId = &v
11964	return s
11965}
11966
11967// Contains the response to a DescribeStackProvisioningParameters request.
11968type DescribeStackProvisioningParametersOutput struct {
11969	_ struct{} `type:"structure"`
11970
11971	// The AWS OpsWorks Stacks agent installer's URL.
11972	AgentInstallerUrl *string `type:"string"`
11973
11974	// An embedded object that contains the provisioning parameters.
11975	Parameters map[string]*string `type:"map"`
11976}
11977
11978// String returns the string representation.
11979//
11980// API parameter values that are decorated as "sensitive" in the API will not
11981// be included in the string output. The member name will be present, but the
11982// value will be replaced with "sensitive".
11983func (s DescribeStackProvisioningParametersOutput) String() string {
11984	return awsutil.Prettify(s)
11985}
11986
11987// GoString returns the string representation.
11988//
11989// API parameter values that are decorated as "sensitive" in the API will not
11990// be included in the string output. The member name will be present, but the
11991// value will be replaced with "sensitive".
11992func (s DescribeStackProvisioningParametersOutput) GoString() string {
11993	return s.String()
11994}
11995
11996// SetAgentInstallerUrl sets the AgentInstallerUrl field's value.
11997func (s *DescribeStackProvisioningParametersOutput) SetAgentInstallerUrl(v string) *DescribeStackProvisioningParametersOutput {
11998	s.AgentInstallerUrl = &v
11999	return s
12000}
12001
12002// SetParameters sets the Parameters field's value.
12003func (s *DescribeStackProvisioningParametersOutput) SetParameters(v map[string]*string) *DescribeStackProvisioningParametersOutput {
12004	s.Parameters = v
12005	return s
12006}
12007
12008type DescribeStackSummaryInput struct {
12009	_ struct{} `type:"structure"`
12010
12011	// The stack ID.
12012	//
12013	// StackId is a required field
12014	StackId *string `type:"string" required:"true"`
12015}
12016
12017// String returns the string representation.
12018//
12019// API parameter values that are decorated as "sensitive" in the API will not
12020// be included in the string output. The member name will be present, but the
12021// value will be replaced with "sensitive".
12022func (s DescribeStackSummaryInput) String() string {
12023	return awsutil.Prettify(s)
12024}
12025
12026// GoString returns the string representation.
12027//
12028// API parameter values that are decorated as "sensitive" in the API will not
12029// be included in the string output. The member name will be present, but the
12030// value will be replaced with "sensitive".
12031func (s DescribeStackSummaryInput) GoString() string {
12032	return s.String()
12033}
12034
12035// Validate inspects the fields of the type to determine if they are valid.
12036func (s *DescribeStackSummaryInput) Validate() error {
12037	invalidParams := request.ErrInvalidParams{Context: "DescribeStackSummaryInput"}
12038	if s.StackId == nil {
12039		invalidParams.Add(request.NewErrParamRequired("StackId"))
12040	}
12041
12042	if invalidParams.Len() > 0 {
12043		return invalidParams
12044	}
12045	return nil
12046}
12047
12048// SetStackId sets the StackId field's value.
12049func (s *DescribeStackSummaryInput) SetStackId(v string) *DescribeStackSummaryInput {
12050	s.StackId = &v
12051	return s
12052}
12053
12054// Contains the response to a DescribeStackSummary request.
12055type DescribeStackSummaryOutput struct {
12056	_ struct{} `type:"structure"`
12057
12058	// A StackSummary object that contains the results.
12059	StackSummary *StackSummary `type:"structure"`
12060}
12061
12062// String returns the string representation.
12063//
12064// API parameter values that are decorated as "sensitive" in the API will not
12065// be included in the string output. The member name will be present, but the
12066// value will be replaced with "sensitive".
12067func (s DescribeStackSummaryOutput) String() string {
12068	return awsutil.Prettify(s)
12069}
12070
12071// GoString returns the string representation.
12072//
12073// API parameter values that are decorated as "sensitive" in the API will not
12074// be included in the string output. The member name will be present, but the
12075// value will be replaced with "sensitive".
12076func (s DescribeStackSummaryOutput) GoString() string {
12077	return s.String()
12078}
12079
12080// SetStackSummary sets the StackSummary field's value.
12081func (s *DescribeStackSummaryOutput) SetStackSummary(v *StackSummary) *DescribeStackSummaryOutput {
12082	s.StackSummary = v
12083	return s
12084}
12085
12086type DescribeStacksInput struct {
12087	_ struct{} `type:"structure"`
12088
12089	// An array of stack IDs that specify the stacks to be described. If you omit
12090	// this parameter, DescribeStacks returns a description of every stack.
12091	StackIds []*string `type:"list"`
12092}
12093
12094// String returns the string representation.
12095//
12096// API parameter values that are decorated as "sensitive" in the API will not
12097// be included in the string output. The member name will be present, but the
12098// value will be replaced with "sensitive".
12099func (s DescribeStacksInput) String() string {
12100	return awsutil.Prettify(s)
12101}
12102
12103// GoString returns the string representation.
12104//
12105// API parameter values that are decorated as "sensitive" in the API will not
12106// be included in the string output. The member name will be present, but the
12107// value will be replaced with "sensitive".
12108func (s DescribeStacksInput) GoString() string {
12109	return s.String()
12110}
12111
12112// SetStackIds sets the StackIds field's value.
12113func (s *DescribeStacksInput) SetStackIds(v []*string) *DescribeStacksInput {
12114	s.StackIds = v
12115	return s
12116}
12117
12118// Contains the response to a DescribeStacks request.
12119type DescribeStacksOutput struct {
12120	_ struct{} `type:"structure"`
12121
12122	// An array of Stack objects that describe the stacks.
12123	Stacks []*Stack `type:"list"`
12124}
12125
12126// String returns the string representation.
12127//
12128// API parameter values that are decorated as "sensitive" in the API will not
12129// be included in the string output. The member name will be present, but the
12130// value will be replaced with "sensitive".
12131func (s DescribeStacksOutput) String() string {
12132	return awsutil.Prettify(s)
12133}
12134
12135// GoString returns the string representation.
12136//
12137// API parameter values that are decorated as "sensitive" in the API will not
12138// be included in the string output. The member name will be present, but the
12139// value will be replaced with "sensitive".
12140func (s DescribeStacksOutput) GoString() string {
12141	return s.String()
12142}
12143
12144// SetStacks sets the Stacks field's value.
12145func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
12146	s.Stacks = v
12147	return s
12148}
12149
12150type DescribeTimeBasedAutoScalingInput struct {
12151	_ struct{} `type:"structure"`
12152
12153	// An array of instance IDs.
12154	//
12155	// InstanceIds is a required field
12156	InstanceIds []*string `type:"list" required:"true"`
12157}
12158
12159// String returns the string representation.
12160//
12161// API parameter values that are decorated as "sensitive" in the API will not
12162// be included in the string output. The member name will be present, but the
12163// value will be replaced with "sensitive".
12164func (s DescribeTimeBasedAutoScalingInput) String() string {
12165	return awsutil.Prettify(s)
12166}
12167
12168// GoString returns the string representation.
12169//
12170// API parameter values that are decorated as "sensitive" in the API will not
12171// be included in the string output. The member name will be present, but the
12172// value will be replaced with "sensitive".
12173func (s DescribeTimeBasedAutoScalingInput) GoString() string {
12174	return s.String()
12175}
12176
12177// Validate inspects the fields of the type to determine if they are valid.
12178func (s *DescribeTimeBasedAutoScalingInput) Validate() error {
12179	invalidParams := request.ErrInvalidParams{Context: "DescribeTimeBasedAutoScalingInput"}
12180	if s.InstanceIds == nil {
12181		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
12182	}
12183
12184	if invalidParams.Len() > 0 {
12185		return invalidParams
12186	}
12187	return nil
12188}
12189
12190// SetInstanceIds sets the InstanceIds field's value.
12191func (s *DescribeTimeBasedAutoScalingInput) SetInstanceIds(v []*string) *DescribeTimeBasedAutoScalingInput {
12192	s.InstanceIds = v
12193	return s
12194}
12195
12196// Contains the response to a DescribeTimeBasedAutoScaling request.
12197type DescribeTimeBasedAutoScalingOutput struct {
12198	_ struct{} `type:"structure"`
12199
12200	// An array of TimeBasedAutoScalingConfiguration objects that describe the configuration
12201	// for the specified instances.
12202	TimeBasedAutoScalingConfigurations []*TimeBasedAutoScalingConfiguration `type:"list"`
12203}
12204
12205// String returns the string representation.
12206//
12207// API parameter values that are decorated as "sensitive" in the API will not
12208// be included in the string output. The member name will be present, but the
12209// value will be replaced with "sensitive".
12210func (s DescribeTimeBasedAutoScalingOutput) String() string {
12211	return awsutil.Prettify(s)
12212}
12213
12214// GoString returns the string representation.
12215//
12216// API parameter values that are decorated as "sensitive" in the API will not
12217// be included in the string output. The member name will be present, but the
12218// value will be replaced with "sensitive".
12219func (s DescribeTimeBasedAutoScalingOutput) GoString() string {
12220	return s.String()
12221}
12222
12223// SetTimeBasedAutoScalingConfigurations sets the TimeBasedAutoScalingConfigurations field's value.
12224func (s *DescribeTimeBasedAutoScalingOutput) SetTimeBasedAutoScalingConfigurations(v []*TimeBasedAutoScalingConfiguration) *DescribeTimeBasedAutoScalingOutput {
12225	s.TimeBasedAutoScalingConfigurations = v
12226	return s
12227}
12228
12229type DescribeUserProfilesInput struct {
12230	_ struct{} `type:"structure"`
12231
12232	// An array of IAM or federated user ARNs that identify the users to be described.
12233	IamUserArns []*string `type:"list"`
12234}
12235
12236// String returns the string representation.
12237//
12238// API parameter values that are decorated as "sensitive" in the API will not
12239// be included in the string output. The member name will be present, but the
12240// value will be replaced with "sensitive".
12241func (s DescribeUserProfilesInput) String() string {
12242	return awsutil.Prettify(s)
12243}
12244
12245// GoString returns the string representation.
12246//
12247// API parameter values that are decorated as "sensitive" in the API will not
12248// be included in the string output. The member name will be present, but the
12249// value will be replaced with "sensitive".
12250func (s DescribeUserProfilesInput) GoString() string {
12251	return s.String()
12252}
12253
12254// SetIamUserArns sets the IamUserArns field's value.
12255func (s *DescribeUserProfilesInput) SetIamUserArns(v []*string) *DescribeUserProfilesInput {
12256	s.IamUserArns = v
12257	return s
12258}
12259
12260// Contains the response to a DescribeUserProfiles request.
12261type DescribeUserProfilesOutput struct {
12262	_ struct{} `type:"structure"`
12263
12264	// A Users object that describes the specified users.
12265	UserProfiles []*UserProfile `type:"list"`
12266}
12267
12268// String returns the string representation.
12269//
12270// API parameter values that are decorated as "sensitive" in the API will not
12271// be included in the string output. The member name will be present, but the
12272// value will be replaced with "sensitive".
12273func (s DescribeUserProfilesOutput) String() string {
12274	return awsutil.Prettify(s)
12275}
12276
12277// GoString returns the string representation.
12278//
12279// API parameter values that are decorated as "sensitive" in the API will not
12280// be included in the string output. The member name will be present, but the
12281// value will be replaced with "sensitive".
12282func (s DescribeUserProfilesOutput) GoString() string {
12283	return s.String()
12284}
12285
12286// SetUserProfiles sets the UserProfiles field's value.
12287func (s *DescribeUserProfilesOutput) SetUserProfiles(v []*UserProfile) *DescribeUserProfilesOutput {
12288	s.UserProfiles = v
12289	return s
12290}
12291
12292type DescribeVolumesInput struct {
12293	_ struct{} `type:"structure"`
12294
12295	// The instance ID. If you use this parameter, DescribeVolumes returns descriptions
12296	// of the volumes associated with the specified instance.
12297	InstanceId *string `type:"string"`
12298
12299	// The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions
12300	// of the volumes associated with the specified RAID array.
12301	RaidArrayId *string `type:"string"`
12302
12303	// A stack ID. The action describes the stack's registered Amazon EBS volumes.
12304	StackId *string `type:"string"`
12305
12306	// Am array of volume IDs. If you use this parameter, DescribeVolumes returns
12307	// descriptions of the specified volumes. Otherwise, it returns a description
12308	// of every volume.
12309	VolumeIds []*string `type:"list"`
12310}
12311
12312// String returns the string representation.
12313//
12314// API parameter values that are decorated as "sensitive" in the API will not
12315// be included in the string output. The member name will be present, but the
12316// value will be replaced with "sensitive".
12317func (s DescribeVolumesInput) String() string {
12318	return awsutil.Prettify(s)
12319}
12320
12321// GoString returns the string representation.
12322//
12323// API parameter values that are decorated as "sensitive" in the API will not
12324// be included in the string output. The member name will be present, but the
12325// value will be replaced with "sensitive".
12326func (s DescribeVolumesInput) GoString() string {
12327	return s.String()
12328}
12329
12330// SetInstanceId sets the InstanceId field's value.
12331func (s *DescribeVolumesInput) SetInstanceId(v string) *DescribeVolumesInput {
12332	s.InstanceId = &v
12333	return s
12334}
12335
12336// SetRaidArrayId sets the RaidArrayId field's value.
12337func (s *DescribeVolumesInput) SetRaidArrayId(v string) *DescribeVolumesInput {
12338	s.RaidArrayId = &v
12339	return s
12340}
12341
12342// SetStackId sets the StackId field's value.
12343func (s *DescribeVolumesInput) SetStackId(v string) *DescribeVolumesInput {
12344	s.StackId = &v
12345	return s
12346}
12347
12348// SetVolumeIds sets the VolumeIds field's value.
12349func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
12350	s.VolumeIds = v
12351	return s
12352}
12353
12354// Contains the response to a DescribeVolumes request.
12355type DescribeVolumesOutput struct {
12356	_ struct{} `type:"structure"`
12357
12358	// An array of volume IDs.
12359	Volumes []*Volume `type:"list"`
12360}
12361
12362// String returns the string representation.
12363//
12364// API parameter values that are decorated as "sensitive" in the API will not
12365// be included in the string output. The member name will be present, but the
12366// value will be replaced with "sensitive".
12367func (s DescribeVolumesOutput) String() string {
12368	return awsutil.Prettify(s)
12369}
12370
12371// GoString returns the string representation.
12372//
12373// API parameter values that are decorated as "sensitive" in the API will not
12374// be included in the string output. The member name will be present, but the
12375// value will be replaced with "sensitive".
12376func (s DescribeVolumesOutput) GoString() string {
12377	return s.String()
12378}
12379
12380// SetVolumes sets the Volumes field's value.
12381func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
12382	s.Volumes = v
12383	return s
12384}
12385
12386type DetachElasticLoadBalancerInput struct {
12387	_ struct{} `type:"structure"`
12388
12389	// The Elastic Load Balancing instance's name.
12390	//
12391	// ElasticLoadBalancerName is a required field
12392	ElasticLoadBalancerName *string `type:"string" required:"true"`
12393
12394	// The ID of the layer that the Elastic Load Balancing instance is attached
12395	// to.
12396	//
12397	// LayerId is a required field
12398	LayerId *string `type:"string" required:"true"`
12399}
12400
12401// String returns the string representation.
12402//
12403// API parameter values that are decorated as "sensitive" in the API will not
12404// be included in the string output. The member name will be present, but the
12405// value will be replaced with "sensitive".
12406func (s DetachElasticLoadBalancerInput) String() string {
12407	return awsutil.Prettify(s)
12408}
12409
12410// GoString returns the string representation.
12411//
12412// API parameter values that are decorated as "sensitive" in the API will not
12413// be included in the string output. The member name will be present, but the
12414// value will be replaced with "sensitive".
12415func (s DetachElasticLoadBalancerInput) GoString() string {
12416	return s.String()
12417}
12418
12419// Validate inspects the fields of the type to determine if they are valid.
12420func (s *DetachElasticLoadBalancerInput) Validate() error {
12421	invalidParams := request.ErrInvalidParams{Context: "DetachElasticLoadBalancerInput"}
12422	if s.ElasticLoadBalancerName == nil {
12423		invalidParams.Add(request.NewErrParamRequired("ElasticLoadBalancerName"))
12424	}
12425	if s.LayerId == nil {
12426		invalidParams.Add(request.NewErrParamRequired("LayerId"))
12427	}
12428
12429	if invalidParams.Len() > 0 {
12430		return invalidParams
12431	}
12432	return nil
12433}
12434
12435// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
12436func (s *DetachElasticLoadBalancerInput) SetElasticLoadBalancerName(v string) *DetachElasticLoadBalancerInput {
12437	s.ElasticLoadBalancerName = &v
12438	return s
12439}
12440
12441// SetLayerId sets the LayerId field's value.
12442func (s *DetachElasticLoadBalancerInput) SetLayerId(v string) *DetachElasticLoadBalancerInput {
12443	s.LayerId = &v
12444	return s
12445}
12446
12447type DetachElasticLoadBalancerOutput struct {
12448	_ struct{} `type:"structure"`
12449}
12450
12451// String returns the string representation.
12452//
12453// API parameter values that are decorated as "sensitive" in the API will not
12454// be included in the string output. The member name will be present, but the
12455// value will be replaced with "sensitive".
12456func (s DetachElasticLoadBalancerOutput) String() string {
12457	return awsutil.Prettify(s)
12458}
12459
12460// GoString returns the string representation.
12461//
12462// API parameter values that are decorated as "sensitive" in the API will not
12463// be included in the string output. The member name will be present, but the
12464// value will be replaced with "sensitive".
12465func (s DetachElasticLoadBalancerOutput) GoString() string {
12466	return s.String()
12467}
12468
12469type DisassociateElasticIpInput struct {
12470	_ struct{} `type:"structure"`
12471
12472	// The Elastic IP address.
12473	//
12474	// ElasticIp is a required field
12475	ElasticIp *string `type:"string" required:"true"`
12476}
12477
12478// String returns the string representation.
12479//
12480// API parameter values that are decorated as "sensitive" in the API will not
12481// be included in the string output. The member name will be present, but the
12482// value will be replaced with "sensitive".
12483func (s DisassociateElasticIpInput) String() string {
12484	return awsutil.Prettify(s)
12485}
12486
12487// GoString returns the string representation.
12488//
12489// API parameter values that are decorated as "sensitive" in the API will not
12490// be included in the string output. The member name will be present, but the
12491// value will be replaced with "sensitive".
12492func (s DisassociateElasticIpInput) GoString() string {
12493	return s.String()
12494}
12495
12496// Validate inspects the fields of the type to determine if they are valid.
12497func (s *DisassociateElasticIpInput) Validate() error {
12498	invalidParams := request.ErrInvalidParams{Context: "DisassociateElasticIpInput"}
12499	if s.ElasticIp == nil {
12500		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
12501	}
12502
12503	if invalidParams.Len() > 0 {
12504		return invalidParams
12505	}
12506	return nil
12507}
12508
12509// SetElasticIp sets the ElasticIp field's value.
12510func (s *DisassociateElasticIpInput) SetElasticIp(v string) *DisassociateElasticIpInput {
12511	s.ElasticIp = &v
12512	return s
12513}
12514
12515type DisassociateElasticIpOutput struct {
12516	_ struct{} `type:"structure"`
12517}
12518
12519// String returns the string representation.
12520//
12521// API parameter values that are decorated as "sensitive" in the API will not
12522// be included in the string output. The member name will be present, but the
12523// value will be replaced with "sensitive".
12524func (s DisassociateElasticIpOutput) String() string {
12525	return awsutil.Prettify(s)
12526}
12527
12528// GoString returns the string representation.
12529//
12530// API parameter values that are decorated as "sensitive" in the API will not
12531// be included in the string output. The member name will be present, but the
12532// value will be replaced with "sensitive".
12533func (s DisassociateElasticIpOutput) GoString() string {
12534	return s.String()
12535}
12536
12537// Describes an Amazon EBS volume. This data type maps directly to the Amazon
12538// EC2 EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html)
12539// data type.
12540type EbsBlockDevice struct {
12541	_ struct{} `type:"structure"`
12542
12543	// Whether the volume is deleted on instance termination.
12544	DeleteOnTermination *bool `type:"boolean"`
12545
12546	// The number of I/O operations per second (IOPS) that the volume supports.
12547	// For more information, see EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
12548	Iops *int64 `type:"integer"`
12549
12550	// The snapshot ID.
12551	SnapshotId *string `type:"string"`
12552
12553	// The volume size, in GiB. For more information, see EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
12554	VolumeSize *int64 `type:"integer"`
12555
12556	// The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned
12557	// IOPS (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD),
12558	// sc1 for Cold HDD,and standard for Magnetic volumes.
12559	//
12560	// If you specify the io1 volume type, you must also specify a value for the
12561	// Iops attribute. The maximum ratio of provisioned IOPS to requested volume
12562	// size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified
12563	// in the AMI attributes to set IOPS to 50 x (volume size).
12564	VolumeType *string `type:"string" enum:"VolumeType"`
12565}
12566
12567// String returns the string representation.
12568//
12569// API parameter values that are decorated as "sensitive" in the API will not
12570// be included in the string output. The member name will be present, but the
12571// value will be replaced with "sensitive".
12572func (s EbsBlockDevice) String() string {
12573	return awsutil.Prettify(s)
12574}
12575
12576// GoString returns the string representation.
12577//
12578// API parameter values that are decorated as "sensitive" in the API will not
12579// be included in the string output. The member name will be present, but the
12580// value will be replaced with "sensitive".
12581func (s EbsBlockDevice) GoString() string {
12582	return s.String()
12583}
12584
12585// SetDeleteOnTermination sets the DeleteOnTermination field's value.
12586func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
12587	s.DeleteOnTermination = &v
12588	return s
12589}
12590
12591// SetIops sets the Iops field's value.
12592func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
12593	s.Iops = &v
12594	return s
12595}
12596
12597// SetSnapshotId sets the SnapshotId field's value.
12598func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
12599	s.SnapshotId = &v
12600	return s
12601}
12602
12603// SetVolumeSize sets the VolumeSize field's value.
12604func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
12605	s.VolumeSize = &v
12606	return s
12607}
12608
12609// SetVolumeType sets the VolumeType field's value.
12610func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
12611	s.VolumeType = &v
12612	return s
12613}
12614
12615// Describes a registered Amazon ECS cluster.
12616type EcsCluster struct {
12617	_ struct{} `type:"structure"`
12618
12619	// The cluster's ARN.
12620	EcsClusterArn *string `type:"string"`
12621
12622	// The cluster name.
12623	EcsClusterName *string `type:"string"`
12624
12625	// The time and date that the cluster was registered with the stack.
12626	RegisteredAt *string `type:"string"`
12627
12628	// The stack ID.
12629	StackId *string `type:"string"`
12630}
12631
12632// String returns the string representation.
12633//
12634// API parameter values that are decorated as "sensitive" in the API will not
12635// be included in the string output. The member name will be present, but the
12636// value will be replaced with "sensitive".
12637func (s EcsCluster) String() string {
12638	return awsutil.Prettify(s)
12639}
12640
12641// GoString returns the string representation.
12642//
12643// API parameter values that are decorated as "sensitive" in the API will not
12644// be included in the string output. The member name will be present, but the
12645// value will be replaced with "sensitive".
12646func (s EcsCluster) GoString() string {
12647	return s.String()
12648}
12649
12650// SetEcsClusterArn sets the EcsClusterArn field's value.
12651func (s *EcsCluster) SetEcsClusterArn(v string) *EcsCluster {
12652	s.EcsClusterArn = &v
12653	return s
12654}
12655
12656// SetEcsClusterName sets the EcsClusterName field's value.
12657func (s *EcsCluster) SetEcsClusterName(v string) *EcsCluster {
12658	s.EcsClusterName = &v
12659	return s
12660}
12661
12662// SetRegisteredAt sets the RegisteredAt field's value.
12663func (s *EcsCluster) SetRegisteredAt(v string) *EcsCluster {
12664	s.RegisteredAt = &v
12665	return s
12666}
12667
12668// SetStackId sets the StackId field's value.
12669func (s *EcsCluster) SetStackId(v string) *EcsCluster {
12670	s.StackId = &v
12671	return s
12672}
12673
12674// Describes an Elastic IP address.
12675type ElasticIp struct {
12676	_ struct{} `type:"structure"`
12677
12678	// The domain.
12679	Domain *string `type:"string"`
12680
12681	// The ID of the instance that the address is attached to.
12682	InstanceId *string `type:"string"`
12683
12684	// The IP address.
12685	Ip *string `type:"string"`
12686
12687	// The name.
12688	Name *string `type:"string"`
12689
12690	// The AWS region. For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
12691	Region *string `type:"string"`
12692}
12693
12694// String returns the string representation.
12695//
12696// API parameter values that are decorated as "sensitive" in the API will not
12697// be included in the string output. The member name will be present, but the
12698// value will be replaced with "sensitive".
12699func (s ElasticIp) String() string {
12700	return awsutil.Prettify(s)
12701}
12702
12703// GoString returns the string representation.
12704//
12705// API parameter values that are decorated as "sensitive" in the API will not
12706// be included in the string output. The member name will be present, but the
12707// value will be replaced with "sensitive".
12708func (s ElasticIp) GoString() string {
12709	return s.String()
12710}
12711
12712// SetDomain sets the Domain field's value.
12713func (s *ElasticIp) SetDomain(v string) *ElasticIp {
12714	s.Domain = &v
12715	return s
12716}
12717
12718// SetInstanceId sets the InstanceId field's value.
12719func (s *ElasticIp) SetInstanceId(v string) *ElasticIp {
12720	s.InstanceId = &v
12721	return s
12722}
12723
12724// SetIp sets the Ip field's value.
12725func (s *ElasticIp) SetIp(v string) *ElasticIp {
12726	s.Ip = &v
12727	return s
12728}
12729
12730// SetName sets the Name field's value.
12731func (s *ElasticIp) SetName(v string) *ElasticIp {
12732	s.Name = &v
12733	return s
12734}
12735
12736// SetRegion sets the Region field's value.
12737func (s *ElasticIp) SetRegion(v string) *ElasticIp {
12738	s.Region = &v
12739	return s
12740}
12741
12742// Describes an Elastic Load Balancing instance.
12743type ElasticLoadBalancer struct {
12744	_ struct{} `type:"structure"`
12745
12746	// A list of Availability Zones.
12747	AvailabilityZones []*string `type:"list"`
12748
12749	// The instance's public DNS name.
12750	DnsName *string `type:"string"`
12751
12752	// A list of the EC2 instances that the Elastic Load Balancing instance is managing
12753	// traffic for.
12754	Ec2InstanceIds []*string `type:"list"`
12755
12756	// The Elastic Load Balancing instance's name.
12757	ElasticLoadBalancerName *string `type:"string"`
12758
12759	// The ID of the layer that the instance is attached to.
12760	LayerId *string `type:"string"`
12761
12762	// The instance's AWS region.
12763	Region *string `type:"string"`
12764
12765	// The ID of the stack that the instance is associated with.
12766	StackId *string `type:"string"`
12767
12768	// A list of subnet IDs, if the stack is running in a VPC.
12769	SubnetIds []*string `type:"list"`
12770
12771	// The VPC ID.
12772	VpcId *string `type:"string"`
12773}
12774
12775// String returns the string representation.
12776//
12777// API parameter values that are decorated as "sensitive" in the API will not
12778// be included in the string output. The member name will be present, but the
12779// value will be replaced with "sensitive".
12780func (s ElasticLoadBalancer) String() string {
12781	return awsutil.Prettify(s)
12782}
12783
12784// GoString returns the string representation.
12785//
12786// API parameter values that are decorated as "sensitive" in the API will not
12787// be included in the string output. The member name will be present, but the
12788// value will be replaced with "sensitive".
12789func (s ElasticLoadBalancer) GoString() string {
12790	return s.String()
12791}
12792
12793// SetAvailabilityZones sets the AvailabilityZones field's value.
12794func (s *ElasticLoadBalancer) SetAvailabilityZones(v []*string) *ElasticLoadBalancer {
12795	s.AvailabilityZones = v
12796	return s
12797}
12798
12799// SetDnsName sets the DnsName field's value.
12800func (s *ElasticLoadBalancer) SetDnsName(v string) *ElasticLoadBalancer {
12801	s.DnsName = &v
12802	return s
12803}
12804
12805// SetEc2InstanceIds sets the Ec2InstanceIds field's value.
12806func (s *ElasticLoadBalancer) SetEc2InstanceIds(v []*string) *ElasticLoadBalancer {
12807	s.Ec2InstanceIds = v
12808	return s
12809}
12810
12811// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
12812func (s *ElasticLoadBalancer) SetElasticLoadBalancerName(v string) *ElasticLoadBalancer {
12813	s.ElasticLoadBalancerName = &v
12814	return s
12815}
12816
12817// SetLayerId sets the LayerId field's value.
12818func (s *ElasticLoadBalancer) SetLayerId(v string) *ElasticLoadBalancer {
12819	s.LayerId = &v
12820	return s
12821}
12822
12823// SetRegion sets the Region field's value.
12824func (s *ElasticLoadBalancer) SetRegion(v string) *ElasticLoadBalancer {
12825	s.Region = &v
12826	return s
12827}
12828
12829// SetStackId sets the StackId field's value.
12830func (s *ElasticLoadBalancer) SetStackId(v string) *ElasticLoadBalancer {
12831	s.StackId = &v
12832	return s
12833}
12834
12835// SetSubnetIds sets the SubnetIds field's value.
12836func (s *ElasticLoadBalancer) SetSubnetIds(v []*string) *ElasticLoadBalancer {
12837	s.SubnetIds = v
12838	return s
12839}
12840
12841// SetVpcId sets the VpcId field's value.
12842func (s *ElasticLoadBalancer) SetVpcId(v string) *ElasticLoadBalancer {
12843	s.VpcId = &v
12844	return s
12845}
12846
12847// Represents an app's environment variable.
12848type EnvironmentVariable struct {
12849	_ struct{} `type:"structure"`
12850
12851	// (Required) The environment variable's name, which can consist of up to 64
12852	// characters and must be specified. The name can contain upper- and lowercase
12853	// letters, numbers, and underscores (_), but it must start with a letter or
12854	// underscore.
12855	//
12856	// Key is a required field
12857	Key *string `type:"string" required:"true"`
12858
12859	// (Optional) Whether the variable's value will be returned by the DescribeApps
12860	// action. To conceal an environment variable's value, set Secure to true. DescribeApps
12861	// then returns *****FILTERED***** instead of the actual value. The default
12862	// value for Secure is false.
12863	Secure *bool `type:"boolean"`
12864
12865	// (Optional) The environment variable's value, which can be left empty. If
12866	// you specify a value, it can contain up to 256 characters, which must all
12867	// be printable.
12868	//
12869	// Value is a required field
12870	Value *string `type:"string" required:"true"`
12871}
12872
12873// String returns the string representation.
12874//
12875// API parameter values that are decorated as "sensitive" in the API will not
12876// be included in the string output. The member name will be present, but the
12877// value will be replaced with "sensitive".
12878func (s EnvironmentVariable) String() string {
12879	return awsutil.Prettify(s)
12880}
12881
12882// GoString returns the string representation.
12883//
12884// API parameter values that are decorated as "sensitive" in the API will not
12885// be included in the string output. The member name will be present, but the
12886// value will be replaced with "sensitive".
12887func (s EnvironmentVariable) GoString() string {
12888	return s.String()
12889}
12890
12891// Validate inspects the fields of the type to determine if they are valid.
12892func (s *EnvironmentVariable) Validate() error {
12893	invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"}
12894	if s.Key == nil {
12895		invalidParams.Add(request.NewErrParamRequired("Key"))
12896	}
12897	if s.Value == nil {
12898		invalidParams.Add(request.NewErrParamRequired("Value"))
12899	}
12900
12901	if invalidParams.Len() > 0 {
12902		return invalidParams
12903	}
12904	return nil
12905}
12906
12907// SetKey sets the Key field's value.
12908func (s *EnvironmentVariable) SetKey(v string) *EnvironmentVariable {
12909	s.Key = &v
12910	return s
12911}
12912
12913// SetSecure sets the Secure field's value.
12914func (s *EnvironmentVariable) SetSecure(v bool) *EnvironmentVariable {
12915	s.Secure = &v
12916	return s
12917}
12918
12919// SetValue sets the Value field's value.
12920func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable {
12921	s.Value = &v
12922	return s
12923}
12924
12925type GetHostnameSuggestionInput struct {
12926	_ struct{} `type:"structure"`
12927
12928	// The layer ID.
12929	//
12930	// LayerId is a required field
12931	LayerId *string `type:"string" required:"true"`
12932}
12933
12934// String returns the string representation.
12935//
12936// API parameter values that are decorated as "sensitive" in the API will not
12937// be included in the string output. The member name will be present, but the
12938// value will be replaced with "sensitive".
12939func (s GetHostnameSuggestionInput) String() string {
12940	return awsutil.Prettify(s)
12941}
12942
12943// GoString returns the string representation.
12944//
12945// API parameter values that are decorated as "sensitive" in the API will not
12946// be included in the string output. The member name will be present, but the
12947// value will be replaced with "sensitive".
12948func (s GetHostnameSuggestionInput) GoString() string {
12949	return s.String()
12950}
12951
12952// Validate inspects the fields of the type to determine if they are valid.
12953func (s *GetHostnameSuggestionInput) Validate() error {
12954	invalidParams := request.ErrInvalidParams{Context: "GetHostnameSuggestionInput"}
12955	if s.LayerId == nil {
12956		invalidParams.Add(request.NewErrParamRequired("LayerId"))
12957	}
12958
12959	if invalidParams.Len() > 0 {
12960		return invalidParams
12961	}
12962	return nil
12963}
12964
12965// SetLayerId sets the LayerId field's value.
12966func (s *GetHostnameSuggestionInput) SetLayerId(v string) *GetHostnameSuggestionInput {
12967	s.LayerId = &v
12968	return s
12969}
12970
12971// Contains the response to a GetHostnameSuggestion request.
12972type GetHostnameSuggestionOutput struct {
12973	_ struct{} `type:"structure"`
12974
12975	// The generated host name.
12976	Hostname *string `type:"string"`
12977
12978	// The layer ID.
12979	LayerId *string `type:"string"`
12980}
12981
12982// String returns the string representation.
12983//
12984// API parameter values that are decorated as "sensitive" in the API will not
12985// be included in the string output. The member name will be present, but the
12986// value will be replaced with "sensitive".
12987func (s GetHostnameSuggestionOutput) String() string {
12988	return awsutil.Prettify(s)
12989}
12990
12991// GoString returns the string representation.
12992//
12993// API parameter values that are decorated as "sensitive" in the API will not
12994// be included in the string output. The member name will be present, but the
12995// value will be replaced with "sensitive".
12996func (s GetHostnameSuggestionOutput) GoString() string {
12997	return s.String()
12998}
12999
13000// SetHostname sets the Hostname field's value.
13001func (s *GetHostnameSuggestionOutput) SetHostname(v string) *GetHostnameSuggestionOutput {
13002	s.Hostname = &v
13003	return s
13004}
13005
13006// SetLayerId sets the LayerId field's value.
13007func (s *GetHostnameSuggestionOutput) SetLayerId(v string) *GetHostnameSuggestionOutput {
13008	s.LayerId = &v
13009	return s
13010}
13011
13012type GrantAccessInput struct {
13013	_ struct{} `type:"structure"`
13014
13015	// The instance's AWS OpsWorks Stacks ID.
13016	//
13017	// InstanceId is a required field
13018	InstanceId *string `type:"string" required:"true"`
13019
13020	// The length of time (in minutes) that the grant is valid. When the grant expires
13021	// at the end of this period, the user will no longer be able to use the credentials
13022	// to log in. If the user is logged in at the time, he or she automatically
13023	// will be logged out.
13024	ValidForInMinutes *int64 `min:"60" type:"integer"`
13025}
13026
13027// String returns the string representation.
13028//
13029// API parameter values that are decorated as "sensitive" in the API will not
13030// be included in the string output. The member name will be present, but the
13031// value will be replaced with "sensitive".
13032func (s GrantAccessInput) String() string {
13033	return awsutil.Prettify(s)
13034}
13035
13036// GoString returns the string representation.
13037//
13038// API parameter values that are decorated as "sensitive" in the API will not
13039// be included in the string output. The member name will be present, but the
13040// value will be replaced with "sensitive".
13041func (s GrantAccessInput) GoString() string {
13042	return s.String()
13043}
13044
13045// Validate inspects the fields of the type to determine if they are valid.
13046func (s *GrantAccessInput) Validate() error {
13047	invalidParams := request.ErrInvalidParams{Context: "GrantAccessInput"}
13048	if s.InstanceId == nil {
13049		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13050	}
13051	if s.ValidForInMinutes != nil && *s.ValidForInMinutes < 60 {
13052		invalidParams.Add(request.NewErrParamMinValue("ValidForInMinutes", 60))
13053	}
13054
13055	if invalidParams.Len() > 0 {
13056		return invalidParams
13057	}
13058	return nil
13059}
13060
13061// SetInstanceId sets the InstanceId field's value.
13062func (s *GrantAccessInput) SetInstanceId(v string) *GrantAccessInput {
13063	s.InstanceId = &v
13064	return s
13065}
13066
13067// SetValidForInMinutes sets the ValidForInMinutes field's value.
13068func (s *GrantAccessInput) SetValidForInMinutes(v int64) *GrantAccessInput {
13069	s.ValidForInMinutes = &v
13070	return s
13071}
13072
13073// Contains the response to a GrantAccess request.
13074type GrantAccessOutput struct {
13075	_ struct{} `type:"structure"`
13076
13077	// A TemporaryCredential object that contains the data needed to log in to the
13078	// instance by RDP clients, such as the Microsoft Remote Desktop Connection.
13079	TemporaryCredential *TemporaryCredential `type:"structure"`
13080}
13081
13082// String returns the string representation.
13083//
13084// API parameter values that are decorated as "sensitive" in the API will not
13085// be included in the string output. The member name will be present, but the
13086// value will be replaced with "sensitive".
13087func (s GrantAccessOutput) String() string {
13088	return awsutil.Prettify(s)
13089}
13090
13091// GoString returns the string representation.
13092//
13093// API parameter values that are decorated as "sensitive" in the API will not
13094// be included in the string output. The member name will be present, but the
13095// value will be replaced with "sensitive".
13096func (s GrantAccessOutput) GoString() string {
13097	return s.String()
13098}
13099
13100// SetTemporaryCredential sets the TemporaryCredential field's value.
13101func (s *GrantAccessOutput) SetTemporaryCredential(v *TemporaryCredential) *GrantAccessOutput {
13102	s.TemporaryCredential = v
13103	return s
13104}
13105
13106// Describes an instance.
13107type Instance struct {
13108	_ struct{} `type:"structure"`
13109
13110	// The agent version. This parameter is set to INHERIT if the instance inherits
13111	// the default stack setting or to a a version number for a fixed agent version.
13112	AgentVersion *string `type:"string"`
13113
13114	// A custom AMI ID to be used to create the instance. For more information,
13115	// see Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html)
13116	AmiId *string `type:"string"`
13117
13118	// The instance architecture: "i386" or "x86_64".
13119	Architecture *string `type:"string" enum:"Architecture"`
13120
13121	// The instance's Amazon Resource Number (ARN).
13122	Arn *string `type:"string"`
13123
13124	// For load-based or time-based instances, the type.
13125	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
13126
13127	// The instance Availability Zone. For more information, see Regions and Endpoints
13128	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
13129	AvailabilityZone *string `type:"string"`
13130
13131	// An array of BlockDeviceMapping objects that specify the instance's block
13132	// device mappings.
13133	BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
13134
13135	// The time that the instance was created.
13136	CreatedAt *string `type:"string"`
13137
13138	// Whether this is an Amazon EBS-optimized instance.
13139	EbsOptimized *bool `type:"boolean"`
13140
13141	// The ID of the associated Amazon EC2 instance.
13142	Ec2InstanceId *string `type:"string"`
13143
13144	// For container instances, the Amazon ECS cluster's ARN.
13145	EcsClusterArn *string `type:"string"`
13146
13147	// For container instances, the instance's ARN.
13148	EcsContainerInstanceArn *string `type:"string"`
13149
13150	// The instance Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html).
13151	ElasticIp *string `type:"string"`
13152
13153	// The instance host name.
13154	Hostname *string `type:"string"`
13155
13156	// For registered instances, the infrastructure class: ec2 or on-premises.
13157	InfrastructureClass *string `type:"string"`
13158
13159	// Whether to install operating system and package updates when the instance
13160	// boots. The default value is true. If this value is set to false, you must
13161	// then update your instances manually by using CreateDeployment to run the
13162	// update_dependencies stack command or by manually running yum (Amazon Linux)
13163	// or apt-get (Ubuntu) on the instances.
13164	//
13165	// We strongly recommend using the default value of true, to ensure that your
13166	// instances have the latest security updates.
13167	InstallUpdatesOnBoot *bool `type:"boolean"`
13168
13169	// The instance ID.
13170	InstanceId *string `type:"string"`
13171
13172	// The ARN of the instance's IAM profile. For more information about IAM ARNs,
13173	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
13174	InstanceProfileArn *string `type:"string"`
13175
13176	// The instance type, such as t2.micro.
13177	InstanceType *string `type:"string"`
13178
13179	// The ID of the last service error. For more information, call DescribeServiceErrors.
13180	LastServiceErrorId *string `type:"string"`
13181
13182	// An array containing the instance layer IDs.
13183	LayerIds []*string `type:"list"`
13184
13185	// The instance's operating system.
13186	Os *string `type:"string"`
13187
13188	// The instance's platform.
13189	Platform *string `type:"string"`
13190
13191	// The instance's private DNS name.
13192	PrivateDns *string `type:"string"`
13193
13194	// The instance's private IP address.
13195	PrivateIp *string `type:"string"`
13196
13197	// The instance public DNS name.
13198	PublicDns *string `type:"string"`
13199
13200	// The instance public IP address.
13201	PublicIp *string `type:"string"`
13202
13203	// For registered instances, who performed the registration.
13204	RegisteredBy *string `type:"string"`
13205
13206	// The instance's reported AWS OpsWorks Stacks agent version.
13207	ReportedAgentVersion *string `type:"string"`
13208
13209	// For registered instances, the reported operating system.
13210	ReportedOs *ReportedOs `type:"structure"`
13211
13212	// The instance's root device type. For more information, see Storage for the
13213	// Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
13214	RootDeviceType *string `type:"string" enum:"RootDeviceType"`
13215
13216	// The root device volume ID.
13217	RootDeviceVolumeId *string `type:"string"`
13218
13219	// An array containing the instance security group IDs.
13220	SecurityGroupIds []*string `type:"list"`
13221
13222	// The SSH key's Deep Security Agent (DSA) fingerprint.
13223	SshHostDsaKeyFingerprint *string `type:"string"`
13224
13225	// The SSH key's RSA fingerprint.
13226	SshHostRsaKeyFingerprint *string `type:"string"`
13227
13228	// The instance's Amazon EC2 key-pair name.
13229	SshKeyName *string `type:"string"`
13230
13231	// The stack ID.
13232	StackId *string `type:"string"`
13233
13234	// The instance status:
13235	//
13236	//    * booting
13237	//
13238	//    * connection_lost
13239	//
13240	//    * online
13241	//
13242	//    * pending
13243	//
13244	//    * rebooting
13245	//
13246	//    * requested
13247	//
13248	//    * running_setup
13249	//
13250	//    * setup_failed
13251	//
13252	//    * shutting_down
13253	//
13254	//    * start_failed
13255	//
13256	//    * stop_failed
13257	//
13258	//    * stopped
13259	//
13260	//    * stopping
13261	//
13262	//    * terminated
13263	//
13264	//    * terminating
13265	Status *string `type:"string"`
13266
13267	// The instance's subnet ID; applicable only if the stack is running in a VPC.
13268	SubnetId *string `type:"string"`
13269
13270	// The instance's tenancy option, such as dedicated or host.
13271	Tenancy *string `type:"string"`
13272
13273	// The instance's virtualization type: paravirtual or hvm.
13274	VirtualizationType *string `type:"string" enum:"VirtualizationType"`
13275}
13276
13277// String returns the string representation.
13278//
13279// API parameter values that are decorated as "sensitive" in the API will not
13280// be included in the string output. The member name will be present, but the
13281// value will be replaced with "sensitive".
13282func (s Instance) String() string {
13283	return awsutil.Prettify(s)
13284}
13285
13286// GoString returns the string representation.
13287//
13288// API parameter values that are decorated as "sensitive" in the API will not
13289// be included in the string output. The member name will be present, but the
13290// value will be replaced with "sensitive".
13291func (s Instance) GoString() string {
13292	return s.String()
13293}
13294
13295// SetAgentVersion sets the AgentVersion field's value.
13296func (s *Instance) SetAgentVersion(v string) *Instance {
13297	s.AgentVersion = &v
13298	return s
13299}
13300
13301// SetAmiId sets the AmiId field's value.
13302func (s *Instance) SetAmiId(v string) *Instance {
13303	s.AmiId = &v
13304	return s
13305}
13306
13307// SetArchitecture sets the Architecture field's value.
13308func (s *Instance) SetArchitecture(v string) *Instance {
13309	s.Architecture = &v
13310	return s
13311}
13312
13313// SetArn sets the Arn field's value.
13314func (s *Instance) SetArn(v string) *Instance {
13315	s.Arn = &v
13316	return s
13317}
13318
13319// SetAutoScalingType sets the AutoScalingType field's value.
13320func (s *Instance) SetAutoScalingType(v string) *Instance {
13321	s.AutoScalingType = &v
13322	return s
13323}
13324
13325// SetAvailabilityZone sets the AvailabilityZone field's value.
13326func (s *Instance) SetAvailabilityZone(v string) *Instance {
13327	s.AvailabilityZone = &v
13328	return s
13329}
13330
13331// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
13332func (s *Instance) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Instance {
13333	s.BlockDeviceMappings = v
13334	return s
13335}
13336
13337// SetCreatedAt sets the CreatedAt field's value.
13338func (s *Instance) SetCreatedAt(v string) *Instance {
13339	s.CreatedAt = &v
13340	return s
13341}
13342
13343// SetEbsOptimized sets the EbsOptimized field's value.
13344func (s *Instance) SetEbsOptimized(v bool) *Instance {
13345	s.EbsOptimized = &v
13346	return s
13347}
13348
13349// SetEc2InstanceId sets the Ec2InstanceId field's value.
13350func (s *Instance) SetEc2InstanceId(v string) *Instance {
13351	s.Ec2InstanceId = &v
13352	return s
13353}
13354
13355// SetEcsClusterArn sets the EcsClusterArn field's value.
13356func (s *Instance) SetEcsClusterArn(v string) *Instance {
13357	s.EcsClusterArn = &v
13358	return s
13359}
13360
13361// SetEcsContainerInstanceArn sets the EcsContainerInstanceArn field's value.
13362func (s *Instance) SetEcsContainerInstanceArn(v string) *Instance {
13363	s.EcsContainerInstanceArn = &v
13364	return s
13365}
13366
13367// SetElasticIp sets the ElasticIp field's value.
13368func (s *Instance) SetElasticIp(v string) *Instance {
13369	s.ElasticIp = &v
13370	return s
13371}
13372
13373// SetHostname sets the Hostname field's value.
13374func (s *Instance) SetHostname(v string) *Instance {
13375	s.Hostname = &v
13376	return s
13377}
13378
13379// SetInfrastructureClass sets the InfrastructureClass field's value.
13380func (s *Instance) SetInfrastructureClass(v string) *Instance {
13381	s.InfrastructureClass = &v
13382	return s
13383}
13384
13385// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
13386func (s *Instance) SetInstallUpdatesOnBoot(v bool) *Instance {
13387	s.InstallUpdatesOnBoot = &v
13388	return s
13389}
13390
13391// SetInstanceId sets the InstanceId field's value.
13392func (s *Instance) SetInstanceId(v string) *Instance {
13393	s.InstanceId = &v
13394	return s
13395}
13396
13397// SetInstanceProfileArn sets the InstanceProfileArn field's value.
13398func (s *Instance) SetInstanceProfileArn(v string) *Instance {
13399	s.InstanceProfileArn = &v
13400	return s
13401}
13402
13403// SetInstanceType sets the InstanceType field's value.
13404func (s *Instance) SetInstanceType(v string) *Instance {
13405	s.InstanceType = &v
13406	return s
13407}
13408
13409// SetLastServiceErrorId sets the LastServiceErrorId field's value.
13410func (s *Instance) SetLastServiceErrorId(v string) *Instance {
13411	s.LastServiceErrorId = &v
13412	return s
13413}
13414
13415// SetLayerIds sets the LayerIds field's value.
13416func (s *Instance) SetLayerIds(v []*string) *Instance {
13417	s.LayerIds = v
13418	return s
13419}
13420
13421// SetOs sets the Os field's value.
13422func (s *Instance) SetOs(v string) *Instance {
13423	s.Os = &v
13424	return s
13425}
13426
13427// SetPlatform sets the Platform field's value.
13428func (s *Instance) SetPlatform(v string) *Instance {
13429	s.Platform = &v
13430	return s
13431}
13432
13433// SetPrivateDns sets the PrivateDns field's value.
13434func (s *Instance) SetPrivateDns(v string) *Instance {
13435	s.PrivateDns = &v
13436	return s
13437}
13438
13439// SetPrivateIp sets the PrivateIp field's value.
13440func (s *Instance) SetPrivateIp(v string) *Instance {
13441	s.PrivateIp = &v
13442	return s
13443}
13444
13445// SetPublicDns sets the PublicDns field's value.
13446func (s *Instance) SetPublicDns(v string) *Instance {
13447	s.PublicDns = &v
13448	return s
13449}
13450
13451// SetPublicIp sets the PublicIp field's value.
13452func (s *Instance) SetPublicIp(v string) *Instance {
13453	s.PublicIp = &v
13454	return s
13455}
13456
13457// SetRegisteredBy sets the RegisteredBy field's value.
13458func (s *Instance) SetRegisteredBy(v string) *Instance {
13459	s.RegisteredBy = &v
13460	return s
13461}
13462
13463// SetReportedAgentVersion sets the ReportedAgentVersion field's value.
13464func (s *Instance) SetReportedAgentVersion(v string) *Instance {
13465	s.ReportedAgentVersion = &v
13466	return s
13467}
13468
13469// SetReportedOs sets the ReportedOs field's value.
13470func (s *Instance) SetReportedOs(v *ReportedOs) *Instance {
13471	s.ReportedOs = v
13472	return s
13473}
13474
13475// SetRootDeviceType sets the RootDeviceType field's value.
13476func (s *Instance) SetRootDeviceType(v string) *Instance {
13477	s.RootDeviceType = &v
13478	return s
13479}
13480
13481// SetRootDeviceVolumeId sets the RootDeviceVolumeId field's value.
13482func (s *Instance) SetRootDeviceVolumeId(v string) *Instance {
13483	s.RootDeviceVolumeId = &v
13484	return s
13485}
13486
13487// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13488func (s *Instance) SetSecurityGroupIds(v []*string) *Instance {
13489	s.SecurityGroupIds = v
13490	return s
13491}
13492
13493// SetSshHostDsaKeyFingerprint sets the SshHostDsaKeyFingerprint field's value.
13494func (s *Instance) SetSshHostDsaKeyFingerprint(v string) *Instance {
13495	s.SshHostDsaKeyFingerprint = &v
13496	return s
13497}
13498
13499// SetSshHostRsaKeyFingerprint sets the SshHostRsaKeyFingerprint field's value.
13500func (s *Instance) SetSshHostRsaKeyFingerprint(v string) *Instance {
13501	s.SshHostRsaKeyFingerprint = &v
13502	return s
13503}
13504
13505// SetSshKeyName sets the SshKeyName field's value.
13506func (s *Instance) SetSshKeyName(v string) *Instance {
13507	s.SshKeyName = &v
13508	return s
13509}
13510
13511// SetStackId sets the StackId field's value.
13512func (s *Instance) SetStackId(v string) *Instance {
13513	s.StackId = &v
13514	return s
13515}
13516
13517// SetStatus sets the Status field's value.
13518func (s *Instance) SetStatus(v string) *Instance {
13519	s.Status = &v
13520	return s
13521}
13522
13523// SetSubnetId sets the SubnetId field's value.
13524func (s *Instance) SetSubnetId(v string) *Instance {
13525	s.SubnetId = &v
13526	return s
13527}
13528
13529// SetTenancy sets the Tenancy field's value.
13530func (s *Instance) SetTenancy(v string) *Instance {
13531	s.Tenancy = &v
13532	return s
13533}
13534
13535// SetVirtualizationType sets the VirtualizationType field's value.
13536func (s *Instance) SetVirtualizationType(v string) *Instance {
13537	s.VirtualizationType = &v
13538	return s
13539}
13540
13541// Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata
13542// service. For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/sdkfornet/latest/apidocs/Index.html).
13543type InstanceIdentity struct {
13544	_ struct{} `type:"structure"`
13545
13546	// A JSON document that contains the metadata.
13547	Document *string `type:"string"`
13548
13549	// A signature that can be used to verify the document's accuracy and authenticity.
13550	Signature *string `type:"string"`
13551}
13552
13553// String returns the string representation.
13554//
13555// API parameter values that are decorated as "sensitive" in the API will not
13556// be included in the string output. The member name will be present, but the
13557// value will be replaced with "sensitive".
13558func (s InstanceIdentity) String() string {
13559	return awsutil.Prettify(s)
13560}
13561
13562// GoString returns the string representation.
13563//
13564// API parameter values that are decorated as "sensitive" in the API will not
13565// be included in the string output. The member name will be present, but the
13566// value will be replaced with "sensitive".
13567func (s InstanceIdentity) GoString() string {
13568	return s.String()
13569}
13570
13571// SetDocument sets the Document field's value.
13572func (s *InstanceIdentity) SetDocument(v string) *InstanceIdentity {
13573	s.Document = &v
13574	return s
13575}
13576
13577// SetSignature sets the Signature field's value.
13578func (s *InstanceIdentity) SetSignature(v string) *InstanceIdentity {
13579	s.Signature = &v
13580	return s
13581}
13582
13583// Describes how many instances a stack has for each status.
13584type InstancesCount struct {
13585	_ struct{} `type:"structure"`
13586
13587	// The number of instances in the Assigning state.
13588	Assigning *int64 `type:"integer"`
13589
13590	// The number of instances with booting status.
13591	Booting *int64 `type:"integer"`
13592
13593	// The number of instances with connection_lost status.
13594	ConnectionLost *int64 `type:"integer"`
13595
13596	// The number of instances in the Deregistering state.
13597	Deregistering *int64 `type:"integer"`
13598
13599	// The number of instances with online status.
13600	Online *int64 `type:"integer"`
13601
13602	// The number of instances with pending status.
13603	Pending *int64 `type:"integer"`
13604
13605	// The number of instances with rebooting status.
13606	Rebooting *int64 `type:"integer"`
13607
13608	// The number of instances in the Registered state.
13609	Registered *int64 `type:"integer"`
13610
13611	// The number of instances in the Registering state.
13612	Registering *int64 `type:"integer"`
13613
13614	// The number of instances with requested status.
13615	Requested *int64 `type:"integer"`
13616
13617	// The number of instances with running_setup status.
13618	RunningSetup *int64 `type:"integer"`
13619
13620	// The number of instances with setup_failed status.
13621	SetupFailed *int64 `type:"integer"`
13622
13623	// The number of instances with shutting_down status.
13624	ShuttingDown *int64 `type:"integer"`
13625
13626	// The number of instances with start_failed status.
13627	StartFailed *int64 `type:"integer"`
13628
13629	// The number of instances with stop_failed status.
13630	StopFailed *int64 `type:"integer"`
13631
13632	// The number of instances with stopped status.
13633	Stopped *int64 `type:"integer"`
13634
13635	// The number of instances with stopping status.
13636	Stopping *int64 `type:"integer"`
13637
13638	// The number of instances with terminated status.
13639	Terminated *int64 `type:"integer"`
13640
13641	// The number of instances with terminating status.
13642	Terminating *int64 `type:"integer"`
13643
13644	// The number of instances in the Unassigning state.
13645	Unassigning *int64 `type:"integer"`
13646}
13647
13648// String returns the string representation.
13649//
13650// API parameter values that are decorated as "sensitive" in the API will not
13651// be included in the string output. The member name will be present, but the
13652// value will be replaced with "sensitive".
13653func (s InstancesCount) String() string {
13654	return awsutil.Prettify(s)
13655}
13656
13657// GoString returns the string representation.
13658//
13659// API parameter values that are decorated as "sensitive" in the API will not
13660// be included in the string output. The member name will be present, but the
13661// value will be replaced with "sensitive".
13662func (s InstancesCount) GoString() string {
13663	return s.String()
13664}
13665
13666// SetAssigning sets the Assigning field's value.
13667func (s *InstancesCount) SetAssigning(v int64) *InstancesCount {
13668	s.Assigning = &v
13669	return s
13670}
13671
13672// SetBooting sets the Booting field's value.
13673func (s *InstancesCount) SetBooting(v int64) *InstancesCount {
13674	s.Booting = &v
13675	return s
13676}
13677
13678// SetConnectionLost sets the ConnectionLost field's value.
13679func (s *InstancesCount) SetConnectionLost(v int64) *InstancesCount {
13680	s.ConnectionLost = &v
13681	return s
13682}
13683
13684// SetDeregistering sets the Deregistering field's value.
13685func (s *InstancesCount) SetDeregistering(v int64) *InstancesCount {
13686	s.Deregistering = &v
13687	return s
13688}
13689
13690// SetOnline sets the Online field's value.
13691func (s *InstancesCount) SetOnline(v int64) *InstancesCount {
13692	s.Online = &v
13693	return s
13694}
13695
13696// SetPending sets the Pending field's value.
13697func (s *InstancesCount) SetPending(v int64) *InstancesCount {
13698	s.Pending = &v
13699	return s
13700}
13701
13702// SetRebooting sets the Rebooting field's value.
13703func (s *InstancesCount) SetRebooting(v int64) *InstancesCount {
13704	s.Rebooting = &v
13705	return s
13706}
13707
13708// SetRegistered sets the Registered field's value.
13709func (s *InstancesCount) SetRegistered(v int64) *InstancesCount {
13710	s.Registered = &v
13711	return s
13712}
13713
13714// SetRegistering sets the Registering field's value.
13715func (s *InstancesCount) SetRegistering(v int64) *InstancesCount {
13716	s.Registering = &v
13717	return s
13718}
13719
13720// SetRequested sets the Requested field's value.
13721func (s *InstancesCount) SetRequested(v int64) *InstancesCount {
13722	s.Requested = &v
13723	return s
13724}
13725
13726// SetRunningSetup sets the RunningSetup field's value.
13727func (s *InstancesCount) SetRunningSetup(v int64) *InstancesCount {
13728	s.RunningSetup = &v
13729	return s
13730}
13731
13732// SetSetupFailed sets the SetupFailed field's value.
13733func (s *InstancesCount) SetSetupFailed(v int64) *InstancesCount {
13734	s.SetupFailed = &v
13735	return s
13736}
13737
13738// SetShuttingDown sets the ShuttingDown field's value.
13739func (s *InstancesCount) SetShuttingDown(v int64) *InstancesCount {
13740	s.ShuttingDown = &v
13741	return s
13742}
13743
13744// SetStartFailed sets the StartFailed field's value.
13745func (s *InstancesCount) SetStartFailed(v int64) *InstancesCount {
13746	s.StartFailed = &v
13747	return s
13748}
13749
13750// SetStopFailed sets the StopFailed field's value.
13751func (s *InstancesCount) SetStopFailed(v int64) *InstancesCount {
13752	s.StopFailed = &v
13753	return s
13754}
13755
13756// SetStopped sets the Stopped field's value.
13757func (s *InstancesCount) SetStopped(v int64) *InstancesCount {
13758	s.Stopped = &v
13759	return s
13760}
13761
13762// SetStopping sets the Stopping field's value.
13763func (s *InstancesCount) SetStopping(v int64) *InstancesCount {
13764	s.Stopping = &v
13765	return s
13766}
13767
13768// SetTerminated sets the Terminated field's value.
13769func (s *InstancesCount) SetTerminated(v int64) *InstancesCount {
13770	s.Terminated = &v
13771	return s
13772}
13773
13774// SetTerminating sets the Terminating field's value.
13775func (s *InstancesCount) SetTerminating(v int64) *InstancesCount {
13776	s.Terminating = &v
13777	return s
13778}
13779
13780// SetUnassigning sets the Unassigning field's value.
13781func (s *InstancesCount) SetUnassigning(v int64) *InstancesCount {
13782	s.Unassigning = &v
13783	return s
13784}
13785
13786// Describes a layer.
13787type Layer struct {
13788	_ struct{} `type:"structure"`
13789
13790	// The Amazon Resource Number (ARN) of a layer.
13791	Arn *string `type:"string"`
13792
13793	// The layer attributes.
13794	//
13795	// For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes,
13796	// AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value
13797	//
13798	// For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute
13799	// is set to the cluster's ARN.
13800	Attributes map[string]*string `type:"map"`
13801
13802	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
13803	// 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).
13804	AutoAssignElasticIps *bool `type:"boolean"`
13805
13806	// For stacks that are running in a VPC, whether to automatically assign a public
13807	// IP address to the layer's instances. For more information, see How to Edit
13808	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
13809	AutoAssignPublicIps *bool `type:"boolean"`
13810
13811	// The Amazon CloudWatch Logs configuration settings for the layer.
13812	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
13813
13814	// Date when the layer was created.
13815	CreatedAt *string `type:"string"`
13816
13817	// The ARN of the default IAM profile to be used for the layer's EC2 instances.
13818	// For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
13819	CustomInstanceProfileArn *string `type:"string"`
13820
13821	// A JSON formatted string containing the layer's custom stack configuration
13822	// and deployment attributes.
13823	CustomJson *string `type:"string"`
13824
13825	// A LayerCustomRecipes object that specifies the layer's custom recipes.
13826	CustomRecipes *Recipes `type:"structure"`
13827
13828	// An array containing the layer's custom security group IDs.
13829	CustomSecurityGroupIds []*string `type:"list"`
13830
13831	// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
13832	// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs
13833	// a set of standard recipes for each event. You can also provide custom recipes
13834	// for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes
13835	// after the standard recipes. LayerCustomRecipes specifies the custom recipes
13836	// for a particular layer to be run in response to each of the five events.
13837	//
13838	// To specify a recipe, use the cookbook's directory name in the repository
13839	// followed by two colons and the recipe name, which is the recipe's file name
13840	// without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb
13841	// recipe in the repository's phpapp2 folder.
13842	DefaultRecipes *Recipes `type:"structure"`
13843
13844	// An array containing the layer's security group names.
13845	DefaultSecurityGroupNames []*string `type:"list"`
13846
13847	// Whether auto healing is disabled for the layer.
13848	EnableAutoHealing *bool `type:"boolean"`
13849
13850	// Whether to install operating system and package updates when the instance
13851	// boots. The default value is true. If this value is set to false, you must
13852	// then update your instances manually by using CreateDeployment to run the
13853	// update_dependencies stack command or manually running yum (Amazon Linux)
13854	// or apt-get (Ubuntu) on the instances.
13855	//
13856	// We strongly recommend using the default value of true, to ensure that your
13857	// instances have the latest security updates.
13858	InstallUpdatesOnBoot *bool `type:"boolean"`
13859
13860	// The layer ID.
13861	LayerId *string `type:"string"`
13862
13863	// A LifeCycleEventConfiguration object that specifies the Shutdown event configuration.
13864	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
13865
13866	// The layer name.
13867	Name *string `type:"string"`
13868
13869	// An array of Package objects that describe the layer's packages.
13870	Packages []*string `type:"list"`
13871
13872	// The layer short name.
13873	Shortname *string `type:"string"`
13874
13875	// The layer stack ID.
13876	StackId *string `type:"string"`
13877
13878	// The layer type.
13879	Type *string `type:"string" enum:"LayerType"`
13880
13881	// Whether the layer uses Amazon EBS-optimized instances.
13882	UseEbsOptimizedInstances *bool `type:"boolean"`
13883
13884	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
13885	VolumeConfigurations []*VolumeConfiguration `type:"list"`
13886}
13887
13888// String returns the string representation.
13889//
13890// API parameter values that are decorated as "sensitive" in the API will not
13891// be included in the string output. The member name will be present, but the
13892// value will be replaced with "sensitive".
13893func (s Layer) String() string {
13894	return awsutil.Prettify(s)
13895}
13896
13897// GoString returns the string representation.
13898//
13899// API parameter values that are decorated as "sensitive" in the API will not
13900// be included in the string output. The member name will be present, but the
13901// value will be replaced with "sensitive".
13902func (s Layer) GoString() string {
13903	return s.String()
13904}
13905
13906// SetArn sets the Arn field's value.
13907func (s *Layer) SetArn(v string) *Layer {
13908	s.Arn = &v
13909	return s
13910}
13911
13912// SetAttributes sets the Attributes field's value.
13913func (s *Layer) SetAttributes(v map[string]*string) *Layer {
13914	s.Attributes = v
13915	return s
13916}
13917
13918// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
13919func (s *Layer) SetAutoAssignElasticIps(v bool) *Layer {
13920	s.AutoAssignElasticIps = &v
13921	return s
13922}
13923
13924// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
13925func (s *Layer) SetAutoAssignPublicIps(v bool) *Layer {
13926	s.AutoAssignPublicIps = &v
13927	return s
13928}
13929
13930// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
13931func (s *Layer) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *Layer {
13932	s.CloudWatchLogsConfiguration = v
13933	return s
13934}
13935
13936// SetCreatedAt sets the CreatedAt field's value.
13937func (s *Layer) SetCreatedAt(v string) *Layer {
13938	s.CreatedAt = &v
13939	return s
13940}
13941
13942// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
13943func (s *Layer) SetCustomInstanceProfileArn(v string) *Layer {
13944	s.CustomInstanceProfileArn = &v
13945	return s
13946}
13947
13948// SetCustomJson sets the CustomJson field's value.
13949func (s *Layer) SetCustomJson(v string) *Layer {
13950	s.CustomJson = &v
13951	return s
13952}
13953
13954// SetCustomRecipes sets the CustomRecipes field's value.
13955func (s *Layer) SetCustomRecipes(v *Recipes) *Layer {
13956	s.CustomRecipes = v
13957	return s
13958}
13959
13960// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
13961func (s *Layer) SetCustomSecurityGroupIds(v []*string) *Layer {
13962	s.CustomSecurityGroupIds = v
13963	return s
13964}
13965
13966// SetDefaultRecipes sets the DefaultRecipes field's value.
13967func (s *Layer) SetDefaultRecipes(v *Recipes) *Layer {
13968	s.DefaultRecipes = v
13969	return s
13970}
13971
13972// SetDefaultSecurityGroupNames sets the DefaultSecurityGroupNames field's value.
13973func (s *Layer) SetDefaultSecurityGroupNames(v []*string) *Layer {
13974	s.DefaultSecurityGroupNames = v
13975	return s
13976}
13977
13978// SetEnableAutoHealing sets the EnableAutoHealing field's value.
13979func (s *Layer) SetEnableAutoHealing(v bool) *Layer {
13980	s.EnableAutoHealing = &v
13981	return s
13982}
13983
13984// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
13985func (s *Layer) SetInstallUpdatesOnBoot(v bool) *Layer {
13986	s.InstallUpdatesOnBoot = &v
13987	return s
13988}
13989
13990// SetLayerId sets the LayerId field's value.
13991func (s *Layer) SetLayerId(v string) *Layer {
13992	s.LayerId = &v
13993	return s
13994}
13995
13996// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
13997func (s *Layer) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *Layer {
13998	s.LifecycleEventConfiguration = v
13999	return s
14000}
14001
14002// SetName sets the Name field's value.
14003func (s *Layer) SetName(v string) *Layer {
14004	s.Name = &v
14005	return s
14006}
14007
14008// SetPackages sets the Packages field's value.
14009func (s *Layer) SetPackages(v []*string) *Layer {
14010	s.Packages = v
14011	return s
14012}
14013
14014// SetShortname sets the Shortname field's value.
14015func (s *Layer) SetShortname(v string) *Layer {
14016	s.Shortname = &v
14017	return s
14018}
14019
14020// SetStackId sets the StackId field's value.
14021func (s *Layer) SetStackId(v string) *Layer {
14022	s.StackId = &v
14023	return s
14024}
14025
14026// SetType sets the Type field's value.
14027func (s *Layer) SetType(v string) *Layer {
14028	s.Type = &v
14029	return s
14030}
14031
14032// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
14033func (s *Layer) SetUseEbsOptimizedInstances(v bool) *Layer {
14034	s.UseEbsOptimizedInstances = &v
14035	return s
14036}
14037
14038// SetVolumeConfigurations sets the VolumeConfigurations field's value.
14039func (s *Layer) SetVolumeConfigurations(v []*VolumeConfiguration) *Layer {
14040	s.VolumeConfigurations = v
14041	return s
14042}
14043
14044// Specifies the lifecycle event configuration
14045type LifecycleEventConfiguration struct {
14046	_ struct{} `type:"structure"`
14047
14048	// A ShutdownEventConfiguration object that specifies the Shutdown event configuration.
14049	Shutdown *ShutdownEventConfiguration `type:"structure"`
14050}
14051
14052// String returns the string representation.
14053//
14054// API parameter values that are decorated as "sensitive" in the API will not
14055// be included in the string output. The member name will be present, but the
14056// value will be replaced with "sensitive".
14057func (s LifecycleEventConfiguration) String() string {
14058	return awsutil.Prettify(s)
14059}
14060
14061// GoString returns the string representation.
14062//
14063// API parameter values that are decorated as "sensitive" in the API will not
14064// be included in the string output. The member name will be present, but the
14065// value will be replaced with "sensitive".
14066func (s LifecycleEventConfiguration) GoString() string {
14067	return s.String()
14068}
14069
14070// SetShutdown sets the Shutdown field's value.
14071func (s *LifecycleEventConfiguration) SetShutdown(v *ShutdownEventConfiguration) *LifecycleEventConfiguration {
14072	s.Shutdown = v
14073	return s
14074}
14075
14076type ListTagsInput struct {
14077	_ struct{} `type:"structure"`
14078
14079	// Do not use. A validation exception occurs if you add a MaxResults parameter
14080	// to a ListTagsRequest call.
14081	MaxResults *int64 `type:"integer"`
14082
14083	// Do not use. A validation exception occurs if you add a NextToken parameter
14084	// to a ListTagsRequest call.
14085	NextToken *string `type:"string"`
14086
14087	// The stack or layer's Amazon Resource Number (ARN).
14088	//
14089	// ResourceArn is a required field
14090	ResourceArn *string `type:"string" required:"true"`
14091}
14092
14093// String returns the string representation.
14094//
14095// API parameter values that are decorated as "sensitive" in the API will not
14096// be included in the string output. The member name will be present, but the
14097// value will be replaced with "sensitive".
14098func (s ListTagsInput) String() string {
14099	return awsutil.Prettify(s)
14100}
14101
14102// GoString returns the string representation.
14103//
14104// API parameter values that are decorated as "sensitive" in the API will not
14105// be included in the string output. The member name will be present, but the
14106// value will be replaced with "sensitive".
14107func (s ListTagsInput) GoString() string {
14108	return s.String()
14109}
14110
14111// Validate inspects the fields of the type to determine if they are valid.
14112func (s *ListTagsInput) Validate() error {
14113	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
14114	if s.ResourceArn == nil {
14115		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
14116	}
14117
14118	if invalidParams.Len() > 0 {
14119		return invalidParams
14120	}
14121	return nil
14122}
14123
14124// SetMaxResults sets the MaxResults field's value.
14125func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput {
14126	s.MaxResults = &v
14127	return s
14128}
14129
14130// SetNextToken sets the NextToken field's value.
14131func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
14132	s.NextToken = &v
14133	return s
14134}
14135
14136// SetResourceArn sets the ResourceArn field's value.
14137func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput {
14138	s.ResourceArn = &v
14139	return s
14140}
14141
14142// Contains the response to a ListTags request.
14143type ListTagsOutput struct {
14144	_ struct{} `type:"structure"`
14145
14146	// If a paginated request does not return all of the remaining results, this
14147	// parameter is set to a token that you can assign to the request object's NextToken
14148	// parameter to get the next set of results. If the previous paginated request
14149	// returned all of the remaining results, this parameter is set to null.
14150	NextToken *string `type:"string"`
14151
14152	// A set of key-value pairs that contain tag keys and tag values that are attached
14153	// to a stack or layer.
14154	Tags map[string]*string `type:"map"`
14155}
14156
14157// String returns the string representation.
14158//
14159// API parameter values that are decorated as "sensitive" in the API will not
14160// be included in the string output. The member name will be present, but the
14161// value will be replaced with "sensitive".
14162func (s ListTagsOutput) String() string {
14163	return awsutil.Prettify(s)
14164}
14165
14166// GoString returns the string representation.
14167//
14168// API parameter values that are decorated as "sensitive" in the API will not
14169// be included in the string output. The member name will be present, but the
14170// value will be replaced with "sensitive".
14171func (s ListTagsOutput) GoString() string {
14172	return s.String()
14173}
14174
14175// SetNextToken sets the NextToken field's value.
14176func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
14177	s.NextToken = &v
14178	return s
14179}
14180
14181// SetTags sets the Tags field's value.
14182func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
14183	s.Tags = v
14184	return s
14185}
14186
14187// Describes a layer's load-based auto scaling configuration.
14188type LoadBasedAutoScalingConfiguration struct {
14189	_ struct{} `type:"structure"`
14190
14191	// An AutoScalingThresholds object that describes the downscaling configuration,
14192	// which defines how and when AWS OpsWorks Stacks reduces the number of instances.
14193	DownScaling *AutoScalingThresholds `type:"structure"`
14194
14195	// Whether load-based auto scaling is enabled for the layer.
14196	Enable *bool `type:"boolean"`
14197
14198	// The layer ID.
14199	LayerId *string `type:"string"`
14200
14201	// An AutoScalingThresholds object that describes the upscaling configuration,
14202	// which defines how and when AWS OpsWorks Stacks increases the number of instances.
14203	UpScaling *AutoScalingThresholds `type:"structure"`
14204}
14205
14206// String returns the string representation.
14207//
14208// API parameter values that are decorated as "sensitive" in the API will not
14209// be included in the string output. The member name will be present, but the
14210// value will be replaced with "sensitive".
14211func (s LoadBasedAutoScalingConfiguration) String() string {
14212	return awsutil.Prettify(s)
14213}
14214
14215// GoString returns the string representation.
14216//
14217// API parameter values that are decorated as "sensitive" in the API will not
14218// be included in the string output. The member name will be present, but the
14219// value will be replaced with "sensitive".
14220func (s LoadBasedAutoScalingConfiguration) GoString() string {
14221	return s.String()
14222}
14223
14224// SetDownScaling sets the DownScaling field's value.
14225func (s *LoadBasedAutoScalingConfiguration) SetDownScaling(v *AutoScalingThresholds) *LoadBasedAutoScalingConfiguration {
14226	s.DownScaling = v
14227	return s
14228}
14229
14230// SetEnable sets the Enable field's value.
14231func (s *LoadBasedAutoScalingConfiguration) SetEnable(v bool) *LoadBasedAutoScalingConfiguration {
14232	s.Enable = &v
14233	return s
14234}
14235
14236// SetLayerId sets the LayerId field's value.
14237func (s *LoadBasedAutoScalingConfiguration) SetLayerId(v string) *LoadBasedAutoScalingConfiguration {
14238	s.LayerId = &v
14239	return s
14240}
14241
14242// SetUpScaling sets the UpScaling field's value.
14243func (s *LoadBasedAutoScalingConfiguration) SetUpScaling(v *AutoScalingThresholds) *LoadBasedAutoScalingConfiguration {
14244	s.UpScaling = v
14245	return s
14246}
14247
14248// Describes supported operating systems in AWS OpsWorks Stacks.
14249type OperatingSystem struct {
14250	_ struct{} `type:"structure"`
14251
14252	// Supported configuration manager name and versions for an AWS OpsWorks Stacks
14253	// operating system.
14254	ConfigurationManagers []*OperatingSystemConfigurationManager `type:"list"`
14255
14256	// The ID of a supported operating system, such as Amazon Linux 2018.03.
14257	Id *string `type:"string"`
14258
14259	// The name of the operating system, such as Amazon Linux 2018.03.
14260	Name *string `type:"string"`
14261
14262	// A short name for the operating system manufacturer.
14263	ReportedName *string `type:"string"`
14264
14265	// The version of the operating system, including the release and edition, if
14266	// applicable.
14267	ReportedVersion *string `type:"string"`
14268
14269	// Indicates that an operating system is not supported for new instances.
14270	Supported *bool `type:"boolean"`
14271
14272	// The type of a supported operating system, either Linux or Windows.
14273	Type *string `type:"string"`
14274}
14275
14276// String returns the string representation.
14277//
14278// API parameter values that are decorated as "sensitive" in the API will not
14279// be included in the string output. The member name will be present, but the
14280// value will be replaced with "sensitive".
14281func (s OperatingSystem) String() string {
14282	return awsutil.Prettify(s)
14283}
14284
14285// GoString returns the string representation.
14286//
14287// API parameter values that are decorated as "sensitive" in the API will not
14288// be included in the string output. The member name will be present, but the
14289// value will be replaced with "sensitive".
14290func (s OperatingSystem) GoString() string {
14291	return s.String()
14292}
14293
14294// SetConfigurationManagers sets the ConfigurationManagers field's value.
14295func (s *OperatingSystem) SetConfigurationManagers(v []*OperatingSystemConfigurationManager) *OperatingSystem {
14296	s.ConfigurationManagers = v
14297	return s
14298}
14299
14300// SetId sets the Id field's value.
14301func (s *OperatingSystem) SetId(v string) *OperatingSystem {
14302	s.Id = &v
14303	return s
14304}
14305
14306// SetName sets the Name field's value.
14307func (s *OperatingSystem) SetName(v string) *OperatingSystem {
14308	s.Name = &v
14309	return s
14310}
14311
14312// SetReportedName sets the ReportedName field's value.
14313func (s *OperatingSystem) SetReportedName(v string) *OperatingSystem {
14314	s.ReportedName = &v
14315	return s
14316}
14317
14318// SetReportedVersion sets the ReportedVersion field's value.
14319func (s *OperatingSystem) SetReportedVersion(v string) *OperatingSystem {
14320	s.ReportedVersion = &v
14321	return s
14322}
14323
14324// SetSupported sets the Supported field's value.
14325func (s *OperatingSystem) SetSupported(v bool) *OperatingSystem {
14326	s.Supported = &v
14327	return s
14328}
14329
14330// SetType sets the Type field's value.
14331func (s *OperatingSystem) SetType(v string) *OperatingSystem {
14332	s.Type = &v
14333	return s
14334}
14335
14336// A block that contains information about the configuration manager (Chef)
14337// and the versions of the configuration manager that are supported for an operating
14338// system.
14339type OperatingSystemConfigurationManager struct {
14340	_ struct{} `type:"structure"`
14341
14342	// The name of the configuration manager, which is Chef.
14343	Name *string `type:"string"`
14344
14345	// The versions of the configuration manager that are supported by an operating
14346	// system.
14347	Version *string `type:"string"`
14348}
14349
14350// String returns the string representation.
14351//
14352// API parameter values that are decorated as "sensitive" in the API will not
14353// be included in the string output. The member name will be present, but the
14354// value will be replaced with "sensitive".
14355func (s OperatingSystemConfigurationManager) String() string {
14356	return awsutil.Prettify(s)
14357}
14358
14359// GoString returns the string representation.
14360//
14361// API parameter values that are decorated as "sensitive" in the API will not
14362// be included in the string output. The member name will be present, but the
14363// value will be replaced with "sensitive".
14364func (s OperatingSystemConfigurationManager) GoString() string {
14365	return s.String()
14366}
14367
14368// SetName sets the Name field's value.
14369func (s *OperatingSystemConfigurationManager) SetName(v string) *OperatingSystemConfigurationManager {
14370	s.Name = &v
14371	return s
14372}
14373
14374// SetVersion sets the Version field's value.
14375func (s *OperatingSystemConfigurationManager) SetVersion(v string) *OperatingSystemConfigurationManager {
14376	s.Version = &v
14377	return s
14378}
14379
14380// Describes stack or user permissions.
14381type Permission struct {
14382	_ struct{} `type:"structure"`
14383
14384	// Whether the user can use SSH.
14385	AllowSsh *bool `type:"boolean"`
14386
14387	// Whether the user can use sudo.
14388	AllowSudo *bool `type:"boolean"`
14389
14390	// The Amazon Resource Name (ARN) for an AWS Identity and Access Management
14391	// (IAM) role. For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
14392	IamUserArn *string `type:"string"`
14393
14394	// The user's permission level, which must be the following:
14395	//
14396	//    * deny
14397	//
14398	//    * show
14399	//
14400	//    * deploy
14401	//
14402	//    * manage
14403	//
14404	//    * iam_only
14405	//
14406	// For more information on the permissions associated with these levels, see
14407	// Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html)
14408	Level *string `type:"string"`
14409
14410	// A stack ID.
14411	StackId *string `type:"string"`
14412}
14413
14414// String returns the string representation.
14415//
14416// API parameter values that are decorated as "sensitive" in the API will not
14417// be included in the string output. The member name will be present, but the
14418// value will be replaced with "sensitive".
14419func (s Permission) String() string {
14420	return awsutil.Prettify(s)
14421}
14422
14423// GoString returns the string representation.
14424//
14425// API parameter values that are decorated as "sensitive" in the API will not
14426// be included in the string output. The member name will be present, but the
14427// value will be replaced with "sensitive".
14428func (s Permission) GoString() string {
14429	return s.String()
14430}
14431
14432// SetAllowSsh sets the AllowSsh field's value.
14433func (s *Permission) SetAllowSsh(v bool) *Permission {
14434	s.AllowSsh = &v
14435	return s
14436}
14437
14438// SetAllowSudo sets the AllowSudo field's value.
14439func (s *Permission) SetAllowSudo(v bool) *Permission {
14440	s.AllowSudo = &v
14441	return s
14442}
14443
14444// SetIamUserArn sets the IamUserArn field's value.
14445func (s *Permission) SetIamUserArn(v string) *Permission {
14446	s.IamUserArn = &v
14447	return s
14448}
14449
14450// SetLevel sets the Level field's value.
14451func (s *Permission) SetLevel(v string) *Permission {
14452	s.Level = &v
14453	return s
14454}
14455
14456// SetStackId sets the StackId field's value.
14457func (s *Permission) SetStackId(v string) *Permission {
14458	s.StackId = &v
14459	return s
14460}
14461
14462// Describes an instance's RAID array.
14463type RaidArray struct {
14464	_ struct{} `type:"structure"`
14465
14466	// The array's Availability Zone. For more information, see Regions and Endpoints
14467	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
14468	AvailabilityZone *string `type:"string"`
14469
14470	// When the RAID array was created.
14471	CreatedAt *string `type:"string"`
14472
14473	// The array's Linux device. For example /dev/mdadm0.
14474	Device *string `type:"string"`
14475
14476	// The instance ID.
14477	InstanceId *string `type:"string"`
14478
14479	// For PIOPS volumes, the IOPS per disk.
14480	Iops *int64 `type:"integer"`
14481
14482	// The array's mount point.
14483	MountPoint *string `type:"string"`
14484
14485	// The array name.
14486	Name *string `type:"string"`
14487
14488	// The number of disks in the array.
14489	NumberOfDisks *int64 `type:"integer"`
14490
14491	// The array ID.
14492	RaidArrayId *string `type:"string"`
14493
14494	// The RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels).
14495	RaidLevel *int64 `type:"integer"`
14496
14497	// The array's size.
14498	Size *int64 `type:"integer"`
14499
14500	// The stack ID.
14501	StackId *string `type:"string"`
14502
14503	// The volume type, standard or PIOPS.
14504	VolumeType *string `type:"string"`
14505}
14506
14507// String returns the string representation.
14508//
14509// API parameter values that are decorated as "sensitive" in the API will not
14510// be included in the string output. The member name will be present, but the
14511// value will be replaced with "sensitive".
14512func (s RaidArray) String() string {
14513	return awsutil.Prettify(s)
14514}
14515
14516// GoString returns the string representation.
14517//
14518// API parameter values that are decorated as "sensitive" in the API will not
14519// be included in the string output. The member name will be present, but the
14520// value will be replaced with "sensitive".
14521func (s RaidArray) GoString() string {
14522	return s.String()
14523}
14524
14525// SetAvailabilityZone sets the AvailabilityZone field's value.
14526func (s *RaidArray) SetAvailabilityZone(v string) *RaidArray {
14527	s.AvailabilityZone = &v
14528	return s
14529}
14530
14531// SetCreatedAt sets the CreatedAt field's value.
14532func (s *RaidArray) SetCreatedAt(v string) *RaidArray {
14533	s.CreatedAt = &v
14534	return s
14535}
14536
14537// SetDevice sets the Device field's value.
14538func (s *RaidArray) SetDevice(v string) *RaidArray {
14539	s.Device = &v
14540	return s
14541}
14542
14543// SetInstanceId sets the InstanceId field's value.
14544func (s *RaidArray) SetInstanceId(v string) *RaidArray {
14545	s.InstanceId = &v
14546	return s
14547}
14548
14549// SetIops sets the Iops field's value.
14550func (s *RaidArray) SetIops(v int64) *RaidArray {
14551	s.Iops = &v
14552	return s
14553}
14554
14555// SetMountPoint sets the MountPoint field's value.
14556func (s *RaidArray) SetMountPoint(v string) *RaidArray {
14557	s.MountPoint = &v
14558	return s
14559}
14560
14561// SetName sets the Name field's value.
14562func (s *RaidArray) SetName(v string) *RaidArray {
14563	s.Name = &v
14564	return s
14565}
14566
14567// SetNumberOfDisks sets the NumberOfDisks field's value.
14568func (s *RaidArray) SetNumberOfDisks(v int64) *RaidArray {
14569	s.NumberOfDisks = &v
14570	return s
14571}
14572
14573// SetRaidArrayId sets the RaidArrayId field's value.
14574func (s *RaidArray) SetRaidArrayId(v string) *RaidArray {
14575	s.RaidArrayId = &v
14576	return s
14577}
14578
14579// SetRaidLevel sets the RaidLevel field's value.
14580func (s *RaidArray) SetRaidLevel(v int64) *RaidArray {
14581	s.RaidLevel = &v
14582	return s
14583}
14584
14585// SetSize sets the Size field's value.
14586func (s *RaidArray) SetSize(v int64) *RaidArray {
14587	s.Size = &v
14588	return s
14589}
14590
14591// SetStackId sets the StackId field's value.
14592func (s *RaidArray) SetStackId(v string) *RaidArray {
14593	s.StackId = &v
14594	return s
14595}
14596
14597// SetVolumeType sets the VolumeType field's value.
14598func (s *RaidArray) SetVolumeType(v string) *RaidArray {
14599	s.VolumeType = &v
14600	return s
14601}
14602
14603// Describes an Amazon RDS instance.
14604type RdsDbInstance struct {
14605	_ struct{} `type:"structure"`
14606
14607	// The instance's address.
14608	Address *string `type:"string"`
14609
14610	// The DB instance identifier.
14611	DbInstanceIdentifier *string `type:"string"`
14612
14613	// AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.
14614	DbPassword *string `type:"string"`
14615
14616	// The master user name.
14617	DbUser *string `type:"string"`
14618
14619	// The instance's database engine.
14620	Engine *string `type:"string"`
14621
14622	// Set to true if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance.
14623	// AWS OpsWorks Stacks attempts to discover the instance only once. If this
14624	// value is set to true, you must deregister the instance, and then register
14625	// it again.
14626	MissingOnRds *bool `type:"boolean"`
14627
14628	// The instance's ARN.
14629	RdsDbInstanceArn *string `type:"string"`
14630
14631	// The instance's AWS region.
14632	Region *string `type:"string"`
14633
14634	// The ID of the stack with which the instance is registered.
14635	StackId *string `type:"string"`
14636}
14637
14638// String returns the string representation.
14639//
14640// API parameter values that are decorated as "sensitive" in the API will not
14641// be included in the string output. The member name will be present, but the
14642// value will be replaced with "sensitive".
14643func (s RdsDbInstance) String() string {
14644	return awsutil.Prettify(s)
14645}
14646
14647// GoString returns the string representation.
14648//
14649// API parameter values that are decorated as "sensitive" in the API will not
14650// be included in the string output. The member name will be present, but the
14651// value will be replaced with "sensitive".
14652func (s RdsDbInstance) GoString() string {
14653	return s.String()
14654}
14655
14656// SetAddress sets the Address field's value.
14657func (s *RdsDbInstance) SetAddress(v string) *RdsDbInstance {
14658	s.Address = &v
14659	return s
14660}
14661
14662// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
14663func (s *RdsDbInstance) SetDbInstanceIdentifier(v string) *RdsDbInstance {
14664	s.DbInstanceIdentifier = &v
14665	return s
14666}
14667
14668// SetDbPassword sets the DbPassword field's value.
14669func (s *RdsDbInstance) SetDbPassword(v string) *RdsDbInstance {
14670	s.DbPassword = &v
14671	return s
14672}
14673
14674// SetDbUser sets the DbUser field's value.
14675func (s *RdsDbInstance) SetDbUser(v string) *RdsDbInstance {
14676	s.DbUser = &v
14677	return s
14678}
14679
14680// SetEngine sets the Engine field's value.
14681func (s *RdsDbInstance) SetEngine(v string) *RdsDbInstance {
14682	s.Engine = &v
14683	return s
14684}
14685
14686// SetMissingOnRds sets the MissingOnRds field's value.
14687func (s *RdsDbInstance) SetMissingOnRds(v bool) *RdsDbInstance {
14688	s.MissingOnRds = &v
14689	return s
14690}
14691
14692// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
14693func (s *RdsDbInstance) SetRdsDbInstanceArn(v string) *RdsDbInstance {
14694	s.RdsDbInstanceArn = &v
14695	return s
14696}
14697
14698// SetRegion sets the Region field's value.
14699func (s *RdsDbInstance) SetRegion(v string) *RdsDbInstance {
14700	s.Region = &v
14701	return s
14702}
14703
14704// SetStackId sets the StackId field's value.
14705func (s *RdsDbInstance) SetStackId(v string) *RdsDbInstance {
14706	s.StackId = &v
14707	return s
14708}
14709
14710type RebootInstanceInput struct {
14711	_ struct{} `type:"structure"`
14712
14713	// The instance ID.
14714	//
14715	// InstanceId is a required field
14716	InstanceId *string `type:"string" required:"true"`
14717}
14718
14719// String returns the string representation.
14720//
14721// API parameter values that are decorated as "sensitive" in the API will not
14722// be included in the string output. The member name will be present, but the
14723// value will be replaced with "sensitive".
14724func (s RebootInstanceInput) String() string {
14725	return awsutil.Prettify(s)
14726}
14727
14728// GoString returns the string representation.
14729//
14730// API parameter values that are decorated as "sensitive" in the API will not
14731// be included in the string output. The member name will be present, but the
14732// value will be replaced with "sensitive".
14733func (s RebootInstanceInput) GoString() string {
14734	return s.String()
14735}
14736
14737// Validate inspects the fields of the type to determine if they are valid.
14738func (s *RebootInstanceInput) Validate() error {
14739	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
14740	if s.InstanceId == nil {
14741		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14742	}
14743
14744	if invalidParams.Len() > 0 {
14745		return invalidParams
14746	}
14747	return nil
14748}
14749
14750// SetInstanceId sets the InstanceId field's value.
14751func (s *RebootInstanceInput) SetInstanceId(v string) *RebootInstanceInput {
14752	s.InstanceId = &v
14753	return s
14754}
14755
14756type RebootInstanceOutput struct {
14757	_ struct{} `type:"structure"`
14758}
14759
14760// String returns the string representation.
14761//
14762// API parameter values that are decorated as "sensitive" in the API will not
14763// be included in the string output. The member name will be present, but the
14764// value will be replaced with "sensitive".
14765func (s RebootInstanceOutput) String() string {
14766	return awsutil.Prettify(s)
14767}
14768
14769// GoString returns the string representation.
14770//
14771// API parameter values that are decorated as "sensitive" in the API will not
14772// be included in the string output. The member name will be present, but the
14773// value will be replaced with "sensitive".
14774func (s RebootInstanceOutput) GoString() string {
14775	return s.String()
14776}
14777
14778// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
14779// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs
14780// a set of standard recipes for each event. In addition, you can provide custom
14781// recipes for any or all layers and events. AWS OpsWorks Stacks runs custom
14782// event recipes after the standard recipes. LayerCustomRecipes specifies the
14783// custom recipes for a particular layer to be run in response to each of the
14784// five events.
14785//
14786// To specify a recipe, use the cookbook's directory name in the repository
14787// followed by two colons and the recipe name, which is the recipe's file name
14788// without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb
14789// recipe in the repository's phpapp2 folder.
14790type Recipes struct {
14791	_ struct{} `type:"structure"`
14792
14793	// An array of custom recipe names to be run following a configure event.
14794	Configure []*string `type:"list"`
14795
14796	// An array of custom recipe names to be run following a deploy event.
14797	Deploy []*string `type:"list"`
14798
14799	// An array of custom recipe names to be run following a setup event.
14800	Setup []*string `type:"list"`
14801
14802	// An array of custom recipe names to be run following a shutdown event.
14803	Shutdown []*string `type:"list"`
14804
14805	// An array of custom recipe names to be run following a undeploy event.
14806	Undeploy []*string `type:"list"`
14807}
14808
14809// String returns the string representation.
14810//
14811// API parameter values that are decorated as "sensitive" in the API will not
14812// be included in the string output. The member name will be present, but the
14813// value will be replaced with "sensitive".
14814func (s Recipes) String() string {
14815	return awsutil.Prettify(s)
14816}
14817
14818// GoString returns the string representation.
14819//
14820// API parameter values that are decorated as "sensitive" in the API will not
14821// be included in the string output. The member name will be present, but the
14822// value will be replaced with "sensitive".
14823func (s Recipes) GoString() string {
14824	return s.String()
14825}
14826
14827// SetConfigure sets the Configure field's value.
14828func (s *Recipes) SetConfigure(v []*string) *Recipes {
14829	s.Configure = v
14830	return s
14831}
14832
14833// SetDeploy sets the Deploy field's value.
14834func (s *Recipes) SetDeploy(v []*string) *Recipes {
14835	s.Deploy = v
14836	return s
14837}
14838
14839// SetSetup sets the Setup field's value.
14840func (s *Recipes) SetSetup(v []*string) *Recipes {
14841	s.Setup = v
14842	return s
14843}
14844
14845// SetShutdown sets the Shutdown field's value.
14846func (s *Recipes) SetShutdown(v []*string) *Recipes {
14847	s.Shutdown = v
14848	return s
14849}
14850
14851// SetUndeploy sets the Undeploy field's value.
14852func (s *Recipes) SetUndeploy(v []*string) *Recipes {
14853	s.Undeploy = v
14854	return s
14855}
14856
14857type RegisterEcsClusterInput struct {
14858	_ struct{} `type:"structure"`
14859
14860	// The cluster's ARN.
14861	//
14862	// EcsClusterArn is a required field
14863	EcsClusterArn *string `type:"string" required:"true"`
14864
14865	// The stack ID.
14866	//
14867	// StackId is a required field
14868	StackId *string `type:"string" required:"true"`
14869}
14870
14871// String returns the string representation.
14872//
14873// API parameter values that are decorated as "sensitive" in the API will not
14874// be included in the string output. The member name will be present, but the
14875// value will be replaced with "sensitive".
14876func (s RegisterEcsClusterInput) String() string {
14877	return awsutil.Prettify(s)
14878}
14879
14880// GoString returns the string representation.
14881//
14882// API parameter values that are decorated as "sensitive" in the API will not
14883// be included in the string output. The member name will be present, but the
14884// value will be replaced with "sensitive".
14885func (s RegisterEcsClusterInput) GoString() string {
14886	return s.String()
14887}
14888
14889// Validate inspects the fields of the type to determine if they are valid.
14890func (s *RegisterEcsClusterInput) Validate() error {
14891	invalidParams := request.ErrInvalidParams{Context: "RegisterEcsClusterInput"}
14892	if s.EcsClusterArn == nil {
14893		invalidParams.Add(request.NewErrParamRequired("EcsClusterArn"))
14894	}
14895	if s.StackId == nil {
14896		invalidParams.Add(request.NewErrParamRequired("StackId"))
14897	}
14898
14899	if invalidParams.Len() > 0 {
14900		return invalidParams
14901	}
14902	return nil
14903}
14904
14905// SetEcsClusterArn sets the EcsClusterArn field's value.
14906func (s *RegisterEcsClusterInput) SetEcsClusterArn(v string) *RegisterEcsClusterInput {
14907	s.EcsClusterArn = &v
14908	return s
14909}
14910
14911// SetStackId sets the StackId field's value.
14912func (s *RegisterEcsClusterInput) SetStackId(v string) *RegisterEcsClusterInput {
14913	s.StackId = &v
14914	return s
14915}
14916
14917// Contains the response to a RegisterEcsCluster request.
14918type RegisterEcsClusterOutput struct {
14919	_ struct{} `type:"structure"`
14920
14921	// The cluster's ARN.
14922	EcsClusterArn *string `type:"string"`
14923}
14924
14925// String returns the string representation.
14926//
14927// API parameter values that are decorated as "sensitive" in the API will not
14928// be included in the string output. The member name will be present, but the
14929// value will be replaced with "sensitive".
14930func (s RegisterEcsClusterOutput) String() string {
14931	return awsutil.Prettify(s)
14932}
14933
14934// GoString returns the string representation.
14935//
14936// API parameter values that are decorated as "sensitive" in the API will not
14937// be included in the string output. The member name will be present, but the
14938// value will be replaced with "sensitive".
14939func (s RegisterEcsClusterOutput) GoString() string {
14940	return s.String()
14941}
14942
14943// SetEcsClusterArn sets the EcsClusterArn field's value.
14944func (s *RegisterEcsClusterOutput) SetEcsClusterArn(v string) *RegisterEcsClusterOutput {
14945	s.EcsClusterArn = &v
14946	return s
14947}
14948
14949type RegisterElasticIpInput struct {
14950	_ struct{} `type:"structure"`
14951
14952	// The Elastic IP address.
14953	//
14954	// ElasticIp is a required field
14955	ElasticIp *string `type:"string" required:"true"`
14956
14957	// The stack ID.
14958	//
14959	// StackId is a required field
14960	StackId *string `type:"string" required:"true"`
14961}
14962
14963// String returns the string representation.
14964//
14965// API parameter values that are decorated as "sensitive" in the API will not
14966// be included in the string output. The member name will be present, but the
14967// value will be replaced with "sensitive".
14968func (s RegisterElasticIpInput) String() string {
14969	return awsutil.Prettify(s)
14970}
14971
14972// GoString returns the string representation.
14973//
14974// API parameter values that are decorated as "sensitive" in the API will not
14975// be included in the string output. The member name will be present, but the
14976// value will be replaced with "sensitive".
14977func (s RegisterElasticIpInput) GoString() string {
14978	return s.String()
14979}
14980
14981// Validate inspects the fields of the type to determine if they are valid.
14982func (s *RegisterElasticIpInput) Validate() error {
14983	invalidParams := request.ErrInvalidParams{Context: "RegisterElasticIpInput"}
14984	if s.ElasticIp == nil {
14985		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
14986	}
14987	if s.StackId == nil {
14988		invalidParams.Add(request.NewErrParamRequired("StackId"))
14989	}
14990
14991	if invalidParams.Len() > 0 {
14992		return invalidParams
14993	}
14994	return nil
14995}
14996
14997// SetElasticIp sets the ElasticIp field's value.
14998func (s *RegisterElasticIpInput) SetElasticIp(v string) *RegisterElasticIpInput {
14999	s.ElasticIp = &v
15000	return s
15001}
15002
15003// SetStackId sets the StackId field's value.
15004func (s *RegisterElasticIpInput) SetStackId(v string) *RegisterElasticIpInput {
15005	s.StackId = &v
15006	return s
15007}
15008
15009// Contains the response to a RegisterElasticIp request.
15010type RegisterElasticIpOutput struct {
15011	_ struct{} `type:"structure"`
15012
15013	// The Elastic IP address.
15014	ElasticIp *string `type:"string"`
15015}
15016
15017// String returns the string representation.
15018//
15019// API parameter values that are decorated as "sensitive" in the API will not
15020// be included in the string output. The member name will be present, but the
15021// value will be replaced with "sensitive".
15022func (s RegisterElasticIpOutput) String() string {
15023	return awsutil.Prettify(s)
15024}
15025
15026// GoString returns the string representation.
15027//
15028// API parameter values that are decorated as "sensitive" in the API will not
15029// be included in the string output. The member name will be present, but the
15030// value will be replaced with "sensitive".
15031func (s RegisterElasticIpOutput) GoString() string {
15032	return s.String()
15033}
15034
15035// SetElasticIp sets the ElasticIp field's value.
15036func (s *RegisterElasticIpOutput) SetElasticIp(v string) *RegisterElasticIpOutput {
15037	s.ElasticIp = &v
15038	return s
15039}
15040
15041type RegisterInstanceInput struct {
15042	_ struct{} `type:"structure"`
15043
15044	// The instance's hostname.
15045	Hostname *string `type:"string"`
15046
15047	// An InstanceIdentity object that contains the instance's identity.
15048	InstanceIdentity *InstanceIdentity `type:"structure"`
15049
15050	// The instance's private IP address.
15051	PrivateIp *string `type:"string"`
15052
15053	// The instance's public IP address.
15054	PublicIp *string `type:"string"`
15055
15056	// The instances public RSA key. This key is used to encrypt communication between
15057	// the instance and the service.
15058	RsaPublicKey *string `type:"string"`
15059
15060	// The instances public RSA key fingerprint.
15061	RsaPublicKeyFingerprint *string `type:"string"`
15062
15063	// The ID of the stack that the instance is to be registered with.
15064	//
15065	// StackId is a required field
15066	StackId *string `type:"string" required:"true"`
15067}
15068
15069// String returns the string representation.
15070//
15071// API parameter values that are decorated as "sensitive" in the API will not
15072// be included in the string output. The member name will be present, but the
15073// value will be replaced with "sensitive".
15074func (s RegisterInstanceInput) String() string {
15075	return awsutil.Prettify(s)
15076}
15077
15078// GoString returns the string representation.
15079//
15080// API parameter values that are decorated as "sensitive" in the API will not
15081// be included in the string output. The member name will be present, but the
15082// value will be replaced with "sensitive".
15083func (s RegisterInstanceInput) GoString() string {
15084	return s.String()
15085}
15086
15087// Validate inspects the fields of the type to determine if they are valid.
15088func (s *RegisterInstanceInput) Validate() error {
15089	invalidParams := request.ErrInvalidParams{Context: "RegisterInstanceInput"}
15090	if s.StackId == nil {
15091		invalidParams.Add(request.NewErrParamRequired("StackId"))
15092	}
15093
15094	if invalidParams.Len() > 0 {
15095		return invalidParams
15096	}
15097	return nil
15098}
15099
15100// SetHostname sets the Hostname field's value.
15101func (s *RegisterInstanceInput) SetHostname(v string) *RegisterInstanceInput {
15102	s.Hostname = &v
15103	return s
15104}
15105
15106// SetInstanceIdentity sets the InstanceIdentity field's value.
15107func (s *RegisterInstanceInput) SetInstanceIdentity(v *InstanceIdentity) *RegisterInstanceInput {
15108	s.InstanceIdentity = v
15109	return s
15110}
15111
15112// SetPrivateIp sets the PrivateIp field's value.
15113func (s *RegisterInstanceInput) SetPrivateIp(v string) *RegisterInstanceInput {
15114	s.PrivateIp = &v
15115	return s
15116}
15117
15118// SetPublicIp sets the PublicIp field's value.
15119func (s *RegisterInstanceInput) SetPublicIp(v string) *RegisterInstanceInput {
15120	s.PublicIp = &v
15121	return s
15122}
15123
15124// SetRsaPublicKey sets the RsaPublicKey field's value.
15125func (s *RegisterInstanceInput) SetRsaPublicKey(v string) *RegisterInstanceInput {
15126	s.RsaPublicKey = &v
15127	return s
15128}
15129
15130// SetRsaPublicKeyFingerprint sets the RsaPublicKeyFingerprint field's value.
15131func (s *RegisterInstanceInput) SetRsaPublicKeyFingerprint(v string) *RegisterInstanceInput {
15132	s.RsaPublicKeyFingerprint = &v
15133	return s
15134}
15135
15136// SetStackId sets the StackId field's value.
15137func (s *RegisterInstanceInput) SetStackId(v string) *RegisterInstanceInput {
15138	s.StackId = &v
15139	return s
15140}
15141
15142// Contains the response to a RegisterInstanceResult request.
15143type RegisterInstanceOutput struct {
15144	_ struct{} `type:"structure"`
15145
15146	// The registered instance's AWS OpsWorks Stacks ID.
15147	InstanceId *string `type:"string"`
15148}
15149
15150// String returns the string representation.
15151//
15152// API parameter values that are decorated as "sensitive" in the API will not
15153// be included in the string output. The member name will be present, but the
15154// value will be replaced with "sensitive".
15155func (s RegisterInstanceOutput) String() string {
15156	return awsutil.Prettify(s)
15157}
15158
15159// GoString returns the string representation.
15160//
15161// API parameter values that are decorated as "sensitive" in the API will not
15162// be included in the string output. The member name will be present, but the
15163// value will be replaced with "sensitive".
15164func (s RegisterInstanceOutput) GoString() string {
15165	return s.String()
15166}
15167
15168// SetInstanceId sets the InstanceId field's value.
15169func (s *RegisterInstanceOutput) SetInstanceId(v string) *RegisterInstanceOutput {
15170	s.InstanceId = &v
15171	return s
15172}
15173
15174type RegisterRdsDbInstanceInput struct {
15175	_ struct{} `type:"structure"`
15176
15177	// The database password.
15178	//
15179	// DbPassword is a required field
15180	DbPassword *string `type:"string" required:"true"`
15181
15182	// The database's master user name.
15183	//
15184	// DbUser is a required field
15185	DbUser *string `type:"string" required:"true"`
15186
15187	// The Amazon RDS instance's ARN.
15188	//
15189	// RdsDbInstanceArn is a required field
15190	RdsDbInstanceArn *string `type:"string" required:"true"`
15191
15192	// The stack ID.
15193	//
15194	// StackId is a required field
15195	StackId *string `type:"string" required:"true"`
15196}
15197
15198// String returns the string representation.
15199//
15200// API parameter values that are decorated as "sensitive" in the API will not
15201// be included in the string output. The member name will be present, but the
15202// value will be replaced with "sensitive".
15203func (s RegisterRdsDbInstanceInput) String() string {
15204	return awsutil.Prettify(s)
15205}
15206
15207// GoString returns the string representation.
15208//
15209// API parameter values that are decorated as "sensitive" in the API will not
15210// be included in the string output. The member name will be present, but the
15211// value will be replaced with "sensitive".
15212func (s RegisterRdsDbInstanceInput) GoString() string {
15213	return s.String()
15214}
15215
15216// Validate inspects the fields of the type to determine if they are valid.
15217func (s *RegisterRdsDbInstanceInput) Validate() error {
15218	invalidParams := request.ErrInvalidParams{Context: "RegisterRdsDbInstanceInput"}
15219	if s.DbPassword == nil {
15220		invalidParams.Add(request.NewErrParamRequired("DbPassword"))
15221	}
15222	if s.DbUser == nil {
15223		invalidParams.Add(request.NewErrParamRequired("DbUser"))
15224	}
15225	if s.RdsDbInstanceArn == nil {
15226		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
15227	}
15228	if s.StackId == nil {
15229		invalidParams.Add(request.NewErrParamRequired("StackId"))
15230	}
15231
15232	if invalidParams.Len() > 0 {
15233		return invalidParams
15234	}
15235	return nil
15236}
15237
15238// SetDbPassword sets the DbPassword field's value.
15239func (s *RegisterRdsDbInstanceInput) SetDbPassword(v string) *RegisterRdsDbInstanceInput {
15240	s.DbPassword = &v
15241	return s
15242}
15243
15244// SetDbUser sets the DbUser field's value.
15245func (s *RegisterRdsDbInstanceInput) SetDbUser(v string) *RegisterRdsDbInstanceInput {
15246	s.DbUser = &v
15247	return s
15248}
15249
15250// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
15251func (s *RegisterRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *RegisterRdsDbInstanceInput {
15252	s.RdsDbInstanceArn = &v
15253	return s
15254}
15255
15256// SetStackId sets the StackId field's value.
15257func (s *RegisterRdsDbInstanceInput) SetStackId(v string) *RegisterRdsDbInstanceInput {
15258	s.StackId = &v
15259	return s
15260}
15261
15262type RegisterRdsDbInstanceOutput struct {
15263	_ struct{} `type:"structure"`
15264}
15265
15266// String returns the string representation.
15267//
15268// API parameter values that are decorated as "sensitive" in the API will not
15269// be included in the string output. The member name will be present, but the
15270// value will be replaced with "sensitive".
15271func (s RegisterRdsDbInstanceOutput) String() string {
15272	return awsutil.Prettify(s)
15273}
15274
15275// GoString returns the string representation.
15276//
15277// API parameter values that are decorated as "sensitive" in the API will not
15278// be included in the string output. The member name will be present, but the
15279// value will be replaced with "sensitive".
15280func (s RegisterRdsDbInstanceOutput) GoString() string {
15281	return s.String()
15282}
15283
15284type RegisterVolumeInput struct {
15285	_ struct{} `type:"structure"`
15286
15287	// The Amazon EBS volume ID.
15288	Ec2VolumeId *string `type:"string"`
15289
15290	// The stack ID.
15291	//
15292	// StackId is a required field
15293	StackId *string `type:"string" required:"true"`
15294}
15295
15296// String returns the string representation.
15297//
15298// API parameter values that are decorated as "sensitive" in the API will not
15299// be included in the string output. The member name will be present, but the
15300// value will be replaced with "sensitive".
15301func (s RegisterVolumeInput) String() string {
15302	return awsutil.Prettify(s)
15303}
15304
15305// GoString returns the string representation.
15306//
15307// API parameter values that are decorated as "sensitive" in the API will not
15308// be included in the string output. The member name will be present, but the
15309// value will be replaced with "sensitive".
15310func (s RegisterVolumeInput) GoString() string {
15311	return s.String()
15312}
15313
15314// Validate inspects the fields of the type to determine if they are valid.
15315func (s *RegisterVolumeInput) Validate() error {
15316	invalidParams := request.ErrInvalidParams{Context: "RegisterVolumeInput"}
15317	if s.StackId == nil {
15318		invalidParams.Add(request.NewErrParamRequired("StackId"))
15319	}
15320
15321	if invalidParams.Len() > 0 {
15322		return invalidParams
15323	}
15324	return nil
15325}
15326
15327// SetEc2VolumeId sets the Ec2VolumeId field's value.
15328func (s *RegisterVolumeInput) SetEc2VolumeId(v string) *RegisterVolumeInput {
15329	s.Ec2VolumeId = &v
15330	return s
15331}
15332
15333// SetStackId sets the StackId field's value.
15334func (s *RegisterVolumeInput) SetStackId(v string) *RegisterVolumeInput {
15335	s.StackId = &v
15336	return s
15337}
15338
15339// Contains the response to a RegisterVolume request.
15340type RegisterVolumeOutput struct {
15341	_ struct{} `type:"structure"`
15342
15343	// The volume ID.
15344	VolumeId *string `type:"string"`
15345}
15346
15347// String returns the string representation.
15348//
15349// API parameter values that are decorated as "sensitive" in the API will not
15350// be included in the string output. The member name will be present, but the
15351// value will be replaced with "sensitive".
15352func (s RegisterVolumeOutput) String() string {
15353	return awsutil.Prettify(s)
15354}
15355
15356// GoString returns the string representation.
15357//
15358// API parameter values that are decorated as "sensitive" in the API will not
15359// be included in the string output. The member name will be present, but the
15360// value will be replaced with "sensitive".
15361func (s RegisterVolumeOutput) GoString() string {
15362	return s.String()
15363}
15364
15365// SetVolumeId sets the VolumeId field's value.
15366func (s *RegisterVolumeOutput) SetVolumeId(v string) *RegisterVolumeOutput {
15367	s.VolumeId = &v
15368	return s
15369}
15370
15371// A registered instance's reported operating system.
15372type ReportedOs struct {
15373	_ struct{} `type:"structure"`
15374
15375	// The operating system family.
15376	Family *string `type:"string"`
15377
15378	// The operating system name.
15379	Name *string `type:"string"`
15380
15381	// The operating system version.
15382	Version *string `type:"string"`
15383}
15384
15385// String returns the string representation.
15386//
15387// API parameter values that are decorated as "sensitive" in the API will not
15388// be included in the string output. The member name will be present, but the
15389// value will be replaced with "sensitive".
15390func (s ReportedOs) String() string {
15391	return awsutil.Prettify(s)
15392}
15393
15394// GoString returns the string representation.
15395//
15396// API parameter values that are decorated as "sensitive" in the API will not
15397// be included in the string output. The member name will be present, but the
15398// value will be replaced with "sensitive".
15399func (s ReportedOs) GoString() string {
15400	return s.String()
15401}
15402
15403// SetFamily sets the Family field's value.
15404func (s *ReportedOs) SetFamily(v string) *ReportedOs {
15405	s.Family = &v
15406	return s
15407}
15408
15409// SetName sets the Name field's value.
15410func (s *ReportedOs) SetName(v string) *ReportedOs {
15411	s.Name = &v
15412	return s
15413}
15414
15415// SetVersion sets the Version field's value.
15416func (s *ReportedOs) SetVersion(v string) *ReportedOs {
15417	s.Version = &v
15418	return s
15419}
15420
15421// Indicates that a resource was not found.
15422type ResourceNotFoundException struct {
15423	_            struct{}                  `type:"structure"`
15424	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15425
15426	// The exception message.
15427	Message_ *string `locationName:"message" type:"string"`
15428}
15429
15430// String returns the string representation.
15431//
15432// API parameter values that are decorated as "sensitive" in the API will not
15433// be included in the string output. The member name will be present, but the
15434// value will be replaced with "sensitive".
15435func (s ResourceNotFoundException) String() string {
15436	return awsutil.Prettify(s)
15437}
15438
15439// GoString returns the string representation.
15440//
15441// API parameter values that are decorated as "sensitive" in the API will not
15442// be included in the string output. The member name will be present, but the
15443// value will be replaced with "sensitive".
15444func (s ResourceNotFoundException) GoString() string {
15445	return s.String()
15446}
15447
15448func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
15449	return &ResourceNotFoundException{
15450		RespMetadata: v,
15451	}
15452}
15453
15454// Code returns the exception type name.
15455func (s *ResourceNotFoundException) Code() string {
15456	return "ResourceNotFoundException"
15457}
15458
15459// Message returns the exception's message.
15460func (s *ResourceNotFoundException) Message() string {
15461	if s.Message_ != nil {
15462		return *s.Message_
15463	}
15464	return ""
15465}
15466
15467// OrigErr always returns nil, satisfies awserr.Error interface.
15468func (s *ResourceNotFoundException) OrigErr() error {
15469	return nil
15470}
15471
15472func (s *ResourceNotFoundException) Error() string {
15473	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15474}
15475
15476// Status code returns the HTTP status code for the request's response error.
15477func (s *ResourceNotFoundException) StatusCode() int {
15478	return s.RespMetadata.StatusCode
15479}
15480
15481// RequestID returns the service's response RequestID for request.
15482func (s *ResourceNotFoundException) RequestID() string {
15483	return s.RespMetadata.RequestID
15484}
15485
15486// Describes a user's SSH information.
15487type SelfUserProfile struct {
15488	_ struct{} `type:"structure"`
15489
15490	// The user's IAM ARN.
15491	IamUserArn *string `type:"string"`
15492
15493	// The user's name.
15494	Name *string `type:"string"`
15495
15496	// The user's SSH public key.
15497	SshPublicKey *string `type:"string"`
15498
15499	// The user's SSH user name.
15500	SshUsername *string `type:"string"`
15501}
15502
15503// String returns the string representation.
15504//
15505// API parameter values that are decorated as "sensitive" in the API will not
15506// be included in the string output. The member name will be present, but the
15507// value will be replaced with "sensitive".
15508func (s SelfUserProfile) String() string {
15509	return awsutil.Prettify(s)
15510}
15511
15512// GoString returns the string representation.
15513//
15514// API parameter values that are decorated as "sensitive" in the API will not
15515// be included in the string output. The member name will be present, but the
15516// value will be replaced with "sensitive".
15517func (s SelfUserProfile) GoString() string {
15518	return s.String()
15519}
15520
15521// SetIamUserArn sets the IamUserArn field's value.
15522func (s *SelfUserProfile) SetIamUserArn(v string) *SelfUserProfile {
15523	s.IamUserArn = &v
15524	return s
15525}
15526
15527// SetName sets the Name field's value.
15528func (s *SelfUserProfile) SetName(v string) *SelfUserProfile {
15529	s.Name = &v
15530	return s
15531}
15532
15533// SetSshPublicKey sets the SshPublicKey field's value.
15534func (s *SelfUserProfile) SetSshPublicKey(v string) *SelfUserProfile {
15535	s.SshPublicKey = &v
15536	return s
15537}
15538
15539// SetSshUsername sets the SshUsername field's value.
15540func (s *SelfUserProfile) SetSshUsername(v string) *SelfUserProfile {
15541	s.SshUsername = &v
15542	return s
15543}
15544
15545// Describes an AWS OpsWorks Stacks service error.
15546type ServiceError struct {
15547	_ struct{} `type:"structure"`
15548
15549	// When the error occurred.
15550	CreatedAt *string `type:"string"`
15551
15552	// The instance ID.
15553	InstanceId *string `type:"string"`
15554
15555	// A message that describes the error.
15556	Message *string `type:"string"`
15557
15558	// The error ID.
15559	ServiceErrorId *string `type:"string"`
15560
15561	// The stack ID.
15562	StackId *string `type:"string"`
15563
15564	// The error type.
15565	Type *string `type:"string"`
15566}
15567
15568// String returns the string representation.
15569//
15570// API parameter values that are decorated as "sensitive" in the API will not
15571// be included in the string output. The member name will be present, but the
15572// value will be replaced with "sensitive".
15573func (s ServiceError) String() string {
15574	return awsutil.Prettify(s)
15575}
15576
15577// GoString returns the string representation.
15578//
15579// API parameter values that are decorated as "sensitive" in the API will not
15580// be included in the string output. The member name will be present, but the
15581// value will be replaced with "sensitive".
15582func (s ServiceError) GoString() string {
15583	return s.String()
15584}
15585
15586// SetCreatedAt sets the CreatedAt field's value.
15587func (s *ServiceError) SetCreatedAt(v string) *ServiceError {
15588	s.CreatedAt = &v
15589	return s
15590}
15591
15592// SetInstanceId sets the InstanceId field's value.
15593func (s *ServiceError) SetInstanceId(v string) *ServiceError {
15594	s.InstanceId = &v
15595	return s
15596}
15597
15598// SetMessage sets the Message field's value.
15599func (s *ServiceError) SetMessage(v string) *ServiceError {
15600	s.Message = &v
15601	return s
15602}
15603
15604// SetServiceErrorId sets the ServiceErrorId field's value.
15605func (s *ServiceError) SetServiceErrorId(v string) *ServiceError {
15606	s.ServiceErrorId = &v
15607	return s
15608}
15609
15610// SetStackId sets the StackId field's value.
15611func (s *ServiceError) SetStackId(v string) *ServiceError {
15612	s.StackId = &v
15613	return s
15614}
15615
15616// SetType sets the Type field's value.
15617func (s *ServiceError) SetType(v string) *ServiceError {
15618	s.Type = &v
15619	return s
15620}
15621
15622type SetLoadBasedAutoScalingInput struct {
15623	_ struct{} `type:"structure"`
15624
15625	// An AutoScalingThresholds object with the downscaling threshold configuration.
15626	// If the load falls below these thresholds for a specified amount of time,
15627	// AWS OpsWorks Stacks stops a specified number of instances.
15628	DownScaling *AutoScalingThresholds `type:"structure"`
15629
15630	// Enables load-based auto scaling for the layer.
15631	Enable *bool `type:"boolean"`
15632
15633	// The layer ID.
15634	//
15635	// LayerId is a required field
15636	LayerId *string `type:"string" required:"true"`
15637
15638	// An AutoScalingThresholds object with the upscaling threshold configuration.
15639	// If the load exceeds these thresholds for a specified amount of time, AWS
15640	// OpsWorks Stacks starts a specified number of instances.
15641	UpScaling *AutoScalingThresholds `type:"structure"`
15642}
15643
15644// String returns the string representation.
15645//
15646// API parameter values that are decorated as "sensitive" in the API will not
15647// be included in the string output. The member name will be present, but the
15648// value will be replaced with "sensitive".
15649func (s SetLoadBasedAutoScalingInput) String() string {
15650	return awsutil.Prettify(s)
15651}
15652
15653// GoString returns the string representation.
15654//
15655// API parameter values that are decorated as "sensitive" in the API will not
15656// be included in the string output. The member name will be present, but the
15657// value will be replaced with "sensitive".
15658func (s SetLoadBasedAutoScalingInput) GoString() string {
15659	return s.String()
15660}
15661
15662// Validate inspects the fields of the type to determine if they are valid.
15663func (s *SetLoadBasedAutoScalingInput) Validate() error {
15664	invalidParams := request.ErrInvalidParams{Context: "SetLoadBasedAutoScalingInput"}
15665	if s.LayerId == nil {
15666		invalidParams.Add(request.NewErrParamRequired("LayerId"))
15667	}
15668	if s.DownScaling != nil {
15669		if err := s.DownScaling.Validate(); err != nil {
15670			invalidParams.AddNested("DownScaling", err.(request.ErrInvalidParams))
15671		}
15672	}
15673	if s.UpScaling != nil {
15674		if err := s.UpScaling.Validate(); err != nil {
15675			invalidParams.AddNested("UpScaling", err.(request.ErrInvalidParams))
15676		}
15677	}
15678
15679	if invalidParams.Len() > 0 {
15680		return invalidParams
15681	}
15682	return nil
15683}
15684
15685// SetDownScaling sets the DownScaling field's value.
15686func (s *SetLoadBasedAutoScalingInput) SetDownScaling(v *AutoScalingThresholds) *SetLoadBasedAutoScalingInput {
15687	s.DownScaling = v
15688	return s
15689}
15690
15691// SetEnable sets the Enable field's value.
15692func (s *SetLoadBasedAutoScalingInput) SetEnable(v bool) *SetLoadBasedAutoScalingInput {
15693	s.Enable = &v
15694	return s
15695}
15696
15697// SetLayerId sets the LayerId field's value.
15698func (s *SetLoadBasedAutoScalingInput) SetLayerId(v string) *SetLoadBasedAutoScalingInput {
15699	s.LayerId = &v
15700	return s
15701}
15702
15703// SetUpScaling sets the UpScaling field's value.
15704func (s *SetLoadBasedAutoScalingInput) SetUpScaling(v *AutoScalingThresholds) *SetLoadBasedAutoScalingInput {
15705	s.UpScaling = v
15706	return s
15707}
15708
15709type SetLoadBasedAutoScalingOutput struct {
15710	_ struct{} `type:"structure"`
15711}
15712
15713// String returns the string representation.
15714//
15715// API parameter values that are decorated as "sensitive" in the API will not
15716// be included in the string output. The member name will be present, but the
15717// value will be replaced with "sensitive".
15718func (s SetLoadBasedAutoScalingOutput) String() string {
15719	return awsutil.Prettify(s)
15720}
15721
15722// GoString returns the string representation.
15723//
15724// API parameter values that are decorated as "sensitive" in the API will not
15725// be included in the string output. The member name will be present, but the
15726// value will be replaced with "sensitive".
15727func (s SetLoadBasedAutoScalingOutput) GoString() string {
15728	return s.String()
15729}
15730
15731type SetPermissionInput struct {
15732	_ struct{} `type:"structure"`
15733
15734	// The user is allowed to use SSH to communicate with the instance.
15735	AllowSsh *bool `type:"boolean"`
15736
15737	// The user is allowed to use sudo to elevate privileges.
15738	AllowSudo *bool `type:"boolean"`
15739
15740	// The user's IAM ARN. This can also be a federated user's ARN.
15741	//
15742	// IamUserArn is a required field
15743	IamUserArn *string `type:"string" required:"true"`
15744
15745	// The user's permission level, which must be set to one of the following strings.
15746	// You cannot set your own permissions level.
15747	//
15748	//    * deny
15749	//
15750	//    * show
15751	//
15752	//    * deploy
15753	//
15754	//    * manage
15755	//
15756	//    * iam_only
15757	//
15758	// For more information about the permissions associated with these levels,
15759	// see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
15760	Level *string `type:"string"`
15761
15762	// The stack ID.
15763	//
15764	// StackId is a required field
15765	StackId *string `type:"string" required:"true"`
15766}
15767
15768// String returns the string representation.
15769//
15770// API parameter values that are decorated as "sensitive" in the API will not
15771// be included in the string output. The member name will be present, but the
15772// value will be replaced with "sensitive".
15773func (s SetPermissionInput) String() string {
15774	return awsutil.Prettify(s)
15775}
15776
15777// GoString returns the string representation.
15778//
15779// API parameter values that are decorated as "sensitive" in the API will not
15780// be included in the string output. The member name will be present, but the
15781// value will be replaced with "sensitive".
15782func (s SetPermissionInput) GoString() string {
15783	return s.String()
15784}
15785
15786// Validate inspects the fields of the type to determine if they are valid.
15787func (s *SetPermissionInput) Validate() error {
15788	invalidParams := request.ErrInvalidParams{Context: "SetPermissionInput"}
15789	if s.IamUserArn == nil {
15790		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
15791	}
15792	if s.StackId == nil {
15793		invalidParams.Add(request.NewErrParamRequired("StackId"))
15794	}
15795
15796	if invalidParams.Len() > 0 {
15797		return invalidParams
15798	}
15799	return nil
15800}
15801
15802// SetAllowSsh sets the AllowSsh field's value.
15803func (s *SetPermissionInput) SetAllowSsh(v bool) *SetPermissionInput {
15804	s.AllowSsh = &v
15805	return s
15806}
15807
15808// SetAllowSudo sets the AllowSudo field's value.
15809func (s *SetPermissionInput) SetAllowSudo(v bool) *SetPermissionInput {
15810	s.AllowSudo = &v
15811	return s
15812}
15813
15814// SetIamUserArn sets the IamUserArn field's value.
15815func (s *SetPermissionInput) SetIamUserArn(v string) *SetPermissionInput {
15816	s.IamUserArn = &v
15817	return s
15818}
15819
15820// SetLevel sets the Level field's value.
15821func (s *SetPermissionInput) SetLevel(v string) *SetPermissionInput {
15822	s.Level = &v
15823	return s
15824}
15825
15826// SetStackId sets the StackId field's value.
15827func (s *SetPermissionInput) SetStackId(v string) *SetPermissionInput {
15828	s.StackId = &v
15829	return s
15830}
15831
15832type SetPermissionOutput struct {
15833	_ struct{} `type:"structure"`
15834}
15835
15836// String returns the string representation.
15837//
15838// API parameter values that are decorated as "sensitive" in the API will not
15839// be included in the string output. The member name will be present, but the
15840// value will be replaced with "sensitive".
15841func (s SetPermissionOutput) String() string {
15842	return awsutil.Prettify(s)
15843}
15844
15845// GoString returns the string representation.
15846//
15847// API parameter values that are decorated as "sensitive" in the API will not
15848// be included in the string output. The member name will be present, but the
15849// value will be replaced with "sensitive".
15850func (s SetPermissionOutput) GoString() string {
15851	return s.String()
15852}
15853
15854type SetTimeBasedAutoScalingInput struct {
15855	_ struct{} `type:"structure"`
15856
15857	// An AutoScalingSchedule with the instance schedule.
15858	AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"`
15859
15860	// The instance ID.
15861	//
15862	// InstanceId is a required field
15863	InstanceId *string `type:"string" required:"true"`
15864}
15865
15866// String returns the string representation.
15867//
15868// API parameter values that are decorated as "sensitive" in the API will not
15869// be included in the string output. The member name will be present, but the
15870// value will be replaced with "sensitive".
15871func (s SetTimeBasedAutoScalingInput) String() string {
15872	return awsutil.Prettify(s)
15873}
15874
15875// GoString returns the string representation.
15876//
15877// API parameter values that are decorated as "sensitive" in the API will not
15878// be included in the string output. The member name will be present, but the
15879// value will be replaced with "sensitive".
15880func (s SetTimeBasedAutoScalingInput) GoString() string {
15881	return s.String()
15882}
15883
15884// Validate inspects the fields of the type to determine if they are valid.
15885func (s *SetTimeBasedAutoScalingInput) Validate() error {
15886	invalidParams := request.ErrInvalidParams{Context: "SetTimeBasedAutoScalingInput"}
15887	if s.InstanceId == nil {
15888		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15889	}
15890
15891	if invalidParams.Len() > 0 {
15892		return invalidParams
15893	}
15894	return nil
15895}
15896
15897// SetAutoScalingSchedule sets the AutoScalingSchedule field's value.
15898func (s *SetTimeBasedAutoScalingInput) SetAutoScalingSchedule(v *WeeklyAutoScalingSchedule) *SetTimeBasedAutoScalingInput {
15899	s.AutoScalingSchedule = v
15900	return s
15901}
15902
15903// SetInstanceId sets the InstanceId field's value.
15904func (s *SetTimeBasedAutoScalingInput) SetInstanceId(v string) *SetTimeBasedAutoScalingInput {
15905	s.InstanceId = &v
15906	return s
15907}
15908
15909type SetTimeBasedAutoScalingOutput struct {
15910	_ struct{} `type:"structure"`
15911}
15912
15913// String returns the string representation.
15914//
15915// API parameter values that are decorated as "sensitive" in the API will not
15916// be included in the string output. The member name will be present, but the
15917// value will be replaced with "sensitive".
15918func (s SetTimeBasedAutoScalingOutput) String() string {
15919	return awsutil.Prettify(s)
15920}
15921
15922// GoString returns the string representation.
15923//
15924// API parameter values that are decorated as "sensitive" in the API will not
15925// be included in the string output. The member name will be present, but the
15926// value will be replaced with "sensitive".
15927func (s SetTimeBasedAutoScalingOutput) GoString() string {
15928	return s.String()
15929}
15930
15931// The Shutdown event configuration.
15932type ShutdownEventConfiguration struct {
15933	_ struct{} `type:"structure"`
15934
15935	// Whether to enable Elastic Load Balancing connection draining. For more information,
15936	// see Connection Draining (https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain)
15937	DelayUntilElbConnectionsDrained *bool `type:"boolean"`
15938
15939	// The time, in seconds, that AWS OpsWorks Stacks will wait after triggering
15940	// a Shutdown event before shutting down an instance.
15941	ExecutionTimeout *int64 `type:"integer"`
15942}
15943
15944// String returns the string representation.
15945//
15946// API parameter values that are decorated as "sensitive" in the API will not
15947// be included in the string output. The member name will be present, but the
15948// value will be replaced with "sensitive".
15949func (s ShutdownEventConfiguration) String() string {
15950	return awsutil.Prettify(s)
15951}
15952
15953// GoString returns the string representation.
15954//
15955// API parameter values that are decorated as "sensitive" in the API will not
15956// be included in the string output. The member name will be present, but the
15957// value will be replaced with "sensitive".
15958func (s ShutdownEventConfiguration) GoString() string {
15959	return s.String()
15960}
15961
15962// SetDelayUntilElbConnectionsDrained sets the DelayUntilElbConnectionsDrained field's value.
15963func (s *ShutdownEventConfiguration) SetDelayUntilElbConnectionsDrained(v bool) *ShutdownEventConfiguration {
15964	s.DelayUntilElbConnectionsDrained = &v
15965	return s
15966}
15967
15968// SetExecutionTimeout sets the ExecutionTimeout field's value.
15969func (s *ShutdownEventConfiguration) SetExecutionTimeout(v int64) *ShutdownEventConfiguration {
15970	s.ExecutionTimeout = &v
15971	return s
15972}
15973
15974// Contains the information required to retrieve an app or cookbook from a repository.
15975// For more information, see Creating Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
15976// or Custom Recipes and Cookbooks (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
15977type Source struct {
15978	_ struct{} `type:"structure"`
15979
15980	// When included in a request, the parameter depends on the repository type.
15981	//
15982	//    * For Amazon S3 bundles, set Password to the appropriate IAM secret access
15983	//    key.
15984	//
15985	//    * For HTTP bundles and Subversion repositories, set Password to the password.
15986	//
15987	// 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
15988	// (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
15989	//
15990	// In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the
15991	// actual value.
15992	Password *string `type:"string"`
15993
15994	// The application's version. AWS OpsWorks Stacks enables you to easily deploy
15995	// new versions of an application. One of the simplest approaches is to have
15996	// branches or revisions in your repository that represent different versions
15997	// that can potentially be deployed.
15998	Revision *string `type:"string"`
15999
16000	// In requests, the repository's SSH key.
16001	//
16002	// In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the
16003	// actual value.
16004	SshKey *string `type:"string"`
16005
16006	// The repository type.
16007	Type *string `type:"string" enum:"SourceType"`
16008
16009	// 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.
16010	Url *string `type:"string"`
16011
16012	// This parameter depends on the repository type.
16013	//
16014	//    * For Amazon S3 bundles, set Username to the appropriate IAM access key
16015	//    ID.
16016	//
16017	//    * For HTTP bundles, Git repositories, and Subversion repositories, set
16018	//    Username to the user name.
16019	Username *string `type:"string"`
16020}
16021
16022// String returns the string representation.
16023//
16024// API parameter values that are decorated as "sensitive" in the API will not
16025// be included in the string output. The member name will be present, but the
16026// value will be replaced with "sensitive".
16027func (s Source) String() string {
16028	return awsutil.Prettify(s)
16029}
16030
16031// GoString returns the string representation.
16032//
16033// API parameter values that are decorated as "sensitive" in the API will not
16034// be included in the string output. The member name will be present, but the
16035// value will be replaced with "sensitive".
16036func (s Source) GoString() string {
16037	return s.String()
16038}
16039
16040// SetPassword sets the Password field's value.
16041func (s *Source) SetPassword(v string) *Source {
16042	s.Password = &v
16043	return s
16044}
16045
16046// SetRevision sets the Revision field's value.
16047func (s *Source) SetRevision(v string) *Source {
16048	s.Revision = &v
16049	return s
16050}
16051
16052// SetSshKey sets the SshKey field's value.
16053func (s *Source) SetSshKey(v string) *Source {
16054	s.SshKey = &v
16055	return s
16056}
16057
16058// SetType sets the Type field's value.
16059func (s *Source) SetType(v string) *Source {
16060	s.Type = &v
16061	return s
16062}
16063
16064// SetUrl sets the Url field's value.
16065func (s *Source) SetUrl(v string) *Source {
16066	s.Url = &v
16067	return s
16068}
16069
16070// SetUsername sets the Username field's value.
16071func (s *Source) SetUsername(v string) *Source {
16072	s.Username = &v
16073	return s
16074}
16075
16076// Describes an app's SSL configuration.
16077type SslConfiguration struct {
16078	_ struct{} `type:"structure"`
16079
16080	// The contents of the certificate's domain.crt file.
16081	//
16082	// Certificate is a required field
16083	Certificate *string `type:"string" required:"true"`
16084
16085	// Optional. Can be used to specify an intermediate certificate authority key
16086	// or client authentication.
16087	Chain *string `type:"string"`
16088
16089	// The private key; the contents of the certificate's domain.kex file.
16090	//
16091	// PrivateKey is a required field
16092	PrivateKey *string `type:"string" required:"true"`
16093}
16094
16095// String returns the string representation.
16096//
16097// API parameter values that are decorated as "sensitive" in the API will not
16098// be included in the string output. The member name will be present, but the
16099// value will be replaced with "sensitive".
16100func (s SslConfiguration) String() string {
16101	return awsutil.Prettify(s)
16102}
16103
16104// GoString returns the string representation.
16105//
16106// API parameter values that are decorated as "sensitive" in the API will not
16107// be included in the string output. The member name will be present, but the
16108// value will be replaced with "sensitive".
16109func (s SslConfiguration) GoString() string {
16110	return s.String()
16111}
16112
16113// Validate inspects the fields of the type to determine if they are valid.
16114func (s *SslConfiguration) Validate() error {
16115	invalidParams := request.ErrInvalidParams{Context: "SslConfiguration"}
16116	if s.Certificate == nil {
16117		invalidParams.Add(request.NewErrParamRequired("Certificate"))
16118	}
16119	if s.PrivateKey == nil {
16120		invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
16121	}
16122
16123	if invalidParams.Len() > 0 {
16124		return invalidParams
16125	}
16126	return nil
16127}
16128
16129// SetCertificate sets the Certificate field's value.
16130func (s *SslConfiguration) SetCertificate(v string) *SslConfiguration {
16131	s.Certificate = &v
16132	return s
16133}
16134
16135// SetChain sets the Chain field's value.
16136func (s *SslConfiguration) SetChain(v string) *SslConfiguration {
16137	s.Chain = &v
16138	return s
16139}
16140
16141// SetPrivateKey sets the PrivateKey field's value.
16142func (s *SslConfiguration) SetPrivateKey(v string) *SslConfiguration {
16143	s.PrivateKey = &v
16144	return s
16145}
16146
16147// Describes a stack.
16148type Stack struct {
16149	_ struct{} `type:"structure"`
16150
16151	// The agent version. This parameter is set to LATEST for auto-update. or a
16152	// version number for a fixed agent version.
16153	AgentVersion *string `type:"string"`
16154
16155	// The stack's ARN.
16156	Arn *string `type:"string"`
16157
16158	// The stack's attributes.
16159	Attributes map[string]*string `type:"map"`
16160
16161	// A ChefConfiguration object that specifies whether to enable Berkshelf and
16162	// the Berkshelf version. For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
16163	ChefConfiguration *ChefConfiguration `type:"structure"`
16164
16165	// The configuration manager.
16166	ConfigurationManager *StackConfigurationManager `type:"structure"`
16167
16168	// The date when the stack was created.
16169	CreatedAt *string `type:"string"`
16170
16171	// Contains the information required to retrieve an app or cookbook from a repository.
16172	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
16173	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
16174	CustomCookbooksSource *Source `type:"structure"`
16175
16176	// A JSON object that contains user-defined attributes to be added to the stack
16177	// configuration and deployment attributes. You can use custom JSON to override
16178	// the corresponding default stack configuration attribute values or to pass
16179	// data to recipes. The string should be in the following format:
16180	//
16181	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
16182	//
16183	// For more information on custom JSON, see Use Custom JSON to Modify the Stack
16184	// Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
16185	CustomJson *string `type:"string"`
16186
16187	// The stack's default Availability Zone. For more information, see Regions
16188	// and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
16189	DefaultAvailabilityZone *string `type:"string"`
16190
16191	// The ARN of an IAM profile that is the default profile for all of the stack's
16192	// EC2 instances. For more information about IAM ARNs, see Using Identifiers
16193	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
16194	DefaultInstanceProfileArn *string `type:"string"`
16195
16196	// The stack's default operating system.
16197	DefaultOs *string `type:"string"`
16198
16199	// The default root device type. This value is used by default for all instances
16200	// in the stack, but you can override it when you create an instance. For more
16201	// information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
16202	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
16203
16204	// A default Amazon EC2 key pair for the stack's instances. You can override
16205	// this value when you create or update an instance.
16206	DefaultSshKeyName *string `type:"string"`
16207
16208	// The default subnet ID; applicable only if the stack is running in a VPC.
16209	DefaultSubnetId *string `type:"string"`
16210
16211	// The stack host name theme, with spaces replaced by underscores.
16212	HostnameTheme *string `type:"string"`
16213
16214	// The stack name.
16215	Name *string `type:"string"`
16216
16217	// The stack AWS region, such as "ap-northeast-2". For more information about
16218	// AWS regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
16219	Region *string `type:"string"`
16220
16221	// The stack AWS Identity and Access Management (IAM) role.
16222	ServiceRoleArn *string `type:"string"`
16223
16224	// The stack ID.
16225	StackId *string `type:"string"`
16226
16227	// Whether the stack uses custom cookbooks.
16228	UseCustomCookbooks *bool `type:"boolean"`
16229
16230	// Whether the stack automatically associates the AWS OpsWorks Stacks built-in
16231	// security groups with the stack's layers.
16232	UseOpsworksSecurityGroups *bool `type:"boolean"`
16233
16234	// The VPC ID; applicable only if the stack is running in a VPC.
16235	VpcId *string `type:"string"`
16236}
16237
16238// String returns the string representation.
16239//
16240// API parameter values that are decorated as "sensitive" in the API will not
16241// be included in the string output. The member name will be present, but the
16242// value will be replaced with "sensitive".
16243func (s Stack) String() string {
16244	return awsutil.Prettify(s)
16245}
16246
16247// GoString returns the string representation.
16248//
16249// API parameter values that are decorated as "sensitive" in the API will not
16250// be included in the string output. The member name will be present, but the
16251// value will be replaced with "sensitive".
16252func (s Stack) GoString() string {
16253	return s.String()
16254}
16255
16256// SetAgentVersion sets the AgentVersion field's value.
16257func (s *Stack) SetAgentVersion(v string) *Stack {
16258	s.AgentVersion = &v
16259	return s
16260}
16261
16262// SetArn sets the Arn field's value.
16263func (s *Stack) SetArn(v string) *Stack {
16264	s.Arn = &v
16265	return s
16266}
16267
16268// SetAttributes sets the Attributes field's value.
16269func (s *Stack) SetAttributes(v map[string]*string) *Stack {
16270	s.Attributes = v
16271	return s
16272}
16273
16274// SetChefConfiguration sets the ChefConfiguration field's value.
16275func (s *Stack) SetChefConfiguration(v *ChefConfiguration) *Stack {
16276	s.ChefConfiguration = v
16277	return s
16278}
16279
16280// SetConfigurationManager sets the ConfigurationManager field's value.
16281func (s *Stack) SetConfigurationManager(v *StackConfigurationManager) *Stack {
16282	s.ConfigurationManager = v
16283	return s
16284}
16285
16286// SetCreatedAt sets the CreatedAt field's value.
16287func (s *Stack) SetCreatedAt(v string) *Stack {
16288	s.CreatedAt = &v
16289	return s
16290}
16291
16292// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
16293func (s *Stack) SetCustomCookbooksSource(v *Source) *Stack {
16294	s.CustomCookbooksSource = v
16295	return s
16296}
16297
16298// SetCustomJson sets the CustomJson field's value.
16299func (s *Stack) SetCustomJson(v string) *Stack {
16300	s.CustomJson = &v
16301	return s
16302}
16303
16304// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
16305func (s *Stack) SetDefaultAvailabilityZone(v string) *Stack {
16306	s.DefaultAvailabilityZone = &v
16307	return s
16308}
16309
16310// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
16311func (s *Stack) SetDefaultInstanceProfileArn(v string) *Stack {
16312	s.DefaultInstanceProfileArn = &v
16313	return s
16314}
16315
16316// SetDefaultOs sets the DefaultOs field's value.
16317func (s *Stack) SetDefaultOs(v string) *Stack {
16318	s.DefaultOs = &v
16319	return s
16320}
16321
16322// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
16323func (s *Stack) SetDefaultRootDeviceType(v string) *Stack {
16324	s.DefaultRootDeviceType = &v
16325	return s
16326}
16327
16328// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
16329func (s *Stack) SetDefaultSshKeyName(v string) *Stack {
16330	s.DefaultSshKeyName = &v
16331	return s
16332}
16333
16334// SetDefaultSubnetId sets the DefaultSubnetId field's value.
16335func (s *Stack) SetDefaultSubnetId(v string) *Stack {
16336	s.DefaultSubnetId = &v
16337	return s
16338}
16339
16340// SetHostnameTheme sets the HostnameTheme field's value.
16341func (s *Stack) SetHostnameTheme(v string) *Stack {
16342	s.HostnameTheme = &v
16343	return s
16344}
16345
16346// SetName sets the Name field's value.
16347func (s *Stack) SetName(v string) *Stack {
16348	s.Name = &v
16349	return s
16350}
16351
16352// SetRegion sets the Region field's value.
16353func (s *Stack) SetRegion(v string) *Stack {
16354	s.Region = &v
16355	return s
16356}
16357
16358// SetServiceRoleArn sets the ServiceRoleArn field's value.
16359func (s *Stack) SetServiceRoleArn(v string) *Stack {
16360	s.ServiceRoleArn = &v
16361	return s
16362}
16363
16364// SetStackId sets the StackId field's value.
16365func (s *Stack) SetStackId(v string) *Stack {
16366	s.StackId = &v
16367	return s
16368}
16369
16370// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
16371func (s *Stack) SetUseCustomCookbooks(v bool) *Stack {
16372	s.UseCustomCookbooks = &v
16373	return s
16374}
16375
16376// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
16377func (s *Stack) SetUseOpsworksSecurityGroups(v bool) *Stack {
16378	s.UseOpsworksSecurityGroups = &v
16379	return s
16380}
16381
16382// SetVpcId sets the VpcId field's value.
16383func (s *Stack) SetVpcId(v string) *Stack {
16384	s.VpcId = &v
16385	return s
16386}
16387
16388// Describes the configuration manager.
16389type StackConfigurationManager struct {
16390	_ struct{} `type:"structure"`
16391
16392	// The name. This parameter must be set to "Chef".
16393	Name *string `type:"string"`
16394
16395	// The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux
16396	// stacks, and to 12.2 for Windows stacks. The default value for Linux stacks
16397	// is 11.4.
16398	Version *string `type:"string"`
16399}
16400
16401// String returns the string representation.
16402//
16403// API parameter values that are decorated as "sensitive" in the API will not
16404// be included in the string output. The member name will be present, but the
16405// value will be replaced with "sensitive".
16406func (s StackConfigurationManager) String() string {
16407	return awsutil.Prettify(s)
16408}
16409
16410// GoString returns the string representation.
16411//
16412// API parameter values that are decorated as "sensitive" in the API will not
16413// be included in the string output. The member name will be present, but the
16414// value will be replaced with "sensitive".
16415func (s StackConfigurationManager) GoString() string {
16416	return s.String()
16417}
16418
16419// SetName sets the Name field's value.
16420func (s *StackConfigurationManager) SetName(v string) *StackConfigurationManager {
16421	s.Name = &v
16422	return s
16423}
16424
16425// SetVersion sets the Version field's value.
16426func (s *StackConfigurationManager) SetVersion(v string) *StackConfigurationManager {
16427	s.Version = &v
16428	return s
16429}
16430
16431// Summarizes the number of layers, instances, and apps in a stack.
16432type StackSummary struct {
16433	_ struct{} `type:"structure"`
16434
16435	// The number of apps.
16436	AppsCount *int64 `type:"integer"`
16437
16438	// The stack's ARN.
16439	Arn *string `type:"string"`
16440
16441	// An InstancesCount object with the number of instances in each status.
16442	InstancesCount *InstancesCount `type:"structure"`
16443
16444	// The number of layers.
16445	LayersCount *int64 `type:"integer"`
16446
16447	// The stack name.
16448	Name *string `type:"string"`
16449
16450	// The stack ID.
16451	StackId *string `type:"string"`
16452}
16453
16454// String returns the string representation.
16455//
16456// API parameter values that are decorated as "sensitive" in the API will not
16457// be included in the string output. The member name will be present, but the
16458// value will be replaced with "sensitive".
16459func (s StackSummary) String() string {
16460	return awsutil.Prettify(s)
16461}
16462
16463// GoString returns the string representation.
16464//
16465// API parameter values that are decorated as "sensitive" in the API will not
16466// be included in the string output. The member name will be present, but the
16467// value will be replaced with "sensitive".
16468func (s StackSummary) GoString() string {
16469	return s.String()
16470}
16471
16472// SetAppsCount sets the AppsCount field's value.
16473func (s *StackSummary) SetAppsCount(v int64) *StackSummary {
16474	s.AppsCount = &v
16475	return s
16476}
16477
16478// SetArn sets the Arn field's value.
16479func (s *StackSummary) SetArn(v string) *StackSummary {
16480	s.Arn = &v
16481	return s
16482}
16483
16484// SetInstancesCount sets the InstancesCount field's value.
16485func (s *StackSummary) SetInstancesCount(v *InstancesCount) *StackSummary {
16486	s.InstancesCount = v
16487	return s
16488}
16489
16490// SetLayersCount sets the LayersCount field's value.
16491func (s *StackSummary) SetLayersCount(v int64) *StackSummary {
16492	s.LayersCount = &v
16493	return s
16494}
16495
16496// SetName sets the Name field's value.
16497func (s *StackSummary) SetName(v string) *StackSummary {
16498	s.Name = &v
16499	return s
16500}
16501
16502// SetStackId sets the StackId field's value.
16503func (s *StackSummary) SetStackId(v string) *StackSummary {
16504	s.StackId = &v
16505	return s
16506}
16507
16508type StartInstanceInput struct {
16509	_ struct{} `type:"structure"`
16510
16511	// The instance ID.
16512	//
16513	// InstanceId is a required field
16514	InstanceId *string `type:"string" required:"true"`
16515}
16516
16517// String returns the string representation.
16518//
16519// API parameter values that are decorated as "sensitive" in the API will not
16520// be included in the string output. The member name will be present, but the
16521// value will be replaced with "sensitive".
16522func (s StartInstanceInput) String() string {
16523	return awsutil.Prettify(s)
16524}
16525
16526// GoString returns the string representation.
16527//
16528// API parameter values that are decorated as "sensitive" in the API will not
16529// be included in the string output. The member name will be present, but the
16530// value will be replaced with "sensitive".
16531func (s StartInstanceInput) GoString() string {
16532	return s.String()
16533}
16534
16535// Validate inspects the fields of the type to determine if they are valid.
16536func (s *StartInstanceInput) Validate() error {
16537	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
16538	if s.InstanceId == nil {
16539		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16540	}
16541
16542	if invalidParams.Len() > 0 {
16543		return invalidParams
16544	}
16545	return nil
16546}
16547
16548// SetInstanceId sets the InstanceId field's value.
16549func (s *StartInstanceInput) SetInstanceId(v string) *StartInstanceInput {
16550	s.InstanceId = &v
16551	return s
16552}
16553
16554type StartInstanceOutput struct {
16555	_ struct{} `type:"structure"`
16556}
16557
16558// String returns the string representation.
16559//
16560// API parameter values that are decorated as "sensitive" in the API will not
16561// be included in the string output. The member name will be present, but the
16562// value will be replaced with "sensitive".
16563func (s StartInstanceOutput) String() string {
16564	return awsutil.Prettify(s)
16565}
16566
16567// GoString returns the string representation.
16568//
16569// API parameter values that are decorated as "sensitive" in the API will not
16570// be included in the string output. The member name will be present, but the
16571// value will be replaced with "sensitive".
16572func (s StartInstanceOutput) GoString() string {
16573	return s.String()
16574}
16575
16576type StartStackInput struct {
16577	_ struct{} `type:"structure"`
16578
16579	// The stack ID.
16580	//
16581	// StackId is a required field
16582	StackId *string `type:"string" required:"true"`
16583}
16584
16585// String returns the string representation.
16586//
16587// API parameter values that are decorated as "sensitive" in the API will not
16588// be included in the string output. The member name will be present, but the
16589// value will be replaced with "sensitive".
16590func (s StartStackInput) String() string {
16591	return awsutil.Prettify(s)
16592}
16593
16594// GoString returns the string representation.
16595//
16596// API parameter values that are decorated as "sensitive" in the API will not
16597// be included in the string output. The member name will be present, but the
16598// value will be replaced with "sensitive".
16599func (s StartStackInput) GoString() string {
16600	return s.String()
16601}
16602
16603// Validate inspects the fields of the type to determine if they are valid.
16604func (s *StartStackInput) Validate() error {
16605	invalidParams := request.ErrInvalidParams{Context: "StartStackInput"}
16606	if s.StackId == nil {
16607		invalidParams.Add(request.NewErrParamRequired("StackId"))
16608	}
16609
16610	if invalidParams.Len() > 0 {
16611		return invalidParams
16612	}
16613	return nil
16614}
16615
16616// SetStackId sets the StackId field's value.
16617func (s *StartStackInput) SetStackId(v string) *StartStackInput {
16618	s.StackId = &v
16619	return s
16620}
16621
16622type StartStackOutput struct {
16623	_ struct{} `type:"structure"`
16624}
16625
16626// String returns the string representation.
16627//
16628// API parameter values that are decorated as "sensitive" in the API will not
16629// be included in the string output. The member name will be present, but the
16630// value will be replaced with "sensitive".
16631func (s StartStackOutput) String() string {
16632	return awsutil.Prettify(s)
16633}
16634
16635// GoString returns the string representation.
16636//
16637// API parameter values that are decorated as "sensitive" in the API will not
16638// be included in the string output. The member name will be present, but the
16639// value will be replaced with "sensitive".
16640func (s StartStackOutput) GoString() string {
16641	return s.String()
16642}
16643
16644type StopInstanceInput struct {
16645	_ struct{} `type:"structure"`
16646
16647	// Specifies whether to force an instance to stop. If the instance's root device
16648	// type is ebs, or EBS-backed, adding the Force parameter to the StopInstances
16649	// API call disassociates the AWS OpsWorks Stacks instance from EC2, and forces
16650	// deletion of only the OpsWorks Stacks instance. You must also delete the formerly-associated
16651	// instance in EC2 after troubleshooting and replacing the AWS OpsWorks Stacks
16652	// instance with a new one.
16653	Force *bool `type:"boolean"`
16654
16655	// The instance ID.
16656	//
16657	// InstanceId is a required field
16658	InstanceId *string `type:"string" required:"true"`
16659}
16660
16661// String returns the string representation.
16662//
16663// API parameter values that are decorated as "sensitive" in the API will not
16664// be included in the string output. The member name will be present, but the
16665// value will be replaced with "sensitive".
16666func (s StopInstanceInput) String() string {
16667	return awsutil.Prettify(s)
16668}
16669
16670// GoString returns the string representation.
16671//
16672// API parameter values that are decorated as "sensitive" in the API will not
16673// be included in the string output. The member name will be present, but the
16674// value will be replaced with "sensitive".
16675func (s StopInstanceInput) GoString() string {
16676	return s.String()
16677}
16678
16679// Validate inspects the fields of the type to determine if they are valid.
16680func (s *StopInstanceInput) Validate() error {
16681	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
16682	if s.InstanceId == nil {
16683		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16684	}
16685
16686	if invalidParams.Len() > 0 {
16687		return invalidParams
16688	}
16689	return nil
16690}
16691
16692// SetForce sets the Force field's value.
16693func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
16694	s.Force = &v
16695	return s
16696}
16697
16698// SetInstanceId sets the InstanceId field's value.
16699func (s *StopInstanceInput) SetInstanceId(v string) *StopInstanceInput {
16700	s.InstanceId = &v
16701	return s
16702}
16703
16704type StopInstanceOutput struct {
16705	_ struct{} `type:"structure"`
16706}
16707
16708// String returns the string representation.
16709//
16710// API parameter values that are decorated as "sensitive" in the API will not
16711// be included in the string output. The member name will be present, but the
16712// value will be replaced with "sensitive".
16713func (s StopInstanceOutput) String() string {
16714	return awsutil.Prettify(s)
16715}
16716
16717// GoString returns the string representation.
16718//
16719// API parameter values that are decorated as "sensitive" in the API will not
16720// be included in the string output. The member name will be present, but the
16721// value will be replaced with "sensitive".
16722func (s StopInstanceOutput) GoString() string {
16723	return s.String()
16724}
16725
16726type StopStackInput struct {
16727	_ struct{} `type:"structure"`
16728
16729	// The stack ID.
16730	//
16731	// StackId is a required field
16732	StackId *string `type:"string" required:"true"`
16733}
16734
16735// String returns the string representation.
16736//
16737// API parameter values that are decorated as "sensitive" in the API will not
16738// be included in the string output. The member name will be present, but the
16739// value will be replaced with "sensitive".
16740func (s StopStackInput) String() string {
16741	return awsutil.Prettify(s)
16742}
16743
16744// GoString returns the string representation.
16745//
16746// API parameter values that are decorated as "sensitive" in the API will not
16747// be included in the string output. The member name will be present, but the
16748// value will be replaced with "sensitive".
16749func (s StopStackInput) GoString() string {
16750	return s.String()
16751}
16752
16753// Validate inspects the fields of the type to determine if they are valid.
16754func (s *StopStackInput) Validate() error {
16755	invalidParams := request.ErrInvalidParams{Context: "StopStackInput"}
16756	if s.StackId == nil {
16757		invalidParams.Add(request.NewErrParamRequired("StackId"))
16758	}
16759
16760	if invalidParams.Len() > 0 {
16761		return invalidParams
16762	}
16763	return nil
16764}
16765
16766// SetStackId sets the StackId field's value.
16767func (s *StopStackInput) SetStackId(v string) *StopStackInput {
16768	s.StackId = &v
16769	return s
16770}
16771
16772type StopStackOutput struct {
16773	_ struct{} `type:"structure"`
16774}
16775
16776// String returns the string representation.
16777//
16778// API parameter values that are decorated as "sensitive" in the API will not
16779// be included in the string output. The member name will be present, but the
16780// value will be replaced with "sensitive".
16781func (s StopStackOutput) String() string {
16782	return awsutil.Prettify(s)
16783}
16784
16785// GoString returns the string representation.
16786//
16787// API parameter values that are decorated as "sensitive" in the API will not
16788// be included in the string output. The member name will be present, but the
16789// value will be replaced with "sensitive".
16790func (s StopStackOutput) GoString() string {
16791	return s.String()
16792}
16793
16794type TagResourceInput struct {
16795	_ struct{} `type:"structure"`
16796
16797	// The stack or layer's Amazon Resource Number (ARN).
16798	//
16799	// ResourceArn is a required field
16800	ResourceArn *string `type:"string" required:"true"`
16801
16802	// A map that contains tag keys and tag values that are attached to a stack
16803	// or layer.
16804	//
16805	//    * The key cannot be empty.
16806	//
16807	//    * The key can be a maximum of 127 characters, and can contain only Unicode
16808	//    letters, numbers, or separators, or the following special characters:
16809	//    + - = . _ : /
16810	//
16811	//    * The value can be a maximum 255 characters, and contain only Unicode
16812	//    letters, numbers, or separators, or the following special characters:
16813	//    + - = . _ : /
16814	//
16815	//    * Leading and trailing white spaces are trimmed from both the key and
16816	//    value.
16817	//
16818	//    * A maximum of 40 tags is allowed for any resource.
16819	//
16820	// Tags is a required field
16821	Tags map[string]*string `type:"map" required:"true"`
16822}
16823
16824// String returns the string representation.
16825//
16826// API parameter values that are decorated as "sensitive" in the API will not
16827// be included in the string output. The member name will be present, but the
16828// value will be replaced with "sensitive".
16829func (s TagResourceInput) String() string {
16830	return awsutil.Prettify(s)
16831}
16832
16833// GoString returns the string representation.
16834//
16835// API parameter values that are decorated as "sensitive" in the API will not
16836// be included in the string output. The member name will be present, but the
16837// value will be replaced with "sensitive".
16838func (s TagResourceInput) GoString() string {
16839	return s.String()
16840}
16841
16842// Validate inspects the fields of the type to determine if they are valid.
16843func (s *TagResourceInput) Validate() error {
16844	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
16845	if s.ResourceArn == nil {
16846		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
16847	}
16848	if s.Tags == nil {
16849		invalidParams.Add(request.NewErrParamRequired("Tags"))
16850	}
16851
16852	if invalidParams.Len() > 0 {
16853		return invalidParams
16854	}
16855	return nil
16856}
16857
16858// SetResourceArn sets the ResourceArn field's value.
16859func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
16860	s.ResourceArn = &v
16861	return s
16862}
16863
16864// SetTags sets the Tags field's value.
16865func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
16866	s.Tags = v
16867	return s
16868}
16869
16870type TagResourceOutput struct {
16871	_ struct{} `type:"structure"`
16872}
16873
16874// String returns the string representation.
16875//
16876// API parameter values that are decorated as "sensitive" in the API will not
16877// be included in the string output. The member name will be present, but the
16878// value will be replaced with "sensitive".
16879func (s TagResourceOutput) String() string {
16880	return awsutil.Prettify(s)
16881}
16882
16883// GoString returns the string representation.
16884//
16885// API parameter values that are decorated as "sensitive" in the API will not
16886// be included in the string output. The member name will be present, but the
16887// value will be replaced with "sensitive".
16888func (s TagResourceOutput) GoString() string {
16889	return s.String()
16890}
16891
16892// Contains the data needed by RDP clients such as the Microsoft Remote Desktop
16893// Connection to log in to the instance.
16894type TemporaryCredential struct {
16895	_ struct{} `type:"structure"`
16896
16897	// The instance's AWS OpsWorks Stacks ID.
16898	InstanceId *string `type:"string"`
16899
16900	// The password.
16901	Password *string `type:"string"`
16902
16903	// The user name.
16904	Username *string `type:"string"`
16905
16906	// The length of time (in minutes) that the grant is valid. When the grant expires,
16907	// at the end of this period, the user will no longer be able to use the credentials
16908	// to log in. If they are logged in at the time, they will be automatically
16909	// logged out.
16910	ValidForInMinutes *int64 `type:"integer"`
16911}
16912
16913// String returns the string representation.
16914//
16915// API parameter values that are decorated as "sensitive" in the API will not
16916// be included in the string output. The member name will be present, but the
16917// value will be replaced with "sensitive".
16918func (s TemporaryCredential) String() string {
16919	return awsutil.Prettify(s)
16920}
16921
16922// GoString returns the string representation.
16923//
16924// API parameter values that are decorated as "sensitive" in the API will not
16925// be included in the string output. The member name will be present, but the
16926// value will be replaced with "sensitive".
16927func (s TemporaryCredential) GoString() string {
16928	return s.String()
16929}
16930
16931// SetInstanceId sets the InstanceId field's value.
16932func (s *TemporaryCredential) SetInstanceId(v string) *TemporaryCredential {
16933	s.InstanceId = &v
16934	return s
16935}
16936
16937// SetPassword sets the Password field's value.
16938func (s *TemporaryCredential) SetPassword(v string) *TemporaryCredential {
16939	s.Password = &v
16940	return s
16941}
16942
16943// SetUsername sets the Username field's value.
16944func (s *TemporaryCredential) SetUsername(v string) *TemporaryCredential {
16945	s.Username = &v
16946	return s
16947}
16948
16949// SetValidForInMinutes sets the ValidForInMinutes field's value.
16950func (s *TemporaryCredential) SetValidForInMinutes(v int64) *TemporaryCredential {
16951	s.ValidForInMinutes = &v
16952	return s
16953}
16954
16955// Describes an instance's time-based auto scaling configuration.
16956type TimeBasedAutoScalingConfiguration struct {
16957	_ struct{} `type:"structure"`
16958
16959	// A WeeklyAutoScalingSchedule object with the instance schedule.
16960	AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"`
16961
16962	// The instance ID.
16963	InstanceId *string `type:"string"`
16964}
16965
16966// String returns the string representation.
16967//
16968// API parameter values that are decorated as "sensitive" in the API will not
16969// be included in the string output. The member name will be present, but the
16970// value will be replaced with "sensitive".
16971func (s TimeBasedAutoScalingConfiguration) String() string {
16972	return awsutil.Prettify(s)
16973}
16974
16975// GoString returns the string representation.
16976//
16977// API parameter values that are decorated as "sensitive" in the API will not
16978// be included in the string output. The member name will be present, but the
16979// value will be replaced with "sensitive".
16980func (s TimeBasedAutoScalingConfiguration) GoString() string {
16981	return s.String()
16982}
16983
16984// SetAutoScalingSchedule sets the AutoScalingSchedule field's value.
16985func (s *TimeBasedAutoScalingConfiguration) SetAutoScalingSchedule(v *WeeklyAutoScalingSchedule) *TimeBasedAutoScalingConfiguration {
16986	s.AutoScalingSchedule = v
16987	return s
16988}
16989
16990// SetInstanceId sets the InstanceId field's value.
16991func (s *TimeBasedAutoScalingConfiguration) SetInstanceId(v string) *TimeBasedAutoScalingConfiguration {
16992	s.InstanceId = &v
16993	return s
16994}
16995
16996type UnassignInstanceInput struct {
16997	_ struct{} `type:"structure"`
16998
16999	// The instance ID.
17000	//
17001	// InstanceId is a required field
17002	InstanceId *string `type:"string" required:"true"`
17003}
17004
17005// String returns the string representation.
17006//
17007// API parameter values that are decorated as "sensitive" in the API will not
17008// be included in the string output. The member name will be present, but the
17009// value will be replaced with "sensitive".
17010func (s UnassignInstanceInput) String() string {
17011	return awsutil.Prettify(s)
17012}
17013
17014// GoString returns the string representation.
17015//
17016// API parameter values that are decorated as "sensitive" in the API will not
17017// be included in the string output. The member name will be present, but the
17018// value will be replaced with "sensitive".
17019func (s UnassignInstanceInput) GoString() string {
17020	return s.String()
17021}
17022
17023// Validate inspects the fields of the type to determine if they are valid.
17024func (s *UnassignInstanceInput) Validate() error {
17025	invalidParams := request.ErrInvalidParams{Context: "UnassignInstanceInput"}
17026	if s.InstanceId == nil {
17027		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
17028	}
17029
17030	if invalidParams.Len() > 0 {
17031		return invalidParams
17032	}
17033	return nil
17034}
17035
17036// SetInstanceId sets the InstanceId field's value.
17037func (s *UnassignInstanceInput) SetInstanceId(v string) *UnassignInstanceInput {
17038	s.InstanceId = &v
17039	return s
17040}
17041
17042type UnassignInstanceOutput struct {
17043	_ struct{} `type:"structure"`
17044}
17045
17046// String returns the string representation.
17047//
17048// API parameter values that are decorated as "sensitive" in the API will not
17049// be included in the string output. The member name will be present, but the
17050// value will be replaced with "sensitive".
17051func (s UnassignInstanceOutput) String() string {
17052	return awsutil.Prettify(s)
17053}
17054
17055// GoString returns the string representation.
17056//
17057// API parameter values that are decorated as "sensitive" in the API will not
17058// be included in the string output. The member name will be present, but the
17059// value will be replaced with "sensitive".
17060func (s UnassignInstanceOutput) GoString() string {
17061	return s.String()
17062}
17063
17064type UnassignVolumeInput struct {
17065	_ struct{} `type:"structure"`
17066
17067	// The volume ID.
17068	//
17069	// VolumeId is a required field
17070	VolumeId *string `type:"string" required:"true"`
17071}
17072
17073// String returns the string representation.
17074//
17075// API parameter values that are decorated as "sensitive" in the API will not
17076// be included in the string output. The member name will be present, but the
17077// value will be replaced with "sensitive".
17078func (s UnassignVolumeInput) String() string {
17079	return awsutil.Prettify(s)
17080}
17081
17082// GoString returns the string representation.
17083//
17084// API parameter values that are decorated as "sensitive" in the API will not
17085// be included in the string output. The member name will be present, but the
17086// value will be replaced with "sensitive".
17087func (s UnassignVolumeInput) GoString() string {
17088	return s.String()
17089}
17090
17091// Validate inspects the fields of the type to determine if they are valid.
17092func (s *UnassignVolumeInput) Validate() error {
17093	invalidParams := request.ErrInvalidParams{Context: "UnassignVolumeInput"}
17094	if s.VolumeId == nil {
17095		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
17096	}
17097
17098	if invalidParams.Len() > 0 {
17099		return invalidParams
17100	}
17101	return nil
17102}
17103
17104// SetVolumeId sets the VolumeId field's value.
17105func (s *UnassignVolumeInput) SetVolumeId(v string) *UnassignVolumeInput {
17106	s.VolumeId = &v
17107	return s
17108}
17109
17110type UnassignVolumeOutput struct {
17111	_ struct{} `type:"structure"`
17112}
17113
17114// String returns the string representation.
17115//
17116// API parameter values that are decorated as "sensitive" in the API will not
17117// be included in the string output. The member name will be present, but the
17118// value will be replaced with "sensitive".
17119func (s UnassignVolumeOutput) String() string {
17120	return awsutil.Prettify(s)
17121}
17122
17123// GoString returns the string representation.
17124//
17125// API parameter values that are decorated as "sensitive" in the API will not
17126// be included in the string output. The member name will be present, but the
17127// value will be replaced with "sensitive".
17128func (s UnassignVolumeOutput) GoString() string {
17129	return s.String()
17130}
17131
17132type UntagResourceInput struct {
17133	_ struct{} `type:"structure"`
17134
17135	// The stack or layer's Amazon Resource Number (ARN).
17136	//
17137	// ResourceArn is a required field
17138	ResourceArn *string `type:"string" required:"true"`
17139
17140	// A list of the keys of tags to be removed from a stack or layer.
17141	//
17142	// TagKeys is a required field
17143	TagKeys []*string `type:"list" required:"true"`
17144}
17145
17146// String returns the string representation.
17147//
17148// API parameter values that are decorated as "sensitive" in the API will not
17149// be included in the string output. The member name will be present, but the
17150// value will be replaced with "sensitive".
17151func (s UntagResourceInput) String() string {
17152	return awsutil.Prettify(s)
17153}
17154
17155// GoString returns the string representation.
17156//
17157// API parameter values that are decorated as "sensitive" in the API will not
17158// be included in the string output. The member name will be present, but the
17159// value will be replaced with "sensitive".
17160func (s UntagResourceInput) GoString() string {
17161	return s.String()
17162}
17163
17164// Validate inspects the fields of the type to determine if they are valid.
17165func (s *UntagResourceInput) Validate() error {
17166	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
17167	if s.ResourceArn == nil {
17168		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
17169	}
17170	if s.TagKeys == nil {
17171		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
17172	}
17173
17174	if invalidParams.Len() > 0 {
17175		return invalidParams
17176	}
17177	return nil
17178}
17179
17180// SetResourceArn sets the ResourceArn field's value.
17181func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
17182	s.ResourceArn = &v
17183	return s
17184}
17185
17186// SetTagKeys sets the TagKeys field's value.
17187func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
17188	s.TagKeys = v
17189	return s
17190}
17191
17192type UntagResourceOutput struct {
17193	_ struct{} `type:"structure"`
17194}
17195
17196// String returns the string representation.
17197//
17198// API parameter values that are decorated as "sensitive" in the API will not
17199// be included in the string output. The member name will be present, but the
17200// value will be replaced with "sensitive".
17201func (s UntagResourceOutput) String() string {
17202	return awsutil.Prettify(s)
17203}
17204
17205// GoString returns the string representation.
17206//
17207// API parameter values that are decorated as "sensitive" in the API will not
17208// be included in the string output. The member name will be present, but the
17209// value will be replaced with "sensitive".
17210func (s UntagResourceOutput) GoString() string {
17211	return s.String()
17212}
17213
17214type UpdateAppInput struct {
17215	_ struct{} `type:"structure"`
17216
17217	// The app ID.
17218	//
17219	// AppId is a required field
17220	AppId *string `type:"string" required:"true"`
17221
17222	// A Source object that specifies the app repository.
17223	AppSource *Source `type:"structure"`
17224
17225	// One or more user-defined key/value pairs to be added to the stack attributes.
17226	Attributes map[string]*string `type:"map"`
17227
17228	// The app's data sources.
17229	DataSources []*DataSource `type:"list"`
17230
17231	// A description of the app.
17232	Description *string `type:"string"`
17233
17234	// The app's virtual host settings, with multiple domains separated by commas.
17235	// For example: 'www.example.com, example.com'
17236	Domains []*string `type:"list"`
17237
17238	// Whether SSL is enabled for the app.
17239	EnableSsl *bool `type:"boolean"`
17240
17241	// An array of EnvironmentVariable objects that specify environment variables
17242	// to be associated with the app. After you deploy the app, these variables
17243	// are defined on the associated app server instances.For more information,
17244	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
17245	//
17246	// There is no specific limit on the number of environment variables. However,
17247	// the size of the associated data structure - which includes the variables'
17248	// names, values, and protected flag values - cannot exceed 20 KB. This limit
17249	// should accommodate most if not all use cases. Exceeding it will cause an
17250	// exception with the message, "Environment: is too large (maximum is 20 KB)."
17251	//
17252	// If you have specified one or more environment variables, you cannot modify
17253	// the stack's Chef version.
17254	Environment []*EnvironmentVariable `type:"list"`
17255
17256	// The app name.
17257	Name *string `type:"string"`
17258
17259	// An SslConfiguration object with the SSL configuration.
17260	SslConfiguration *SslConfiguration `type:"structure"`
17261
17262	// The app type.
17263	Type *string `type:"string" enum:"AppType"`
17264}
17265
17266// String returns the string representation.
17267//
17268// API parameter values that are decorated as "sensitive" in the API will not
17269// be included in the string output. The member name will be present, but the
17270// value will be replaced with "sensitive".
17271func (s UpdateAppInput) String() string {
17272	return awsutil.Prettify(s)
17273}
17274
17275// GoString returns the string representation.
17276//
17277// API parameter values that are decorated as "sensitive" in the API will not
17278// be included in the string output. The member name will be present, but the
17279// value will be replaced with "sensitive".
17280func (s UpdateAppInput) GoString() string {
17281	return s.String()
17282}
17283
17284// Validate inspects the fields of the type to determine if they are valid.
17285func (s *UpdateAppInput) Validate() error {
17286	invalidParams := request.ErrInvalidParams{Context: "UpdateAppInput"}
17287	if s.AppId == nil {
17288		invalidParams.Add(request.NewErrParamRequired("AppId"))
17289	}
17290	if s.Environment != nil {
17291		for i, v := range s.Environment {
17292			if v == nil {
17293				continue
17294			}
17295			if err := v.Validate(); err != nil {
17296				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams))
17297			}
17298		}
17299	}
17300	if s.SslConfiguration != nil {
17301		if err := s.SslConfiguration.Validate(); err != nil {
17302			invalidParams.AddNested("SslConfiguration", err.(request.ErrInvalidParams))
17303		}
17304	}
17305
17306	if invalidParams.Len() > 0 {
17307		return invalidParams
17308	}
17309	return nil
17310}
17311
17312// SetAppId sets the AppId field's value.
17313func (s *UpdateAppInput) SetAppId(v string) *UpdateAppInput {
17314	s.AppId = &v
17315	return s
17316}
17317
17318// SetAppSource sets the AppSource field's value.
17319func (s *UpdateAppInput) SetAppSource(v *Source) *UpdateAppInput {
17320	s.AppSource = v
17321	return s
17322}
17323
17324// SetAttributes sets the Attributes field's value.
17325func (s *UpdateAppInput) SetAttributes(v map[string]*string) *UpdateAppInput {
17326	s.Attributes = v
17327	return s
17328}
17329
17330// SetDataSources sets the DataSources field's value.
17331func (s *UpdateAppInput) SetDataSources(v []*DataSource) *UpdateAppInput {
17332	s.DataSources = v
17333	return s
17334}
17335
17336// SetDescription sets the Description field's value.
17337func (s *UpdateAppInput) SetDescription(v string) *UpdateAppInput {
17338	s.Description = &v
17339	return s
17340}
17341
17342// SetDomains sets the Domains field's value.
17343func (s *UpdateAppInput) SetDomains(v []*string) *UpdateAppInput {
17344	s.Domains = v
17345	return s
17346}
17347
17348// SetEnableSsl sets the EnableSsl field's value.
17349func (s *UpdateAppInput) SetEnableSsl(v bool) *UpdateAppInput {
17350	s.EnableSsl = &v
17351	return s
17352}
17353
17354// SetEnvironment sets the Environment field's value.
17355func (s *UpdateAppInput) SetEnvironment(v []*EnvironmentVariable) *UpdateAppInput {
17356	s.Environment = v
17357	return s
17358}
17359
17360// SetName sets the Name field's value.
17361func (s *UpdateAppInput) SetName(v string) *UpdateAppInput {
17362	s.Name = &v
17363	return s
17364}
17365
17366// SetSslConfiguration sets the SslConfiguration field's value.
17367func (s *UpdateAppInput) SetSslConfiguration(v *SslConfiguration) *UpdateAppInput {
17368	s.SslConfiguration = v
17369	return s
17370}
17371
17372// SetType sets the Type field's value.
17373func (s *UpdateAppInput) SetType(v string) *UpdateAppInput {
17374	s.Type = &v
17375	return s
17376}
17377
17378type UpdateAppOutput struct {
17379	_ struct{} `type:"structure"`
17380}
17381
17382// String returns the string representation.
17383//
17384// API parameter values that are decorated as "sensitive" in the API will not
17385// be included in the string output. The member name will be present, but the
17386// value will be replaced with "sensitive".
17387func (s UpdateAppOutput) String() string {
17388	return awsutil.Prettify(s)
17389}
17390
17391// GoString returns the string representation.
17392//
17393// API parameter values that are decorated as "sensitive" in the API will not
17394// be included in the string output. The member name will be present, but the
17395// value will be replaced with "sensitive".
17396func (s UpdateAppOutput) GoString() string {
17397	return s.String()
17398}
17399
17400type UpdateElasticIpInput struct {
17401	_ struct{} `type:"structure"`
17402
17403	// The IP address for which you want to update the name.
17404	//
17405	// ElasticIp is a required field
17406	ElasticIp *string `type:"string" required:"true"`
17407
17408	// The new name.
17409	Name *string `type:"string"`
17410}
17411
17412// String returns the string representation.
17413//
17414// API parameter values that are decorated as "sensitive" in the API will not
17415// be included in the string output. The member name will be present, but the
17416// value will be replaced with "sensitive".
17417func (s UpdateElasticIpInput) String() string {
17418	return awsutil.Prettify(s)
17419}
17420
17421// GoString returns the string representation.
17422//
17423// API parameter values that are decorated as "sensitive" in the API will not
17424// be included in the string output. The member name will be present, but the
17425// value will be replaced with "sensitive".
17426func (s UpdateElasticIpInput) GoString() string {
17427	return s.String()
17428}
17429
17430// Validate inspects the fields of the type to determine if they are valid.
17431func (s *UpdateElasticIpInput) Validate() error {
17432	invalidParams := request.ErrInvalidParams{Context: "UpdateElasticIpInput"}
17433	if s.ElasticIp == nil {
17434		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
17435	}
17436
17437	if invalidParams.Len() > 0 {
17438		return invalidParams
17439	}
17440	return nil
17441}
17442
17443// SetElasticIp sets the ElasticIp field's value.
17444func (s *UpdateElasticIpInput) SetElasticIp(v string) *UpdateElasticIpInput {
17445	s.ElasticIp = &v
17446	return s
17447}
17448
17449// SetName sets the Name field's value.
17450func (s *UpdateElasticIpInput) SetName(v string) *UpdateElasticIpInput {
17451	s.Name = &v
17452	return s
17453}
17454
17455type UpdateElasticIpOutput struct {
17456	_ struct{} `type:"structure"`
17457}
17458
17459// String returns the string representation.
17460//
17461// API parameter values that are decorated as "sensitive" in the API will not
17462// be included in the string output. The member name will be present, but the
17463// value will be replaced with "sensitive".
17464func (s UpdateElasticIpOutput) String() string {
17465	return awsutil.Prettify(s)
17466}
17467
17468// GoString returns the string representation.
17469//
17470// API parameter values that are decorated as "sensitive" in the API will not
17471// be included in the string output. The member name will be present, but the
17472// value will be replaced with "sensitive".
17473func (s UpdateElasticIpOutput) GoString() string {
17474	return s.String()
17475}
17476
17477type UpdateInstanceInput struct {
17478	_ struct{} `type:"structure"`
17479
17480	// The default AWS OpsWorks Stacks agent version. You have the following options:
17481	//
17482	//    * INHERIT - Use the stack's default agent version setting.
17483	//
17484	//    * version_number - Use the specified agent version. This value overrides
17485	//    the stack's default setting. To update the agent version, you must edit
17486	//    the instance configuration and specify a new version. AWS OpsWorks Stacks
17487	//    then automatically installs that version on the instance.
17488	//
17489	// The default setting is INHERIT. To specify an agent version, you must use
17490	// the complete version number, not the abbreviated number shown on the console.
17491	// For a list of available agent version numbers, call DescribeAgentVersions.
17492	//
17493	// AgentVersion cannot be set to Chef 12.2.
17494	AgentVersion *string `type:"string"`
17495
17496	// The ID of the AMI that was used to create the instance. The value of this
17497	// parameter must be the same AMI ID that the instance is already using. You
17498	// cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance
17499	// does not work on instances that are using custom AMIs.
17500	AmiId *string `type:"string"`
17501
17502	// The instance architecture. Instance types do not necessarily support both
17503	// architectures. For a list of the architectures that are supported by the
17504	// different instance types, see Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
17505	Architecture *string `type:"string" enum:"Architecture"`
17506
17507	// For load-based or time-based instances, the type. Windows stacks can use
17508	// only time-based instances.
17509	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
17510
17511	// This property cannot be updated.
17512	EbsOptimized *bool `type:"boolean"`
17513
17514	// The instance host name.
17515	Hostname *string `type:"string"`
17516
17517	// Whether to install operating system and package updates when the instance
17518	// boots. The default value is true. To control when updates are installed,
17519	// set this value to false. You must then update your instances manually by
17520	// using CreateDeployment to run the update_dependencies stack command or by
17521	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
17522	//
17523	// We strongly recommend using the default value of true, to ensure that your
17524	// instances have the latest security updates.
17525	InstallUpdatesOnBoot *bool `type:"boolean"`
17526
17527	// The instance ID.
17528	//
17529	// InstanceId is a required field
17530	InstanceId *string `type:"string" required:"true"`
17531
17532	// The instance type, such as t2.micro. For a list of supported instance types,
17533	// open the stack in the console, choose Instances, and choose + Instance. The
17534	// Size list contains the currently supported types. For more information, see
17535	// Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
17536	// The parameter values that you use to specify the various types are in the
17537	// API Name column of the Available Instance Types table.
17538	InstanceType *string `type:"string"`
17539
17540	// The instance's layer IDs.
17541	LayerIds []*string `type:"list"`
17542
17543	// The instance's operating system, which must be set to one of the following.
17544	// You cannot update an instance that is using a custom AMI.
17545	//
17546	//    * A supported Linux operating system: An Amazon Linux version, such as
17547	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
17548	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
17549	//    2015.03.
17550	//
17551	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
17552	//    14.04 LTS, or Ubuntu 12.04 LTS.
17553	//
17554	//    * CentOS Linux 7
17555	//
17556	//    * Red Hat Enterprise Linux 7
17557	//
17558	//    * A supported Windows operating system, such as Microsoft Windows Server
17559	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
17560	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
17561	//    Windows Server 2012 R2 with SQL Server Web.
17562	//
17563	// For more information about supported operating systems, see AWS OpsWorks
17564	// Stacks Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
17565	//
17566	// The default option is the current Amazon Linux version. If you set this parameter
17567	// to Custom, you must use the AmiId parameter to specify the custom AMI that
17568	// you want to use. For more information about supported operating systems,
17569	// see Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
17570	// For more information about how to use custom AMIs with OpsWorks, see Using
17571	// Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
17572	//
17573	// You can specify a different Linux operating system for the updated stack,
17574	// but you cannot change from Linux to Windows or Windows to Linux.
17575	Os *string `type:"string"`
17576
17577	// The instance's Amazon EC2 key name.
17578	SshKeyName *string `type:"string"`
17579}
17580
17581// String returns the string representation.
17582//
17583// API parameter values that are decorated as "sensitive" in the API will not
17584// be included in the string output. The member name will be present, but the
17585// value will be replaced with "sensitive".
17586func (s UpdateInstanceInput) String() string {
17587	return awsutil.Prettify(s)
17588}
17589
17590// GoString returns the string representation.
17591//
17592// API parameter values that are decorated as "sensitive" in the API will not
17593// be included in the string output. The member name will be present, but the
17594// value will be replaced with "sensitive".
17595func (s UpdateInstanceInput) GoString() string {
17596	return s.String()
17597}
17598
17599// Validate inspects the fields of the type to determine if they are valid.
17600func (s *UpdateInstanceInput) Validate() error {
17601	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceInput"}
17602	if s.InstanceId == nil {
17603		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
17604	}
17605
17606	if invalidParams.Len() > 0 {
17607		return invalidParams
17608	}
17609	return nil
17610}
17611
17612// SetAgentVersion sets the AgentVersion field's value.
17613func (s *UpdateInstanceInput) SetAgentVersion(v string) *UpdateInstanceInput {
17614	s.AgentVersion = &v
17615	return s
17616}
17617
17618// SetAmiId sets the AmiId field's value.
17619func (s *UpdateInstanceInput) SetAmiId(v string) *UpdateInstanceInput {
17620	s.AmiId = &v
17621	return s
17622}
17623
17624// SetArchitecture sets the Architecture field's value.
17625func (s *UpdateInstanceInput) SetArchitecture(v string) *UpdateInstanceInput {
17626	s.Architecture = &v
17627	return s
17628}
17629
17630// SetAutoScalingType sets the AutoScalingType field's value.
17631func (s *UpdateInstanceInput) SetAutoScalingType(v string) *UpdateInstanceInput {
17632	s.AutoScalingType = &v
17633	return s
17634}
17635
17636// SetEbsOptimized sets the EbsOptimized field's value.
17637func (s *UpdateInstanceInput) SetEbsOptimized(v bool) *UpdateInstanceInput {
17638	s.EbsOptimized = &v
17639	return s
17640}
17641
17642// SetHostname sets the Hostname field's value.
17643func (s *UpdateInstanceInput) SetHostname(v string) *UpdateInstanceInput {
17644	s.Hostname = &v
17645	return s
17646}
17647
17648// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
17649func (s *UpdateInstanceInput) SetInstallUpdatesOnBoot(v bool) *UpdateInstanceInput {
17650	s.InstallUpdatesOnBoot = &v
17651	return s
17652}
17653
17654// SetInstanceId sets the InstanceId field's value.
17655func (s *UpdateInstanceInput) SetInstanceId(v string) *UpdateInstanceInput {
17656	s.InstanceId = &v
17657	return s
17658}
17659
17660// SetInstanceType sets the InstanceType field's value.
17661func (s *UpdateInstanceInput) SetInstanceType(v string) *UpdateInstanceInput {
17662	s.InstanceType = &v
17663	return s
17664}
17665
17666// SetLayerIds sets the LayerIds field's value.
17667func (s *UpdateInstanceInput) SetLayerIds(v []*string) *UpdateInstanceInput {
17668	s.LayerIds = v
17669	return s
17670}
17671
17672// SetOs sets the Os field's value.
17673func (s *UpdateInstanceInput) SetOs(v string) *UpdateInstanceInput {
17674	s.Os = &v
17675	return s
17676}
17677
17678// SetSshKeyName sets the SshKeyName field's value.
17679func (s *UpdateInstanceInput) SetSshKeyName(v string) *UpdateInstanceInput {
17680	s.SshKeyName = &v
17681	return s
17682}
17683
17684type UpdateInstanceOutput struct {
17685	_ struct{} `type:"structure"`
17686}
17687
17688// String returns the string representation.
17689//
17690// API parameter values that are decorated as "sensitive" in the API will not
17691// be included in the string output. The member name will be present, but the
17692// value will be replaced with "sensitive".
17693func (s UpdateInstanceOutput) String() string {
17694	return awsutil.Prettify(s)
17695}
17696
17697// GoString returns the string representation.
17698//
17699// API parameter values that are decorated as "sensitive" in the API will not
17700// be included in the string output. The member name will be present, but the
17701// value will be replaced with "sensitive".
17702func (s UpdateInstanceOutput) GoString() string {
17703	return s.String()
17704}
17705
17706type UpdateLayerInput struct {
17707	_ struct{} `type:"structure"`
17708
17709	// One or more user-defined key/value pairs to be added to the stack attributes.
17710	Attributes map[string]*string `type:"map"`
17711
17712	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
17713	// 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).
17714	AutoAssignElasticIps *bool `type:"boolean"`
17715
17716	// For stacks that are running in a VPC, whether to automatically assign a public
17717	// IP address to the layer's instances. For more information, see How to Edit
17718	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
17719	AutoAssignPublicIps *bool `type:"boolean"`
17720
17721	// Specifies CloudWatch Logs configuration options for the layer. For more information,
17722	// see CloudWatchLogsLogStream.
17723	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
17724
17725	// The ARN of an IAM profile to be used for all of the layer's EC2 instances.
17726	// For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
17727	CustomInstanceProfileArn *string `type:"string"`
17728
17729	// A JSON-formatted string containing custom stack configuration and deployment
17730	// attributes to be installed on the layer's instances. For more information,
17731	// see Using Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
17732	CustomJson *string `type:"string"`
17733
17734	// A LayerCustomRecipes object that specifies the layer's custom recipes.
17735	CustomRecipes *Recipes `type:"structure"`
17736
17737	// An array containing the layer's custom security group IDs.
17738	CustomSecurityGroupIds []*string `type:"list"`
17739
17740	// Whether to disable auto healing for the layer.
17741	EnableAutoHealing *bool `type:"boolean"`
17742
17743	// Whether to install operating system and package updates when the instance
17744	// boots. The default value is true. To control when updates are installed,
17745	// set this value to false. You must then update your instances manually by
17746	// using CreateDeployment to run the update_dependencies stack command or manually
17747	// running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
17748	//
17749	// We strongly recommend using the default value of true, to ensure that your
17750	// instances have the latest security updates.
17751	InstallUpdatesOnBoot *bool `type:"boolean"`
17752
17753	// The layer ID.
17754	//
17755	// LayerId is a required field
17756	LayerId *string `type:"string" required:"true"`
17757
17758	// Specifies the lifecycle event configuration
17759	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
17760
17761	// The layer name, which is used by the console.
17762	Name *string `type:"string"`
17763
17764	// An array of Package objects that describe the layer's packages.
17765	Packages []*string `type:"list"`
17766
17767	// For custom layers only, use this parameter to specify the layer's short name,
17768	// which is used internally by AWS OpsWorks Stacks and by Chef. The short name
17769	// is also used as the name for the directory where your app files are installed.
17770	// It can have a maximum of 200 characters and must be in the following format:
17771	// /\A[a-z0-9\-\_\.]+\Z/.
17772	//
17773	// The built-in layers' short names are defined by AWS OpsWorks Stacks. For
17774	// more information, see the Layer Reference (https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html)
17775	Shortname *string `type:"string"`
17776
17777	// Whether to use Amazon EBS-optimized instances.
17778	UseEbsOptimizedInstances *bool `type:"boolean"`
17779
17780	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
17781	VolumeConfigurations []*VolumeConfiguration `type:"list"`
17782}
17783
17784// String returns the string representation.
17785//
17786// API parameter values that are decorated as "sensitive" in the API will not
17787// be included in the string output. The member name will be present, but the
17788// value will be replaced with "sensitive".
17789func (s UpdateLayerInput) String() string {
17790	return awsutil.Prettify(s)
17791}
17792
17793// GoString returns the string representation.
17794//
17795// API parameter values that are decorated as "sensitive" in the API will not
17796// be included in the string output. The member name will be present, but the
17797// value will be replaced with "sensitive".
17798func (s UpdateLayerInput) GoString() string {
17799	return s.String()
17800}
17801
17802// Validate inspects the fields of the type to determine if they are valid.
17803func (s *UpdateLayerInput) Validate() error {
17804	invalidParams := request.ErrInvalidParams{Context: "UpdateLayerInput"}
17805	if s.LayerId == nil {
17806		invalidParams.Add(request.NewErrParamRequired("LayerId"))
17807	}
17808	if s.VolumeConfigurations != nil {
17809		for i, v := range s.VolumeConfigurations {
17810			if v == nil {
17811				continue
17812			}
17813			if err := v.Validate(); err != nil {
17814				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VolumeConfigurations", i), err.(request.ErrInvalidParams))
17815			}
17816		}
17817	}
17818
17819	if invalidParams.Len() > 0 {
17820		return invalidParams
17821	}
17822	return nil
17823}
17824
17825// SetAttributes sets the Attributes field's value.
17826func (s *UpdateLayerInput) SetAttributes(v map[string]*string) *UpdateLayerInput {
17827	s.Attributes = v
17828	return s
17829}
17830
17831// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
17832func (s *UpdateLayerInput) SetAutoAssignElasticIps(v bool) *UpdateLayerInput {
17833	s.AutoAssignElasticIps = &v
17834	return s
17835}
17836
17837// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
17838func (s *UpdateLayerInput) SetAutoAssignPublicIps(v bool) *UpdateLayerInput {
17839	s.AutoAssignPublicIps = &v
17840	return s
17841}
17842
17843// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
17844func (s *UpdateLayerInput) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *UpdateLayerInput {
17845	s.CloudWatchLogsConfiguration = v
17846	return s
17847}
17848
17849// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
17850func (s *UpdateLayerInput) SetCustomInstanceProfileArn(v string) *UpdateLayerInput {
17851	s.CustomInstanceProfileArn = &v
17852	return s
17853}
17854
17855// SetCustomJson sets the CustomJson field's value.
17856func (s *UpdateLayerInput) SetCustomJson(v string) *UpdateLayerInput {
17857	s.CustomJson = &v
17858	return s
17859}
17860
17861// SetCustomRecipes sets the CustomRecipes field's value.
17862func (s *UpdateLayerInput) SetCustomRecipes(v *Recipes) *UpdateLayerInput {
17863	s.CustomRecipes = v
17864	return s
17865}
17866
17867// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
17868func (s *UpdateLayerInput) SetCustomSecurityGroupIds(v []*string) *UpdateLayerInput {
17869	s.CustomSecurityGroupIds = v
17870	return s
17871}
17872
17873// SetEnableAutoHealing sets the EnableAutoHealing field's value.
17874func (s *UpdateLayerInput) SetEnableAutoHealing(v bool) *UpdateLayerInput {
17875	s.EnableAutoHealing = &v
17876	return s
17877}
17878
17879// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
17880func (s *UpdateLayerInput) SetInstallUpdatesOnBoot(v bool) *UpdateLayerInput {
17881	s.InstallUpdatesOnBoot = &v
17882	return s
17883}
17884
17885// SetLayerId sets the LayerId field's value.
17886func (s *UpdateLayerInput) SetLayerId(v string) *UpdateLayerInput {
17887	s.LayerId = &v
17888	return s
17889}
17890
17891// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
17892func (s *UpdateLayerInput) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *UpdateLayerInput {
17893	s.LifecycleEventConfiguration = v
17894	return s
17895}
17896
17897// SetName sets the Name field's value.
17898func (s *UpdateLayerInput) SetName(v string) *UpdateLayerInput {
17899	s.Name = &v
17900	return s
17901}
17902
17903// SetPackages sets the Packages field's value.
17904func (s *UpdateLayerInput) SetPackages(v []*string) *UpdateLayerInput {
17905	s.Packages = v
17906	return s
17907}
17908
17909// SetShortname sets the Shortname field's value.
17910func (s *UpdateLayerInput) SetShortname(v string) *UpdateLayerInput {
17911	s.Shortname = &v
17912	return s
17913}
17914
17915// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
17916func (s *UpdateLayerInput) SetUseEbsOptimizedInstances(v bool) *UpdateLayerInput {
17917	s.UseEbsOptimizedInstances = &v
17918	return s
17919}
17920
17921// SetVolumeConfigurations sets the VolumeConfigurations field's value.
17922func (s *UpdateLayerInput) SetVolumeConfigurations(v []*VolumeConfiguration) *UpdateLayerInput {
17923	s.VolumeConfigurations = v
17924	return s
17925}
17926
17927type UpdateLayerOutput struct {
17928	_ struct{} `type:"structure"`
17929}
17930
17931// String returns the string representation.
17932//
17933// API parameter values that are decorated as "sensitive" in the API will not
17934// be included in the string output. The member name will be present, but the
17935// value will be replaced with "sensitive".
17936func (s UpdateLayerOutput) String() string {
17937	return awsutil.Prettify(s)
17938}
17939
17940// GoString returns the string representation.
17941//
17942// API parameter values that are decorated as "sensitive" in the API will not
17943// be included in the string output. The member name will be present, but the
17944// value will be replaced with "sensitive".
17945func (s UpdateLayerOutput) GoString() string {
17946	return s.String()
17947}
17948
17949type UpdateMyUserProfileInput struct {
17950	_ struct{} `type:"structure"`
17951
17952	// The user's SSH public key.
17953	SshPublicKey *string `type:"string"`
17954}
17955
17956// String returns the string representation.
17957//
17958// API parameter values that are decorated as "sensitive" in the API will not
17959// be included in the string output. The member name will be present, but the
17960// value will be replaced with "sensitive".
17961func (s UpdateMyUserProfileInput) String() string {
17962	return awsutil.Prettify(s)
17963}
17964
17965// GoString returns the string representation.
17966//
17967// API parameter values that are decorated as "sensitive" in the API will not
17968// be included in the string output. The member name will be present, but the
17969// value will be replaced with "sensitive".
17970func (s UpdateMyUserProfileInput) GoString() string {
17971	return s.String()
17972}
17973
17974// SetSshPublicKey sets the SshPublicKey field's value.
17975func (s *UpdateMyUserProfileInput) SetSshPublicKey(v string) *UpdateMyUserProfileInput {
17976	s.SshPublicKey = &v
17977	return s
17978}
17979
17980type UpdateMyUserProfileOutput struct {
17981	_ struct{} `type:"structure"`
17982}
17983
17984// String returns the string representation.
17985//
17986// API parameter values that are decorated as "sensitive" in the API will not
17987// be included in the string output. The member name will be present, but the
17988// value will be replaced with "sensitive".
17989func (s UpdateMyUserProfileOutput) String() string {
17990	return awsutil.Prettify(s)
17991}
17992
17993// GoString returns the string representation.
17994//
17995// API parameter values that are decorated as "sensitive" in the API will not
17996// be included in the string output. The member name will be present, but the
17997// value will be replaced with "sensitive".
17998func (s UpdateMyUserProfileOutput) GoString() string {
17999	return s.String()
18000}
18001
18002type UpdateRdsDbInstanceInput struct {
18003	_ struct{} `type:"structure"`
18004
18005	// The database password.
18006	DbPassword *string `type:"string"`
18007
18008	// The master user name.
18009	DbUser *string `type:"string"`
18010
18011	// The Amazon RDS instance's ARN.
18012	//
18013	// RdsDbInstanceArn is a required field
18014	RdsDbInstanceArn *string `type:"string" required:"true"`
18015}
18016
18017// String returns the string representation.
18018//
18019// API parameter values that are decorated as "sensitive" in the API will not
18020// be included in the string output. The member name will be present, but the
18021// value will be replaced with "sensitive".
18022func (s UpdateRdsDbInstanceInput) String() string {
18023	return awsutil.Prettify(s)
18024}
18025
18026// GoString returns the string representation.
18027//
18028// API parameter values that are decorated as "sensitive" in the API will not
18029// be included in the string output. The member name will be present, but the
18030// value will be replaced with "sensitive".
18031func (s UpdateRdsDbInstanceInput) GoString() string {
18032	return s.String()
18033}
18034
18035// Validate inspects the fields of the type to determine if they are valid.
18036func (s *UpdateRdsDbInstanceInput) Validate() error {
18037	invalidParams := request.ErrInvalidParams{Context: "UpdateRdsDbInstanceInput"}
18038	if s.RdsDbInstanceArn == nil {
18039		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
18040	}
18041
18042	if invalidParams.Len() > 0 {
18043		return invalidParams
18044	}
18045	return nil
18046}
18047
18048// SetDbPassword sets the DbPassword field's value.
18049func (s *UpdateRdsDbInstanceInput) SetDbPassword(v string) *UpdateRdsDbInstanceInput {
18050	s.DbPassword = &v
18051	return s
18052}
18053
18054// SetDbUser sets the DbUser field's value.
18055func (s *UpdateRdsDbInstanceInput) SetDbUser(v string) *UpdateRdsDbInstanceInput {
18056	s.DbUser = &v
18057	return s
18058}
18059
18060// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
18061func (s *UpdateRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *UpdateRdsDbInstanceInput {
18062	s.RdsDbInstanceArn = &v
18063	return s
18064}
18065
18066type UpdateRdsDbInstanceOutput struct {
18067	_ struct{} `type:"structure"`
18068}
18069
18070// String returns the string representation.
18071//
18072// API parameter values that are decorated as "sensitive" in the API will not
18073// be included in the string output. The member name will be present, but the
18074// value will be replaced with "sensitive".
18075func (s UpdateRdsDbInstanceOutput) String() string {
18076	return awsutil.Prettify(s)
18077}
18078
18079// GoString returns the string representation.
18080//
18081// API parameter values that are decorated as "sensitive" in the API will not
18082// be included in the string output. The member name will be present, but the
18083// value will be replaced with "sensitive".
18084func (s UpdateRdsDbInstanceOutput) GoString() string {
18085	return s.String()
18086}
18087
18088type UpdateStackInput struct {
18089	_ struct{} `type:"structure"`
18090
18091	// The default AWS OpsWorks Stacks agent version. You have the following options:
18092	//
18093	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
18094	//    installs new agent versions on the stack's instances as soon as they are
18095	//    available.
18096	//
18097	//    * Fixed version - Set this parameter to your preferred agent version.
18098	//    To update the agent version, you must edit the stack configuration and
18099	//    specify a new version. AWS OpsWorks Stacks then automatically installs
18100	//    that version on the stack's instances.
18101	//
18102	// The default setting is LATEST. To specify an agent version, you must use
18103	// the complete version number, not the abbreviated number shown on the console.
18104	// For a list of available agent version numbers, call DescribeAgentVersions.
18105	// AgentVersion cannot be set to Chef 12.2.
18106	//
18107	// You can also specify an agent version when you create or update an instance,
18108	// which overrides the stack's default setting.
18109	AgentVersion *string `type:"string"`
18110
18111	// One or more user-defined key-value pairs to be added to the stack attributes.
18112	Attributes map[string]*string `type:"map"`
18113
18114	// A ChefConfiguration object that specifies whether to enable Berkshelf and
18115	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
18116	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
18117	ChefConfiguration *ChefConfiguration `type:"structure"`
18118
18119	// The configuration manager. When you update a stack, we recommend that you
18120	// use the configuration manager to specify the Chef version: 12, 11.10, or
18121	// 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for
18122	// Linux stacks is currently 12.
18123	ConfigurationManager *StackConfigurationManager `type:"structure"`
18124
18125	// Contains the information required to retrieve an app or cookbook from a repository.
18126	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
18127	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
18128	CustomCookbooksSource *Source `type:"structure"`
18129
18130	// A string that contains user-defined, custom JSON. It can be used to override
18131	// the corresponding default stack configuration JSON values or to pass data
18132	// to recipes. The string should be in the following format:
18133	//
18134	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
18135	//
18136	// For more information about custom JSON, see Use Custom JSON to Modify the
18137	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
18138	CustomJson *string `type:"string"`
18139
18140	// The stack's default Availability Zone, which must be in the stack's region.
18141	// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
18142	// If you also specify a value for DefaultSubnetId, the subnet must be in the
18143	// same zone. For more information, see CreateStack.
18144	DefaultAvailabilityZone *string `type:"string"`
18145
18146	// The ARN of an IAM profile that is the default profile for all of the stack's
18147	// EC2 instances. For more information about IAM ARNs, see Using Identifiers
18148	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
18149	DefaultInstanceProfileArn *string `type:"string"`
18150
18151	// The stack's operating system, which must be set to one of the following:
18152	//
18153	//    * A supported Linux operating system: An Amazon Linux version, such as
18154	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
18155	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
18156	//    2015.03.
18157	//
18158	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
18159	//    14.04 LTS, or Ubuntu 12.04 LTS.
18160	//
18161	//    * CentOS Linux 7
18162	//
18163	//    * Red Hat Enterprise Linux 7
18164	//
18165	//    * A supported Windows operating system, such as Microsoft Windows Server
18166	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
18167	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
18168	//    Windows Server 2012 R2 with SQL Server Web.
18169	//
18170	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
18171	//    you create instances. For more information about how to use custom AMIs
18172	//    with OpsWorks, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
18173	//
18174	// The default option is the stack's current operating system. For more information
18175	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
18176	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
18177	DefaultOs *string `type:"string"`
18178
18179	// The default root device type. This value is used by default for all instances
18180	// in the stack, but you can override it when you create an instance. For more
18181	// information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
18182	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
18183
18184	// A default Amazon EC2 key-pair name. The default value is none. If you specify
18185	// a key-pair name, AWS OpsWorks Stacks installs the public key on the instance
18186	// and you can use the private key with an SSH client to log in to the instance.
18187	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
18188	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
18189	// You can override this setting by specifying a different key pair, or no key
18190	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
18191	DefaultSshKeyName *string `type:"string"`
18192
18193	// The stack's default VPC subnet ID. This parameter is required if you specify
18194	// a value for the VpcId parameter. All instances are launched into this subnet
18195	// unless you specify otherwise when you create the instance. If you also specify
18196	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
18197	// information on default values and when this parameter is required, see the
18198	// VpcId parameter description.
18199	DefaultSubnetId *string `type:"string"`
18200
18201	// The stack's new host name theme, with spaces replaced by underscores. The
18202	// theme is used to generate host names for the stack's instances. By default,
18203	// HostnameTheme is set to Layer_Dependent, which creates host names by appending
18204	// integers to the layer's short name. The other themes are:
18205	//
18206	//    * Baked_Goods
18207	//
18208	//    * Clouds
18209	//
18210	//    * Europe_Cities
18211	//
18212	//    * Fruits
18213	//
18214	//    * Greek_Deities_and_Titans
18215	//
18216	//    * Legendary_creatures_from_Japan
18217	//
18218	//    * Planets_and_Moons
18219	//
18220	//    * Roman_Deities
18221	//
18222	//    * Scottish_Islands
18223	//
18224	//    * US_Cities
18225	//
18226	//    * Wild_Cats
18227	//
18228	// To obtain a generated host name, call GetHostNameSuggestion, which returns
18229	// a host name based on the current theme.
18230	HostnameTheme *string `type:"string"`
18231
18232	// The stack's new name.
18233	Name *string `type:"string"`
18234
18235	// Do not use this parameter. You cannot update a stack's service role.
18236	ServiceRoleArn *string `type:"string"`
18237
18238	// The stack ID.
18239	//
18240	// StackId is a required field
18241	StackId *string `type:"string" required:"true"`
18242
18243	// Whether the stack uses custom cookbooks.
18244	UseCustomCookbooks *bool `type:"boolean"`
18245
18246	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
18247	// the stack's layers.
18248	//
18249	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
18250	// one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups
18251	// allows you to provide your own custom security groups instead of using the
18252	// built-in groups. UseOpsworksSecurityGroups has the following settings:
18253	//
18254	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
18255	//    built-in security group with each layer (default setting). You can associate
18256	//    additional security groups with a layer after you create it, but you cannot
18257	//    delete the built-in security group.
18258	//
18259	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
18260	//    with layers. You must create appropriate EC2 security groups and associate
18261	//    a security group with each layer that you create. However, you can still
18262	//    manually associate a built-in security group with a layer on. Custom security
18263	//    groups are required only for those layers that need custom settings.
18264	//
18265	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
18266	UseOpsworksSecurityGroups *bool `type:"boolean"`
18267}
18268
18269// String returns the string representation.
18270//
18271// API parameter values that are decorated as "sensitive" in the API will not
18272// be included in the string output. The member name will be present, but the
18273// value will be replaced with "sensitive".
18274func (s UpdateStackInput) String() string {
18275	return awsutil.Prettify(s)
18276}
18277
18278// GoString returns the string representation.
18279//
18280// API parameter values that are decorated as "sensitive" in the API will not
18281// be included in the string output. The member name will be present, but the
18282// value will be replaced with "sensitive".
18283func (s UpdateStackInput) GoString() string {
18284	return s.String()
18285}
18286
18287// Validate inspects the fields of the type to determine if they are valid.
18288func (s *UpdateStackInput) Validate() error {
18289	invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
18290	if s.StackId == nil {
18291		invalidParams.Add(request.NewErrParamRequired("StackId"))
18292	}
18293
18294	if invalidParams.Len() > 0 {
18295		return invalidParams
18296	}
18297	return nil
18298}
18299
18300// SetAgentVersion sets the AgentVersion field's value.
18301func (s *UpdateStackInput) SetAgentVersion(v string) *UpdateStackInput {
18302	s.AgentVersion = &v
18303	return s
18304}
18305
18306// SetAttributes sets the Attributes field's value.
18307func (s *UpdateStackInput) SetAttributes(v map[string]*string) *UpdateStackInput {
18308	s.Attributes = v
18309	return s
18310}
18311
18312// SetChefConfiguration sets the ChefConfiguration field's value.
18313func (s *UpdateStackInput) SetChefConfiguration(v *ChefConfiguration) *UpdateStackInput {
18314	s.ChefConfiguration = v
18315	return s
18316}
18317
18318// SetConfigurationManager sets the ConfigurationManager field's value.
18319func (s *UpdateStackInput) SetConfigurationManager(v *StackConfigurationManager) *UpdateStackInput {
18320	s.ConfigurationManager = v
18321	return s
18322}
18323
18324// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
18325func (s *UpdateStackInput) SetCustomCookbooksSource(v *Source) *UpdateStackInput {
18326	s.CustomCookbooksSource = v
18327	return s
18328}
18329
18330// SetCustomJson sets the CustomJson field's value.
18331func (s *UpdateStackInput) SetCustomJson(v string) *UpdateStackInput {
18332	s.CustomJson = &v
18333	return s
18334}
18335
18336// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
18337func (s *UpdateStackInput) SetDefaultAvailabilityZone(v string) *UpdateStackInput {
18338	s.DefaultAvailabilityZone = &v
18339	return s
18340}
18341
18342// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
18343func (s *UpdateStackInput) SetDefaultInstanceProfileArn(v string) *UpdateStackInput {
18344	s.DefaultInstanceProfileArn = &v
18345	return s
18346}
18347
18348// SetDefaultOs sets the DefaultOs field's value.
18349func (s *UpdateStackInput) SetDefaultOs(v string) *UpdateStackInput {
18350	s.DefaultOs = &v
18351	return s
18352}
18353
18354// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
18355func (s *UpdateStackInput) SetDefaultRootDeviceType(v string) *UpdateStackInput {
18356	s.DefaultRootDeviceType = &v
18357	return s
18358}
18359
18360// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
18361func (s *UpdateStackInput) SetDefaultSshKeyName(v string) *UpdateStackInput {
18362	s.DefaultSshKeyName = &v
18363	return s
18364}
18365
18366// SetDefaultSubnetId sets the DefaultSubnetId field's value.
18367func (s *UpdateStackInput) SetDefaultSubnetId(v string) *UpdateStackInput {
18368	s.DefaultSubnetId = &v
18369	return s
18370}
18371
18372// SetHostnameTheme sets the HostnameTheme field's value.
18373func (s *UpdateStackInput) SetHostnameTheme(v string) *UpdateStackInput {
18374	s.HostnameTheme = &v
18375	return s
18376}
18377
18378// SetName sets the Name field's value.
18379func (s *UpdateStackInput) SetName(v string) *UpdateStackInput {
18380	s.Name = &v
18381	return s
18382}
18383
18384// SetServiceRoleArn sets the ServiceRoleArn field's value.
18385func (s *UpdateStackInput) SetServiceRoleArn(v string) *UpdateStackInput {
18386	s.ServiceRoleArn = &v
18387	return s
18388}
18389
18390// SetStackId sets the StackId field's value.
18391func (s *UpdateStackInput) SetStackId(v string) *UpdateStackInput {
18392	s.StackId = &v
18393	return s
18394}
18395
18396// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
18397func (s *UpdateStackInput) SetUseCustomCookbooks(v bool) *UpdateStackInput {
18398	s.UseCustomCookbooks = &v
18399	return s
18400}
18401
18402// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
18403func (s *UpdateStackInput) SetUseOpsworksSecurityGroups(v bool) *UpdateStackInput {
18404	s.UseOpsworksSecurityGroups = &v
18405	return s
18406}
18407
18408type UpdateStackOutput struct {
18409	_ struct{} `type:"structure"`
18410}
18411
18412// String returns the string representation.
18413//
18414// API parameter values that are decorated as "sensitive" in the API will not
18415// be included in the string output. The member name will be present, but the
18416// value will be replaced with "sensitive".
18417func (s UpdateStackOutput) String() string {
18418	return awsutil.Prettify(s)
18419}
18420
18421// GoString returns the string representation.
18422//
18423// API parameter values that are decorated as "sensitive" in the API will not
18424// be included in the string output. The member name will be present, but the
18425// value will be replaced with "sensitive".
18426func (s UpdateStackOutput) GoString() string {
18427	return s.String()
18428}
18429
18430type UpdateUserProfileInput struct {
18431	_ struct{} `type:"structure"`
18432
18433	// Whether users can specify their own SSH public key through the My Settings
18434	// page. For more information, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
18435	AllowSelfManagement *bool `type:"boolean"`
18436
18437	// The user IAM ARN. This can also be a federated user's ARN.
18438	//
18439	// IamUserArn is a required field
18440	IamUserArn *string `type:"string" required:"true"`
18441
18442	// The user's new SSH public key.
18443	SshPublicKey *string `type:"string"`
18444
18445	// The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9],
18446	// '-', and '_'. If the specified name includes other punctuation marks, AWS
18447	// OpsWorks Stacks removes them. For example, my.name will be changed to myname.
18448	// If you do not specify an SSH user name, AWS OpsWorks Stacks generates one
18449	// from the IAM user name.
18450	SshUsername *string `type:"string"`
18451}
18452
18453// String returns the string representation.
18454//
18455// API parameter values that are decorated as "sensitive" in the API will not
18456// be included in the string output. The member name will be present, but the
18457// value will be replaced with "sensitive".
18458func (s UpdateUserProfileInput) String() string {
18459	return awsutil.Prettify(s)
18460}
18461
18462// GoString returns the string representation.
18463//
18464// API parameter values that are decorated as "sensitive" in the API will not
18465// be included in the string output. The member name will be present, but the
18466// value will be replaced with "sensitive".
18467func (s UpdateUserProfileInput) GoString() string {
18468	return s.String()
18469}
18470
18471// Validate inspects the fields of the type to determine if they are valid.
18472func (s *UpdateUserProfileInput) Validate() error {
18473	invalidParams := request.ErrInvalidParams{Context: "UpdateUserProfileInput"}
18474	if s.IamUserArn == nil {
18475		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
18476	}
18477
18478	if invalidParams.Len() > 0 {
18479		return invalidParams
18480	}
18481	return nil
18482}
18483
18484// SetAllowSelfManagement sets the AllowSelfManagement field's value.
18485func (s *UpdateUserProfileInput) SetAllowSelfManagement(v bool) *UpdateUserProfileInput {
18486	s.AllowSelfManagement = &v
18487	return s
18488}
18489
18490// SetIamUserArn sets the IamUserArn field's value.
18491func (s *UpdateUserProfileInput) SetIamUserArn(v string) *UpdateUserProfileInput {
18492	s.IamUserArn = &v
18493	return s
18494}
18495
18496// SetSshPublicKey sets the SshPublicKey field's value.
18497func (s *UpdateUserProfileInput) SetSshPublicKey(v string) *UpdateUserProfileInput {
18498	s.SshPublicKey = &v
18499	return s
18500}
18501
18502// SetSshUsername sets the SshUsername field's value.
18503func (s *UpdateUserProfileInput) SetSshUsername(v string) *UpdateUserProfileInput {
18504	s.SshUsername = &v
18505	return s
18506}
18507
18508type UpdateUserProfileOutput struct {
18509	_ struct{} `type:"structure"`
18510}
18511
18512// String returns the string representation.
18513//
18514// API parameter values that are decorated as "sensitive" in the API will not
18515// be included in the string output. The member name will be present, but the
18516// value will be replaced with "sensitive".
18517func (s UpdateUserProfileOutput) String() string {
18518	return awsutil.Prettify(s)
18519}
18520
18521// GoString returns the string representation.
18522//
18523// API parameter values that are decorated as "sensitive" in the API will not
18524// be included in the string output. The member name will be present, but the
18525// value will be replaced with "sensitive".
18526func (s UpdateUserProfileOutput) GoString() string {
18527	return s.String()
18528}
18529
18530type UpdateVolumeInput struct {
18531	_ struct{} `type:"structure"`
18532
18533	// The new mount point.
18534	MountPoint *string `type:"string"`
18535
18536	// The new name.
18537	Name *string `type:"string"`
18538
18539	// The volume ID.
18540	//
18541	// VolumeId is a required field
18542	VolumeId *string `type:"string" required:"true"`
18543}
18544
18545// String returns the string representation.
18546//
18547// API parameter values that are decorated as "sensitive" in the API will not
18548// be included in the string output. The member name will be present, but the
18549// value will be replaced with "sensitive".
18550func (s UpdateVolumeInput) String() string {
18551	return awsutil.Prettify(s)
18552}
18553
18554// GoString returns the string representation.
18555//
18556// API parameter values that are decorated as "sensitive" in the API will not
18557// be included in the string output. The member name will be present, but the
18558// value will be replaced with "sensitive".
18559func (s UpdateVolumeInput) GoString() string {
18560	return s.String()
18561}
18562
18563// Validate inspects the fields of the type to determine if they are valid.
18564func (s *UpdateVolumeInput) Validate() error {
18565	invalidParams := request.ErrInvalidParams{Context: "UpdateVolumeInput"}
18566	if s.VolumeId == nil {
18567		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
18568	}
18569
18570	if invalidParams.Len() > 0 {
18571		return invalidParams
18572	}
18573	return nil
18574}
18575
18576// SetMountPoint sets the MountPoint field's value.
18577func (s *UpdateVolumeInput) SetMountPoint(v string) *UpdateVolumeInput {
18578	s.MountPoint = &v
18579	return s
18580}
18581
18582// SetName sets the Name field's value.
18583func (s *UpdateVolumeInput) SetName(v string) *UpdateVolumeInput {
18584	s.Name = &v
18585	return s
18586}
18587
18588// SetVolumeId sets the VolumeId field's value.
18589func (s *UpdateVolumeInput) SetVolumeId(v string) *UpdateVolumeInput {
18590	s.VolumeId = &v
18591	return s
18592}
18593
18594type UpdateVolumeOutput struct {
18595	_ struct{} `type:"structure"`
18596}
18597
18598// String returns the string representation.
18599//
18600// API parameter values that are decorated as "sensitive" in the API will not
18601// be included in the string output. The member name will be present, but the
18602// value will be replaced with "sensitive".
18603func (s UpdateVolumeOutput) String() string {
18604	return awsutil.Prettify(s)
18605}
18606
18607// GoString returns the string representation.
18608//
18609// API parameter values that are decorated as "sensitive" in the API will not
18610// be included in the string output. The member name will be present, but the
18611// value will be replaced with "sensitive".
18612func (s UpdateVolumeOutput) GoString() string {
18613	return s.String()
18614}
18615
18616// Describes a user's SSH information.
18617type UserProfile struct {
18618	_ struct{} `type:"structure"`
18619
18620	// Whether users can specify their own SSH public key through the My Settings
18621	// page. For more information, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
18622	AllowSelfManagement *bool `type:"boolean"`
18623
18624	// The user's IAM ARN.
18625	IamUserArn *string `type:"string"`
18626
18627	// The user's name.
18628	Name *string `type:"string"`
18629
18630	// The user's SSH public key.
18631	SshPublicKey *string `type:"string"`
18632
18633	// The user's SSH user name.
18634	SshUsername *string `type:"string"`
18635}
18636
18637// String returns the string representation.
18638//
18639// API parameter values that are decorated as "sensitive" in the API will not
18640// be included in the string output. The member name will be present, but the
18641// value will be replaced with "sensitive".
18642func (s UserProfile) String() string {
18643	return awsutil.Prettify(s)
18644}
18645
18646// GoString returns the string representation.
18647//
18648// API parameter values that are decorated as "sensitive" in the API will not
18649// be included in the string output. The member name will be present, but the
18650// value will be replaced with "sensitive".
18651func (s UserProfile) GoString() string {
18652	return s.String()
18653}
18654
18655// SetAllowSelfManagement sets the AllowSelfManagement field's value.
18656func (s *UserProfile) SetAllowSelfManagement(v bool) *UserProfile {
18657	s.AllowSelfManagement = &v
18658	return s
18659}
18660
18661// SetIamUserArn sets the IamUserArn field's value.
18662func (s *UserProfile) SetIamUserArn(v string) *UserProfile {
18663	s.IamUserArn = &v
18664	return s
18665}
18666
18667// SetName sets the Name field's value.
18668func (s *UserProfile) SetName(v string) *UserProfile {
18669	s.Name = &v
18670	return s
18671}
18672
18673// SetSshPublicKey sets the SshPublicKey field's value.
18674func (s *UserProfile) SetSshPublicKey(v string) *UserProfile {
18675	s.SshPublicKey = &v
18676	return s
18677}
18678
18679// SetSshUsername sets the SshUsername field's value.
18680func (s *UserProfile) SetSshUsername(v string) *UserProfile {
18681	s.SshUsername = &v
18682	return s
18683}
18684
18685// Indicates that a request was not valid.
18686type ValidationException struct {
18687	_            struct{}                  `type:"structure"`
18688	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18689
18690	// The exception message.
18691	Message_ *string `locationName:"message" type:"string"`
18692}
18693
18694// String returns the string representation.
18695//
18696// API parameter values that are decorated as "sensitive" in the API will not
18697// be included in the string output. The member name will be present, but the
18698// value will be replaced with "sensitive".
18699func (s ValidationException) String() string {
18700	return awsutil.Prettify(s)
18701}
18702
18703// GoString returns the string representation.
18704//
18705// API parameter values that are decorated as "sensitive" in the API will not
18706// be included in the string output. The member name will be present, but the
18707// value will be replaced with "sensitive".
18708func (s ValidationException) GoString() string {
18709	return s.String()
18710}
18711
18712func newErrorValidationException(v protocol.ResponseMetadata) error {
18713	return &ValidationException{
18714		RespMetadata: v,
18715	}
18716}
18717
18718// Code returns the exception type name.
18719func (s *ValidationException) Code() string {
18720	return "ValidationException"
18721}
18722
18723// Message returns the exception's message.
18724func (s *ValidationException) Message() string {
18725	if s.Message_ != nil {
18726		return *s.Message_
18727	}
18728	return ""
18729}
18730
18731// OrigErr always returns nil, satisfies awserr.Error interface.
18732func (s *ValidationException) OrigErr() error {
18733	return nil
18734}
18735
18736func (s *ValidationException) Error() string {
18737	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18738}
18739
18740// Status code returns the HTTP status code for the request's response error.
18741func (s *ValidationException) StatusCode() int {
18742	return s.RespMetadata.StatusCode
18743}
18744
18745// RequestID returns the service's response RequestID for request.
18746func (s *ValidationException) RequestID() string {
18747	return s.RespMetadata.RequestID
18748}
18749
18750// Describes an instance's Amazon EBS volume.
18751type Volume struct {
18752	_ struct{} `type:"structure"`
18753
18754	// The volume Availability Zone. For more information, see Regions and Endpoints
18755	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
18756	AvailabilityZone *string `type:"string"`
18757
18758	// The device name.
18759	Device *string `type:"string"`
18760
18761	// The Amazon EC2 volume ID.
18762	Ec2VolumeId *string `type:"string"`
18763
18764	// Specifies whether an Amazon EBS volume is encrypted. For more information,
18765	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).
18766	Encrypted *bool `type:"boolean"`
18767
18768	// The instance ID.
18769	InstanceId *string `type:"string"`
18770
18771	// For PIOPS volumes, the IOPS per disk.
18772	Iops *int64 `type:"integer"`
18773
18774	// The volume mount point. For example, "/mnt/disk1".
18775	MountPoint *string `type:"string"`
18776
18777	// The volume name.
18778	Name *string `type:"string"`
18779
18780	// The RAID array ID.
18781	RaidArrayId *string `type:"string"`
18782
18783	// The AWS region. For more information about AWS regions, see Regions and Endpoints
18784	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
18785	Region *string `type:"string"`
18786
18787	// The volume size.
18788	Size *int64 `type:"integer"`
18789
18790	// The value returned by DescribeVolumes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html).
18791	Status *string `type:"string"`
18792
18793	// The volume ID.
18794	VolumeId *string `type:"string"`
18795
18796	// The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
18797	//
18798	//    * standard - Magnetic. Magnetic volumes must have a minimum size of 1
18799	//    GiB and a maximum size of 1024 GiB.
18800	//
18801	//    * io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size
18802	//    of 4 GiB and a maximum size of 16384 GiB.
18803	//
18804	//    * gp2 - General Purpose (SSD). General purpose volumes must have a minimum
18805	//    size of 1 GiB and a maximum size of 16384 GiB.
18806	//
18807	//    * st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized
18808	//    HDD volumes must have a minimum size of 500 GiB and a maximum size of
18809	//    16384 GiB.
18810	//
18811	//    * sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB
18812	//    and a maximum size of 16384 GiB.
18813	VolumeType *string `type:"string"`
18814}
18815
18816// String returns the string representation.
18817//
18818// API parameter values that are decorated as "sensitive" in the API will not
18819// be included in the string output. The member name will be present, but the
18820// value will be replaced with "sensitive".
18821func (s Volume) String() string {
18822	return awsutil.Prettify(s)
18823}
18824
18825// GoString returns the string representation.
18826//
18827// API parameter values that are decorated as "sensitive" in the API will not
18828// be included in the string output. The member name will be present, but the
18829// value will be replaced with "sensitive".
18830func (s Volume) GoString() string {
18831	return s.String()
18832}
18833
18834// SetAvailabilityZone sets the AvailabilityZone field's value.
18835func (s *Volume) SetAvailabilityZone(v string) *Volume {
18836	s.AvailabilityZone = &v
18837	return s
18838}
18839
18840// SetDevice sets the Device field's value.
18841func (s *Volume) SetDevice(v string) *Volume {
18842	s.Device = &v
18843	return s
18844}
18845
18846// SetEc2VolumeId sets the Ec2VolumeId field's value.
18847func (s *Volume) SetEc2VolumeId(v string) *Volume {
18848	s.Ec2VolumeId = &v
18849	return s
18850}
18851
18852// SetEncrypted sets the Encrypted field's value.
18853func (s *Volume) SetEncrypted(v bool) *Volume {
18854	s.Encrypted = &v
18855	return s
18856}
18857
18858// SetInstanceId sets the InstanceId field's value.
18859func (s *Volume) SetInstanceId(v string) *Volume {
18860	s.InstanceId = &v
18861	return s
18862}
18863
18864// SetIops sets the Iops field's value.
18865func (s *Volume) SetIops(v int64) *Volume {
18866	s.Iops = &v
18867	return s
18868}
18869
18870// SetMountPoint sets the MountPoint field's value.
18871func (s *Volume) SetMountPoint(v string) *Volume {
18872	s.MountPoint = &v
18873	return s
18874}
18875
18876// SetName sets the Name field's value.
18877func (s *Volume) SetName(v string) *Volume {
18878	s.Name = &v
18879	return s
18880}
18881
18882// SetRaidArrayId sets the RaidArrayId field's value.
18883func (s *Volume) SetRaidArrayId(v string) *Volume {
18884	s.RaidArrayId = &v
18885	return s
18886}
18887
18888// SetRegion sets the Region field's value.
18889func (s *Volume) SetRegion(v string) *Volume {
18890	s.Region = &v
18891	return s
18892}
18893
18894// SetSize sets the Size field's value.
18895func (s *Volume) SetSize(v int64) *Volume {
18896	s.Size = &v
18897	return s
18898}
18899
18900// SetStatus sets the Status field's value.
18901func (s *Volume) SetStatus(v string) *Volume {
18902	s.Status = &v
18903	return s
18904}
18905
18906// SetVolumeId sets the VolumeId field's value.
18907func (s *Volume) SetVolumeId(v string) *Volume {
18908	s.VolumeId = &v
18909	return s
18910}
18911
18912// SetVolumeType sets the VolumeType field's value.
18913func (s *Volume) SetVolumeType(v string) *Volume {
18914	s.VolumeType = &v
18915	return s
18916}
18917
18918// Describes an Amazon EBS volume configuration.
18919type VolumeConfiguration struct {
18920	_ struct{} `type:"structure"`
18921
18922	// Specifies whether an Amazon EBS volume is encrypted. For more information,
18923	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).
18924	Encrypted *bool `type:"boolean"`
18925
18926	// For PIOPS volumes, the IOPS per disk.
18927	Iops *int64 `type:"integer"`
18928
18929	// The volume mount point. For example "/dev/sdh".
18930	//
18931	// MountPoint is a required field
18932	MountPoint *string `type:"string" required:"true"`
18933
18934	// The number of disks in the volume.
18935	//
18936	// NumberOfDisks is a required field
18937	NumberOfDisks *int64 `type:"integer" required:"true"`
18938
18939	// The volume RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels).
18940	RaidLevel *int64 `type:"integer"`
18941
18942	// The volume size.
18943	//
18944	// Size is a required field
18945	Size *int64 `type:"integer" required:"true"`
18946
18947	// The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
18948	//
18949	//    * standard - Magnetic. Magnetic volumes must have a minimum size of 1
18950	//    GiB and a maximum size of 1024 GiB.
18951	//
18952	//    * io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size
18953	//    of 4 GiB and a maximum size of 16384 GiB.
18954	//
18955	//    * gp2 - General Purpose (SSD). General purpose volumes must have a minimum
18956	//    size of 1 GiB and a maximum size of 16384 GiB.
18957	//
18958	//    * st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized
18959	//    HDD volumes must have a minimum size of 500 GiB and a maximum size of
18960	//    16384 GiB.
18961	//
18962	//    * sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB
18963	//    and a maximum size of 16384 GiB.
18964	VolumeType *string `type:"string"`
18965}
18966
18967// String returns the string representation.
18968//
18969// API parameter values that are decorated as "sensitive" in the API will not
18970// be included in the string output. The member name will be present, but the
18971// value will be replaced with "sensitive".
18972func (s VolumeConfiguration) String() string {
18973	return awsutil.Prettify(s)
18974}
18975
18976// GoString returns the string representation.
18977//
18978// API parameter values that are decorated as "sensitive" in the API will not
18979// be included in the string output. The member name will be present, but the
18980// value will be replaced with "sensitive".
18981func (s VolumeConfiguration) GoString() string {
18982	return s.String()
18983}
18984
18985// Validate inspects the fields of the type to determine if they are valid.
18986func (s *VolumeConfiguration) Validate() error {
18987	invalidParams := request.ErrInvalidParams{Context: "VolumeConfiguration"}
18988	if s.MountPoint == nil {
18989		invalidParams.Add(request.NewErrParamRequired("MountPoint"))
18990	}
18991	if s.NumberOfDisks == nil {
18992		invalidParams.Add(request.NewErrParamRequired("NumberOfDisks"))
18993	}
18994	if s.Size == nil {
18995		invalidParams.Add(request.NewErrParamRequired("Size"))
18996	}
18997
18998	if invalidParams.Len() > 0 {
18999		return invalidParams
19000	}
19001	return nil
19002}
19003
19004// SetEncrypted sets the Encrypted field's value.
19005func (s *VolumeConfiguration) SetEncrypted(v bool) *VolumeConfiguration {
19006	s.Encrypted = &v
19007	return s
19008}
19009
19010// SetIops sets the Iops field's value.
19011func (s *VolumeConfiguration) SetIops(v int64) *VolumeConfiguration {
19012	s.Iops = &v
19013	return s
19014}
19015
19016// SetMountPoint sets the MountPoint field's value.
19017func (s *VolumeConfiguration) SetMountPoint(v string) *VolumeConfiguration {
19018	s.MountPoint = &v
19019	return s
19020}
19021
19022// SetNumberOfDisks sets the NumberOfDisks field's value.
19023func (s *VolumeConfiguration) SetNumberOfDisks(v int64) *VolumeConfiguration {
19024	s.NumberOfDisks = &v
19025	return s
19026}
19027
19028// SetRaidLevel sets the RaidLevel field's value.
19029func (s *VolumeConfiguration) SetRaidLevel(v int64) *VolumeConfiguration {
19030	s.RaidLevel = &v
19031	return s
19032}
19033
19034// SetSize sets the Size field's value.
19035func (s *VolumeConfiguration) SetSize(v int64) *VolumeConfiguration {
19036	s.Size = &v
19037	return s
19038}
19039
19040// SetVolumeType sets the VolumeType field's value.
19041func (s *VolumeConfiguration) SetVolumeType(v string) *VolumeConfiguration {
19042	s.VolumeType = &v
19043	return s
19044}
19045
19046// Describes a time-based instance's auto scaling schedule. The schedule consists
19047// of a set of key-value pairs.
19048//
19049//    * The key is the time period (a UTC hour) and must be an integer from
19050//    0 - 23.
19051//
19052//    * The value indicates whether the instance should be online or offline
19053//    for the specified period, and must be set to "on" or "off"
19054//
19055// The default setting for all time periods is off, so you use the following
19056// parameters primarily to specify the online periods. You don't have to explicitly
19057// specify offline periods unless you want to change an online period to an
19058// offline period.
19059//
19060// The following example specifies that the instance should be online for four
19061// hours, from UTC 1200 - 1600. It will be off for the remainder of the day.
19062//
19063// { "12":"on", "13":"on", "14":"on", "15":"on" }
19064type WeeklyAutoScalingSchedule struct {
19065	_ struct{} `type:"structure"`
19066
19067	// The schedule for Friday.
19068	Friday map[string]*string `type:"map"`
19069
19070	// The schedule for Monday.
19071	Monday map[string]*string `type:"map"`
19072
19073	// The schedule for Saturday.
19074	Saturday map[string]*string `type:"map"`
19075
19076	// The schedule for Sunday.
19077	Sunday map[string]*string `type:"map"`
19078
19079	// The schedule for Thursday.
19080	Thursday map[string]*string `type:"map"`
19081
19082	// The schedule for Tuesday.
19083	Tuesday map[string]*string `type:"map"`
19084
19085	// The schedule for Wednesday.
19086	Wednesday map[string]*string `type:"map"`
19087}
19088
19089// String returns the string representation.
19090//
19091// API parameter values that are decorated as "sensitive" in the API will not
19092// be included in the string output. The member name will be present, but the
19093// value will be replaced with "sensitive".
19094func (s WeeklyAutoScalingSchedule) String() string {
19095	return awsutil.Prettify(s)
19096}
19097
19098// GoString returns the string representation.
19099//
19100// API parameter values that are decorated as "sensitive" in the API will not
19101// be included in the string output. The member name will be present, but the
19102// value will be replaced with "sensitive".
19103func (s WeeklyAutoScalingSchedule) GoString() string {
19104	return s.String()
19105}
19106
19107// SetFriday sets the Friday field's value.
19108func (s *WeeklyAutoScalingSchedule) SetFriday(v map[string]*string) *WeeklyAutoScalingSchedule {
19109	s.Friday = v
19110	return s
19111}
19112
19113// SetMonday sets the Monday field's value.
19114func (s *WeeklyAutoScalingSchedule) SetMonday(v map[string]*string) *WeeklyAutoScalingSchedule {
19115	s.Monday = v
19116	return s
19117}
19118
19119// SetSaturday sets the Saturday field's value.
19120func (s *WeeklyAutoScalingSchedule) SetSaturday(v map[string]*string) *WeeklyAutoScalingSchedule {
19121	s.Saturday = v
19122	return s
19123}
19124
19125// SetSunday sets the Sunday field's value.
19126func (s *WeeklyAutoScalingSchedule) SetSunday(v map[string]*string) *WeeklyAutoScalingSchedule {
19127	s.Sunday = v
19128	return s
19129}
19130
19131// SetThursday sets the Thursday field's value.
19132func (s *WeeklyAutoScalingSchedule) SetThursday(v map[string]*string) *WeeklyAutoScalingSchedule {
19133	s.Thursday = v
19134	return s
19135}
19136
19137// SetTuesday sets the Tuesday field's value.
19138func (s *WeeklyAutoScalingSchedule) SetTuesday(v map[string]*string) *WeeklyAutoScalingSchedule {
19139	s.Tuesday = v
19140	return s
19141}
19142
19143// SetWednesday sets the Wednesday field's value.
19144func (s *WeeklyAutoScalingSchedule) SetWednesday(v map[string]*string) *WeeklyAutoScalingSchedule {
19145	s.Wednesday = v
19146	return s
19147}
19148
19149const (
19150	// AppAttributesKeysDocumentRoot is a AppAttributesKeys enum value
19151	AppAttributesKeysDocumentRoot = "DocumentRoot"
19152
19153	// AppAttributesKeysRailsEnv is a AppAttributesKeys enum value
19154	AppAttributesKeysRailsEnv = "RailsEnv"
19155
19156	// AppAttributesKeysAutoBundleOnDeploy is a AppAttributesKeys enum value
19157	AppAttributesKeysAutoBundleOnDeploy = "AutoBundleOnDeploy"
19158
19159	// AppAttributesKeysAwsFlowRubySettings is a AppAttributesKeys enum value
19160	AppAttributesKeysAwsFlowRubySettings = "AwsFlowRubySettings"
19161)
19162
19163// AppAttributesKeys_Values returns all elements of the AppAttributesKeys enum
19164func AppAttributesKeys_Values() []string {
19165	return []string{
19166		AppAttributesKeysDocumentRoot,
19167		AppAttributesKeysRailsEnv,
19168		AppAttributesKeysAutoBundleOnDeploy,
19169		AppAttributesKeysAwsFlowRubySettings,
19170	}
19171}
19172
19173const (
19174	// AppTypeAwsFlowRuby is a AppType enum value
19175	AppTypeAwsFlowRuby = "aws-flow-ruby"
19176
19177	// AppTypeJava is a AppType enum value
19178	AppTypeJava = "java"
19179
19180	// AppTypeRails is a AppType enum value
19181	AppTypeRails = "rails"
19182
19183	// AppTypePhp is a AppType enum value
19184	AppTypePhp = "php"
19185
19186	// AppTypeNodejs is a AppType enum value
19187	AppTypeNodejs = "nodejs"
19188
19189	// AppTypeStatic is a AppType enum value
19190	AppTypeStatic = "static"
19191
19192	// AppTypeOther is a AppType enum value
19193	AppTypeOther = "other"
19194)
19195
19196// AppType_Values returns all elements of the AppType enum
19197func AppType_Values() []string {
19198	return []string{
19199		AppTypeAwsFlowRuby,
19200		AppTypeJava,
19201		AppTypeRails,
19202		AppTypePhp,
19203		AppTypeNodejs,
19204		AppTypeStatic,
19205		AppTypeOther,
19206	}
19207}
19208
19209const (
19210	// ArchitectureX8664 is a Architecture enum value
19211	ArchitectureX8664 = "x86_64"
19212
19213	// ArchitectureI386 is a Architecture enum value
19214	ArchitectureI386 = "i386"
19215)
19216
19217// Architecture_Values returns all elements of the Architecture enum
19218func Architecture_Values() []string {
19219	return []string{
19220		ArchitectureX8664,
19221		ArchitectureI386,
19222	}
19223}
19224
19225const (
19226	// AutoScalingTypeLoad is a AutoScalingType enum value
19227	AutoScalingTypeLoad = "load"
19228
19229	// AutoScalingTypeTimer is a AutoScalingType enum value
19230	AutoScalingTypeTimer = "timer"
19231)
19232
19233// AutoScalingType_Values returns all elements of the AutoScalingType enum
19234func AutoScalingType_Values() []string {
19235	return []string{
19236		AutoScalingTypeLoad,
19237		AutoScalingTypeTimer,
19238	}
19239}
19240
19241// Specifies the encoding of the log file so that the file can be read correctly.
19242// The default is utf_8. Encodings supported by Python codecs.decode() can be
19243// used here.
19244const (
19245	// CloudWatchLogsEncodingAscii is a CloudWatchLogsEncoding enum value
19246	CloudWatchLogsEncodingAscii = "ascii"
19247
19248	// CloudWatchLogsEncodingBig5 is a CloudWatchLogsEncoding enum value
19249	CloudWatchLogsEncodingBig5 = "big5"
19250
19251	// CloudWatchLogsEncodingBig5hkscs is a CloudWatchLogsEncoding enum value
19252	CloudWatchLogsEncodingBig5hkscs = "big5hkscs"
19253
19254	// CloudWatchLogsEncodingCp037 is a CloudWatchLogsEncoding enum value
19255	CloudWatchLogsEncodingCp037 = "cp037"
19256
19257	// CloudWatchLogsEncodingCp424 is a CloudWatchLogsEncoding enum value
19258	CloudWatchLogsEncodingCp424 = "cp424"
19259
19260	// CloudWatchLogsEncodingCp437 is a CloudWatchLogsEncoding enum value
19261	CloudWatchLogsEncodingCp437 = "cp437"
19262
19263	// CloudWatchLogsEncodingCp500 is a CloudWatchLogsEncoding enum value
19264	CloudWatchLogsEncodingCp500 = "cp500"
19265
19266	// CloudWatchLogsEncodingCp720 is a CloudWatchLogsEncoding enum value
19267	CloudWatchLogsEncodingCp720 = "cp720"
19268
19269	// CloudWatchLogsEncodingCp737 is a CloudWatchLogsEncoding enum value
19270	CloudWatchLogsEncodingCp737 = "cp737"
19271
19272	// CloudWatchLogsEncodingCp775 is a CloudWatchLogsEncoding enum value
19273	CloudWatchLogsEncodingCp775 = "cp775"
19274
19275	// CloudWatchLogsEncodingCp850 is a CloudWatchLogsEncoding enum value
19276	CloudWatchLogsEncodingCp850 = "cp850"
19277
19278	// CloudWatchLogsEncodingCp852 is a CloudWatchLogsEncoding enum value
19279	CloudWatchLogsEncodingCp852 = "cp852"
19280
19281	// CloudWatchLogsEncodingCp855 is a CloudWatchLogsEncoding enum value
19282	CloudWatchLogsEncodingCp855 = "cp855"
19283
19284	// CloudWatchLogsEncodingCp856 is a CloudWatchLogsEncoding enum value
19285	CloudWatchLogsEncodingCp856 = "cp856"
19286
19287	// CloudWatchLogsEncodingCp857 is a CloudWatchLogsEncoding enum value
19288	CloudWatchLogsEncodingCp857 = "cp857"
19289
19290	// CloudWatchLogsEncodingCp858 is a CloudWatchLogsEncoding enum value
19291	CloudWatchLogsEncodingCp858 = "cp858"
19292
19293	// CloudWatchLogsEncodingCp860 is a CloudWatchLogsEncoding enum value
19294	CloudWatchLogsEncodingCp860 = "cp860"
19295
19296	// CloudWatchLogsEncodingCp861 is a CloudWatchLogsEncoding enum value
19297	CloudWatchLogsEncodingCp861 = "cp861"
19298
19299	// CloudWatchLogsEncodingCp862 is a CloudWatchLogsEncoding enum value
19300	CloudWatchLogsEncodingCp862 = "cp862"
19301
19302	// CloudWatchLogsEncodingCp863 is a CloudWatchLogsEncoding enum value
19303	CloudWatchLogsEncodingCp863 = "cp863"
19304
19305	// CloudWatchLogsEncodingCp864 is a CloudWatchLogsEncoding enum value
19306	CloudWatchLogsEncodingCp864 = "cp864"
19307
19308	// CloudWatchLogsEncodingCp865 is a CloudWatchLogsEncoding enum value
19309	CloudWatchLogsEncodingCp865 = "cp865"
19310
19311	// CloudWatchLogsEncodingCp866 is a CloudWatchLogsEncoding enum value
19312	CloudWatchLogsEncodingCp866 = "cp866"
19313
19314	// CloudWatchLogsEncodingCp869 is a CloudWatchLogsEncoding enum value
19315	CloudWatchLogsEncodingCp869 = "cp869"
19316
19317	// CloudWatchLogsEncodingCp874 is a CloudWatchLogsEncoding enum value
19318	CloudWatchLogsEncodingCp874 = "cp874"
19319
19320	// CloudWatchLogsEncodingCp875 is a CloudWatchLogsEncoding enum value
19321	CloudWatchLogsEncodingCp875 = "cp875"
19322
19323	// CloudWatchLogsEncodingCp932 is a CloudWatchLogsEncoding enum value
19324	CloudWatchLogsEncodingCp932 = "cp932"
19325
19326	// CloudWatchLogsEncodingCp949 is a CloudWatchLogsEncoding enum value
19327	CloudWatchLogsEncodingCp949 = "cp949"
19328
19329	// CloudWatchLogsEncodingCp950 is a CloudWatchLogsEncoding enum value
19330	CloudWatchLogsEncodingCp950 = "cp950"
19331
19332	// CloudWatchLogsEncodingCp1006 is a CloudWatchLogsEncoding enum value
19333	CloudWatchLogsEncodingCp1006 = "cp1006"
19334
19335	// CloudWatchLogsEncodingCp1026 is a CloudWatchLogsEncoding enum value
19336	CloudWatchLogsEncodingCp1026 = "cp1026"
19337
19338	// CloudWatchLogsEncodingCp1140 is a CloudWatchLogsEncoding enum value
19339	CloudWatchLogsEncodingCp1140 = "cp1140"
19340
19341	// CloudWatchLogsEncodingCp1250 is a CloudWatchLogsEncoding enum value
19342	CloudWatchLogsEncodingCp1250 = "cp1250"
19343
19344	// CloudWatchLogsEncodingCp1251 is a CloudWatchLogsEncoding enum value
19345	CloudWatchLogsEncodingCp1251 = "cp1251"
19346
19347	// CloudWatchLogsEncodingCp1252 is a CloudWatchLogsEncoding enum value
19348	CloudWatchLogsEncodingCp1252 = "cp1252"
19349
19350	// CloudWatchLogsEncodingCp1253 is a CloudWatchLogsEncoding enum value
19351	CloudWatchLogsEncodingCp1253 = "cp1253"
19352
19353	// CloudWatchLogsEncodingCp1254 is a CloudWatchLogsEncoding enum value
19354	CloudWatchLogsEncodingCp1254 = "cp1254"
19355
19356	// CloudWatchLogsEncodingCp1255 is a CloudWatchLogsEncoding enum value
19357	CloudWatchLogsEncodingCp1255 = "cp1255"
19358
19359	// CloudWatchLogsEncodingCp1256 is a CloudWatchLogsEncoding enum value
19360	CloudWatchLogsEncodingCp1256 = "cp1256"
19361
19362	// CloudWatchLogsEncodingCp1257 is a CloudWatchLogsEncoding enum value
19363	CloudWatchLogsEncodingCp1257 = "cp1257"
19364
19365	// CloudWatchLogsEncodingCp1258 is a CloudWatchLogsEncoding enum value
19366	CloudWatchLogsEncodingCp1258 = "cp1258"
19367
19368	// CloudWatchLogsEncodingEucJp is a CloudWatchLogsEncoding enum value
19369	CloudWatchLogsEncodingEucJp = "euc_jp"
19370
19371	// CloudWatchLogsEncodingEucJis2004 is a CloudWatchLogsEncoding enum value
19372	CloudWatchLogsEncodingEucJis2004 = "euc_jis_2004"
19373
19374	// CloudWatchLogsEncodingEucJisx0213 is a CloudWatchLogsEncoding enum value
19375	CloudWatchLogsEncodingEucJisx0213 = "euc_jisx0213"
19376
19377	// CloudWatchLogsEncodingEucKr is a CloudWatchLogsEncoding enum value
19378	CloudWatchLogsEncodingEucKr = "euc_kr"
19379
19380	// CloudWatchLogsEncodingGb2312 is a CloudWatchLogsEncoding enum value
19381	CloudWatchLogsEncodingGb2312 = "gb2312"
19382
19383	// CloudWatchLogsEncodingGbk is a CloudWatchLogsEncoding enum value
19384	CloudWatchLogsEncodingGbk = "gbk"
19385
19386	// CloudWatchLogsEncodingGb18030 is a CloudWatchLogsEncoding enum value
19387	CloudWatchLogsEncodingGb18030 = "gb18030"
19388
19389	// CloudWatchLogsEncodingHz is a CloudWatchLogsEncoding enum value
19390	CloudWatchLogsEncodingHz = "hz"
19391
19392	// CloudWatchLogsEncodingIso2022Jp is a CloudWatchLogsEncoding enum value
19393	CloudWatchLogsEncodingIso2022Jp = "iso2022_jp"
19394
19395	// CloudWatchLogsEncodingIso2022Jp1 is a CloudWatchLogsEncoding enum value
19396	CloudWatchLogsEncodingIso2022Jp1 = "iso2022_jp_1"
19397
19398	// CloudWatchLogsEncodingIso2022Jp2 is a CloudWatchLogsEncoding enum value
19399	CloudWatchLogsEncodingIso2022Jp2 = "iso2022_jp_2"
19400
19401	// CloudWatchLogsEncodingIso2022Jp2004 is a CloudWatchLogsEncoding enum value
19402	CloudWatchLogsEncodingIso2022Jp2004 = "iso2022_jp_2004"
19403
19404	// CloudWatchLogsEncodingIso2022Jp3 is a CloudWatchLogsEncoding enum value
19405	CloudWatchLogsEncodingIso2022Jp3 = "iso2022_jp_3"
19406
19407	// CloudWatchLogsEncodingIso2022JpExt is a CloudWatchLogsEncoding enum value
19408	CloudWatchLogsEncodingIso2022JpExt = "iso2022_jp_ext"
19409
19410	// CloudWatchLogsEncodingIso2022Kr is a CloudWatchLogsEncoding enum value
19411	CloudWatchLogsEncodingIso2022Kr = "iso2022_kr"
19412
19413	// CloudWatchLogsEncodingLatin1 is a CloudWatchLogsEncoding enum value
19414	CloudWatchLogsEncodingLatin1 = "latin_1"
19415
19416	// CloudWatchLogsEncodingIso88592 is a CloudWatchLogsEncoding enum value
19417	CloudWatchLogsEncodingIso88592 = "iso8859_2"
19418
19419	// CloudWatchLogsEncodingIso88593 is a CloudWatchLogsEncoding enum value
19420	CloudWatchLogsEncodingIso88593 = "iso8859_3"
19421
19422	// CloudWatchLogsEncodingIso88594 is a CloudWatchLogsEncoding enum value
19423	CloudWatchLogsEncodingIso88594 = "iso8859_4"
19424
19425	// CloudWatchLogsEncodingIso88595 is a CloudWatchLogsEncoding enum value
19426	CloudWatchLogsEncodingIso88595 = "iso8859_5"
19427
19428	// CloudWatchLogsEncodingIso88596 is a CloudWatchLogsEncoding enum value
19429	CloudWatchLogsEncodingIso88596 = "iso8859_6"
19430
19431	// CloudWatchLogsEncodingIso88597 is a CloudWatchLogsEncoding enum value
19432	CloudWatchLogsEncodingIso88597 = "iso8859_7"
19433
19434	// CloudWatchLogsEncodingIso88598 is a CloudWatchLogsEncoding enum value
19435	CloudWatchLogsEncodingIso88598 = "iso8859_8"
19436
19437	// CloudWatchLogsEncodingIso88599 is a CloudWatchLogsEncoding enum value
19438	CloudWatchLogsEncodingIso88599 = "iso8859_9"
19439
19440	// CloudWatchLogsEncodingIso885910 is a CloudWatchLogsEncoding enum value
19441	CloudWatchLogsEncodingIso885910 = "iso8859_10"
19442
19443	// CloudWatchLogsEncodingIso885913 is a CloudWatchLogsEncoding enum value
19444	CloudWatchLogsEncodingIso885913 = "iso8859_13"
19445
19446	// CloudWatchLogsEncodingIso885914 is a CloudWatchLogsEncoding enum value
19447	CloudWatchLogsEncodingIso885914 = "iso8859_14"
19448
19449	// CloudWatchLogsEncodingIso885915 is a CloudWatchLogsEncoding enum value
19450	CloudWatchLogsEncodingIso885915 = "iso8859_15"
19451
19452	// CloudWatchLogsEncodingIso885916 is a CloudWatchLogsEncoding enum value
19453	CloudWatchLogsEncodingIso885916 = "iso8859_16"
19454
19455	// CloudWatchLogsEncodingJohab is a CloudWatchLogsEncoding enum value
19456	CloudWatchLogsEncodingJohab = "johab"
19457
19458	// CloudWatchLogsEncodingKoi8R is a CloudWatchLogsEncoding enum value
19459	CloudWatchLogsEncodingKoi8R = "koi8_r"
19460
19461	// CloudWatchLogsEncodingKoi8U is a CloudWatchLogsEncoding enum value
19462	CloudWatchLogsEncodingKoi8U = "koi8_u"
19463
19464	// CloudWatchLogsEncodingMacCyrillic is a CloudWatchLogsEncoding enum value
19465	CloudWatchLogsEncodingMacCyrillic = "mac_cyrillic"
19466
19467	// CloudWatchLogsEncodingMacGreek is a CloudWatchLogsEncoding enum value
19468	CloudWatchLogsEncodingMacGreek = "mac_greek"
19469
19470	// CloudWatchLogsEncodingMacIceland is a CloudWatchLogsEncoding enum value
19471	CloudWatchLogsEncodingMacIceland = "mac_iceland"
19472
19473	// CloudWatchLogsEncodingMacLatin2 is a CloudWatchLogsEncoding enum value
19474	CloudWatchLogsEncodingMacLatin2 = "mac_latin2"
19475
19476	// CloudWatchLogsEncodingMacRoman is a CloudWatchLogsEncoding enum value
19477	CloudWatchLogsEncodingMacRoman = "mac_roman"
19478
19479	// CloudWatchLogsEncodingMacTurkish is a CloudWatchLogsEncoding enum value
19480	CloudWatchLogsEncodingMacTurkish = "mac_turkish"
19481
19482	// CloudWatchLogsEncodingPtcp154 is a CloudWatchLogsEncoding enum value
19483	CloudWatchLogsEncodingPtcp154 = "ptcp154"
19484
19485	// CloudWatchLogsEncodingShiftJis is a CloudWatchLogsEncoding enum value
19486	CloudWatchLogsEncodingShiftJis = "shift_jis"
19487
19488	// CloudWatchLogsEncodingShiftJis2004 is a CloudWatchLogsEncoding enum value
19489	CloudWatchLogsEncodingShiftJis2004 = "shift_jis_2004"
19490
19491	// CloudWatchLogsEncodingShiftJisx0213 is a CloudWatchLogsEncoding enum value
19492	CloudWatchLogsEncodingShiftJisx0213 = "shift_jisx0213"
19493
19494	// CloudWatchLogsEncodingUtf32 is a CloudWatchLogsEncoding enum value
19495	CloudWatchLogsEncodingUtf32 = "utf_32"
19496
19497	// CloudWatchLogsEncodingUtf32Be is a CloudWatchLogsEncoding enum value
19498	CloudWatchLogsEncodingUtf32Be = "utf_32_be"
19499
19500	// CloudWatchLogsEncodingUtf32Le is a CloudWatchLogsEncoding enum value
19501	CloudWatchLogsEncodingUtf32Le = "utf_32_le"
19502
19503	// CloudWatchLogsEncodingUtf16 is a CloudWatchLogsEncoding enum value
19504	CloudWatchLogsEncodingUtf16 = "utf_16"
19505
19506	// CloudWatchLogsEncodingUtf16Be is a CloudWatchLogsEncoding enum value
19507	CloudWatchLogsEncodingUtf16Be = "utf_16_be"
19508
19509	// CloudWatchLogsEncodingUtf16Le is a CloudWatchLogsEncoding enum value
19510	CloudWatchLogsEncodingUtf16Le = "utf_16_le"
19511
19512	// CloudWatchLogsEncodingUtf7 is a CloudWatchLogsEncoding enum value
19513	CloudWatchLogsEncodingUtf7 = "utf_7"
19514
19515	// CloudWatchLogsEncodingUtf8 is a CloudWatchLogsEncoding enum value
19516	CloudWatchLogsEncodingUtf8 = "utf_8"
19517
19518	// CloudWatchLogsEncodingUtf8Sig is a CloudWatchLogsEncoding enum value
19519	CloudWatchLogsEncodingUtf8Sig = "utf_8_sig"
19520)
19521
19522// CloudWatchLogsEncoding_Values returns all elements of the CloudWatchLogsEncoding enum
19523func CloudWatchLogsEncoding_Values() []string {
19524	return []string{
19525		CloudWatchLogsEncodingAscii,
19526		CloudWatchLogsEncodingBig5,
19527		CloudWatchLogsEncodingBig5hkscs,
19528		CloudWatchLogsEncodingCp037,
19529		CloudWatchLogsEncodingCp424,
19530		CloudWatchLogsEncodingCp437,
19531		CloudWatchLogsEncodingCp500,
19532		CloudWatchLogsEncodingCp720,
19533		CloudWatchLogsEncodingCp737,
19534		CloudWatchLogsEncodingCp775,
19535		CloudWatchLogsEncodingCp850,
19536		CloudWatchLogsEncodingCp852,
19537		CloudWatchLogsEncodingCp855,
19538		CloudWatchLogsEncodingCp856,
19539		CloudWatchLogsEncodingCp857,
19540		CloudWatchLogsEncodingCp858,
19541		CloudWatchLogsEncodingCp860,
19542		CloudWatchLogsEncodingCp861,
19543		CloudWatchLogsEncodingCp862,
19544		CloudWatchLogsEncodingCp863,
19545		CloudWatchLogsEncodingCp864,
19546		CloudWatchLogsEncodingCp865,
19547		CloudWatchLogsEncodingCp866,
19548		CloudWatchLogsEncodingCp869,
19549		CloudWatchLogsEncodingCp874,
19550		CloudWatchLogsEncodingCp875,
19551		CloudWatchLogsEncodingCp932,
19552		CloudWatchLogsEncodingCp949,
19553		CloudWatchLogsEncodingCp950,
19554		CloudWatchLogsEncodingCp1006,
19555		CloudWatchLogsEncodingCp1026,
19556		CloudWatchLogsEncodingCp1140,
19557		CloudWatchLogsEncodingCp1250,
19558		CloudWatchLogsEncodingCp1251,
19559		CloudWatchLogsEncodingCp1252,
19560		CloudWatchLogsEncodingCp1253,
19561		CloudWatchLogsEncodingCp1254,
19562		CloudWatchLogsEncodingCp1255,
19563		CloudWatchLogsEncodingCp1256,
19564		CloudWatchLogsEncodingCp1257,
19565		CloudWatchLogsEncodingCp1258,
19566		CloudWatchLogsEncodingEucJp,
19567		CloudWatchLogsEncodingEucJis2004,
19568		CloudWatchLogsEncodingEucJisx0213,
19569		CloudWatchLogsEncodingEucKr,
19570		CloudWatchLogsEncodingGb2312,
19571		CloudWatchLogsEncodingGbk,
19572		CloudWatchLogsEncodingGb18030,
19573		CloudWatchLogsEncodingHz,
19574		CloudWatchLogsEncodingIso2022Jp,
19575		CloudWatchLogsEncodingIso2022Jp1,
19576		CloudWatchLogsEncodingIso2022Jp2,
19577		CloudWatchLogsEncodingIso2022Jp2004,
19578		CloudWatchLogsEncodingIso2022Jp3,
19579		CloudWatchLogsEncodingIso2022JpExt,
19580		CloudWatchLogsEncodingIso2022Kr,
19581		CloudWatchLogsEncodingLatin1,
19582		CloudWatchLogsEncodingIso88592,
19583		CloudWatchLogsEncodingIso88593,
19584		CloudWatchLogsEncodingIso88594,
19585		CloudWatchLogsEncodingIso88595,
19586		CloudWatchLogsEncodingIso88596,
19587		CloudWatchLogsEncodingIso88597,
19588		CloudWatchLogsEncodingIso88598,
19589		CloudWatchLogsEncodingIso88599,
19590		CloudWatchLogsEncodingIso885910,
19591		CloudWatchLogsEncodingIso885913,
19592		CloudWatchLogsEncodingIso885914,
19593		CloudWatchLogsEncodingIso885915,
19594		CloudWatchLogsEncodingIso885916,
19595		CloudWatchLogsEncodingJohab,
19596		CloudWatchLogsEncodingKoi8R,
19597		CloudWatchLogsEncodingKoi8U,
19598		CloudWatchLogsEncodingMacCyrillic,
19599		CloudWatchLogsEncodingMacGreek,
19600		CloudWatchLogsEncodingMacIceland,
19601		CloudWatchLogsEncodingMacLatin2,
19602		CloudWatchLogsEncodingMacRoman,
19603		CloudWatchLogsEncodingMacTurkish,
19604		CloudWatchLogsEncodingPtcp154,
19605		CloudWatchLogsEncodingShiftJis,
19606		CloudWatchLogsEncodingShiftJis2004,
19607		CloudWatchLogsEncodingShiftJisx0213,
19608		CloudWatchLogsEncodingUtf32,
19609		CloudWatchLogsEncodingUtf32Be,
19610		CloudWatchLogsEncodingUtf32Le,
19611		CloudWatchLogsEncodingUtf16,
19612		CloudWatchLogsEncodingUtf16Be,
19613		CloudWatchLogsEncodingUtf16Le,
19614		CloudWatchLogsEncodingUtf7,
19615		CloudWatchLogsEncodingUtf8,
19616		CloudWatchLogsEncodingUtf8Sig,
19617	}
19618}
19619
19620// Specifies where to start to read data (start_of_file or end_of_file). The
19621// default is start_of_file. It's only used if there is no state persisted for
19622// that log stream.
19623const (
19624	// CloudWatchLogsInitialPositionStartOfFile is a CloudWatchLogsInitialPosition enum value
19625	CloudWatchLogsInitialPositionStartOfFile = "start_of_file"
19626
19627	// CloudWatchLogsInitialPositionEndOfFile is a CloudWatchLogsInitialPosition enum value
19628	CloudWatchLogsInitialPositionEndOfFile = "end_of_file"
19629)
19630
19631// CloudWatchLogsInitialPosition_Values returns all elements of the CloudWatchLogsInitialPosition enum
19632func CloudWatchLogsInitialPosition_Values() []string {
19633	return []string{
19634		CloudWatchLogsInitialPositionStartOfFile,
19635		CloudWatchLogsInitialPositionEndOfFile,
19636	}
19637}
19638
19639// The preferred time zone for logs streamed to CloudWatch Logs. Valid values
19640// are LOCAL and UTC, for Coordinated Universal Time.
19641const (
19642	// CloudWatchLogsTimeZoneLocal is a CloudWatchLogsTimeZone enum value
19643	CloudWatchLogsTimeZoneLocal = "LOCAL"
19644
19645	// CloudWatchLogsTimeZoneUtc is a CloudWatchLogsTimeZone enum value
19646	CloudWatchLogsTimeZoneUtc = "UTC"
19647)
19648
19649// CloudWatchLogsTimeZone_Values returns all elements of the CloudWatchLogsTimeZone enum
19650func CloudWatchLogsTimeZone_Values() []string {
19651	return []string{
19652		CloudWatchLogsTimeZoneLocal,
19653		CloudWatchLogsTimeZoneUtc,
19654	}
19655}
19656
19657const (
19658	// DeploymentCommandNameInstallDependencies is a DeploymentCommandName enum value
19659	DeploymentCommandNameInstallDependencies = "install_dependencies"
19660
19661	// DeploymentCommandNameUpdateDependencies is a DeploymentCommandName enum value
19662	DeploymentCommandNameUpdateDependencies = "update_dependencies"
19663
19664	// DeploymentCommandNameUpdateCustomCookbooks is a DeploymentCommandName enum value
19665	DeploymentCommandNameUpdateCustomCookbooks = "update_custom_cookbooks"
19666
19667	// DeploymentCommandNameExecuteRecipes is a DeploymentCommandName enum value
19668	DeploymentCommandNameExecuteRecipes = "execute_recipes"
19669
19670	// DeploymentCommandNameConfigure is a DeploymentCommandName enum value
19671	DeploymentCommandNameConfigure = "configure"
19672
19673	// DeploymentCommandNameSetup is a DeploymentCommandName enum value
19674	DeploymentCommandNameSetup = "setup"
19675
19676	// DeploymentCommandNameDeploy is a DeploymentCommandName enum value
19677	DeploymentCommandNameDeploy = "deploy"
19678
19679	// DeploymentCommandNameRollback is a DeploymentCommandName enum value
19680	DeploymentCommandNameRollback = "rollback"
19681
19682	// DeploymentCommandNameStart is a DeploymentCommandName enum value
19683	DeploymentCommandNameStart = "start"
19684
19685	// DeploymentCommandNameStop is a DeploymentCommandName enum value
19686	DeploymentCommandNameStop = "stop"
19687
19688	// DeploymentCommandNameRestart is a DeploymentCommandName enum value
19689	DeploymentCommandNameRestart = "restart"
19690
19691	// DeploymentCommandNameUndeploy is a DeploymentCommandName enum value
19692	DeploymentCommandNameUndeploy = "undeploy"
19693)
19694
19695// DeploymentCommandName_Values returns all elements of the DeploymentCommandName enum
19696func DeploymentCommandName_Values() []string {
19697	return []string{
19698		DeploymentCommandNameInstallDependencies,
19699		DeploymentCommandNameUpdateDependencies,
19700		DeploymentCommandNameUpdateCustomCookbooks,
19701		DeploymentCommandNameExecuteRecipes,
19702		DeploymentCommandNameConfigure,
19703		DeploymentCommandNameSetup,
19704		DeploymentCommandNameDeploy,
19705		DeploymentCommandNameRollback,
19706		DeploymentCommandNameStart,
19707		DeploymentCommandNameStop,
19708		DeploymentCommandNameRestart,
19709		DeploymentCommandNameUndeploy,
19710	}
19711}
19712
19713const (
19714	// LayerAttributesKeysEcsClusterArn is a LayerAttributesKeys enum value
19715	LayerAttributesKeysEcsClusterArn = "EcsClusterArn"
19716
19717	// LayerAttributesKeysEnableHaproxyStats is a LayerAttributesKeys enum value
19718	LayerAttributesKeysEnableHaproxyStats = "EnableHaproxyStats"
19719
19720	// LayerAttributesKeysHaproxyStatsUrl is a LayerAttributesKeys enum value
19721	LayerAttributesKeysHaproxyStatsUrl = "HaproxyStatsUrl"
19722
19723	// LayerAttributesKeysHaproxyStatsUser is a LayerAttributesKeys enum value
19724	LayerAttributesKeysHaproxyStatsUser = "HaproxyStatsUser"
19725
19726	// LayerAttributesKeysHaproxyStatsPassword is a LayerAttributesKeys enum value
19727	LayerAttributesKeysHaproxyStatsPassword = "HaproxyStatsPassword"
19728
19729	// LayerAttributesKeysHaproxyHealthCheckUrl is a LayerAttributesKeys enum value
19730	LayerAttributesKeysHaproxyHealthCheckUrl = "HaproxyHealthCheckUrl"
19731
19732	// LayerAttributesKeysHaproxyHealthCheckMethod is a LayerAttributesKeys enum value
19733	LayerAttributesKeysHaproxyHealthCheckMethod = "HaproxyHealthCheckMethod"
19734
19735	// LayerAttributesKeysMysqlRootPassword is a LayerAttributesKeys enum value
19736	LayerAttributesKeysMysqlRootPassword = "MysqlRootPassword"
19737
19738	// LayerAttributesKeysMysqlRootPasswordUbiquitous is a LayerAttributesKeys enum value
19739	LayerAttributesKeysMysqlRootPasswordUbiquitous = "MysqlRootPasswordUbiquitous"
19740
19741	// LayerAttributesKeysGangliaUrl is a LayerAttributesKeys enum value
19742	LayerAttributesKeysGangliaUrl = "GangliaUrl"
19743
19744	// LayerAttributesKeysGangliaUser is a LayerAttributesKeys enum value
19745	LayerAttributesKeysGangliaUser = "GangliaUser"
19746
19747	// LayerAttributesKeysGangliaPassword is a LayerAttributesKeys enum value
19748	LayerAttributesKeysGangliaPassword = "GangliaPassword"
19749
19750	// LayerAttributesKeysMemcachedMemory is a LayerAttributesKeys enum value
19751	LayerAttributesKeysMemcachedMemory = "MemcachedMemory"
19752
19753	// LayerAttributesKeysNodejsVersion is a LayerAttributesKeys enum value
19754	LayerAttributesKeysNodejsVersion = "NodejsVersion"
19755
19756	// LayerAttributesKeysRubyVersion is a LayerAttributesKeys enum value
19757	LayerAttributesKeysRubyVersion = "RubyVersion"
19758
19759	// LayerAttributesKeysRubygemsVersion is a LayerAttributesKeys enum value
19760	LayerAttributesKeysRubygemsVersion = "RubygemsVersion"
19761
19762	// LayerAttributesKeysManageBundler is a LayerAttributesKeys enum value
19763	LayerAttributesKeysManageBundler = "ManageBundler"
19764
19765	// LayerAttributesKeysBundlerVersion is a LayerAttributesKeys enum value
19766	LayerAttributesKeysBundlerVersion = "BundlerVersion"
19767
19768	// LayerAttributesKeysRailsStack is a LayerAttributesKeys enum value
19769	LayerAttributesKeysRailsStack = "RailsStack"
19770
19771	// LayerAttributesKeysPassengerVersion is a LayerAttributesKeys enum value
19772	LayerAttributesKeysPassengerVersion = "PassengerVersion"
19773
19774	// LayerAttributesKeysJvm is a LayerAttributesKeys enum value
19775	LayerAttributesKeysJvm = "Jvm"
19776
19777	// LayerAttributesKeysJvmVersion is a LayerAttributesKeys enum value
19778	LayerAttributesKeysJvmVersion = "JvmVersion"
19779
19780	// LayerAttributesKeysJvmOptions is a LayerAttributesKeys enum value
19781	LayerAttributesKeysJvmOptions = "JvmOptions"
19782
19783	// LayerAttributesKeysJavaAppServer is a LayerAttributesKeys enum value
19784	LayerAttributesKeysJavaAppServer = "JavaAppServer"
19785
19786	// LayerAttributesKeysJavaAppServerVersion is a LayerAttributesKeys enum value
19787	LayerAttributesKeysJavaAppServerVersion = "JavaAppServerVersion"
19788)
19789
19790// LayerAttributesKeys_Values returns all elements of the LayerAttributesKeys enum
19791func LayerAttributesKeys_Values() []string {
19792	return []string{
19793		LayerAttributesKeysEcsClusterArn,
19794		LayerAttributesKeysEnableHaproxyStats,
19795		LayerAttributesKeysHaproxyStatsUrl,
19796		LayerAttributesKeysHaproxyStatsUser,
19797		LayerAttributesKeysHaproxyStatsPassword,
19798		LayerAttributesKeysHaproxyHealthCheckUrl,
19799		LayerAttributesKeysHaproxyHealthCheckMethod,
19800		LayerAttributesKeysMysqlRootPassword,
19801		LayerAttributesKeysMysqlRootPasswordUbiquitous,
19802		LayerAttributesKeysGangliaUrl,
19803		LayerAttributesKeysGangliaUser,
19804		LayerAttributesKeysGangliaPassword,
19805		LayerAttributesKeysMemcachedMemory,
19806		LayerAttributesKeysNodejsVersion,
19807		LayerAttributesKeysRubyVersion,
19808		LayerAttributesKeysRubygemsVersion,
19809		LayerAttributesKeysManageBundler,
19810		LayerAttributesKeysBundlerVersion,
19811		LayerAttributesKeysRailsStack,
19812		LayerAttributesKeysPassengerVersion,
19813		LayerAttributesKeysJvm,
19814		LayerAttributesKeysJvmVersion,
19815		LayerAttributesKeysJvmOptions,
19816		LayerAttributesKeysJavaAppServer,
19817		LayerAttributesKeysJavaAppServerVersion,
19818	}
19819}
19820
19821const (
19822	// LayerTypeAwsFlowRuby is a LayerType enum value
19823	LayerTypeAwsFlowRuby = "aws-flow-ruby"
19824
19825	// LayerTypeEcsCluster is a LayerType enum value
19826	LayerTypeEcsCluster = "ecs-cluster"
19827
19828	// LayerTypeJavaApp is a LayerType enum value
19829	LayerTypeJavaApp = "java-app"
19830
19831	// LayerTypeLb is a LayerType enum value
19832	LayerTypeLb = "lb"
19833
19834	// LayerTypeWeb is a LayerType enum value
19835	LayerTypeWeb = "web"
19836
19837	// LayerTypePhpApp is a LayerType enum value
19838	LayerTypePhpApp = "php-app"
19839
19840	// LayerTypeRailsApp is a LayerType enum value
19841	LayerTypeRailsApp = "rails-app"
19842
19843	// LayerTypeNodejsApp is a LayerType enum value
19844	LayerTypeNodejsApp = "nodejs-app"
19845
19846	// LayerTypeMemcached is a LayerType enum value
19847	LayerTypeMemcached = "memcached"
19848
19849	// LayerTypeDbMaster is a LayerType enum value
19850	LayerTypeDbMaster = "db-master"
19851
19852	// LayerTypeMonitoringMaster is a LayerType enum value
19853	LayerTypeMonitoringMaster = "monitoring-master"
19854
19855	// LayerTypeCustom is a LayerType enum value
19856	LayerTypeCustom = "custom"
19857)
19858
19859// LayerType_Values returns all elements of the LayerType enum
19860func LayerType_Values() []string {
19861	return []string{
19862		LayerTypeAwsFlowRuby,
19863		LayerTypeEcsCluster,
19864		LayerTypeJavaApp,
19865		LayerTypeLb,
19866		LayerTypeWeb,
19867		LayerTypePhpApp,
19868		LayerTypeRailsApp,
19869		LayerTypeNodejsApp,
19870		LayerTypeMemcached,
19871		LayerTypeDbMaster,
19872		LayerTypeMonitoringMaster,
19873		LayerTypeCustom,
19874	}
19875}
19876
19877const (
19878	// RootDeviceTypeEbs is a RootDeviceType enum value
19879	RootDeviceTypeEbs = "ebs"
19880
19881	// RootDeviceTypeInstanceStore is a RootDeviceType enum value
19882	RootDeviceTypeInstanceStore = "instance-store"
19883)
19884
19885// RootDeviceType_Values returns all elements of the RootDeviceType enum
19886func RootDeviceType_Values() []string {
19887	return []string{
19888		RootDeviceTypeEbs,
19889		RootDeviceTypeInstanceStore,
19890	}
19891}
19892
19893const (
19894	// SourceTypeGit is a SourceType enum value
19895	SourceTypeGit = "git"
19896
19897	// SourceTypeSvn is a SourceType enum value
19898	SourceTypeSvn = "svn"
19899
19900	// SourceTypeArchive is a SourceType enum value
19901	SourceTypeArchive = "archive"
19902
19903	// SourceTypeS3 is a SourceType enum value
19904	SourceTypeS3 = "s3"
19905)
19906
19907// SourceType_Values returns all elements of the SourceType enum
19908func SourceType_Values() []string {
19909	return []string{
19910		SourceTypeGit,
19911		SourceTypeSvn,
19912		SourceTypeArchive,
19913		SourceTypeS3,
19914	}
19915}
19916
19917const (
19918	// StackAttributesKeysColor is a StackAttributesKeys enum value
19919	StackAttributesKeysColor = "Color"
19920)
19921
19922// StackAttributesKeys_Values returns all elements of the StackAttributesKeys enum
19923func StackAttributesKeys_Values() []string {
19924	return []string{
19925		StackAttributesKeysColor,
19926	}
19927}
19928
19929const (
19930	// VirtualizationTypeParavirtual is a VirtualizationType enum value
19931	VirtualizationTypeParavirtual = "paravirtual"
19932
19933	// VirtualizationTypeHvm is a VirtualizationType enum value
19934	VirtualizationTypeHvm = "hvm"
19935)
19936
19937// VirtualizationType_Values returns all elements of the VirtualizationType enum
19938func VirtualizationType_Values() []string {
19939	return []string{
19940		VirtualizationTypeParavirtual,
19941		VirtualizationTypeHvm,
19942	}
19943}
19944
19945const (
19946	// VolumeTypeGp2 is a VolumeType enum value
19947	VolumeTypeGp2 = "gp2"
19948
19949	// VolumeTypeIo1 is a VolumeType enum value
19950	VolumeTypeIo1 = "io1"
19951
19952	// VolumeTypeStandard is a VolumeType enum value
19953	VolumeTypeStandard = "standard"
19954)
19955
19956// VolumeType_Values returns all elements of the VolumeType enum
19957func VolumeType_Values() []string {
19958	return []string{
19959		VolumeTypeGp2,
19960		VolumeTypeIo1,
19961		VolumeTypeStandard,
19962	}
19963}
19964