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 Codes:
82//   * ErrCodeValidationException "ValidationException"
83//   Indicates that a request was not valid.
84//
85//   * ErrCodeResourceNotFoundException "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 Codes:
174//   * ErrCodeValidationException "ValidationException"
175//   Indicates that a request was not valid.
176//
177//   * ErrCodeResourceNotFoundException "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 Codes:
264//   * ErrCodeValidationException "ValidationException"
265//   Indicates that a request was not valid.
266//
267//   * ErrCodeResourceNotFoundException "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 Codes:
359//   * ErrCodeValidationException "ValidationException"
360//   Indicates that a request was not valid.
361//
362//   * ErrCodeResourceNotFoundException "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 Codes:
447//   * ErrCodeValidationException "ValidationException"
448//   Indicates that a request was not valid.
449//
450//   * ErrCodeResourceNotFoundException "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 Codes:
535//   * ErrCodeValidationException "ValidationException"
536//   Indicates that a request was not valid.
537//
538//   * ErrCodeResourceNotFoundException "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 Codes:
624//   * ErrCodeValidationException "ValidationException"
625//   Indicates that a request was not valid.
626//
627//   * ErrCodeResourceNotFoundException "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 Codes:
712//   * ErrCodeValidationException "ValidationException"
713//   Indicates that a request was not valid.
714//
715//   * ErrCodeResourceNotFoundException "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 Codes:
806//   * ErrCodeValidationException "ValidationException"
807//   Indicates that a request was not valid.
808//
809//   * ErrCodeResourceNotFoundException "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 Codes:
892//   * ErrCodeValidationException "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 Codes:
975//   * ErrCodeValidationException "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 Codes:
1060//   * ErrCodeValidationException "ValidationException"
1061//   Indicates that a request was not valid.
1062//
1063//   * ErrCodeResourceNotFoundException "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 Codes:
1151//   * ErrCodeValidationException "ValidationException"
1152//   Indicates that a request was not valid.
1153//
1154//   * ErrCodeResourceNotFoundException "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 Codes:
1241//   * ErrCodeValidationException "ValidationException"
1242//   Indicates that a request was not valid.
1243//
1244//   * ErrCodeResourceNotFoundException "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 Codes:
1331//   * ErrCodeValidationException "ValidationException"
1332//   Indicates that a request was not valid.
1333//
1334//   * ErrCodeResourceNotFoundException "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 Codes:
1418//   * ErrCodeValidationException "ValidationException"
1419//   Indicates that a request was not valid.
1420//
1421//   * ErrCodeResourceNotFoundException "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 Codes:
1507//   * ErrCodeValidationException "ValidationException"
1508//   Indicates that a request was not valid.
1509//
1510//   * ErrCodeResourceNotFoundException "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 Codes:
1596//   * ErrCodeValidationException "ValidationException"
1597//   Indicates that a request was not valid.
1598//
1599//   * ErrCodeResourceNotFoundException "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 Codes:
1686//   * ErrCodeValidationException "ValidationException"
1687//   Indicates that a request was not valid.
1688//
1689//   * ErrCodeResourceNotFoundException "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 Codes:
1774//   * ErrCodeValidationException "ValidationException"
1775//   Indicates that a request was not valid.
1776//
1777//   * ErrCodeResourceNotFoundException "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 Codes:
1863//   * ErrCodeValidationException "ValidationException"
1864//   Indicates that a request was not valid.
1865//
1866//   * ErrCodeResourceNotFoundException "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 Codes:
1947//   * ErrCodeValidationException "ValidationException"
1948//   Indicates that a request was not valid.
1949//
1950//   * ErrCodeResourceNotFoundException "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 Codes:
2036//   * ErrCodeValidationException "ValidationException"
2037//   Indicates that a request was not valid.
2038//
2039//   * ErrCodeResourceNotFoundException "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 Codes:
2125//   * ErrCodeValidationException "ValidationException"
2126//   Indicates that a request was not valid.
2127//
2128//   * ErrCodeResourceNotFoundException "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 Codes:
2214//   * ErrCodeValidationException "ValidationException"
2215//   Indicates that a request was not valid.
2216//
2217//   * ErrCodeResourceNotFoundException "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 Codes:
2312//   * ErrCodeValidationException "ValidationException"
2313//   Indicates that a request was not valid.
2314//
2315//   * ErrCodeResourceNotFoundException "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	cont := true
2384	for p.Next() && cont {
2385		cont = fn(p.Page().(*DescribeEcsClustersOutput), !p.HasNextPage())
2386	}
2387	return p.Err()
2388}
2389
2390const opDescribeElasticIps = "DescribeElasticIps"
2391
2392// DescribeElasticIpsRequest generates a "aws/request.Request" representing the
2393// client's request for the DescribeElasticIps operation. The "output" return
2394// value will be populated with the request's response once the request completes
2395// successfully.
2396//
2397// Use "Send" method on the returned Request to send the API call to the service.
2398// the "output" return value is not valid until after Send returns without error.
2399//
2400// See DescribeElasticIps for more information on using the DescribeElasticIps
2401// API call, and error handling.
2402//
2403// This method is useful when you want to inject custom logic or configuration
2404// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2405//
2406//
2407//    // Example sending a request using the DescribeElasticIpsRequest method.
2408//    req, resp := client.DescribeElasticIpsRequest(params)
2409//
2410//    err := req.Send()
2411//    if err == nil { // resp is now filled
2412//        fmt.Println(resp)
2413//    }
2414//
2415// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticIps
2416func (c *OpsWorks) DescribeElasticIpsRequest(input *DescribeElasticIpsInput) (req *request.Request, output *DescribeElasticIpsOutput) {
2417	op := &request.Operation{
2418		Name:       opDescribeElasticIps,
2419		HTTPMethod: "POST",
2420		HTTPPath:   "/",
2421	}
2422
2423	if input == nil {
2424		input = &DescribeElasticIpsInput{}
2425	}
2426
2427	output = &DescribeElasticIpsOutput{}
2428	req = c.newRequest(op, input, output)
2429	return
2430}
2431
2432// DescribeElasticIps API operation for AWS OpsWorks.
2433//
2434// Describes Elastic IP addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html).
2435//
2436// This call accepts only one resource-identifying parameter.
2437//
2438// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2439// or Manage permissions level for the stack, or an attached policy that explicitly
2440// grants permissions. For more information about user permissions, see Managing
2441// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2442//
2443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2444// with awserr.Error's Code and Message methods to get detailed information about
2445// the error.
2446//
2447// See the AWS API reference guide for AWS OpsWorks's
2448// API operation DescribeElasticIps for usage and error information.
2449//
2450// Returned Error Codes:
2451//   * ErrCodeValidationException "ValidationException"
2452//   Indicates that a request was not valid.
2453//
2454//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2455//   Indicates that a resource was not found.
2456//
2457// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticIps
2458func (c *OpsWorks) DescribeElasticIps(input *DescribeElasticIpsInput) (*DescribeElasticIpsOutput, error) {
2459	req, out := c.DescribeElasticIpsRequest(input)
2460	return out, req.Send()
2461}
2462
2463// DescribeElasticIpsWithContext is the same as DescribeElasticIps with the addition of
2464// the ability to pass a context and additional request options.
2465//
2466// See DescribeElasticIps for details on how to use this API operation.
2467//
2468// The context must be non-nil and will be used for request cancellation. If
2469// the context is nil a panic will occur. In the future the SDK may create
2470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2471// for more information on using Contexts.
2472func (c *OpsWorks) DescribeElasticIpsWithContext(ctx aws.Context, input *DescribeElasticIpsInput, opts ...request.Option) (*DescribeElasticIpsOutput, error) {
2473	req, out := c.DescribeElasticIpsRequest(input)
2474	req.SetContext(ctx)
2475	req.ApplyOptions(opts...)
2476	return out, req.Send()
2477}
2478
2479const opDescribeElasticLoadBalancers = "DescribeElasticLoadBalancers"
2480
2481// DescribeElasticLoadBalancersRequest generates a "aws/request.Request" representing the
2482// client's request for the DescribeElasticLoadBalancers operation. The "output" return
2483// value will be populated with the request's response once the request completes
2484// successfully.
2485//
2486// Use "Send" method on the returned Request to send the API call to the service.
2487// the "output" return value is not valid until after Send returns without error.
2488//
2489// See DescribeElasticLoadBalancers for more information on using the DescribeElasticLoadBalancers
2490// API call, and error handling.
2491//
2492// This method is useful when you want to inject custom logic or configuration
2493// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2494//
2495//
2496//    // Example sending a request using the DescribeElasticLoadBalancersRequest method.
2497//    req, resp := client.DescribeElasticLoadBalancersRequest(params)
2498//
2499//    err := req.Send()
2500//    if err == nil { // resp is now filled
2501//        fmt.Println(resp)
2502//    }
2503//
2504// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticLoadBalancers
2505func (c *OpsWorks) DescribeElasticLoadBalancersRequest(input *DescribeElasticLoadBalancersInput) (req *request.Request, output *DescribeElasticLoadBalancersOutput) {
2506	op := &request.Operation{
2507		Name:       opDescribeElasticLoadBalancers,
2508		HTTPMethod: "POST",
2509		HTTPPath:   "/",
2510	}
2511
2512	if input == nil {
2513		input = &DescribeElasticLoadBalancersInput{}
2514	}
2515
2516	output = &DescribeElasticLoadBalancersOutput{}
2517	req = c.newRequest(op, input, output)
2518	return
2519}
2520
2521// DescribeElasticLoadBalancers API operation for AWS OpsWorks.
2522//
2523// Describes a stack's Elastic Load Balancing instances.
2524//
2525// This call accepts only one resource-identifying parameter.
2526//
2527// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2528// or Manage permissions level for the stack, or an attached policy that explicitly
2529// grants permissions. For more information about user permissions, see Managing
2530// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2531//
2532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2533// with awserr.Error's Code and Message methods to get detailed information about
2534// the error.
2535//
2536// See the AWS API reference guide for AWS OpsWorks's
2537// API operation DescribeElasticLoadBalancers for usage and error information.
2538//
2539// Returned Error Codes:
2540//   * ErrCodeValidationException "ValidationException"
2541//   Indicates that a request was not valid.
2542//
2543//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2544//   Indicates that a resource was not found.
2545//
2546// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeElasticLoadBalancers
2547func (c *OpsWorks) DescribeElasticLoadBalancers(input *DescribeElasticLoadBalancersInput) (*DescribeElasticLoadBalancersOutput, error) {
2548	req, out := c.DescribeElasticLoadBalancersRequest(input)
2549	return out, req.Send()
2550}
2551
2552// DescribeElasticLoadBalancersWithContext is the same as DescribeElasticLoadBalancers with the addition of
2553// the ability to pass a context and additional request options.
2554//
2555// See DescribeElasticLoadBalancers for details on how to use this API operation.
2556//
2557// The context must be non-nil and will be used for request cancellation. If
2558// the context is nil a panic will occur. In the future the SDK may create
2559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2560// for more information on using Contexts.
2561func (c *OpsWorks) DescribeElasticLoadBalancersWithContext(ctx aws.Context, input *DescribeElasticLoadBalancersInput, opts ...request.Option) (*DescribeElasticLoadBalancersOutput, error) {
2562	req, out := c.DescribeElasticLoadBalancersRequest(input)
2563	req.SetContext(ctx)
2564	req.ApplyOptions(opts...)
2565	return out, req.Send()
2566}
2567
2568const opDescribeInstances = "DescribeInstances"
2569
2570// DescribeInstancesRequest generates a "aws/request.Request" representing the
2571// client's request for the DescribeInstances operation. The "output" return
2572// value will be populated with the request's response once the request completes
2573// successfully.
2574//
2575// Use "Send" method on the returned Request to send the API call to the service.
2576// the "output" return value is not valid until after Send returns without error.
2577//
2578// See DescribeInstances for more information on using the DescribeInstances
2579// API call, and error handling.
2580//
2581// This method is useful when you want to inject custom logic or configuration
2582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2583//
2584//
2585//    // Example sending a request using the DescribeInstancesRequest method.
2586//    req, resp := client.DescribeInstancesRequest(params)
2587//
2588//    err := req.Send()
2589//    if err == nil { // resp is now filled
2590//        fmt.Println(resp)
2591//    }
2592//
2593// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeInstances
2594func (c *OpsWorks) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
2595	op := &request.Operation{
2596		Name:       opDescribeInstances,
2597		HTTPMethod: "POST",
2598		HTTPPath:   "/",
2599	}
2600
2601	if input == nil {
2602		input = &DescribeInstancesInput{}
2603	}
2604
2605	output = &DescribeInstancesOutput{}
2606	req = c.newRequest(op, input, output)
2607	return
2608}
2609
2610// DescribeInstances API operation for AWS OpsWorks.
2611//
2612// Requests a description of a set of instances.
2613//
2614// This call accepts only one resource-identifying parameter.
2615//
2616// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2617// or Manage permissions level for the stack, or an attached policy that explicitly
2618// grants permissions. For more information about user permissions, see Managing
2619// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2620//
2621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2622// with awserr.Error's Code and Message methods to get detailed information about
2623// the error.
2624//
2625// See the AWS API reference guide for AWS OpsWorks's
2626// API operation DescribeInstances for usage and error information.
2627//
2628// Returned Error Codes:
2629//   * ErrCodeValidationException "ValidationException"
2630//   Indicates that a request was not valid.
2631//
2632//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2633//   Indicates that a resource was not found.
2634//
2635// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeInstances
2636func (c *OpsWorks) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
2637	req, out := c.DescribeInstancesRequest(input)
2638	return out, req.Send()
2639}
2640
2641// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
2642// the ability to pass a context and additional request options.
2643//
2644// See DescribeInstances for details on how to use this API operation.
2645//
2646// The context must be non-nil and will be used for request cancellation. If
2647// the context is nil a panic will occur. In the future the SDK may create
2648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2649// for more information on using Contexts.
2650func (c *OpsWorks) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
2651	req, out := c.DescribeInstancesRequest(input)
2652	req.SetContext(ctx)
2653	req.ApplyOptions(opts...)
2654	return out, req.Send()
2655}
2656
2657const opDescribeLayers = "DescribeLayers"
2658
2659// DescribeLayersRequest generates a "aws/request.Request" representing the
2660// client's request for the DescribeLayers operation. The "output" return
2661// value will be populated with the request's response once the request completes
2662// successfully.
2663//
2664// Use "Send" method on the returned Request to send the API call to the service.
2665// the "output" return value is not valid until after Send returns without error.
2666//
2667// See DescribeLayers for more information on using the DescribeLayers
2668// API call, and error handling.
2669//
2670// This method is useful when you want to inject custom logic or configuration
2671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2672//
2673//
2674//    // Example sending a request using the DescribeLayersRequest method.
2675//    req, resp := client.DescribeLayersRequest(params)
2676//
2677//    err := req.Send()
2678//    if err == nil { // resp is now filled
2679//        fmt.Println(resp)
2680//    }
2681//
2682// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLayers
2683func (c *OpsWorks) DescribeLayersRequest(input *DescribeLayersInput) (req *request.Request, output *DescribeLayersOutput) {
2684	op := &request.Operation{
2685		Name:       opDescribeLayers,
2686		HTTPMethod: "POST",
2687		HTTPPath:   "/",
2688	}
2689
2690	if input == nil {
2691		input = &DescribeLayersInput{}
2692	}
2693
2694	output = &DescribeLayersOutput{}
2695	req = c.newRequest(op, input, output)
2696	return
2697}
2698
2699// DescribeLayers API operation for AWS OpsWorks.
2700//
2701// Requests a description of one or more layers in a specified stack.
2702//
2703// This call accepts only one resource-identifying parameter.
2704//
2705// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2706// or Manage permissions level for the stack, or an attached policy that explicitly
2707// grants permissions. For more information about user permissions, see Managing
2708// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2709//
2710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2711// with awserr.Error's Code and Message methods to get detailed information about
2712// the error.
2713//
2714// See the AWS API reference guide for AWS OpsWorks's
2715// API operation DescribeLayers for usage and error information.
2716//
2717// Returned Error Codes:
2718//   * ErrCodeValidationException "ValidationException"
2719//   Indicates that a request was not valid.
2720//
2721//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2722//   Indicates that a resource was not found.
2723//
2724// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLayers
2725func (c *OpsWorks) DescribeLayers(input *DescribeLayersInput) (*DescribeLayersOutput, error) {
2726	req, out := c.DescribeLayersRequest(input)
2727	return out, req.Send()
2728}
2729
2730// DescribeLayersWithContext is the same as DescribeLayers with the addition of
2731// the ability to pass a context and additional request options.
2732//
2733// See DescribeLayers for details on how to use this API operation.
2734//
2735// The context must be non-nil and will be used for request cancellation. If
2736// the context is nil a panic will occur. In the future the SDK may create
2737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2738// for more information on using Contexts.
2739func (c *OpsWorks) DescribeLayersWithContext(ctx aws.Context, input *DescribeLayersInput, opts ...request.Option) (*DescribeLayersOutput, error) {
2740	req, out := c.DescribeLayersRequest(input)
2741	req.SetContext(ctx)
2742	req.ApplyOptions(opts...)
2743	return out, req.Send()
2744}
2745
2746const opDescribeLoadBasedAutoScaling = "DescribeLoadBasedAutoScaling"
2747
2748// DescribeLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the
2749// client's request for the DescribeLoadBasedAutoScaling operation. The "output" return
2750// value will be populated with the request's response once the request completes
2751// successfully.
2752//
2753// Use "Send" method on the returned Request to send the API call to the service.
2754// the "output" return value is not valid until after Send returns without error.
2755//
2756// See DescribeLoadBasedAutoScaling for more information on using the DescribeLoadBasedAutoScaling
2757// API call, and error handling.
2758//
2759// This method is useful when you want to inject custom logic or configuration
2760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2761//
2762//
2763//    // Example sending a request using the DescribeLoadBasedAutoScalingRequest method.
2764//    req, resp := client.DescribeLoadBasedAutoScalingRequest(params)
2765//
2766//    err := req.Send()
2767//    if err == nil { // resp is now filled
2768//        fmt.Println(resp)
2769//    }
2770//
2771// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLoadBasedAutoScaling
2772func (c *OpsWorks) DescribeLoadBasedAutoScalingRequest(input *DescribeLoadBasedAutoScalingInput) (req *request.Request, output *DescribeLoadBasedAutoScalingOutput) {
2773	op := &request.Operation{
2774		Name:       opDescribeLoadBasedAutoScaling,
2775		HTTPMethod: "POST",
2776		HTTPPath:   "/",
2777	}
2778
2779	if input == nil {
2780		input = &DescribeLoadBasedAutoScalingInput{}
2781	}
2782
2783	output = &DescribeLoadBasedAutoScalingOutput{}
2784	req = c.newRequest(op, input, output)
2785	return
2786}
2787
2788// DescribeLoadBasedAutoScaling API operation for AWS OpsWorks.
2789//
2790// Describes load-based auto scaling configurations for specified layers.
2791//
2792// You must specify at least one of the parameters.
2793//
2794// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
2795// or Manage permissions level for the stack, or an attached policy that explicitly
2796// grants permissions. For more information about user permissions, see Managing
2797// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2798//
2799// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2800// with awserr.Error's Code and Message methods to get detailed information about
2801// the error.
2802//
2803// See the AWS API reference guide for AWS OpsWorks's
2804// API operation DescribeLoadBasedAutoScaling for usage and error information.
2805//
2806// Returned Error Codes:
2807//   * ErrCodeValidationException "ValidationException"
2808//   Indicates that a request was not valid.
2809//
2810//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2811//   Indicates that a resource was not found.
2812//
2813// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeLoadBasedAutoScaling
2814func (c *OpsWorks) DescribeLoadBasedAutoScaling(input *DescribeLoadBasedAutoScalingInput) (*DescribeLoadBasedAutoScalingOutput, error) {
2815	req, out := c.DescribeLoadBasedAutoScalingRequest(input)
2816	return out, req.Send()
2817}
2818
2819// DescribeLoadBasedAutoScalingWithContext is the same as DescribeLoadBasedAutoScaling with the addition of
2820// the ability to pass a context and additional request options.
2821//
2822// See DescribeLoadBasedAutoScaling for details on how to use this API operation.
2823//
2824// The context must be non-nil and will be used for request cancellation. If
2825// the context is nil a panic will occur. In the future the SDK may create
2826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2827// for more information on using Contexts.
2828func (c *OpsWorks) DescribeLoadBasedAutoScalingWithContext(ctx aws.Context, input *DescribeLoadBasedAutoScalingInput, opts ...request.Option) (*DescribeLoadBasedAutoScalingOutput, error) {
2829	req, out := c.DescribeLoadBasedAutoScalingRequest(input)
2830	req.SetContext(ctx)
2831	req.ApplyOptions(opts...)
2832	return out, req.Send()
2833}
2834
2835const opDescribeMyUserProfile = "DescribeMyUserProfile"
2836
2837// DescribeMyUserProfileRequest generates a "aws/request.Request" representing the
2838// client's request for the DescribeMyUserProfile operation. The "output" return
2839// value will be populated with the request's response once the request completes
2840// successfully.
2841//
2842// Use "Send" method on the returned Request to send the API call to the service.
2843// the "output" return value is not valid until after Send returns without error.
2844//
2845// See DescribeMyUserProfile for more information on using the DescribeMyUserProfile
2846// API call, and error handling.
2847//
2848// This method is useful when you want to inject custom logic or configuration
2849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2850//
2851//
2852//    // Example sending a request using the DescribeMyUserProfileRequest method.
2853//    req, resp := client.DescribeMyUserProfileRequest(params)
2854//
2855//    err := req.Send()
2856//    if err == nil { // resp is now filled
2857//        fmt.Println(resp)
2858//    }
2859//
2860// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeMyUserProfile
2861func (c *OpsWorks) DescribeMyUserProfileRequest(input *DescribeMyUserProfileInput) (req *request.Request, output *DescribeMyUserProfileOutput) {
2862	op := &request.Operation{
2863		Name:       opDescribeMyUserProfile,
2864		HTTPMethod: "POST",
2865		HTTPPath:   "/",
2866	}
2867
2868	if input == nil {
2869		input = &DescribeMyUserProfileInput{}
2870	}
2871
2872	output = &DescribeMyUserProfileOutput{}
2873	req = c.newRequest(op, input, output)
2874	return
2875}
2876
2877// DescribeMyUserProfile API operation for AWS OpsWorks.
2878//
2879// Describes a user's SSH information.
2880//
2881// Required Permissions: To use this action, an IAM user must have self-management
2882// enabled or an attached policy that explicitly grants permissions. For more
2883// information about user permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
2884//
2885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2886// with awserr.Error's Code and Message methods to get detailed information about
2887// the error.
2888//
2889// See the AWS API reference guide for AWS OpsWorks's
2890// API operation DescribeMyUserProfile for usage and error information.
2891// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeMyUserProfile
2892func (c *OpsWorks) DescribeMyUserProfile(input *DescribeMyUserProfileInput) (*DescribeMyUserProfileOutput, error) {
2893	req, out := c.DescribeMyUserProfileRequest(input)
2894	return out, req.Send()
2895}
2896
2897// DescribeMyUserProfileWithContext is the same as DescribeMyUserProfile with the addition of
2898// the ability to pass a context and additional request options.
2899//
2900// See DescribeMyUserProfile for details on how to use this API operation.
2901//
2902// The context must be non-nil and will be used for request cancellation. If
2903// the context is nil a panic will occur. In the future the SDK may create
2904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2905// for more information on using Contexts.
2906func (c *OpsWorks) DescribeMyUserProfileWithContext(ctx aws.Context, input *DescribeMyUserProfileInput, opts ...request.Option) (*DescribeMyUserProfileOutput, error) {
2907	req, out := c.DescribeMyUserProfileRequest(input)
2908	req.SetContext(ctx)
2909	req.ApplyOptions(opts...)
2910	return out, req.Send()
2911}
2912
2913const opDescribeOperatingSystems = "DescribeOperatingSystems"
2914
2915// DescribeOperatingSystemsRequest generates a "aws/request.Request" representing the
2916// client's request for the DescribeOperatingSystems operation. The "output" return
2917// value will be populated with the request's response once the request completes
2918// successfully.
2919//
2920// Use "Send" method on the returned Request to send the API call to the service.
2921// the "output" return value is not valid until after Send returns without error.
2922//
2923// See DescribeOperatingSystems for more information on using the DescribeOperatingSystems
2924// API call, and error handling.
2925//
2926// This method is useful when you want to inject custom logic or configuration
2927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2928//
2929//
2930//    // Example sending a request using the DescribeOperatingSystemsRequest method.
2931//    req, resp := client.DescribeOperatingSystemsRequest(params)
2932//
2933//    err := req.Send()
2934//    if err == nil { // resp is now filled
2935//        fmt.Println(resp)
2936//    }
2937//
2938// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeOperatingSystems
2939func (c *OpsWorks) DescribeOperatingSystemsRequest(input *DescribeOperatingSystemsInput) (req *request.Request, output *DescribeOperatingSystemsOutput) {
2940	op := &request.Operation{
2941		Name:       opDescribeOperatingSystems,
2942		HTTPMethod: "POST",
2943		HTTPPath:   "/",
2944	}
2945
2946	if input == nil {
2947		input = &DescribeOperatingSystemsInput{}
2948	}
2949
2950	output = &DescribeOperatingSystemsOutput{}
2951	req = c.newRequest(op, input, output)
2952	return
2953}
2954
2955// DescribeOperatingSystems API operation for AWS OpsWorks.
2956//
2957// Describes the operating systems that are supported by AWS OpsWorks Stacks.
2958//
2959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2960// with awserr.Error's Code and Message methods to get detailed information about
2961// the error.
2962//
2963// See the AWS API reference guide for AWS OpsWorks's
2964// API operation DescribeOperatingSystems for usage and error information.
2965// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeOperatingSystems
2966func (c *OpsWorks) DescribeOperatingSystems(input *DescribeOperatingSystemsInput) (*DescribeOperatingSystemsOutput, error) {
2967	req, out := c.DescribeOperatingSystemsRequest(input)
2968	return out, req.Send()
2969}
2970
2971// DescribeOperatingSystemsWithContext is the same as DescribeOperatingSystems with the addition of
2972// the ability to pass a context and additional request options.
2973//
2974// See DescribeOperatingSystems for details on how to use this API operation.
2975//
2976// The context must be non-nil and will be used for request cancellation. If
2977// the context is nil a panic will occur. In the future the SDK may create
2978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2979// for more information on using Contexts.
2980func (c *OpsWorks) DescribeOperatingSystemsWithContext(ctx aws.Context, input *DescribeOperatingSystemsInput, opts ...request.Option) (*DescribeOperatingSystemsOutput, error) {
2981	req, out := c.DescribeOperatingSystemsRequest(input)
2982	req.SetContext(ctx)
2983	req.ApplyOptions(opts...)
2984	return out, req.Send()
2985}
2986
2987const opDescribePermissions = "DescribePermissions"
2988
2989// DescribePermissionsRequest generates a "aws/request.Request" representing the
2990// client's request for the DescribePermissions operation. The "output" return
2991// value will be populated with the request's response once the request completes
2992// successfully.
2993//
2994// Use "Send" method on the returned Request to send the API call to the service.
2995// the "output" return value is not valid until after Send returns without error.
2996//
2997// See DescribePermissions for more information on using the DescribePermissions
2998// API call, and error handling.
2999//
3000// This method is useful when you want to inject custom logic or configuration
3001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3002//
3003//
3004//    // Example sending a request using the DescribePermissionsRequest method.
3005//    req, resp := client.DescribePermissionsRequest(params)
3006//
3007//    err := req.Send()
3008//    if err == nil { // resp is now filled
3009//        fmt.Println(resp)
3010//    }
3011//
3012// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribePermissions
3013func (c *OpsWorks) DescribePermissionsRequest(input *DescribePermissionsInput) (req *request.Request, output *DescribePermissionsOutput) {
3014	op := &request.Operation{
3015		Name:       opDescribePermissions,
3016		HTTPMethod: "POST",
3017		HTTPPath:   "/",
3018	}
3019
3020	if input == nil {
3021		input = &DescribePermissionsInput{}
3022	}
3023
3024	output = &DescribePermissionsOutput{}
3025	req = c.newRequest(op, input, output)
3026	return
3027}
3028
3029// DescribePermissions API operation for AWS OpsWorks.
3030//
3031// Describes the permissions for a specified stack.
3032//
3033// Required Permissions: To use this action, an IAM user must have a Manage
3034// permissions level for the stack, or an attached policy that explicitly grants
3035// permissions. For more information on user permissions, see Managing User
3036// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3037//
3038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3039// with awserr.Error's Code and Message methods to get detailed information about
3040// the error.
3041//
3042// See the AWS API reference guide for AWS OpsWorks's
3043// API operation DescribePermissions for usage and error information.
3044//
3045// Returned Error Codes:
3046//   * ErrCodeValidationException "ValidationException"
3047//   Indicates that a request was not valid.
3048//
3049//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3050//   Indicates that a resource was not found.
3051//
3052// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribePermissions
3053func (c *OpsWorks) DescribePermissions(input *DescribePermissionsInput) (*DescribePermissionsOutput, error) {
3054	req, out := c.DescribePermissionsRequest(input)
3055	return out, req.Send()
3056}
3057
3058// DescribePermissionsWithContext is the same as DescribePermissions with the addition of
3059// the ability to pass a context and additional request options.
3060//
3061// See DescribePermissions for details on how to use this API operation.
3062//
3063// The context must be non-nil and will be used for request cancellation. If
3064// the context is nil a panic will occur. In the future the SDK may create
3065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3066// for more information on using Contexts.
3067func (c *OpsWorks) DescribePermissionsWithContext(ctx aws.Context, input *DescribePermissionsInput, opts ...request.Option) (*DescribePermissionsOutput, error) {
3068	req, out := c.DescribePermissionsRequest(input)
3069	req.SetContext(ctx)
3070	req.ApplyOptions(opts...)
3071	return out, req.Send()
3072}
3073
3074const opDescribeRaidArrays = "DescribeRaidArrays"
3075
3076// DescribeRaidArraysRequest generates a "aws/request.Request" representing the
3077// client's request for the DescribeRaidArrays operation. The "output" return
3078// value will be populated with the request's response once the request completes
3079// successfully.
3080//
3081// Use "Send" method on the returned Request to send the API call to the service.
3082// the "output" return value is not valid until after Send returns without error.
3083//
3084// See DescribeRaidArrays for more information on using the DescribeRaidArrays
3085// API call, and error handling.
3086//
3087// This method is useful when you want to inject custom logic or configuration
3088// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3089//
3090//
3091//    // Example sending a request using the DescribeRaidArraysRequest method.
3092//    req, resp := client.DescribeRaidArraysRequest(params)
3093//
3094//    err := req.Send()
3095//    if err == nil { // resp is now filled
3096//        fmt.Println(resp)
3097//    }
3098//
3099// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRaidArrays
3100func (c *OpsWorks) DescribeRaidArraysRequest(input *DescribeRaidArraysInput) (req *request.Request, output *DescribeRaidArraysOutput) {
3101	op := &request.Operation{
3102		Name:       opDescribeRaidArrays,
3103		HTTPMethod: "POST",
3104		HTTPPath:   "/",
3105	}
3106
3107	if input == nil {
3108		input = &DescribeRaidArraysInput{}
3109	}
3110
3111	output = &DescribeRaidArraysOutput{}
3112	req = c.newRequest(op, input, output)
3113	return
3114}
3115
3116// DescribeRaidArrays API operation for AWS OpsWorks.
3117//
3118// Describe an instance's RAID arrays.
3119//
3120// This call accepts only one resource-identifying parameter.
3121//
3122// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3123// or Manage permissions level for the stack, or an attached policy that explicitly
3124// grants permissions. For more information about user permissions, see Managing
3125// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3126//
3127// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3128// with awserr.Error's Code and Message methods to get detailed information about
3129// the error.
3130//
3131// See the AWS API reference guide for AWS OpsWorks's
3132// API operation DescribeRaidArrays for usage and error information.
3133//
3134// Returned Error Codes:
3135//   * ErrCodeValidationException "ValidationException"
3136//   Indicates that a request was not valid.
3137//
3138//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3139//   Indicates that a resource was not found.
3140//
3141// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRaidArrays
3142func (c *OpsWorks) DescribeRaidArrays(input *DescribeRaidArraysInput) (*DescribeRaidArraysOutput, error) {
3143	req, out := c.DescribeRaidArraysRequest(input)
3144	return out, req.Send()
3145}
3146
3147// DescribeRaidArraysWithContext is the same as DescribeRaidArrays with the addition of
3148// the ability to pass a context and additional request options.
3149//
3150// See DescribeRaidArrays for details on how to use this API operation.
3151//
3152// The context must be non-nil and will be used for request cancellation. If
3153// the context is nil a panic will occur. In the future the SDK may create
3154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3155// for more information on using Contexts.
3156func (c *OpsWorks) DescribeRaidArraysWithContext(ctx aws.Context, input *DescribeRaidArraysInput, opts ...request.Option) (*DescribeRaidArraysOutput, error) {
3157	req, out := c.DescribeRaidArraysRequest(input)
3158	req.SetContext(ctx)
3159	req.ApplyOptions(opts...)
3160	return out, req.Send()
3161}
3162
3163const opDescribeRdsDbInstances = "DescribeRdsDbInstances"
3164
3165// DescribeRdsDbInstancesRequest generates a "aws/request.Request" representing the
3166// client's request for the DescribeRdsDbInstances operation. The "output" return
3167// value will be populated with the request's response once the request completes
3168// successfully.
3169//
3170// Use "Send" method on the returned Request to send the API call to the service.
3171// the "output" return value is not valid until after Send returns without error.
3172//
3173// See DescribeRdsDbInstances for more information on using the DescribeRdsDbInstances
3174// API call, and error handling.
3175//
3176// This method is useful when you want to inject custom logic or configuration
3177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3178//
3179//
3180//    // Example sending a request using the DescribeRdsDbInstancesRequest method.
3181//    req, resp := client.DescribeRdsDbInstancesRequest(params)
3182//
3183//    err := req.Send()
3184//    if err == nil { // resp is now filled
3185//        fmt.Println(resp)
3186//    }
3187//
3188// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRdsDbInstances
3189func (c *OpsWorks) DescribeRdsDbInstancesRequest(input *DescribeRdsDbInstancesInput) (req *request.Request, output *DescribeRdsDbInstancesOutput) {
3190	op := &request.Operation{
3191		Name:       opDescribeRdsDbInstances,
3192		HTTPMethod: "POST",
3193		HTTPPath:   "/",
3194	}
3195
3196	if input == nil {
3197		input = &DescribeRdsDbInstancesInput{}
3198	}
3199
3200	output = &DescribeRdsDbInstancesOutput{}
3201	req = c.newRequest(op, input, output)
3202	return
3203}
3204
3205// DescribeRdsDbInstances API operation for AWS OpsWorks.
3206//
3207// Describes Amazon RDS instances.
3208//
3209// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3210// or Manage permissions level for the stack, or an attached policy that explicitly
3211// grants permissions. For more information about user permissions, see Managing
3212// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3213//
3214// This call accepts only one resource-identifying parameter.
3215//
3216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3217// with awserr.Error's Code and Message methods to get detailed information about
3218// the error.
3219//
3220// See the AWS API reference guide for AWS OpsWorks's
3221// API operation DescribeRdsDbInstances for usage and error information.
3222//
3223// Returned Error Codes:
3224//   * ErrCodeValidationException "ValidationException"
3225//   Indicates that a request was not valid.
3226//
3227//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3228//   Indicates that a resource was not found.
3229//
3230// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeRdsDbInstances
3231func (c *OpsWorks) DescribeRdsDbInstances(input *DescribeRdsDbInstancesInput) (*DescribeRdsDbInstancesOutput, error) {
3232	req, out := c.DescribeRdsDbInstancesRequest(input)
3233	return out, req.Send()
3234}
3235
3236// DescribeRdsDbInstancesWithContext is the same as DescribeRdsDbInstances with the addition of
3237// the ability to pass a context and additional request options.
3238//
3239// See DescribeRdsDbInstances for details on how to use this API operation.
3240//
3241// The context must be non-nil and will be used for request cancellation. If
3242// the context is nil a panic will occur. In the future the SDK may create
3243// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3244// for more information on using Contexts.
3245func (c *OpsWorks) DescribeRdsDbInstancesWithContext(ctx aws.Context, input *DescribeRdsDbInstancesInput, opts ...request.Option) (*DescribeRdsDbInstancesOutput, error) {
3246	req, out := c.DescribeRdsDbInstancesRequest(input)
3247	req.SetContext(ctx)
3248	req.ApplyOptions(opts...)
3249	return out, req.Send()
3250}
3251
3252const opDescribeServiceErrors = "DescribeServiceErrors"
3253
3254// DescribeServiceErrorsRequest generates a "aws/request.Request" representing the
3255// client's request for the DescribeServiceErrors operation. The "output" return
3256// value will be populated with the request's response once the request completes
3257// successfully.
3258//
3259// Use "Send" method on the returned Request to send the API call to the service.
3260// the "output" return value is not valid until after Send returns without error.
3261//
3262// See DescribeServiceErrors for more information on using the DescribeServiceErrors
3263// API call, and error handling.
3264//
3265// This method is useful when you want to inject custom logic or configuration
3266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3267//
3268//
3269//    // Example sending a request using the DescribeServiceErrorsRequest method.
3270//    req, resp := client.DescribeServiceErrorsRequest(params)
3271//
3272//    err := req.Send()
3273//    if err == nil { // resp is now filled
3274//        fmt.Println(resp)
3275//    }
3276//
3277// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeServiceErrors
3278func (c *OpsWorks) DescribeServiceErrorsRequest(input *DescribeServiceErrorsInput) (req *request.Request, output *DescribeServiceErrorsOutput) {
3279	op := &request.Operation{
3280		Name:       opDescribeServiceErrors,
3281		HTTPMethod: "POST",
3282		HTTPPath:   "/",
3283	}
3284
3285	if input == nil {
3286		input = &DescribeServiceErrorsInput{}
3287	}
3288
3289	output = &DescribeServiceErrorsOutput{}
3290	req = c.newRequest(op, input, output)
3291	return
3292}
3293
3294// DescribeServiceErrors API operation for AWS OpsWorks.
3295//
3296// Describes AWS OpsWorks Stacks service errors.
3297//
3298// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3299// or Manage permissions level for the stack, or an attached policy that explicitly
3300// grants permissions. For more information about user permissions, see Managing
3301// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3302//
3303// This call accepts only one resource-identifying parameter.
3304//
3305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3306// with awserr.Error's Code and Message methods to get detailed information about
3307// the error.
3308//
3309// See the AWS API reference guide for AWS OpsWorks's
3310// API operation DescribeServiceErrors for usage and error information.
3311//
3312// Returned Error Codes:
3313//   * ErrCodeValidationException "ValidationException"
3314//   Indicates that a request was not valid.
3315//
3316//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3317//   Indicates that a resource was not found.
3318//
3319// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeServiceErrors
3320func (c *OpsWorks) DescribeServiceErrors(input *DescribeServiceErrorsInput) (*DescribeServiceErrorsOutput, error) {
3321	req, out := c.DescribeServiceErrorsRequest(input)
3322	return out, req.Send()
3323}
3324
3325// DescribeServiceErrorsWithContext is the same as DescribeServiceErrors with the addition of
3326// the ability to pass a context and additional request options.
3327//
3328// See DescribeServiceErrors for details on how to use this API operation.
3329//
3330// The context must be non-nil and will be used for request cancellation. If
3331// the context is nil a panic will occur. In the future the SDK may create
3332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3333// for more information on using Contexts.
3334func (c *OpsWorks) DescribeServiceErrorsWithContext(ctx aws.Context, input *DescribeServiceErrorsInput, opts ...request.Option) (*DescribeServiceErrorsOutput, error) {
3335	req, out := c.DescribeServiceErrorsRequest(input)
3336	req.SetContext(ctx)
3337	req.ApplyOptions(opts...)
3338	return out, req.Send()
3339}
3340
3341const opDescribeStackProvisioningParameters = "DescribeStackProvisioningParameters"
3342
3343// DescribeStackProvisioningParametersRequest generates a "aws/request.Request" representing the
3344// client's request for the DescribeStackProvisioningParameters operation. The "output" return
3345// value will be populated with the request's response once the request completes
3346// successfully.
3347//
3348// Use "Send" method on the returned Request to send the API call to the service.
3349// the "output" return value is not valid until after Send returns without error.
3350//
3351// See DescribeStackProvisioningParameters for more information on using the DescribeStackProvisioningParameters
3352// API call, and error handling.
3353//
3354// This method is useful when you want to inject custom logic or configuration
3355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3356//
3357//
3358//    // Example sending a request using the DescribeStackProvisioningParametersRequest method.
3359//    req, resp := client.DescribeStackProvisioningParametersRequest(params)
3360//
3361//    err := req.Send()
3362//    if err == nil { // resp is now filled
3363//        fmt.Println(resp)
3364//    }
3365//
3366// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackProvisioningParameters
3367func (c *OpsWorks) DescribeStackProvisioningParametersRequest(input *DescribeStackProvisioningParametersInput) (req *request.Request, output *DescribeStackProvisioningParametersOutput) {
3368	op := &request.Operation{
3369		Name:       opDescribeStackProvisioningParameters,
3370		HTTPMethod: "POST",
3371		HTTPPath:   "/",
3372	}
3373
3374	if input == nil {
3375		input = &DescribeStackProvisioningParametersInput{}
3376	}
3377
3378	output = &DescribeStackProvisioningParametersOutput{}
3379	req = c.newRequest(op, input, output)
3380	return
3381}
3382
3383// DescribeStackProvisioningParameters API operation for AWS OpsWorks.
3384//
3385// Requests a description of a stack's provisioning parameters.
3386//
3387// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3388// or Manage permissions level for the stack or an attached policy that explicitly
3389// grants permissions. For more information about user permissions, see Managing
3390// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3391//
3392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3393// with awserr.Error's Code and Message methods to get detailed information about
3394// the error.
3395//
3396// See the AWS API reference guide for AWS OpsWorks's
3397// API operation DescribeStackProvisioningParameters for usage and error information.
3398//
3399// Returned Error Codes:
3400//   * ErrCodeValidationException "ValidationException"
3401//   Indicates that a request was not valid.
3402//
3403//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3404//   Indicates that a resource was not found.
3405//
3406// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackProvisioningParameters
3407func (c *OpsWorks) DescribeStackProvisioningParameters(input *DescribeStackProvisioningParametersInput) (*DescribeStackProvisioningParametersOutput, error) {
3408	req, out := c.DescribeStackProvisioningParametersRequest(input)
3409	return out, req.Send()
3410}
3411
3412// DescribeStackProvisioningParametersWithContext is the same as DescribeStackProvisioningParameters with the addition of
3413// the ability to pass a context and additional request options.
3414//
3415// See DescribeStackProvisioningParameters for details on how to use this API operation.
3416//
3417// The context must be non-nil and will be used for request cancellation. If
3418// the context is nil a panic will occur. In the future the SDK may create
3419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3420// for more information on using Contexts.
3421func (c *OpsWorks) DescribeStackProvisioningParametersWithContext(ctx aws.Context, input *DescribeStackProvisioningParametersInput, opts ...request.Option) (*DescribeStackProvisioningParametersOutput, error) {
3422	req, out := c.DescribeStackProvisioningParametersRequest(input)
3423	req.SetContext(ctx)
3424	req.ApplyOptions(opts...)
3425	return out, req.Send()
3426}
3427
3428const opDescribeStackSummary = "DescribeStackSummary"
3429
3430// DescribeStackSummaryRequest generates a "aws/request.Request" representing the
3431// client's request for the DescribeStackSummary operation. The "output" return
3432// value will be populated with the request's response once the request completes
3433// successfully.
3434//
3435// Use "Send" method on the returned Request to send the API call to the service.
3436// the "output" return value is not valid until after Send returns without error.
3437//
3438// See DescribeStackSummary for more information on using the DescribeStackSummary
3439// API call, and error handling.
3440//
3441// This method is useful when you want to inject custom logic or configuration
3442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3443//
3444//
3445//    // Example sending a request using the DescribeStackSummaryRequest method.
3446//    req, resp := client.DescribeStackSummaryRequest(params)
3447//
3448//    err := req.Send()
3449//    if err == nil { // resp is now filled
3450//        fmt.Println(resp)
3451//    }
3452//
3453// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackSummary
3454func (c *OpsWorks) DescribeStackSummaryRequest(input *DescribeStackSummaryInput) (req *request.Request, output *DescribeStackSummaryOutput) {
3455	op := &request.Operation{
3456		Name:       opDescribeStackSummary,
3457		HTTPMethod: "POST",
3458		HTTPPath:   "/",
3459	}
3460
3461	if input == nil {
3462		input = &DescribeStackSummaryInput{}
3463	}
3464
3465	output = &DescribeStackSummaryOutput{}
3466	req = c.newRequest(op, input, output)
3467	return
3468}
3469
3470// DescribeStackSummary API operation for AWS OpsWorks.
3471//
3472// Describes the number of layers and apps in a specified stack, and the number
3473// of instances in each state, such as running_setup or online.
3474//
3475// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3476// or Manage permissions level for the stack, or an attached policy that explicitly
3477// grants permissions. For more information about user permissions, see Managing
3478// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3479//
3480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3481// with awserr.Error's Code and Message methods to get detailed information about
3482// the error.
3483//
3484// See the AWS API reference guide for AWS OpsWorks's
3485// API operation DescribeStackSummary for usage and error information.
3486//
3487// Returned Error Codes:
3488//   * ErrCodeValidationException "ValidationException"
3489//   Indicates that a request was not valid.
3490//
3491//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3492//   Indicates that a resource was not found.
3493//
3494// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStackSummary
3495func (c *OpsWorks) DescribeStackSummary(input *DescribeStackSummaryInput) (*DescribeStackSummaryOutput, error) {
3496	req, out := c.DescribeStackSummaryRequest(input)
3497	return out, req.Send()
3498}
3499
3500// DescribeStackSummaryWithContext is the same as DescribeStackSummary with the addition of
3501// the ability to pass a context and additional request options.
3502//
3503// See DescribeStackSummary for details on how to use this API operation.
3504//
3505// The context must be non-nil and will be used for request cancellation. If
3506// the context is nil a panic will occur. In the future the SDK may create
3507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3508// for more information on using Contexts.
3509func (c *OpsWorks) DescribeStackSummaryWithContext(ctx aws.Context, input *DescribeStackSummaryInput, opts ...request.Option) (*DescribeStackSummaryOutput, error) {
3510	req, out := c.DescribeStackSummaryRequest(input)
3511	req.SetContext(ctx)
3512	req.ApplyOptions(opts...)
3513	return out, req.Send()
3514}
3515
3516const opDescribeStacks = "DescribeStacks"
3517
3518// DescribeStacksRequest generates a "aws/request.Request" representing the
3519// client's request for the DescribeStacks operation. The "output" return
3520// value will be populated with the request's response once the request completes
3521// successfully.
3522//
3523// Use "Send" method on the returned Request to send the API call to the service.
3524// the "output" return value is not valid until after Send returns without error.
3525//
3526// See DescribeStacks for more information on using the DescribeStacks
3527// API call, and error handling.
3528//
3529// This method is useful when you want to inject custom logic or configuration
3530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3531//
3532//
3533//    // Example sending a request using the DescribeStacksRequest method.
3534//    req, resp := client.DescribeStacksRequest(params)
3535//
3536//    err := req.Send()
3537//    if err == nil { // resp is now filled
3538//        fmt.Println(resp)
3539//    }
3540//
3541// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStacks
3542func (c *OpsWorks) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) {
3543	op := &request.Operation{
3544		Name:       opDescribeStacks,
3545		HTTPMethod: "POST",
3546		HTTPPath:   "/",
3547	}
3548
3549	if input == nil {
3550		input = &DescribeStacksInput{}
3551	}
3552
3553	output = &DescribeStacksOutput{}
3554	req = c.newRequest(op, input, output)
3555	return
3556}
3557
3558// DescribeStacks API operation for AWS OpsWorks.
3559//
3560// Requests a description of one or more stacks.
3561//
3562// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3563// or Manage permissions level for the stack, or an attached policy that explicitly
3564// grants permissions. For more information about user permissions, see Managing
3565// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3566//
3567// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3568// with awserr.Error's Code and Message methods to get detailed information about
3569// the error.
3570//
3571// See the AWS API reference guide for AWS OpsWorks's
3572// API operation DescribeStacks for usage and error information.
3573//
3574// Returned Error Codes:
3575//   * ErrCodeValidationException "ValidationException"
3576//   Indicates that a request was not valid.
3577//
3578//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3579//   Indicates that a resource was not found.
3580//
3581// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeStacks
3582func (c *OpsWorks) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) {
3583	req, out := c.DescribeStacksRequest(input)
3584	return out, req.Send()
3585}
3586
3587// DescribeStacksWithContext is the same as DescribeStacks with the addition of
3588// the ability to pass a context and additional request options.
3589//
3590// See DescribeStacks for details on how to use this API operation.
3591//
3592// The context must be non-nil and will be used for request cancellation. If
3593// the context is nil a panic will occur. In the future the SDK may create
3594// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3595// for more information on using Contexts.
3596func (c *OpsWorks) DescribeStacksWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.Option) (*DescribeStacksOutput, error) {
3597	req, out := c.DescribeStacksRequest(input)
3598	req.SetContext(ctx)
3599	req.ApplyOptions(opts...)
3600	return out, req.Send()
3601}
3602
3603const opDescribeTimeBasedAutoScaling = "DescribeTimeBasedAutoScaling"
3604
3605// DescribeTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the
3606// client's request for the DescribeTimeBasedAutoScaling operation. The "output" return
3607// value will be populated with the request's response once the request completes
3608// successfully.
3609//
3610// Use "Send" method on the returned Request to send the API call to the service.
3611// the "output" return value is not valid until after Send returns without error.
3612//
3613// See DescribeTimeBasedAutoScaling for more information on using the DescribeTimeBasedAutoScaling
3614// API call, and error handling.
3615//
3616// This method is useful when you want to inject custom logic or configuration
3617// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3618//
3619//
3620//    // Example sending a request using the DescribeTimeBasedAutoScalingRequest method.
3621//    req, resp := client.DescribeTimeBasedAutoScalingRequest(params)
3622//
3623//    err := req.Send()
3624//    if err == nil { // resp is now filled
3625//        fmt.Println(resp)
3626//    }
3627//
3628// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeTimeBasedAutoScaling
3629func (c *OpsWorks) DescribeTimeBasedAutoScalingRequest(input *DescribeTimeBasedAutoScalingInput) (req *request.Request, output *DescribeTimeBasedAutoScalingOutput) {
3630	op := &request.Operation{
3631		Name:       opDescribeTimeBasedAutoScaling,
3632		HTTPMethod: "POST",
3633		HTTPPath:   "/",
3634	}
3635
3636	if input == nil {
3637		input = &DescribeTimeBasedAutoScalingInput{}
3638	}
3639
3640	output = &DescribeTimeBasedAutoScalingOutput{}
3641	req = c.newRequest(op, input, output)
3642	return
3643}
3644
3645// DescribeTimeBasedAutoScaling API operation for AWS OpsWorks.
3646//
3647// Describes time-based auto scaling configurations for specified instances.
3648//
3649// You must specify at least one of the parameters.
3650//
3651// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3652// or Manage permissions level for the stack, or an attached policy that explicitly
3653// grants permissions. For more information about user permissions, see Managing
3654// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3655//
3656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3657// with awserr.Error's Code and Message methods to get detailed information about
3658// the error.
3659//
3660// See the AWS API reference guide for AWS OpsWorks's
3661// API operation DescribeTimeBasedAutoScaling for usage and error information.
3662//
3663// Returned Error Codes:
3664//   * ErrCodeValidationException "ValidationException"
3665//   Indicates that a request was not valid.
3666//
3667//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3668//   Indicates that a resource was not found.
3669//
3670// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeTimeBasedAutoScaling
3671func (c *OpsWorks) DescribeTimeBasedAutoScaling(input *DescribeTimeBasedAutoScalingInput) (*DescribeTimeBasedAutoScalingOutput, error) {
3672	req, out := c.DescribeTimeBasedAutoScalingRequest(input)
3673	return out, req.Send()
3674}
3675
3676// DescribeTimeBasedAutoScalingWithContext is the same as DescribeTimeBasedAutoScaling with the addition of
3677// the ability to pass a context and additional request options.
3678//
3679// See DescribeTimeBasedAutoScaling for details on how to use this API operation.
3680//
3681// The context must be non-nil and will be used for request cancellation. If
3682// the context is nil a panic will occur. In the future the SDK may create
3683// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3684// for more information on using Contexts.
3685func (c *OpsWorks) DescribeTimeBasedAutoScalingWithContext(ctx aws.Context, input *DescribeTimeBasedAutoScalingInput, opts ...request.Option) (*DescribeTimeBasedAutoScalingOutput, error) {
3686	req, out := c.DescribeTimeBasedAutoScalingRequest(input)
3687	req.SetContext(ctx)
3688	req.ApplyOptions(opts...)
3689	return out, req.Send()
3690}
3691
3692const opDescribeUserProfiles = "DescribeUserProfiles"
3693
3694// DescribeUserProfilesRequest generates a "aws/request.Request" representing the
3695// client's request for the DescribeUserProfiles operation. The "output" return
3696// value will be populated with the request's response once the request completes
3697// successfully.
3698//
3699// Use "Send" method on the returned Request to send the API call to the service.
3700// the "output" return value is not valid until after Send returns without error.
3701//
3702// See DescribeUserProfiles for more information on using the DescribeUserProfiles
3703// API call, and error handling.
3704//
3705// This method is useful when you want to inject custom logic or configuration
3706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3707//
3708//
3709//    // Example sending a request using the DescribeUserProfilesRequest method.
3710//    req, resp := client.DescribeUserProfilesRequest(params)
3711//
3712//    err := req.Send()
3713//    if err == nil { // resp is now filled
3714//        fmt.Println(resp)
3715//    }
3716//
3717// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeUserProfiles
3718func (c *OpsWorks) DescribeUserProfilesRequest(input *DescribeUserProfilesInput) (req *request.Request, output *DescribeUserProfilesOutput) {
3719	op := &request.Operation{
3720		Name:       opDescribeUserProfiles,
3721		HTTPMethod: "POST",
3722		HTTPPath:   "/",
3723	}
3724
3725	if input == nil {
3726		input = &DescribeUserProfilesInput{}
3727	}
3728
3729	output = &DescribeUserProfilesOutput{}
3730	req = c.newRequest(op, input, output)
3731	return
3732}
3733
3734// DescribeUserProfiles API operation for AWS OpsWorks.
3735//
3736// Describe specified users.
3737//
3738// Required Permissions: To use this action, an IAM user must have an attached
3739// policy that explicitly grants permissions. For more information about user
3740// permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3741//
3742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3743// with awserr.Error's Code and Message methods to get detailed information about
3744// the error.
3745//
3746// See the AWS API reference guide for AWS OpsWorks's
3747// API operation DescribeUserProfiles for usage and error information.
3748//
3749// Returned Error Codes:
3750//   * ErrCodeValidationException "ValidationException"
3751//   Indicates that a request was not valid.
3752//
3753//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3754//   Indicates that a resource was not found.
3755//
3756// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeUserProfiles
3757func (c *OpsWorks) DescribeUserProfiles(input *DescribeUserProfilesInput) (*DescribeUserProfilesOutput, error) {
3758	req, out := c.DescribeUserProfilesRequest(input)
3759	return out, req.Send()
3760}
3761
3762// DescribeUserProfilesWithContext is the same as DescribeUserProfiles with the addition of
3763// the ability to pass a context and additional request options.
3764//
3765// See DescribeUserProfiles for details on how to use this API operation.
3766//
3767// The context must be non-nil and will be used for request cancellation. If
3768// the context is nil a panic will occur. In the future the SDK may create
3769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3770// for more information on using Contexts.
3771func (c *OpsWorks) DescribeUserProfilesWithContext(ctx aws.Context, input *DescribeUserProfilesInput, opts ...request.Option) (*DescribeUserProfilesOutput, error) {
3772	req, out := c.DescribeUserProfilesRequest(input)
3773	req.SetContext(ctx)
3774	req.ApplyOptions(opts...)
3775	return out, req.Send()
3776}
3777
3778const opDescribeVolumes = "DescribeVolumes"
3779
3780// DescribeVolumesRequest generates a "aws/request.Request" representing the
3781// client's request for the DescribeVolumes operation. The "output" return
3782// value will be populated with the request's response once the request completes
3783// successfully.
3784//
3785// Use "Send" method on the returned Request to send the API call to the service.
3786// the "output" return value is not valid until after Send returns without error.
3787//
3788// See DescribeVolumes for more information on using the DescribeVolumes
3789// API call, and error handling.
3790//
3791// This method is useful when you want to inject custom logic or configuration
3792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3793//
3794//
3795//    // Example sending a request using the DescribeVolumesRequest method.
3796//    req, resp := client.DescribeVolumesRequest(params)
3797//
3798//    err := req.Send()
3799//    if err == nil { // resp is now filled
3800//        fmt.Println(resp)
3801//    }
3802//
3803// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeVolumes
3804func (c *OpsWorks) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
3805	op := &request.Operation{
3806		Name:       opDescribeVolumes,
3807		HTTPMethod: "POST",
3808		HTTPPath:   "/",
3809	}
3810
3811	if input == nil {
3812		input = &DescribeVolumesInput{}
3813	}
3814
3815	output = &DescribeVolumesOutput{}
3816	req = c.newRequest(op, input, output)
3817	return
3818}
3819
3820// DescribeVolumes API operation for AWS OpsWorks.
3821//
3822// Describes an instance's Amazon EBS volumes.
3823//
3824// This call accepts only one resource-identifying parameter.
3825//
3826// Required Permissions: To use this action, an IAM user must have a Show, Deploy,
3827// or Manage permissions level for the stack, or an attached policy that explicitly
3828// grants permissions. For more information about user permissions, see Managing
3829// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3830//
3831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3832// with awserr.Error's Code and Message methods to get detailed information about
3833// the error.
3834//
3835// See the AWS API reference guide for AWS OpsWorks's
3836// API operation DescribeVolumes for usage and error information.
3837//
3838// Returned Error Codes:
3839//   * ErrCodeValidationException "ValidationException"
3840//   Indicates that a request was not valid.
3841//
3842//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3843//   Indicates that a resource was not found.
3844//
3845// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DescribeVolumes
3846func (c *OpsWorks) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
3847	req, out := c.DescribeVolumesRequest(input)
3848	return out, req.Send()
3849}
3850
3851// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
3852// the ability to pass a context and additional request options.
3853//
3854// See DescribeVolumes for details on how to use this API operation.
3855//
3856// The context must be non-nil and will be used for request cancellation. If
3857// the context is nil a panic will occur. In the future the SDK may create
3858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3859// for more information on using Contexts.
3860func (c *OpsWorks) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
3861	req, out := c.DescribeVolumesRequest(input)
3862	req.SetContext(ctx)
3863	req.ApplyOptions(opts...)
3864	return out, req.Send()
3865}
3866
3867const opDetachElasticLoadBalancer = "DetachElasticLoadBalancer"
3868
3869// DetachElasticLoadBalancerRequest generates a "aws/request.Request" representing the
3870// client's request for the DetachElasticLoadBalancer operation. The "output" return
3871// value will be populated with the request's response once the request completes
3872// successfully.
3873//
3874// Use "Send" method on the returned Request to send the API call to the service.
3875// the "output" return value is not valid until after Send returns without error.
3876//
3877// See DetachElasticLoadBalancer for more information on using the DetachElasticLoadBalancer
3878// API call, and error handling.
3879//
3880// This method is useful when you want to inject custom logic or configuration
3881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3882//
3883//
3884//    // Example sending a request using the DetachElasticLoadBalancerRequest method.
3885//    req, resp := client.DetachElasticLoadBalancerRequest(params)
3886//
3887//    err := req.Send()
3888//    if err == nil { // resp is now filled
3889//        fmt.Println(resp)
3890//    }
3891//
3892// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DetachElasticLoadBalancer
3893func (c *OpsWorks) DetachElasticLoadBalancerRequest(input *DetachElasticLoadBalancerInput) (req *request.Request, output *DetachElasticLoadBalancerOutput) {
3894	op := &request.Operation{
3895		Name:       opDetachElasticLoadBalancer,
3896		HTTPMethod: "POST",
3897		HTTPPath:   "/",
3898	}
3899
3900	if input == nil {
3901		input = &DetachElasticLoadBalancerInput{}
3902	}
3903
3904	output = &DetachElasticLoadBalancerOutput{}
3905	req = c.newRequest(op, input, output)
3906	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3907	return
3908}
3909
3910// DetachElasticLoadBalancer API operation for AWS OpsWorks.
3911//
3912// Detaches a specified Elastic Load Balancing instance from its layer.
3913//
3914// Required Permissions: To use this action, an IAM user must have a Manage
3915// permissions level for the stack, or an attached policy that explicitly grants
3916// permissions. For more information on user permissions, see Managing User
3917// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
3918//
3919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3920// with awserr.Error's Code and Message methods to get detailed information about
3921// the error.
3922//
3923// See the AWS API reference guide for AWS OpsWorks's
3924// API operation DetachElasticLoadBalancer for usage and error information.
3925//
3926// Returned Error Codes:
3927//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3928//   Indicates that a resource was not found.
3929//
3930// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DetachElasticLoadBalancer
3931func (c *OpsWorks) DetachElasticLoadBalancer(input *DetachElasticLoadBalancerInput) (*DetachElasticLoadBalancerOutput, error) {
3932	req, out := c.DetachElasticLoadBalancerRequest(input)
3933	return out, req.Send()
3934}
3935
3936// DetachElasticLoadBalancerWithContext is the same as DetachElasticLoadBalancer with the addition of
3937// the ability to pass a context and additional request options.
3938//
3939// See DetachElasticLoadBalancer for details on how to use this API operation.
3940//
3941// The context must be non-nil and will be used for request cancellation. If
3942// the context is nil a panic will occur. In the future the SDK may create
3943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3944// for more information on using Contexts.
3945func (c *OpsWorks) DetachElasticLoadBalancerWithContext(ctx aws.Context, input *DetachElasticLoadBalancerInput, opts ...request.Option) (*DetachElasticLoadBalancerOutput, error) {
3946	req, out := c.DetachElasticLoadBalancerRequest(input)
3947	req.SetContext(ctx)
3948	req.ApplyOptions(opts...)
3949	return out, req.Send()
3950}
3951
3952const opDisassociateElasticIp = "DisassociateElasticIp"
3953
3954// DisassociateElasticIpRequest generates a "aws/request.Request" representing the
3955// client's request for the DisassociateElasticIp operation. The "output" return
3956// value will be populated with the request's response once the request completes
3957// successfully.
3958//
3959// Use "Send" method on the returned Request to send the API call to the service.
3960// the "output" return value is not valid until after Send returns without error.
3961//
3962// See DisassociateElasticIp for more information on using the DisassociateElasticIp
3963// API call, and error handling.
3964//
3965// This method is useful when you want to inject custom logic or configuration
3966// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3967//
3968//
3969//    // Example sending a request using the DisassociateElasticIpRequest method.
3970//    req, resp := client.DisassociateElasticIpRequest(params)
3971//
3972//    err := req.Send()
3973//    if err == nil { // resp is now filled
3974//        fmt.Println(resp)
3975//    }
3976//
3977// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DisassociateElasticIp
3978func (c *OpsWorks) DisassociateElasticIpRequest(input *DisassociateElasticIpInput) (req *request.Request, output *DisassociateElasticIpOutput) {
3979	op := &request.Operation{
3980		Name:       opDisassociateElasticIp,
3981		HTTPMethod: "POST",
3982		HTTPPath:   "/",
3983	}
3984
3985	if input == nil {
3986		input = &DisassociateElasticIpInput{}
3987	}
3988
3989	output = &DisassociateElasticIpOutput{}
3990	req = c.newRequest(op, input, output)
3991	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3992	return
3993}
3994
3995// DisassociateElasticIp API operation for AWS OpsWorks.
3996//
3997// Disassociates an Elastic IP address from its instance. The address remains
3998// registered with the stack. For more information, see Resource Management
3999// (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
4000//
4001// Required Permissions: To use this action, an IAM user must have a Manage
4002// permissions level for the stack, or an attached policy that explicitly grants
4003// permissions. For more information on user permissions, see Managing User
4004// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4005//
4006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4007// with awserr.Error's Code and Message methods to get detailed information about
4008// the error.
4009//
4010// See the AWS API reference guide for AWS OpsWorks's
4011// API operation DisassociateElasticIp for usage and error information.
4012//
4013// Returned Error Codes:
4014//   * ErrCodeValidationException "ValidationException"
4015//   Indicates that a request was not valid.
4016//
4017//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4018//   Indicates that a resource was not found.
4019//
4020// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DisassociateElasticIp
4021func (c *OpsWorks) DisassociateElasticIp(input *DisassociateElasticIpInput) (*DisassociateElasticIpOutput, error) {
4022	req, out := c.DisassociateElasticIpRequest(input)
4023	return out, req.Send()
4024}
4025
4026// DisassociateElasticIpWithContext is the same as DisassociateElasticIp with the addition of
4027// the ability to pass a context and additional request options.
4028//
4029// See DisassociateElasticIp for details on how to use this API operation.
4030//
4031// The context must be non-nil and will be used for request cancellation. If
4032// the context is nil a panic will occur. In the future the SDK may create
4033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4034// for more information on using Contexts.
4035func (c *OpsWorks) DisassociateElasticIpWithContext(ctx aws.Context, input *DisassociateElasticIpInput, opts ...request.Option) (*DisassociateElasticIpOutput, error) {
4036	req, out := c.DisassociateElasticIpRequest(input)
4037	req.SetContext(ctx)
4038	req.ApplyOptions(opts...)
4039	return out, req.Send()
4040}
4041
4042const opGetHostnameSuggestion = "GetHostnameSuggestion"
4043
4044// GetHostnameSuggestionRequest generates a "aws/request.Request" representing the
4045// client's request for the GetHostnameSuggestion operation. The "output" return
4046// value will be populated with the request's response once the request completes
4047// successfully.
4048//
4049// Use "Send" method on the returned Request to send the API call to the service.
4050// the "output" return value is not valid until after Send returns without error.
4051//
4052// See GetHostnameSuggestion for more information on using the GetHostnameSuggestion
4053// API call, and error handling.
4054//
4055// This method is useful when you want to inject custom logic or configuration
4056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4057//
4058//
4059//    // Example sending a request using the GetHostnameSuggestionRequest method.
4060//    req, resp := client.GetHostnameSuggestionRequest(params)
4061//
4062//    err := req.Send()
4063//    if err == nil { // resp is now filled
4064//        fmt.Println(resp)
4065//    }
4066//
4067// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GetHostnameSuggestion
4068func (c *OpsWorks) GetHostnameSuggestionRequest(input *GetHostnameSuggestionInput) (req *request.Request, output *GetHostnameSuggestionOutput) {
4069	op := &request.Operation{
4070		Name:       opGetHostnameSuggestion,
4071		HTTPMethod: "POST",
4072		HTTPPath:   "/",
4073	}
4074
4075	if input == nil {
4076		input = &GetHostnameSuggestionInput{}
4077	}
4078
4079	output = &GetHostnameSuggestionOutput{}
4080	req = c.newRequest(op, input, output)
4081	return
4082}
4083
4084// GetHostnameSuggestion API operation for AWS OpsWorks.
4085//
4086// Gets a generated host name for the specified layer, based on the current
4087// host name theme.
4088//
4089// Required Permissions: To use this action, an IAM user must have a Manage
4090// permissions level for the stack, or an attached policy that explicitly grants
4091// permissions. For more information on user permissions, see Managing User
4092// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4093//
4094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4095// with awserr.Error's Code and Message methods to get detailed information about
4096// the error.
4097//
4098// See the AWS API reference guide for AWS OpsWorks's
4099// API operation GetHostnameSuggestion for usage and error information.
4100//
4101// Returned Error Codes:
4102//   * ErrCodeValidationException "ValidationException"
4103//   Indicates that a request was not valid.
4104//
4105//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4106//   Indicates that a resource was not found.
4107//
4108// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GetHostnameSuggestion
4109func (c *OpsWorks) GetHostnameSuggestion(input *GetHostnameSuggestionInput) (*GetHostnameSuggestionOutput, error) {
4110	req, out := c.GetHostnameSuggestionRequest(input)
4111	return out, req.Send()
4112}
4113
4114// GetHostnameSuggestionWithContext is the same as GetHostnameSuggestion with the addition of
4115// the ability to pass a context and additional request options.
4116//
4117// See GetHostnameSuggestion for details on how to use this API operation.
4118//
4119// The context must be non-nil and will be used for request cancellation. If
4120// the context is nil a panic will occur. In the future the SDK may create
4121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4122// for more information on using Contexts.
4123func (c *OpsWorks) GetHostnameSuggestionWithContext(ctx aws.Context, input *GetHostnameSuggestionInput, opts ...request.Option) (*GetHostnameSuggestionOutput, error) {
4124	req, out := c.GetHostnameSuggestionRequest(input)
4125	req.SetContext(ctx)
4126	req.ApplyOptions(opts...)
4127	return out, req.Send()
4128}
4129
4130const opGrantAccess = "GrantAccess"
4131
4132// GrantAccessRequest generates a "aws/request.Request" representing the
4133// client's request for the GrantAccess operation. The "output" return
4134// value will be populated with the request's response once the request completes
4135// successfully.
4136//
4137// Use "Send" method on the returned Request to send the API call to the service.
4138// the "output" return value is not valid until after Send returns without error.
4139//
4140// See GrantAccess for more information on using the GrantAccess
4141// API call, and error handling.
4142//
4143// This method is useful when you want to inject custom logic or configuration
4144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4145//
4146//
4147//    // Example sending a request using the GrantAccessRequest method.
4148//    req, resp := client.GrantAccessRequest(params)
4149//
4150//    err := req.Send()
4151//    if err == nil { // resp is now filled
4152//        fmt.Println(resp)
4153//    }
4154//
4155// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GrantAccess
4156func (c *OpsWorks) GrantAccessRequest(input *GrantAccessInput) (req *request.Request, output *GrantAccessOutput) {
4157	op := &request.Operation{
4158		Name:       opGrantAccess,
4159		HTTPMethod: "POST",
4160		HTTPPath:   "/",
4161	}
4162
4163	if input == nil {
4164		input = &GrantAccessInput{}
4165	}
4166
4167	output = &GrantAccessOutput{}
4168	req = c.newRequest(op, input, output)
4169	return
4170}
4171
4172// GrantAccess API operation for AWS OpsWorks.
4173//
4174//
4175// This action can be used only with Windows stacks.
4176//
4177// Grants RDP access to a Windows instance for a specified time period.
4178//
4179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4180// with awserr.Error's Code and Message methods to get detailed information about
4181// the error.
4182//
4183// See the AWS API reference guide for AWS OpsWorks's
4184// API operation GrantAccess for usage and error information.
4185//
4186// Returned Error Codes:
4187//   * ErrCodeValidationException "ValidationException"
4188//   Indicates that a request was not valid.
4189//
4190//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4191//   Indicates that a resource was not found.
4192//
4193// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/GrantAccess
4194func (c *OpsWorks) GrantAccess(input *GrantAccessInput) (*GrantAccessOutput, error) {
4195	req, out := c.GrantAccessRequest(input)
4196	return out, req.Send()
4197}
4198
4199// GrantAccessWithContext is the same as GrantAccess with the addition of
4200// the ability to pass a context and additional request options.
4201//
4202// See GrantAccess for details on how to use this API operation.
4203//
4204// The context must be non-nil and will be used for request cancellation. If
4205// the context is nil a panic will occur. In the future the SDK may create
4206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4207// for more information on using Contexts.
4208func (c *OpsWorks) GrantAccessWithContext(ctx aws.Context, input *GrantAccessInput, opts ...request.Option) (*GrantAccessOutput, error) {
4209	req, out := c.GrantAccessRequest(input)
4210	req.SetContext(ctx)
4211	req.ApplyOptions(opts...)
4212	return out, req.Send()
4213}
4214
4215const opListTags = "ListTags"
4216
4217// ListTagsRequest generates a "aws/request.Request" representing the
4218// client's request for the ListTags operation. The "output" return
4219// value will be populated with the request's response once the request completes
4220// successfully.
4221//
4222// Use "Send" method on the returned Request to send the API call to the service.
4223// the "output" return value is not valid until after Send returns without error.
4224//
4225// See ListTags for more information on using the ListTags
4226// API call, and error handling.
4227//
4228// This method is useful when you want to inject custom logic or configuration
4229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4230//
4231//
4232//    // Example sending a request using the ListTagsRequest method.
4233//    req, resp := client.ListTagsRequest(params)
4234//
4235//    err := req.Send()
4236//    if err == nil { // resp is now filled
4237//        fmt.Println(resp)
4238//    }
4239//
4240// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/ListTags
4241func (c *OpsWorks) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
4242	op := &request.Operation{
4243		Name:       opListTags,
4244		HTTPMethod: "POST",
4245		HTTPPath:   "/",
4246	}
4247
4248	if input == nil {
4249		input = &ListTagsInput{}
4250	}
4251
4252	output = &ListTagsOutput{}
4253	req = c.newRequest(op, input, output)
4254	return
4255}
4256
4257// ListTags API operation for AWS OpsWorks.
4258//
4259// Returns a list of tags that are applied to the specified stack or layer.
4260//
4261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4262// with awserr.Error's Code and Message methods to get detailed information about
4263// the error.
4264//
4265// See the AWS API reference guide for AWS OpsWorks's
4266// API operation ListTags for usage and error information.
4267//
4268// Returned Error Codes:
4269//   * ErrCodeValidationException "ValidationException"
4270//   Indicates that a request was not valid.
4271//
4272//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4273//   Indicates that a resource was not found.
4274//
4275// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/ListTags
4276func (c *OpsWorks) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
4277	req, out := c.ListTagsRequest(input)
4278	return out, req.Send()
4279}
4280
4281// ListTagsWithContext is the same as ListTags with the addition of
4282// the ability to pass a context and additional request options.
4283//
4284// See ListTags for details on how to use this API operation.
4285//
4286// The context must be non-nil and will be used for request cancellation. If
4287// the context is nil a panic will occur. In the future the SDK may create
4288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4289// for more information on using Contexts.
4290func (c *OpsWorks) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
4291	req, out := c.ListTagsRequest(input)
4292	req.SetContext(ctx)
4293	req.ApplyOptions(opts...)
4294	return out, req.Send()
4295}
4296
4297const opRebootInstance = "RebootInstance"
4298
4299// RebootInstanceRequest generates a "aws/request.Request" representing the
4300// client's request for the RebootInstance operation. The "output" return
4301// value will be populated with the request's response once the request completes
4302// successfully.
4303//
4304// Use "Send" method on the returned Request to send the API call to the service.
4305// the "output" return value is not valid until after Send returns without error.
4306//
4307// See RebootInstance for more information on using the RebootInstance
4308// API call, and error handling.
4309//
4310// This method is useful when you want to inject custom logic or configuration
4311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4312//
4313//
4314//    // Example sending a request using the RebootInstanceRequest method.
4315//    req, resp := client.RebootInstanceRequest(params)
4316//
4317//    err := req.Send()
4318//    if err == nil { // resp is now filled
4319//        fmt.Println(resp)
4320//    }
4321//
4322// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RebootInstance
4323func (c *OpsWorks) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
4324	op := &request.Operation{
4325		Name:       opRebootInstance,
4326		HTTPMethod: "POST",
4327		HTTPPath:   "/",
4328	}
4329
4330	if input == nil {
4331		input = &RebootInstanceInput{}
4332	}
4333
4334	output = &RebootInstanceOutput{}
4335	req = c.newRequest(op, input, output)
4336	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4337	return
4338}
4339
4340// RebootInstance API operation for AWS OpsWorks.
4341//
4342// Reboots a specified instance. For more information, see Starting, Stopping,
4343// and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
4344//
4345// Required Permissions: To use this action, an IAM user must have a Manage
4346// permissions level for the stack, or an attached policy that explicitly grants
4347// permissions. For more information on user permissions, see Managing User
4348// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4349//
4350// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4351// with awserr.Error's Code and Message methods to get detailed information about
4352// the error.
4353//
4354// See the AWS API reference guide for AWS OpsWorks's
4355// API operation RebootInstance for usage and error information.
4356//
4357// Returned Error Codes:
4358//   * ErrCodeValidationException "ValidationException"
4359//   Indicates that a request was not valid.
4360//
4361//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4362//   Indicates that a resource was not found.
4363//
4364// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RebootInstance
4365func (c *OpsWorks) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
4366	req, out := c.RebootInstanceRequest(input)
4367	return out, req.Send()
4368}
4369
4370// RebootInstanceWithContext is the same as RebootInstance with the addition of
4371// the ability to pass a context and additional request options.
4372//
4373// See RebootInstance for details on how to use this API operation.
4374//
4375// The context must be non-nil and will be used for request cancellation. If
4376// the context is nil a panic will occur. In the future the SDK may create
4377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4378// for more information on using Contexts.
4379func (c *OpsWorks) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
4380	req, out := c.RebootInstanceRequest(input)
4381	req.SetContext(ctx)
4382	req.ApplyOptions(opts...)
4383	return out, req.Send()
4384}
4385
4386const opRegisterEcsCluster = "RegisterEcsCluster"
4387
4388// RegisterEcsClusterRequest generates a "aws/request.Request" representing the
4389// client's request for the RegisterEcsCluster operation. The "output" return
4390// value will be populated with the request's response once the request completes
4391// successfully.
4392//
4393// Use "Send" method on the returned Request to send the API call to the service.
4394// the "output" return value is not valid until after Send returns without error.
4395//
4396// See RegisterEcsCluster for more information on using the RegisterEcsCluster
4397// API call, and error handling.
4398//
4399// This method is useful when you want to inject custom logic or configuration
4400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4401//
4402//
4403//    // Example sending a request using the RegisterEcsClusterRequest method.
4404//    req, resp := client.RegisterEcsClusterRequest(params)
4405//
4406//    err := req.Send()
4407//    if err == nil { // resp is now filled
4408//        fmt.Println(resp)
4409//    }
4410//
4411// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterEcsCluster
4412func (c *OpsWorks) RegisterEcsClusterRequest(input *RegisterEcsClusterInput) (req *request.Request, output *RegisterEcsClusterOutput) {
4413	op := &request.Operation{
4414		Name:       opRegisterEcsCluster,
4415		HTTPMethod: "POST",
4416		HTTPPath:   "/",
4417	}
4418
4419	if input == nil {
4420		input = &RegisterEcsClusterInput{}
4421	}
4422
4423	output = &RegisterEcsClusterOutput{}
4424	req = c.newRequest(op, input, output)
4425	return
4426}
4427
4428// RegisterEcsCluster API operation for AWS OpsWorks.
4429//
4430// Registers a specified Amazon ECS cluster with a stack. You can register only
4431// one cluster with a stack. A cluster can be registered with only one stack.
4432// For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html).
4433//
4434// Required Permissions: To use this action, an IAM user must have a Manage
4435// permissions level for the stack or an attached policy that explicitly grants
4436// permissions. For more information on user permissions, see Managing User
4437// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4438//
4439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4440// with awserr.Error's Code and Message methods to get detailed information about
4441// the error.
4442//
4443// See the AWS API reference guide for AWS OpsWorks's
4444// API operation RegisterEcsCluster for usage and error information.
4445//
4446// Returned Error Codes:
4447//   * ErrCodeValidationException "ValidationException"
4448//   Indicates that a request was not valid.
4449//
4450//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4451//   Indicates that a resource was not found.
4452//
4453// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterEcsCluster
4454func (c *OpsWorks) RegisterEcsCluster(input *RegisterEcsClusterInput) (*RegisterEcsClusterOutput, error) {
4455	req, out := c.RegisterEcsClusterRequest(input)
4456	return out, req.Send()
4457}
4458
4459// RegisterEcsClusterWithContext is the same as RegisterEcsCluster with the addition of
4460// the ability to pass a context and additional request options.
4461//
4462// See RegisterEcsCluster for details on how to use this API operation.
4463//
4464// The context must be non-nil and will be used for request cancellation. If
4465// the context is nil a panic will occur. In the future the SDK may create
4466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4467// for more information on using Contexts.
4468func (c *OpsWorks) RegisterEcsClusterWithContext(ctx aws.Context, input *RegisterEcsClusterInput, opts ...request.Option) (*RegisterEcsClusterOutput, error) {
4469	req, out := c.RegisterEcsClusterRequest(input)
4470	req.SetContext(ctx)
4471	req.ApplyOptions(opts...)
4472	return out, req.Send()
4473}
4474
4475const opRegisterElasticIp = "RegisterElasticIp"
4476
4477// RegisterElasticIpRequest generates a "aws/request.Request" representing the
4478// client's request for the RegisterElasticIp operation. The "output" return
4479// value will be populated with the request's response once the request completes
4480// successfully.
4481//
4482// Use "Send" method on the returned Request to send the API call to the service.
4483// the "output" return value is not valid until after Send returns without error.
4484//
4485// See RegisterElasticIp for more information on using the RegisterElasticIp
4486// API call, and error handling.
4487//
4488// This method is useful when you want to inject custom logic or configuration
4489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4490//
4491//
4492//    // Example sending a request using the RegisterElasticIpRequest method.
4493//    req, resp := client.RegisterElasticIpRequest(params)
4494//
4495//    err := req.Send()
4496//    if err == nil { // resp is now filled
4497//        fmt.Println(resp)
4498//    }
4499//
4500// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterElasticIp
4501func (c *OpsWorks) RegisterElasticIpRequest(input *RegisterElasticIpInput) (req *request.Request, output *RegisterElasticIpOutput) {
4502	op := &request.Operation{
4503		Name:       opRegisterElasticIp,
4504		HTTPMethod: "POST",
4505		HTTPPath:   "/",
4506	}
4507
4508	if input == nil {
4509		input = &RegisterElasticIpInput{}
4510	}
4511
4512	output = &RegisterElasticIpOutput{}
4513	req = c.newRequest(op, input, output)
4514	return
4515}
4516
4517// RegisterElasticIp API operation for AWS OpsWorks.
4518//
4519// Registers an Elastic IP address with a specified stack. An address can be
4520// registered with only one stack at a time. If the address is already registered,
4521// you must first deregister it by calling DeregisterElasticIp. For more information,
4522// see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
4523//
4524// Required Permissions: To use this action, an IAM user must have a Manage
4525// permissions level for the stack, or an attached policy that explicitly grants
4526// permissions. For more information on user permissions, see Managing User
4527// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4528//
4529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4530// with awserr.Error's Code and Message methods to get detailed information about
4531// the error.
4532//
4533// See the AWS API reference guide for AWS OpsWorks's
4534// API operation RegisterElasticIp for usage and error information.
4535//
4536// Returned Error Codes:
4537//   * ErrCodeValidationException "ValidationException"
4538//   Indicates that a request was not valid.
4539//
4540//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4541//   Indicates that a resource was not found.
4542//
4543// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterElasticIp
4544func (c *OpsWorks) RegisterElasticIp(input *RegisterElasticIpInput) (*RegisterElasticIpOutput, error) {
4545	req, out := c.RegisterElasticIpRequest(input)
4546	return out, req.Send()
4547}
4548
4549// RegisterElasticIpWithContext is the same as RegisterElasticIp with the addition of
4550// the ability to pass a context and additional request options.
4551//
4552// See RegisterElasticIp for details on how to use this API operation.
4553//
4554// The context must be non-nil and will be used for request cancellation. If
4555// the context is nil a panic will occur. In the future the SDK may create
4556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4557// for more information on using Contexts.
4558func (c *OpsWorks) RegisterElasticIpWithContext(ctx aws.Context, input *RegisterElasticIpInput, opts ...request.Option) (*RegisterElasticIpOutput, error) {
4559	req, out := c.RegisterElasticIpRequest(input)
4560	req.SetContext(ctx)
4561	req.ApplyOptions(opts...)
4562	return out, req.Send()
4563}
4564
4565const opRegisterInstance = "RegisterInstance"
4566
4567// RegisterInstanceRequest generates a "aws/request.Request" representing the
4568// client's request for the RegisterInstance operation. The "output" return
4569// value will be populated with the request's response once the request completes
4570// successfully.
4571//
4572// Use "Send" method on the returned Request to send the API call to the service.
4573// the "output" return value is not valid until after Send returns without error.
4574//
4575// See RegisterInstance for more information on using the RegisterInstance
4576// API call, and error handling.
4577//
4578// This method is useful when you want to inject custom logic or configuration
4579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4580//
4581//
4582//    // Example sending a request using the RegisterInstanceRequest method.
4583//    req, resp := client.RegisterInstanceRequest(params)
4584//
4585//    err := req.Send()
4586//    if err == nil { // resp is now filled
4587//        fmt.Println(resp)
4588//    }
4589//
4590// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterInstance
4591func (c *OpsWorks) RegisterInstanceRequest(input *RegisterInstanceInput) (req *request.Request, output *RegisterInstanceOutput) {
4592	op := &request.Operation{
4593		Name:       opRegisterInstance,
4594		HTTPMethod: "POST",
4595		HTTPPath:   "/",
4596	}
4597
4598	if input == nil {
4599		input = &RegisterInstanceInput{}
4600	}
4601
4602	output = &RegisterInstanceOutput{}
4603	req = c.newRequest(op, input, output)
4604	return
4605}
4606
4607// RegisterInstance API operation for AWS OpsWorks.
4608//
4609// Registers instances that were created outside of AWS OpsWorks Stacks with
4610// a specified stack.
4611//
4612// We do not recommend using this action to register instances. The complete
4613// registration operation includes two tasks: installing the AWS OpsWorks Stacks
4614// agent on the instance, and registering the instance with the stack. RegisterInstance
4615// handles only the second step. You should instead use the AWS CLI register
4616// command, which performs the entire registration operation. For more information,
4617// see Registering an Instance with an AWS OpsWorks Stacks Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register.html).
4618//
4619// Registered instances have the same requirements as instances that are created
4620// by using the CreateInstance API. For example, registered instances must be
4621// running a supported Linux-based operating system, and they must have a supported
4622// instance type. For more information about requirements for instances that
4623// you want to register, see Preparing the Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register-registering-preparer.html).
4624//
4625// Required Permissions: To use this action, an IAM user must have a Manage
4626// permissions level for the stack or an attached policy that explicitly grants
4627// permissions. For more information on user permissions, see Managing User
4628// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4629//
4630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4631// with awserr.Error's Code and Message methods to get detailed information about
4632// the error.
4633//
4634// See the AWS API reference guide for AWS OpsWorks's
4635// API operation RegisterInstance for usage and error information.
4636//
4637// Returned Error Codes:
4638//   * ErrCodeValidationException "ValidationException"
4639//   Indicates that a request was not valid.
4640//
4641//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4642//   Indicates that a resource was not found.
4643//
4644// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterInstance
4645func (c *OpsWorks) RegisterInstance(input *RegisterInstanceInput) (*RegisterInstanceOutput, error) {
4646	req, out := c.RegisterInstanceRequest(input)
4647	return out, req.Send()
4648}
4649
4650// RegisterInstanceWithContext is the same as RegisterInstance with the addition of
4651// the ability to pass a context and additional request options.
4652//
4653// See RegisterInstance for details on how to use this API operation.
4654//
4655// The context must be non-nil and will be used for request cancellation. If
4656// the context is nil a panic will occur. In the future the SDK may create
4657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4658// for more information on using Contexts.
4659func (c *OpsWorks) RegisterInstanceWithContext(ctx aws.Context, input *RegisterInstanceInput, opts ...request.Option) (*RegisterInstanceOutput, error) {
4660	req, out := c.RegisterInstanceRequest(input)
4661	req.SetContext(ctx)
4662	req.ApplyOptions(opts...)
4663	return out, req.Send()
4664}
4665
4666const opRegisterRdsDbInstance = "RegisterRdsDbInstance"
4667
4668// RegisterRdsDbInstanceRequest generates a "aws/request.Request" representing the
4669// client's request for the RegisterRdsDbInstance operation. The "output" return
4670// value will be populated with the request's response once the request completes
4671// successfully.
4672//
4673// Use "Send" method on the returned Request to send the API call to the service.
4674// the "output" return value is not valid until after Send returns without error.
4675//
4676// See RegisterRdsDbInstance for more information on using the RegisterRdsDbInstance
4677// API call, and error handling.
4678//
4679// This method is useful when you want to inject custom logic or configuration
4680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4681//
4682//
4683//    // Example sending a request using the RegisterRdsDbInstanceRequest method.
4684//    req, resp := client.RegisterRdsDbInstanceRequest(params)
4685//
4686//    err := req.Send()
4687//    if err == nil { // resp is now filled
4688//        fmt.Println(resp)
4689//    }
4690//
4691// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterRdsDbInstance
4692func (c *OpsWorks) RegisterRdsDbInstanceRequest(input *RegisterRdsDbInstanceInput) (req *request.Request, output *RegisterRdsDbInstanceOutput) {
4693	op := &request.Operation{
4694		Name:       opRegisterRdsDbInstance,
4695		HTTPMethod: "POST",
4696		HTTPPath:   "/",
4697	}
4698
4699	if input == nil {
4700		input = &RegisterRdsDbInstanceInput{}
4701	}
4702
4703	output = &RegisterRdsDbInstanceOutput{}
4704	req = c.newRequest(op, input, output)
4705	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4706	return
4707}
4708
4709// RegisterRdsDbInstance API operation for AWS OpsWorks.
4710//
4711// Registers an Amazon RDS instance with a stack.
4712//
4713// Required Permissions: To use this action, an IAM user must have a Manage
4714// permissions level for the stack, or an attached policy that explicitly grants
4715// permissions. For more information on user permissions, see Managing User
4716// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4717//
4718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4719// with awserr.Error's Code and Message methods to get detailed information about
4720// the error.
4721//
4722// See the AWS API reference guide for AWS OpsWorks's
4723// API operation RegisterRdsDbInstance for usage and error information.
4724//
4725// Returned Error Codes:
4726//   * ErrCodeValidationException "ValidationException"
4727//   Indicates that a request was not valid.
4728//
4729//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4730//   Indicates that a resource was not found.
4731//
4732// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterRdsDbInstance
4733func (c *OpsWorks) RegisterRdsDbInstance(input *RegisterRdsDbInstanceInput) (*RegisterRdsDbInstanceOutput, error) {
4734	req, out := c.RegisterRdsDbInstanceRequest(input)
4735	return out, req.Send()
4736}
4737
4738// RegisterRdsDbInstanceWithContext is the same as RegisterRdsDbInstance with the addition of
4739// the ability to pass a context and additional request options.
4740//
4741// See RegisterRdsDbInstance for details on how to use this API operation.
4742//
4743// The context must be non-nil and will be used for request cancellation. If
4744// the context is nil a panic will occur. In the future the SDK may create
4745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4746// for more information on using Contexts.
4747func (c *OpsWorks) RegisterRdsDbInstanceWithContext(ctx aws.Context, input *RegisterRdsDbInstanceInput, opts ...request.Option) (*RegisterRdsDbInstanceOutput, error) {
4748	req, out := c.RegisterRdsDbInstanceRequest(input)
4749	req.SetContext(ctx)
4750	req.ApplyOptions(opts...)
4751	return out, req.Send()
4752}
4753
4754const opRegisterVolume = "RegisterVolume"
4755
4756// RegisterVolumeRequest generates a "aws/request.Request" representing the
4757// client's request for the RegisterVolume operation. The "output" return
4758// value will be populated with the request's response once the request completes
4759// successfully.
4760//
4761// Use "Send" method on the returned Request to send the API call to the service.
4762// the "output" return value is not valid until after Send returns without error.
4763//
4764// See RegisterVolume for more information on using the RegisterVolume
4765// API call, and error handling.
4766//
4767// This method is useful when you want to inject custom logic or configuration
4768// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4769//
4770//
4771//    // Example sending a request using the RegisterVolumeRequest method.
4772//    req, resp := client.RegisterVolumeRequest(params)
4773//
4774//    err := req.Send()
4775//    if err == nil { // resp is now filled
4776//        fmt.Println(resp)
4777//    }
4778//
4779// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterVolume
4780func (c *OpsWorks) RegisterVolumeRequest(input *RegisterVolumeInput) (req *request.Request, output *RegisterVolumeOutput) {
4781	op := &request.Operation{
4782		Name:       opRegisterVolume,
4783		HTTPMethod: "POST",
4784		HTTPPath:   "/",
4785	}
4786
4787	if input == nil {
4788		input = &RegisterVolumeInput{}
4789	}
4790
4791	output = &RegisterVolumeOutput{}
4792	req = c.newRequest(op, input, output)
4793	return
4794}
4795
4796// RegisterVolume API operation for AWS OpsWorks.
4797//
4798// Registers an Amazon EBS volume with a specified stack. A volume can be registered
4799// with only one stack at a time. If the volume is already registered, you must
4800// first deregister it by calling DeregisterVolume. For more information, see
4801// Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
4802//
4803// Required Permissions: To use this action, an IAM user must have a Manage
4804// permissions level for the stack, or an attached policy that explicitly grants
4805// permissions. For more information on user permissions, see Managing User
4806// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4807//
4808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4809// with awserr.Error's Code and Message methods to get detailed information about
4810// the error.
4811//
4812// See the AWS API reference guide for AWS OpsWorks's
4813// API operation RegisterVolume for usage and error information.
4814//
4815// Returned Error Codes:
4816//   * ErrCodeValidationException "ValidationException"
4817//   Indicates that a request was not valid.
4818//
4819//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4820//   Indicates that a resource was not found.
4821//
4822// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/RegisterVolume
4823func (c *OpsWorks) RegisterVolume(input *RegisterVolumeInput) (*RegisterVolumeOutput, error) {
4824	req, out := c.RegisterVolumeRequest(input)
4825	return out, req.Send()
4826}
4827
4828// RegisterVolumeWithContext is the same as RegisterVolume with the addition of
4829// the ability to pass a context and additional request options.
4830//
4831// See RegisterVolume for details on how to use this API operation.
4832//
4833// The context must be non-nil and will be used for request cancellation. If
4834// the context is nil a panic will occur. In the future the SDK may create
4835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4836// for more information on using Contexts.
4837func (c *OpsWorks) RegisterVolumeWithContext(ctx aws.Context, input *RegisterVolumeInput, opts ...request.Option) (*RegisterVolumeOutput, error) {
4838	req, out := c.RegisterVolumeRequest(input)
4839	req.SetContext(ctx)
4840	req.ApplyOptions(opts...)
4841	return out, req.Send()
4842}
4843
4844const opSetLoadBasedAutoScaling = "SetLoadBasedAutoScaling"
4845
4846// SetLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the
4847// client's request for the SetLoadBasedAutoScaling operation. The "output" return
4848// value will be populated with the request's response once the request completes
4849// successfully.
4850//
4851// Use "Send" method on the returned Request to send the API call to the service.
4852// the "output" return value is not valid until after Send returns without error.
4853//
4854// See SetLoadBasedAutoScaling for more information on using the SetLoadBasedAutoScaling
4855// API call, and error handling.
4856//
4857// This method is useful when you want to inject custom logic or configuration
4858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4859//
4860//
4861//    // Example sending a request using the SetLoadBasedAutoScalingRequest method.
4862//    req, resp := client.SetLoadBasedAutoScalingRequest(params)
4863//
4864//    err := req.Send()
4865//    if err == nil { // resp is now filled
4866//        fmt.Println(resp)
4867//    }
4868//
4869// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetLoadBasedAutoScaling
4870func (c *OpsWorks) SetLoadBasedAutoScalingRequest(input *SetLoadBasedAutoScalingInput) (req *request.Request, output *SetLoadBasedAutoScalingOutput) {
4871	op := &request.Operation{
4872		Name:       opSetLoadBasedAutoScaling,
4873		HTTPMethod: "POST",
4874		HTTPPath:   "/",
4875	}
4876
4877	if input == nil {
4878		input = &SetLoadBasedAutoScalingInput{}
4879	}
4880
4881	output = &SetLoadBasedAutoScalingOutput{}
4882	req = c.newRequest(op, input, output)
4883	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4884	return
4885}
4886
4887// SetLoadBasedAutoScaling API operation for AWS OpsWorks.
4888//
4889// Specify the load-based auto scaling configuration for a specified layer.
4890// For more information, see Managing Load with Time-based and Load-based Instances
4891// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html).
4892//
4893// To use load-based auto scaling, you must create a set of load-based auto
4894// scaling instances. Load-based auto scaling operates only on the instances
4895// from that set, so you must ensure that you have created enough instances
4896// to handle the maximum anticipated load.
4897//
4898// Required Permissions: To use this action, an IAM user must have a Manage
4899// permissions level for the stack, or an attached policy that explicitly grants
4900// permissions. For more information on user permissions, see Managing User
4901// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4902//
4903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4904// with awserr.Error's Code and Message methods to get detailed information about
4905// the error.
4906//
4907// See the AWS API reference guide for AWS OpsWorks's
4908// API operation SetLoadBasedAutoScaling for usage and error information.
4909//
4910// Returned Error Codes:
4911//   * ErrCodeValidationException "ValidationException"
4912//   Indicates that a request was not valid.
4913//
4914//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4915//   Indicates that a resource was not found.
4916//
4917// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetLoadBasedAutoScaling
4918func (c *OpsWorks) SetLoadBasedAutoScaling(input *SetLoadBasedAutoScalingInput) (*SetLoadBasedAutoScalingOutput, error) {
4919	req, out := c.SetLoadBasedAutoScalingRequest(input)
4920	return out, req.Send()
4921}
4922
4923// SetLoadBasedAutoScalingWithContext is the same as SetLoadBasedAutoScaling with the addition of
4924// the ability to pass a context and additional request options.
4925//
4926// See SetLoadBasedAutoScaling for details on how to use this API operation.
4927//
4928// The context must be non-nil and will be used for request cancellation. If
4929// the context is nil a panic will occur. In the future the SDK may create
4930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4931// for more information on using Contexts.
4932func (c *OpsWorks) SetLoadBasedAutoScalingWithContext(ctx aws.Context, input *SetLoadBasedAutoScalingInput, opts ...request.Option) (*SetLoadBasedAutoScalingOutput, error) {
4933	req, out := c.SetLoadBasedAutoScalingRequest(input)
4934	req.SetContext(ctx)
4935	req.ApplyOptions(opts...)
4936	return out, req.Send()
4937}
4938
4939const opSetPermission = "SetPermission"
4940
4941// SetPermissionRequest generates a "aws/request.Request" representing the
4942// client's request for the SetPermission operation. The "output" return
4943// value will be populated with the request's response once the request completes
4944// successfully.
4945//
4946// Use "Send" method on the returned Request to send the API call to the service.
4947// the "output" return value is not valid until after Send returns without error.
4948//
4949// See SetPermission for more information on using the SetPermission
4950// API call, and error handling.
4951//
4952// This method is useful when you want to inject custom logic or configuration
4953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4954//
4955//
4956//    // Example sending a request using the SetPermissionRequest method.
4957//    req, resp := client.SetPermissionRequest(params)
4958//
4959//    err := req.Send()
4960//    if err == nil { // resp is now filled
4961//        fmt.Println(resp)
4962//    }
4963//
4964// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetPermission
4965func (c *OpsWorks) SetPermissionRequest(input *SetPermissionInput) (req *request.Request, output *SetPermissionOutput) {
4966	op := &request.Operation{
4967		Name:       opSetPermission,
4968		HTTPMethod: "POST",
4969		HTTPPath:   "/",
4970	}
4971
4972	if input == nil {
4973		input = &SetPermissionInput{}
4974	}
4975
4976	output = &SetPermissionOutput{}
4977	req = c.newRequest(op, input, output)
4978	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4979	return
4980}
4981
4982// SetPermission API operation for AWS OpsWorks.
4983//
4984// Specifies a user's permissions. For more information, see Security and Permissions
4985// (https://docs.aws.amazon.com/opsworks/latest/userguide/workingsecurity.html).
4986//
4987// Required Permissions: To use this action, an IAM user must have a Manage
4988// permissions level for the stack, or an attached policy that explicitly grants
4989// permissions. For more information on user permissions, see Managing User
4990// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
4991//
4992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4993// with awserr.Error's Code and Message methods to get detailed information about
4994// the error.
4995//
4996// See the AWS API reference guide for AWS OpsWorks's
4997// API operation SetPermission for usage and error information.
4998//
4999// Returned Error Codes:
5000//   * ErrCodeValidationException "ValidationException"
5001//   Indicates that a request was not valid.
5002//
5003//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5004//   Indicates that a resource was not found.
5005//
5006// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetPermission
5007func (c *OpsWorks) SetPermission(input *SetPermissionInput) (*SetPermissionOutput, error) {
5008	req, out := c.SetPermissionRequest(input)
5009	return out, req.Send()
5010}
5011
5012// SetPermissionWithContext is the same as SetPermission with the addition of
5013// the ability to pass a context and additional request options.
5014//
5015// See SetPermission for details on how to use this API operation.
5016//
5017// The context must be non-nil and will be used for request cancellation. If
5018// the context is nil a panic will occur. In the future the SDK may create
5019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5020// for more information on using Contexts.
5021func (c *OpsWorks) SetPermissionWithContext(ctx aws.Context, input *SetPermissionInput, opts ...request.Option) (*SetPermissionOutput, error) {
5022	req, out := c.SetPermissionRequest(input)
5023	req.SetContext(ctx)
5024	req.ApplyOptions(opts...)
5025	return out, req.Send()
5026}
5027
5028const opSetTimeBasedAutoScaling = "SetTimeBasedAutoScaling"
5029
5030// SetTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the
5031// client's request for the SetTimeBasedAutoScaling operation. The "output" return
5032// value will be populated with the request's response once the request completes
5033// successfully.
5034//
5035// Use "Send" method on the returned Request to send the API call to the service.
5036// the "output" return value is not valid until after Send returns without error.
5037//
5038// See SetTimeBasedAutoScaling for more information on using the SetTimeBasedAutoScaling
5039// API call, and error handling.
5040//
5041// This method is useful when you want to inject custom logic or configuration
5042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5043//
5044//
5045//    // Example sending a request using the SetTimeBasedAutoScalingRequest method.
5046//    req, resp := client.SetTimeBasedAutoScalingRequest(params)
5047//
5048//    err := req.Send()
5049//    if err == nil { // resp is now filled
5050//        fmt.Println(resp)
5051//    }
5052//
5053// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetTimeBasedAutoScaling
5054func (c *OpsWorks) SetTimeBasedAutoScalingRequest(input *SetTimeBasedAutoScalingInput) (req *request.Request, output *SetTimeBasedAutoScalingOutput) {
5055	op := &request.Operation{
5056		Name:       opSetTimeBasedAutoScaling,
5057		HTTPMethod: "POST",
5058		HTTPPath:   "/",
5059	}
5060
5061	if input == nil {
5062		input = &SetTimeBasedAutoScalingInput{}
5063	}
5064
5065	output = &SetTimeBasedAutoScalingOutput{}
5066	req = c.newRequest(op, input, output)
5067	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5068	return
5069}
5070
5071// SetTimeBasedAutoScaling API operation for AWS OpsWorks.
5072//
5073// Specify the time-based auto scaling configuration for a specified instance.
5074// For more information, see Managing Load with Time-based and Load-based Instances
5075// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html).
5076//
5077// Required Permissions: To use this action, an IAM user must have a Manage
5078// permissions level for the stack, or an attached policy that explicitly grants
5079// permissions. For more information on user permissions, see Managing User
5080// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5081//
5082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5083// with awserr.Error's Code and Message methods to get detailed information about
5084// the error.
5085//
5086// See the AWS API reference guide for AWS OpsWorks's
5087// API operation SetTimeBasedAutoScaling for usage and error information.
5088//
5089// Returned Error Codes:
5090//   * ErrCodeValidationException "ValidationException"
5091//   Indicates that a request was not valid.
5092//
5093//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5094//   Indicates that a resource was not found.
5095//
5096// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/SetTimeBasedAutoScaling
5097func (c *OpsWorks) SetTimeBasedAutoScaling(input *SetTimeBasedAutoScalingInput) (*SetTimeBasedAutoScalingOutput, error) {
5098	req, out := c.SetTimeBasedAutoScalingRequest(input)
5099	return out, req.Send()
5100}
5101
5102// SetTimeBasedAutoScalingWithContext is the same as SetTimeBasedAutoScaling with the addition of
5103// the ability to pass a context and additional request options.
5104//
5105// See SetTimeBasedAutoScaling for details on how to use this API operation.
5106//
5107// The context must be non-nil and will be used for request cancellation. If
5108// the context is nil a panic will occur. In the future the SDK may create
5109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5110// for more information on using Contexts.
5111func (c *OpsWorks) SetTimeBasedAutoScalingWithContext(ctx aws.Context, input *SetTimeBasedAutoScalingInput, opts ...request.Option) (*SetTimeBasedAutoScalingOutput, error) {
5112	req, out := c.SetTimeBasedAutoScalingRequest(input)
5113	req.SetContext(ctx)
5114	req.ApplyOptions(opts...)
5115	return out, req.Send()
5116}
5117
5118const opStartInstance = "StartInstance"
5119
5120// StartInstanceRequest generates a "aws/request.Request" representing the
5121// client's request for the StartInstance operation. The "output" return
5122// value will be populated with the request's response once the request completes
5123// successfully.
5124//
5125// Use "Send" method on the returned Request to send the API call to the service.
5126// the "output" return value is not valid until after Send returns without error.
5127//
5128// See StartInstance for more information on using the StartInstance
5129// API call, and error handling.
5130//
5131// This method is useful when you want to inject custom logic or configuration
5132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5133//
5134//
5135//    // Example sending a request using the StartInstanceRequest method.
5136//    req, resp := client.StartInstanceRequest(params)
5137//
5138//    err := req.Send()
5139//    if err == nil { // resp is now filled
5140//        fmt.Println(resp)
5141//    }
5142//
5143// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartInstance
5144func (c *OpsWorks) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
5145	op := &request.Operation{
5146		Name:       opStartInstance,
5147		HTTPMethod: "POST",
5148		HTTPPath:   "/",
5149	}
5150
5151	if input == nil {
5152		input = &StartInstanceInput{}
5153	}
5154
5155	output = &StartInstanceOutput{}
5156	req = c.newRequest(op, input, output)
5157	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5158	return
5159}
5160
5161// StartInstance API operation for AWS OpsWorks.
5162//
5163// Starts a specified instance. For more information, see Starting, Stopping,
5164// and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
5165//
5166// Required Permissions: To use this action, an IAM user must have a Manage
5167// permissions level for the stack, or an attached policy that explicitly grants
5168// permissions. For more information on user permissions, see Managing User
5169// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5170//
5171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5172// with awserr.Error's Code and Message methods to get detailed information about
5173// the error.
5174//
5175// See the AWS API reference guide for AWS OpsWorks's
5176// API operation StartInstance for usage and error information.
5177//
5178// Returned Error Codes:
5179//   * ErrCodeValidationException "ValidationException"
5180//   Indicates that a request was not valid.
5181//
5182//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5183//   Indicates that a resource was not found.
5184//
5185// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartInstance
5186func (c *OpsWorks) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
5187	req, out := c.StartInstanceRequest(input)
5188	return out, req.Send()
5189}
5190
5191// StartInstanceWithContext is the same as StartInstance with the addition of
5192// the ability to pass a context and additional request options.
5193//
5194// See StartInstance for details on how to use this API operation.
5195//
5196// The context must be non-nil and will be used for request cancellation. If
5197// the context is nil a panic will occur. In the future the SDK may create
5198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5199// for more information on using Contexts.
5200func (c *OpsWorks) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
5201	req, out := c.StartInstanceRequest(input)
5202	req.SetContext(ctx)
5203	req.ApplyOptions(opts...)
5204	return out, req.Send()
5205}
5206
5207const opStartStack = "StartStack"
5208
5209// StartStackRequest generates a "aws/request.Request" representing the
5210// client's request for the StartStack operation. The "output" return
5211// value will be populated with the request's response once the request completes
5212// successfully.
5213//
5214// Use "Send" method on the returned Request to send the API call to the service.
5215// the "output" return value is not valid until after Send returns without error.
5216//
5217// See StartStack for more information on using the StartStack
5218// API call, and error handling.
5219//
5220// This method is useful when you want to inject custom logic or configuration
5221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5222//
5223//
5224//    // Example sending a request using the StartStackRequest method.
5225//    req, resp := client.StartStackRequest(params)
5226//
5227//    err := req.Send()
5228//    if err == nil { // resp is now filled
5229//        fmt.Println(resp)
5230//    }
5231//
5232// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartStack
5233func (c *OpsWorks) StartStackRequest(input *StartStackInput) (req *request.Request, output *StartStackOutput) {
5234	op := &request.Operation{
5235		Name:       opStartStack,
5236		HTTPMethod: "POST",
5237		HTTPPath:   "/",
5238	}
5239
5240	if input == nil {
5241		input = &StartStackInput{}
5242	}
5243
5244	output = &StartStackOutput{}
5245	req = c.newRequest(op, input, output)
5246	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5247	return
5248}
5249
5250// StartStack API operation for AWS OpsWorks.
5251//
5252// Starts a stack's instances.
5253//
5254// Required Permissions: To use this action, an IAM user must have a Manage
5255// permissions level for the stack, or an attached policy that explicitly grants
5256// permissions. For more information on user permissions, see Managing User
5257// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5258//
5259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5260// with awserr.Error's Code and Message methods to get detailed information about
5261// the error.
5262//
5263// See the AWS API reference guide for AWS OpsWorks's
5264// API operation StartStack for usage and error information.
5265//
5266// Returned Error Codes:
5267//   * ErrCodeValidationException "ValidationException"
5268//   Indicates that a request was not valid.
5269//
5270//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5271//   Indicates that a resource was not found.
5272//
5273// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StartStack
5274func (c *OpsWorks) StartStack(input *StartStackInput) (*StartStackOutput, error) {
5275	req, out := c.StartStackRequest(input)
5276	return out, req.Send()
5277}
5278
5279// StartStackWithContext is the same as StartStack with the addition of
5280// the ability to pass a context and additional request options.
5281//
5282// See StartStack for details on how to use this API operation.
5283//
5284// The context must be non-nil and will be used for request cancellation. If
5285// the context is nil a panic will occur. In the future the SDK may create
5286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5287// for more information on using Contexts.
5288func (c *OpsWorks) StartStackWithContext(ctx aws.Context, input *StartStackInput, opts ...request.Option) (*StartStackOutput, error) {
5289	req, out := c.StartStackRequest(input)
5290	req.SetContext(ctx)
5291	req.ApplyOptions(opts...)
5292	return out, req.Send()
5293}
5294
5295const opStopInstance = "StopInstance"
5296
5297// StopInstanceRequest generates a "aws/request.Request" representing the
5298// client's request for the StopInstance operation. The "output" return
5299// value will be populated with the request's response once the request completes
5300// successfully.
5301//
5302// Use "Send" method on the returned Request to send the API call to the service.
5303// the "output" return value is not valid until after Send returns without error.
5304//
5305// See StopInstance for more information on using the StopInstance
5306// API call, and error handling.
5307//
5308// This method is useful when you want to inject custom logic or configuration
5309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5310//
5311//
5312//    // Example sending a request using the StopInstanceRequest method.
5313//    req, resp := client.StopInstanceRequest(params)
5314//
5315//    err := req.Send()
5316//    if err == nil { // resp is now filled
5317//        fmt.Println(resp)
5318//    }
5319//
5320// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopInstance
5321func (c *OpsWorks) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
5322	op := &request.Operation{
5323		Name:       opStopInstance,
5324		HTTPMethod: "POST",
5325		HTTPPath:   "/",
5326	}
5327
5328	if input == nil {
5329		input = &StopInstanceInput{}
5330	}
5331
5332	output = &StopInstanceOutput{}
5333	req = c.newRequest(op, input, output)
5334	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5335	return
5336}
5337
5338// StopInstance API operation for AWS OpsWorks.
5339//
5340// Stops a specified instance. When you stop a standard instance, the data disappears
5341// and must be reinstalled when you restart the instance. You can stop an Amazon
5342// EBS-backed instance without losing data. For more information, see Starting,
5343// Stopping, and Rebooting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html).
5344//
5345// Required Permissions: To use this action, an IAM user must have a Manage
5346// permissions level for the stack, or an attached policy that explicitly grants
5347// permissions. For more information on user permissions, see Managing User
5348// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5349//
5350// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5351// with awserr.Error's Code and Message methods to get detailed information about
5352// the error.
5353//
5354// See the AWS API reference guide for AWS OpsWorks's
5355// API operation StopInstance for usage and error information.
5356//
5357// Returned Error Codes:
5358//   * ErrCodeValidationException "ValidationException"
5359//   Indicates that a request was not valid.
5360//
5361//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5362//   Indicates that a resource was not found.
5363//
5364// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopInstance
5365func (c *OpsWorks) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
5366	req, out := c.StopInstanceRequest(input)
5367	return out, req.Send()
5368}
5369
5370// StopInstanceWithContext is the same as StopInstance with the addition of
5371// the ability to pass a context and additional request options.
5372//
5373// See StopInstance for details on how to use this API operation.
5374//
5375// The context must be non-nil and will be used for request cancellation. If
5376// the context is nil a panic will occur. In the future the SDK may create
5377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5378// for more information on using Contexts.
5379func (c *OpsWorks) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
5380	req, out := c.StopInstanceRequest(input)
5381	req.SetContext(ctx)
5382	req.ApplyOptions(opts...)
5383	return out, req.Send()
5384}
5385
5386const opStopStack = "StopStack"
5387
5388// StopStackRequest generates a "aws/request.Request" representing the
5389// client's request for the StopStack operation. The "output" return
5390// value will be populated with the request's response once the request completes
5391// successfully.
5392//
5393// Use "Send" method on the returned Request to send the API call to the service.
5394// the "output" return value is not valid until after Send returns without error.
5395//
5396// See StopStack for more information on using the StopStack
5397// API call, and error handling.
5398//
5399// This method is useful when you want to inject custom logic or configuration
5400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5401//
5402//
5403//    // Example sending a request using the StopStackRequest method.
5404//    req, resp := client.StopStackRequest(params)
5405//
5406//    err := req.Send()
5407//    if err == nil { // resp is now filled
5408//        fmt.Println(resp)
5409//    }
5410//
5411// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopStack
5412func (c *OpsWorks) StopStackRequest(input *StopStackInput) (req *request.Request, output *StopStackOutput) {
5413	op := &request.Operation{
5414		Name:       opStopStack,
5415		HTTPMethod: "POST",
5416		HTTPPath:   "/",
5417	}
5418
5419	if input == nil {
5420		input = &StopStackInput{}
5421	}
5422
5423	output = &StopStackOutput{}
5424	req = c.newRequest(op, input, output)
5425	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5426	return
5427}
5428
5429// StopStack API operation for AWS OpsWorks.
5430//
5431// Stops a specified stack.
5432//
5433// Required Permissions: To use this action, an IAM user must have a Manage
5434// permissions level for the stack, or an attached policy that explicitly grants
5435// permissions. For more information on user permissions, see Managing User
5436// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5437//
5438// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5439// with awserr.Error's Code and Message methods to get detailed information about
5440// the error.
5441//
5442// See the AWS API reference guide for AWS OpsWorks's
5443// API operation StopStack for usage and error information.
5444//
5445// Returned Error Codes:
5446//   * ErrCodeValidationException "ValidationException"
5447//   Indicates that a request was not valid.
5448//
5449//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5450//   Indicates that a resource was not found.
5451//
5452// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/StopStack
5453func (c *OpsWorks) StopStack(input *StopStackInput) (*StopStackOutput, error) {
5454	req, out := c.StopStackRequest(input)
5455	return out, req.Send()
5456}
5457
5458// StopStackWithContext is the same as StopStack with the addition of
5459// the ability to pass a context and additional request options.
5460//
5461// See StopStack for details on how to use this API operation.
5462//
5463// The context must be non-nil and will be used for request cancellation. If
5464// the context is nil a panic will occur. In the future the SDK may create
5465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5466// for more information on using Contexts.
5467func (c *OpsWorks) StopStackWithContext(ctx aws.Context, input *StopStackInput, opts ...request.Option) (*StopStackOutput, error) {
5468	req, out := c.StopStackRequest(input)
5469	req.SetContext(ctx)
5470	req.ApplyOptions(opts...)
5471	return out, req.Send()
5472}
5473
5474const opTagResource = "TagResource"
5475
5476// TagResourceRequest generates a "aws/request.Request" representing the
5477// client's request for the TagResource operation. The "output" return
5478// value will be populated with the request's response once the request completes
5479// successfully.
5480//
5481// Use "Send" method on the returned Request to send the API call to the service.
5482// the "output" return value is not valid until after Send returns without error.
5483//
5484// See TagResource for more information on using the TagResource
5485// API call, and error handling.
5486//
5487// This method is useful when you want to inject custom logic or configuration
5488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5489//
5490//
5491//    // Example sending a request using the TagResourceRequest method.
5492//    req, resp := client.TagResourceRequest(params)
5493//
5494//    err := req.Send()
5495//    if err == nil { // resp is now filled
5496//        fmt.Println(resp)
5497//    }
5498//
5499// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/TagResource
5500func (c *OpsWorks) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5501	op := &request.Operation{
5502		Name:       opTagResource,
5503		HTTPMethod: "POST",
5504		HTTPPath:   "/",
5505	}
5506
5507	if input == nil {
5508		input = &TagResourceInput{}
5509	}
5510
5511	output = &TagResourceOutput{}
5512	req = c.newRequest(op, input, output)
5513	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5514	return
5515}
5516
5517// TagResource API operation for AWS OpsWorks.
5518//
5519// Apply cost-allocation tags to a specified stack or layer in AWS OpsWorks
5520// Stacks. For more information about how tagging works, see Tags (https://docs.aws.amazon.com/opsworks/latest/userguide/tagging.html)
5521// in the AWS OpsWorks User Guide.
5522//
5523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5524// with awserr.Error's Code and Message methods to get detailed information about
5525// the error.
5526//
5527// See the AWS API reference guide for AWS OpsWorks's
5528// API operation TagResource for usage and error information.
5529//
5530// Returned Error Codes:
5531//   * ErrCodeValidationException "ValidationException"
5532//   Indicates that a request was not valid.
5533//
5534//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5535//   Indicates that a resource was not found.
5536//
5537// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/TagResource
5538func (c *OpsWorks) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5539	req, out := c.TagResourceRequest(input)
5540	return out, req.Send()
5541}
5542
5543// TagResourceWithContext is the same as TagResource with the addition of
5544// the ability to pass a context and additional request options.
5545//
5546// See TagResource for details on how to use this API operation.
5547//
5548// The context must be non-nil and will be used for request cancellation. If
5549// the context is nil a panic will occur. In the future the SDK may create
5550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5551// for more information on using Contexts.
5552func (c *OpsWorks) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5553	req, out := c.TagResourceRequest(input)
5554	req.SetContext(ctx)
5555	req.ApplyOptions(opts...)
5556	return out, req.Send()
5557}
5558
5559const opUnassignInstance = "UnassignInstance"
5560
5561// UnassignInstanceRequest generates a "aws/request.Request" representing the
5562// client's request for the UnassignInstance operation. The "output" return
5563// value will be populated with the request's response once the request completes
5564// successfully.
5565//
5566// Use "Send" method on the returned Request to send the API call to the service.
5567// the "output" return value is not valid until after Send returns without error.
5568//
5569// See UnassignInstance for more information on using the UnassignInstance
5570// API call, and error handling.
5571//
5572// This method is useful when you want to inject custom logic or configuration
5573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5574//
5575//
5576//    // Example sending a request using the UnassignInstanceRequest method.
5577//    req, resp := client.UnassignInstanceRequest(params)
5578//
5579//    err := req.Send()
5580//    if err == nil { // resp is now filled
5581//        fmt.Println(resp)
5582//    }
5583//
5584// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignInstance
5585func (c *OpsWorks) UnassignInstanceRequest(input *UnassignInstanceInput) (req *request.Request, output *UnassignInstanceOutput) {
5586	op := &request.Operation{
5587		Name:       opUnassignInstance,
5588		HTTPMethod: "POST",
5589		HTTPPath:   "/",
5590	}
5591
5592	if input == nil {
5593		input = &UnassignInstanceInput{}
5594	}
5595
5596	output = &UnassignInstanceOutput{}
5597	req = c.newRequest(op, input, output)
5598	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5599	return
5600}
5601
5602// UnassignInstance API operation for AWS OpsWorks.
5603//
5604// Unassigns a registered instance from all layers that are using the instance.
5605// The instance remains in the stack as an unassigned instance, and can be assigned
5606// to another layer as needed. You cannot use this action with instances that
5607// were created with AWS OpsWorks Stacks.
5608//
5609// Required Permissions: To use this action, an IAM user must have a Manage
5610// permissions level for the stack or an attached policy that explicitly grants
5611// permissions. For more information about user permissions, see Managing User
5612// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5613//
5614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5615// with awserr.Error's Code and Message methods to get detailed information about
5616// the error.
5617//
5618// See the AWS API reference guide for AWS OpsWorks's
5619// API operation UnassignInstance for usage and error information.
5620//
5621// Returned Error Codes:
5622//   * ErrCodeValidationException "ValidationException"
5623//   Indicates that a request was not valid.
5624//
5625//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5626//   Indicates that a resource was not found.
5627//
5628// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignInstance
5629func (c *OpsWorks) UnassignInstance(input *UnassignInstanceInput) (*UnassignInstanceOutput, error) {
5630	req, out := c.UnassignInstanceRequest(input)
5631	return out, req.Send()
5632}
5633
5634// UnassignInstanceWithContext is the same as UnassignInstance with the addition of
5635// the ability to pass a context and additional request options.
5636//
5637// See UnassignInstance for details on how to use this API operation.
5638//
5639// The context must be non-nil and will be used for request cancellation. If
5640// the context is nil a panic will occur. In the future the SDK may create
5641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5642// for more information on using Contexts.
5643func (c *OpsWorks) UnassignInstanceWithContext(ctx aws.Context, input *UnassignInstanceInput, opts ...request.Option) (*UnassignInstanceOutput, error) {
5644	req, out := c.UnassignInstanceRequest(input)
5645	req.SetContext(ctx)
5646	req.ApplyOptions(opts...)
5647	return out, req.Send()
5648}
5649
5650const opUnassignVolume = "UnassignVolume"
5651
5652// UnassignVolumeRequest generates a "aws/request.Request" representing the
5653// client's request for the UnassignVolume operation. The "output" return
5654// value will be populated with the request's response once the request completes
5655// successfully.
5656//
5657// Use "Send" method on the returned Request to send the API call to the service.
5658// the "output" return value is not valid until after Send returns without error.
5659//
5660// See UnassignVolume for more information on using the UnassignVolume
5661// API call, and error handling.
5662//
5663// This method is useful when you want to inject custom logic or configuration
5664// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5665//
5666//
5667//    // Example sending a request using the UnassignVolumeRequest method.
5668//    req, resp := client.UnassignVolumeRequest(params)
5669//
5670//    err := req.Send()
5671//    if err == nil { // resp is now filled
5672//        fmt.Println(resp)
5673//    }
5674//
5675// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignVolume
5676func (c *OpsWorks) UnassignVolumeRequest(input *UnassignVolumeInput) (req *request.Request, output *UnassignVolumeOutput) {
5677	op := &request.Operation{
5678		Name:       opUnassignVolume,
5679		HTTPMethod: "POST",
5680		HTTPPath:   "/",
5681	}
5682
5683	if input == nil {
5684		input = &UnassignVolumeInput{}
5685	}
5686
5687	output = &UnassignVolumeOutput{}
5688	req = c.newRequest(op, input, output)
5689	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5690	return
5691}
5692
5693// UnassignVolume API operation for AWS OpsWorks.
5694//
5695// Unassigns an assigned Amazon EBS volume. The volume remains registered with
5696// the stack. For more information, see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
5697//
5698// Required Permissions: To use this action, an IAM user must have a Manage
5699// permissions level for the stack, or an attached policy that explicitly grants
5700// permissions. For more information on user permissions, see Managing User
5701// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5702//
5703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5704// with awserr.Error's Code and Message methods to get detailed information about
5705// the error.
5706//
5707// See the AWS API reference guide for AWS OpsWorks's
5708// API operation UnassignVolume for usage and error information.
5709//
5710// Returned Error Codes:
5711//   * ErrCodeValidationException "ValidationException"
5712//   Indicates that a request was not valid.
5713//
5714//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5715//   Indicates that a resource was not found.
5716//
5717// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UnassignVolume
5718func (c *OpsWorks) UnassignVolume(input *UnassignVolumeInput) (*UnassignVolumeOutput, error) {
5719	req, out := c.UnassignVolumeRequest(input)
5720	return out, req.Send()
5721}
5722
5723// UnassignVolumeWithContext is the same as UnassignVolume with the addition of
5724// the ability to pass a context and additional request options.
5725//
5726// See UnassignVolume for details on how to use this API operation.
5727//
5728// The context must be non-nil and will be used for request cancellation. If
5729// the context is nil a panic will occur. In the future the SDK may create
5730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5731// for more information on using Contexts.
5732func (c *OpsWorks) UnassignVolumeWithContext(ctx aws.Context, input *UnassignVolumeInput, opts ...request.Option) (*UnassignVolumeOutput, error) {
5733	req, out := c.UnassignVolumeRequest(input)
5734	req.SetContext(ctx)
5735	req.ApplyOptions(opts...)
5736	return out, req.Send()
5737}
5738
5739const opUntagResource = "UntagResource"
5740
5741// UntagResourceRequest generates a "aws/request.Request" representing the
5742// client's request for the UntagResource operation. The "output" return
5743// value will be populated with the request's response once the request completes
5744// successfully.
5745//
5746// Use "Send" method on the returned Request to send the API call to the service.
5747// the "output" return value is not valid until after Send returns without error.
5748//
5749// See UntagResource for more information on using the UntagResource
5750// API call, and error handling.
5751//
5752// This method is useful when you want to inject custom logic or configuration
5753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5754//
5755//
5756//    // Example sending a request using the UntagResourceRequest method.
5757//    req, resp := client.UntagResourceRequest(params)
5758//
5759//    err := req.Send()
5760//    if err == nil { // resp is now filled
5761//        fmt.Println(resp)
5762//    }
5763//
5764// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UntagResource
5765func (c *OpsWorks) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5766	op := &request.Operation{
5767		Name:       opUntagResource,
5768		HTTPMethod: "POST",
5769		HTTPPath:   "/",
5770	}
5771
5772	if input == nil {
5773		input = &UntagResourceInput{}
5774	}
5775
5776	output = &UntagResourceOutput{}
5777	req = c.newRequest(op, input, output)
5778	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5779	return
5780}
5781
5782// UntagResource API operation for AWS OpsWorks.
5783//
5784// Removes tags from a specified stack or layer.
5785//
5786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5787// with awserr.Error's Code and Message methods to get detailed information about
5788// the error.
5789//
5790// See the AWS API reference guide for AWS OpsWorks's
5791// API operation UntagResource for usage and error information.
5792//
5793// Returned Error Codes:
5794//   * ErrCodeValidationException "ValidationException"
5795//   Indicates that a request was not valid.
5796//
5797//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5798//   Indicates that a resource was not found.
5799//
5800// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UntagResource
5801func (c *OpsWorks) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5802	req, out := c.UntagResourceRequest(input)
5803	return out, req.Send()
5804}
5805
5806// UntagResourceWithContext is the same as UntagResource with the addition of
5807// the ability to pass a context and additional request options.
5808//
5809// See UntagResource for details on how to use this API operation.
5810//
5811// The context must be non-nil and will be used for request cancellation. If
5812// the context is nil a panic will occur. In the future the SDK may create
5813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5814// for more information on using Contexts.
5815func (c *OpsWorks) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5816	req, out := c.UntagResourceRequest(input)
5817	req.SetContext(ctx)
5818	req.ApplyOptions(opts...)
5819	return out, req.Send()
5820}
5821
5822const opUpdateApp = "UpdateApp"
5823
5824// UpdateAppRequest generates a "aws/request.Request" representing the
5825// client's request for the UpdateApp operation. The "output" return
5826// value will be populated with the request's response once the request completes
5827// successfully.
5828//
5829// Use "Send" method on the returned Request to send the API call to the service.
5830// the "output" return value is not valid until after Send returns without error.
5831//
5832// See UpdateApp for more information on using the UpdateApp
5833// API call, and error handling.
5834//
5835// This method is useful when you want to inject custom logic or configuration
5836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5837//
5838//
5839//    // Example sending a request using the UpdateAppRequest method.
5840//    req, resp := client.UpdateAppRequest(params)
5841//
5842//    err := req.Send()
5843//    if err == nil { // resp is now filled
5844//        fmt.Println(resp)
5845//    }
5846//
5847// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateApp
5848func (c *OpsWorks) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, output *UpdateAppOutput) {
5849	op := &request.Operation{
5850		Name:       opUpdateApp,
5851		HTTPMethod: "POST",
5852		HTTPPath:   "/",
5853	}
5854
5855	if input == nil {
5856		input = &UpdateAppInput{}
5857	}
5858
5859	output = &UpdateAppOutput{}
5860	req = c.newRequest(op, input, output)
5861	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5862	return
5863}
5864
5865// UpdateApp API operation for AWS OpsWorks.
5866//
5867// Updates a specified app.
5868//
5869// Required Permissions: To use this action, an IAM user must have a Deploy
5870// or Manage permissions level for the stack, or an attached policy that explicitly
5871// grants permissions. For more information on user permissions, see Managing
5872// User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5873//
5874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5875// with awserr.Error's Code and Message methods to get detailed information about
5876// the error.
5877//
5878// See the AWS API reference guide for AWS OpsWorks's
5879// API operation UpdateApp for usage and error information.
5880//
5881// Returned Error Codes:
5882//   * ErrCodeValidationException "ValidationException"
5883//   Indicates that a request was not valid.
5884//
5885//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5886//   Indicates that a resource was not found.
5887//
5888// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateApp
5889func (c *OpsWorks) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) {
5890	req, out := c.UpdateAppRequest(input)
5891	return out, req.Send()
5892}
5893
5894// UpdateAppWithContext is the same as UpdateApp with the addition of
5895// the ability to pass a context and additional request options.
5896//
5897// See UpdateApp for details on how to use this API operation.
5898//
5899// The context must be non-nil and will be used for request cancellation. If
5900// the context is nil a panic will occur. In the future the SDK may create
5901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5902// for more information on using Contexts.
5903func (c *OpsWorks) UpdateAppWithContext(ctx aws.Context, input *UpdateAppInput, opts ...request.Option) (*UpdateAppOutput, error) {
5904	req, out := c.UpdateAppRequest(input)
5905	req.SetContext(ctx)
5906	req.ApplyOptions(opts...)
5907	return out, req.Send()
5908}
5909
5910const opUpdateElasticIp = "UpdateElasticIp"
5911
5912// UpdateElasticIpRequest generates a "aws/request.Request" representing the
5913// client's request for the UpdateElasticIp operation. The "output" return
5914// value will be populated with the request's response once the request completes
5915// successfully.
5916//
5917// Use "Send" method on the returned Request to send the API call to the service.
5918// the "output" return value is not valid until after Send returns without error.
5919//
5920// See UpdateElasticIp for more information on using the UpdateElasticIp
5921// API call, and error handling.
5922//
5923// This method is useful when you want to inject custom logic or configuration
5924// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5925//
5926//
5927//    // Example sending a request using the UpdateElasticIpRequest method.
5928//    req, resp := client.UpdateElasticIpRequest(params)
5929//
5930//    err := req.Send()
5931//    if err == nil { // resp is now filled
5932//        fmt.Println(resp)
5933//    }
5934//
5935// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateElasticIp
5936func (c *OpsWorks) UpdateElasticIpRequest(input *UpdateElasticIpInput) (req *request.Request, output *UpdateElasticIpOutput) {
5937	op := &request.Operation{
5938		Name:       opUpdateElasticIp,
5939		HTTPMethod: "POST",
5940		HTTPPath:   "/",
5941	}
5942
5943	if input == nil {
5944		input = &UpdateElasticIpInput{}
5945	}
5946
5947	output = &UpdateElasticIpOutput{}
5948	req = c.newRequest(op, input, output)
5949	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5950	return
5951}
5952
5953// UpdateElasticIp API operation for AWS OpsWorks.
5954//
5955// Updates a registered Elastic IP address's name. For more information, see
5956// Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
5957//
5958// Required Permissions: To use this action, an IAM user must have a Manage
5959// permissions level for the stack, or an attached policy that explicitly grants
5960// permissions. For more information on user permissions, see Managing User
5961// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
5962//
5963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5964// with awserr.Error's Code and Message methods to get detailed information about
5965// the error.
5966//
5967// See the AWS API reference guide for AWS OpsWorks's
5968// API operation UpdateElasticIp for usage and error information.
5969//
5970// Returned Error Codes:
5971//   * ErrCodeValidationException "ValidationException"
5972//   Indicates that a request was not valid.
5973//
5974//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5975//   Indicates that a resource was not found.
5976//
5977// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateElasticIp
5978func (c *OpsWorks) UpdateElasticIp(input *UpdateElasticIpInput) (*UpdateElasticIpOutput, error) {
5979	req, out := c.UpdateElasticIpRequest(input)
5980	return out, req.Send()
5981}
5982
5983// UpdateElasticIpWithContext is the same as UpdateElasticIp with the addition of
5984// the ability to pass a context and additional request options.
5985//
5986// See UpdateElasticIp for details on how to use this API operation.
5987//
5988// The context must be non-nil and will be used for request cancellation. If
5989// the context is nil a panic will occur. In the future the SDK may create
5990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5991// for more information on using Contexts.
5992func (c *OpsWorks) UpdateElasticIpWithContext(ctx aws.Context, input *UpdateElasticIpInput, opts ...request.Option) (*UpdateElasticIpOutput, error) {
5993	req, out := c.UpdateElasticIpRequest(input)
5994	req.SetContext(ctx)
5995	req.ApplyOptions(opts...)
5996	return out, req.Send()
5997}
5998
5999const opUpdateInstance = "UpdateInstance"
6000
6001// UpdateInstanceRequest generates a "aws/request.Request" representing the
6002// client's request for the UpdateInstance operation. The "output" return
6003// value will be populated with the request's response once the request completes
6004// successfully.
6005//
6006// Use "Send" method on the returned Request to send the API call to the service.
6007// the "output" return value is not valid until after Send returns without error.
6008//
6009// See UpdateInstance for more information on using the UpdateInstance
6010// API call, and error handling.
6011//
6012// This method is useful when you want to inject custom logic or configuration
6013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6014//
6015//
6016//    // Example sending a request using the UpdateInstanceRequest method.
6017//    req, resp := client.UpdateInstanceRequest(params)
6018//
6019//    err := req.Send()
6020//    if err == nil { // resp is now filled
6021//        fmt.Println(resp)
6022//    }
6023//
6024// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateInstance
6025func (c *OpsWorks) UpdateInstanceRequest(input *UpdateInstanceInput) (req *request.Request, output *UpdateInstanceOutput) {
6026	op := &request.Operation{
6027		Name:       opUpdateInstance,
6028		HTTPMethod: "POST",
6029		HTTPPath:   "/",
6030	}
6031
6032	if input == nil {
6033		input = &UpdateInstanceInput{}
6034	}
6035
6036	output = &UpdateInstanceOutput{}
6037	req = c.newRequest(op, input, output)
6038	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6039	return
6040}
6041
6042// UpdateInstance API operation for AWS OpsWorks.
6043//
6044// Updates a specified instance.
6045//
6046// Required Permissions: To use this action, an IAM user must have a Manage
6047// permissions level for the stack, or an attached policy that explicitly grants
6048// permissions. For more information on user permissions, see Managing User
6049// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6050//
6051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6052// with awserr.Error's Code and Message methods to get detailed information about
6053// the error.
6054//
6055// See the AWS API reference guide for AWS OpsWorks's
6056// API operation UpdateInstance for usage and error information.
6057//
6058// Returned Error Codes:
6059//   * ErrCodeValidationException "ValidationException"
6060//   Indicates that a request was not valid.
6061//
6062//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
6063//   Indicates that a resource was not found.
6064//
6065// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateInstance
6066func (c *OpsWorks) UpdateInstance(input *UpdateInstanceInput) (*UpdateInstanceOutput, error) {
6067	req, out := c.UpdateInstanceRequest(input)
6068	return out, req.Send()
6069}
6070
6071// UpdateInstanceWithContext is the same as UpdateInstance with the addition of
6072// the ability to pass a context and additional request options.
6073//
6074// See UpdateInstance for details on how to use this API operation.
6075//
6076// The context must be non-nil and will be used for request cancellation. If
6077// the context is nil a panic will occur. In the future the SDK may create
6078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6079// for more information on using Contexts.
6080func (c *OpsWorks) UpdateInstanceWithContext(ctx aws.Context, input *UpdateInstanceInput, opts ...request.Option) (*UpdateInstanceOutput, error) {
6081	req, out := c.UpdateInstanceRequest(input)
6082	req.SetContext(ctx)
6083	req.ApplyOptions(opts...)
6084	return out, req.Send()
6085}
6086
6087const opUpdateLayer = "UpdateLayer"
6088
6089// UpdateLayerRequest generates a "aws/request.Request" representing the
6090// client's request for the UpdateLayer operation. The "output" return
6091// value will be populated with the request's response once the request completes
6092// successfully.
6093//
6094// Use "Send" method on the returned Request to send the API call to the service.
6095// the "output" return value is not valid until after Send returns without error.
6096//
6097// See UpdateLayer for more information on using the UpdateLayer
6098// API call, and error handling.
6099//
6100// This method is useful when you want to inject custom logic or configuration
6101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6102//
6103//
6104//    // Example sending a request using the UpdateLayerRequest method.
6105//    req, resp := client.UpdateLayerRequest(params)
6106//
6107//    err := req.Send()
6108//    if err == nil { // resp is now filled
6109//        fmt.Println(resp)
6110//    }
6111//
6112// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateLayer
6113func (c *OpsWorks) UpdateLayerRequest(input *UpdateLayerInput) (req *request.Request, output *UpdateLayerOutput) {
6114	op := &request.Operation{
6115		Name:       opUpdateLayer,
6116		HTTPMethod: "POST",
6117		HTTPPath:   "/",
6118	}
6119
6120	if input == nil {
6121		input = &UpdateLayerInput{}
6122	}
6123
6124	output = &UpdateLayerOutput{}
6125	req = c.newRequest(op, input, output)
6126	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6127	return
6128}
6129
6130// UpdateLayer API operation for AWS OpsWorks.
6131//
6132// Updates a specified layer.
6133//
6134// Required Permissions: To use this action, an IAM user must have a Manage
6135// permissions level for the stack, or an attached policy that explicitly grants
6136// permissions. For more information on user permissions, see Managing User
6137// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6138//
6139// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6140// with awserr.Error's Code and Message methods to get detailed information about
6141// the error.
6142//
6143// See the AWS API reference guide for AWS OpsWorks's
6144// API operation UpdateLayer for usage and error information.
6145//
6146// Returned Error Codes:
6147//   * ErrCodeValidationException "ValidationException"
6148//   Indicates that a request was not valid.
6149//
6150//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
6151//   Indicates that a resource was not found.
6152//
6153// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateLayer
6154func (c *OpsWorks) UpdateLayer(input *UpdateLayerInput) (*UpdateLayerOutput, error) {
6155	req, out := c.UpdateLayerRequest(input)
6156	return out, req.Send()
6157}
6158
6159// UpdateLayerWithContext is the same as UpdateLayer with the addition of
6160// the ability to pass a context and additional request options.
6161//
6162// See UpdateLayer for details on how to use this API operation.
6163//
6164// The context must be non-nil and will be used for request cancellation. If
6165// the context is nil a panic will occur. In the future the SDK may create
6166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6167// for more information on using Contexts.
6168func (c *OpsWorks) UpdateLayerWithContext(ctx aws.Context, input *UpdateLayerInput, opts ...request.Option) (*UpdateLayerOutput, error) {
6169	req, out := c.UpdateLayerRequest(input)
6170	req.SetContext(ctx)
6171	req.ApplyOptions(opts...)
6172	return out, req.Send()
6173}
6174
6175const opUpdateMyUserProfile = "UpdateMyUserProfile"
6176
6177// UpdateMyUserProfileRequest generates a "aws/request.Request" representing the
6178// client's request for the UpdateMyUserProfile operation. The "output" return
6179// value will be populated with the request's response once the request completes
6180// successfully.
6181//
6182// Use "Send" method on the returned Request to send the API call to the service.
6183// the "output" return value is not valid until after Send returns without error.
6184//
6185// See UpdateMyUserProfile for more information on using the UpdateMyUserProfile
6186// API call, and error handling.
6187//
6188// This method is useful when you want to inject custom logic or configuration
6189// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6190//
6191//
6192//    // Example sending a request using the UpdateMyUserProfileRequest method.
6193//    req, resp := client.UpdateMyUserProfileRequest(params)
6194//
6195//    err := req.Send()
6196//    if err == nil { // resp is now filled
6197//        fmt.Println(resp)
6198//    }
6199//
6200// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateMyUserProfile
6201func (c *OpsWorks) UpdateMyUserProfileRequest(input *UpdateMyUserProfileInput) (req *request.Request, output *UpdateMyUserProfileOutput) {
6202	op := &request.Operation{
6203		Name:       opUpdateMyUserProfile,
6204		HTTPMethod: "POST",
6205		HTTPPath:   "/",
6206	}
6207
6208	if input == nil {
6209		input = &UpdateMyUserProfileInput{}
6210	}
6211
6212	output = &UpdateMyUserProfileOutput{}
6213	req = c.newRequest(op, input, output)
6214	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6215	return
6216}
6217
6218// UpdateMyUserProfile API operation for AWS OpsWorks.
6219//
6220// Updates a user's SSH public key.
6221//
6222// Required Permissions: To use this action, an IAM user must have self-management
6223// enabled or an attached policy that explicitly grants permissions. For more
6224// information about user permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6225//
6226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6227// with awserr.Error's Code and Message methods to get detailed information about
6228// the error.
6229//
6230// See the AWS API reference guide for AWS OpsWorks's
6231// API operation UpdateMyUserProfile for usage and error information.
6232//
6233// Returned Error Codes:
6234//   * ErrCodeValidationException "ValidationException"
6235//   Indicates that a request was not valid.
6236//
6237// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateMyUserProfile
6238func (c *OpsWorks) UpdateMyUserProfile(input *UpdateMyUserProfileInput) (*UpdateMyUserProfileOutput, error) {
6239	req, out := c.UpdateMyUserProfileRequest(input)
6240	return out, req.Send()
6241}
6242
6243// UpdateMyUserProfileWithContext is the same as UpdateMyUserProfile with the addition of
6244// the ability to pass a context and additional request options.
6245//
6246// See UpdateMyUserProfile for details on how to use this API operation.
6247//
6248// The context must be non-nil and will be used for request cancellation. If
6249// the context is nil a panic will occur. In the future the SDK may create
6250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6251// for more information on using Contexts.
6252func (c *OpsWorks) UpdateMyUserProfileWithContext(ctx aws.Context, input *UpdateMyUserProfileInput, opts ...request.Option) (*UpdateMyUserProfileOutput, error) {
6253	req, out := c.UpdateMyUserProfileRequest(input)
6254	req.SetContext(ctx)
6255	req.ApplyOptions(opts...)
6256	return out, req.Send()
6257}
6258
6259const opUpdateRdsDbInstance = "UpdateRdsDbInstance"
6260
6261// UpdateRdsDbInstanceRequest generates a "aws/request.Request" representing the
6262// client's request for the UpdateRdsDbInstance operation. The "output" return
6263// value will be populated with the request's response once the request completes
6264// successfully.
6265//
6266// Use "Send" method on the returned Request to send the API call to the service.
6267// the "output" return value is not valid until after Send returns without error.
6268//
6269// See UpdateRdsDbInstance for more information on using the UpdateRdsDbInstance
6270// API call, and error handling.
6271//
6272// This method is useful when you want to inject custom logic or configuration
6273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6274//
6275//
6276//    // Example sending a request using the UpdateRdsDbInstanceRequest method.
6277//    req, resp := client.UpdateRdsDbInstanceRequest(params)
6278//
6279//    err := req.Send()
6280//    if err == nil { // resp is now filled
6281//        fmt.Println(resp)
6282//    }
6283//
6284// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateRdsDbInstance
6285func (c *OpsWorks) UpdateRdsDbInstanceRequest(input *UpdateRdsDbInstanceInput) (req *request.Request, output *UpdateRdsDbInstanceOutput) {
6286	op := &request.Operation{
6287		Name:       opUpdateRdsDbInstance,
6288		HTTPMethod: "POST",
6289		HTTPPath:   "/",
6290	}
6291
6292	if input == nil {
6293		input = &UpdateRdsDbInstanceInput{}
6294	}
6295
6296	output = &UpdateRdsDbInstanceOutput{}
6297	req = c.newRequest(op, input, output)
6298	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6299	return
6300}
6301
6302// UpdateRdsDbInstance API operation for AWS OpsWorks.
6303//
6304// Updates an Amazon RDS instance.
6305//
6306// Required Permissions: To use this action, an IAM user must have a Manage
6307// permissions level for the stack, or an attached policy that explicitly grants
6308// permissions. For more information on user permissions, see Managing User
6309// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6310//
6311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6312// with awserr.Error's Code and Message methods to get detailed information about
6313// the error.
6314//
6315// See the AWS API reference guide for AWS OpsWorks's
6316// API operation UpdateRdsDbInstance for usage and error information.
6317//
6318// Returned Error Codes:
6319//   * ErrCodeValidationException "ValidationException"
6320//   Indicates that a request was not valid.
6321//
6322//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
6323//   Indicates that a resource was not found.
6324//
6325// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateRdsDbInstance
6326func (c *OpsWorks) UpdateRdsDbInstance(input *UpdateRdsDbInstanceInput) (*UpdateRdsDbInstanceOutput, error) {
6327	req, out := c.UpdateRdsDbInstanceRequest(input)
6328	return out, req.Send()
6329}
6330
6331// UpdateRdsDbInstanceWithContext is the same as UpdateRdsDbInstance with the addition of
6332// the ability to pass a context and additional request options.
6333//
6334// See UpdateRdsDbInstance for details on how to use this API operation.
6335//
6336// The context must be non-nil and will be used for request cancellation. If
6337// the context is nil a panic will occur. In the future the SDK may create
6338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6339// for more information on using Contexts.
6340func (c *OpsWorks) UpdateRdsDbInstanceWithContext(ctx aws.Context, input *UpdateRdsDbInstanceInput, opts ...request.Option) (*UpdateRdsDbInstanceOutput, error) {
6341	req, out := c.UpdateRdsDbInstanceRequest(input)
6342	req.SetContext(ctx)
6343	req.ApplyOptions(opts...)
6344	return out, req.Send()
6345}
6346
6347const opUpdateStack = "UpdateStack"
6348
6349// UpdateStackRequest generates a "aws/request.Request" representing the
6350// client's request for the UpdateStack operation. The "output" return
6351// value will be populated with the request's response once the request completes
6352// successfully.
6353//
6354// Use "Send" method on the returned Request to send the API call to the service.
6355// the "output" return value is not valid until after Send returns without error.
6356//
6357// See UpdateStack for more information on using the UpdateStack
6358// API call, and error handling.
6359//
6360// This method is useful when you want to inject custom logic or configuration
6361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6362//
6363//
6364//    // Example sending a request using the UpdateStackRequest method.
6365//    req, resp := client.UpdateStackRequest(params)
6366//
6367//    err := req.Send()
6368//    if err == nil { // resp is now filled
6369//        fmt.Println(resp)
6370//    }
6371//
6372// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateStack
6373func (c *OpsWorks) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) {
6374	op := &request.Operation{
6375		Name:       opUpdateStack,
6376		HTTPMethod: "POST",
6377		HTTPPath:   "/",
6378	}
6379
6380	if input == nil {
6381		input = &UpdateStackInput{}
6382	}
6383
6384	output = &UpdateStackOutput{}
6385	req = c.newRequest(op, input, output)
6386	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6387	return
6388}
6389
6390// UpdateStack API operation for AWS OpsWorks.
6391//
6392// Updates a specified stack.
6393//
6394// Required Permissions: To use this action, an IAM user must have a Manage
6395// permissions level for the stack, or an attached policy that explicitly grants
6396// permissions. For more information on user permissions, see Managing User
6397// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6398//
6399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6400// with awserr.Error's Code and Message methods to get detailed information about
6401// the error.
6402//
6403// See the AWS API reference guide for AWS OpsWorks's
6404// API operation UpdateStack for usage and error information.
6405//
6406// Returned Error Codes:
6407//   * ErrCodeValidationException "ValidationException"
6408//   Indicates that a request was not valid.
6409//
6410//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
6411//   Indicates that a resource was not found.
6412//
6413// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateStack
6414func (c *OpsWorks) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) {
6415	req, out := c.UpdateStackRequest(input)
6416	return out, req.Send()
6417}
6418
6419// UpdateStackWithContext is the same as UpdateStack with the addition of
6420// the ability to pass a context and additional request options.
6421//
6422// See UpdateStack for details on how to use this API operation.
6423//
6424// The context must be non-nil and will be used for request cancellation. If
6425// the context is nil a panic will occur. In the future the SDK may create
6426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6427// for more information on using Contexts.
6428func (c *OpsWorks) UpdateStackWithContext(ctx aws.Context, input *UpdateStackInput, opts ...request.Option) (*UpdateStackOutput, error) {
6429	req, out := c.UpdateStackRequest(input)
6430	req.SetContext(ctx)
6431	req.ApplyOptions(opts...)
6432	return out, req.Send()
6433}
6434
6435const opUpdateUserProfile = "UpdateUserProfile"
6436
6437// UpdateUserProfileRequest generates a "aws/request.Request" representing the
6438// client's request for the UpdateUserProfile operation. The "output" return
6439// value will be populated with the request's response once the request completes
6440// successfully.
6441//
6442// Use "Send" method on the returned Request to send the API call to the service.
6443// the "output" return value is not valid until after Send returns without error.
6444//
6445// See UpdateUserProfile for more information on using the UpdateUserProfile
6446// API call, and error handling.
6447//
6448// This method is useful when you want to inject custom logic or configuration
6449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6450//
6451//
6452//    // Example sending a request using the UpdateUserProfileRequest method.
6453//    req, resp := client.UpdateUserProfileRequest(params)
6454//
6455//    err := req.Send()
6456//    if err == nil { // resp is now filled
6457//        fmt.Println(resp)
6458//    }
6459//
6460// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateUserProfile
6461func (c *OpsWorks) UpdateUserProfileRequest(input *UpdateUserProfileInput) (req *request.Request, output *UpdateUserProfileOutput) {
6462	op := &request.Operation{
6463		Name:       opUpdateUserProfile,
6464		HTTPMethod: "POST",
6465		HTTPPath:   "/",
6466	}
6467
6468	if input == nil {
6469		input = &UpdateUserProfileInput{}
6470	}
6471
6472	output = &UpdateUserProfileOutput{}
6473	req = c.newRequest(op, input, output)
6474	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6475	return
6476}
6477
6478// UpdateUserProfile API operation for AWS OpsWorks.
6479//
6480// Updates a specified user profile.
6481//
6482// Required Permissions: To use this action, an IAM user must have an attached
6483// policy that explicitly grants permissions. For more information about user
6484// permissions, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6485//
6486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6487// with awserr.Error's Code and Message methods to get detailed information about
6488// the error.
6489//
6490// See the AWS API reference guide for AWS OpsWorks's
6491// API operation UpdateUserProfile for usage and error information.
6492//
6493// Returned Error Codes:
6494//   * ErrCodeValidationException "ValidationException"
6495//   Indicates that a request was not valid.
6496//
6497//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
6498//   Indicates that a resource was not found.
6499//
6500// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateUserProfile
6501func (c *OpsWorks) UpdateUserProfile(input *UpdateUserProfileInput) (*UpdateUserProfileOutput, error) {
6502	req, out := c.UpdateUserProfileRequest(input)
6503	return out, req.Send()
6504}
6505
6506// UpdateUserProfileWithContext is the same as UpdateUserProfile with the addition of
6507// the ability to pass a context and additional request options.
6508//
6509// See UpdateUserProfile for details on how to use this API operation.
6510//
6511// The context must be non-nil and will be used for request cancellation. If
6512// the context is nil a panic will occur. In the future the SDK may create
6513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6514// for more information on using Contexts.
6515func (c *OpsWorks) UpdateUserProfileWithContext(ctx aws.Context, input *UpdateUserProfileInput, opts ...request.Option) (*UpdateUserProfileOutput, error) {
6516	req, out := c.UpdateUserProfileRequest(input)
6517	req.SetContext(ctx)
6518	req.ApplyOptions(opts...)
6519	return out, req.Send()
6520}
6521
6522const opUpdateVolume = "UpdateVolume"
6523
6524// UpdateVolumeRequest generates a "aws/request.Request" representing the
6525// client's request for the UpdateVolume operation. The "output" return
6526// value will be populated with the request's response once the request completes
6527// successfully.
6528//
6529// Use "Send" method on the returned Request to send the API call to the service.
6530// the "output" return value is not valid until after Send returns without error.
6531//
6532// See UpdateVolume for more information on using the UpdateVolume
6533// API call, and error handling.
6534//
6535// This method is useful when you want to inject custom logic or configuration
6536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6537//
6538//
6539//    // Example sending a request using the UpdateVolumeRequest method.
6540//    req, resp := client.UpdateVolumeRequest(params)
6541//
6542//    err := req.Send()
6543//    if err == nil { // resp is now filled
6544//        fmt.Println(resp)
6545//    }
6546//
6547// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateVolume
6548func (c *OpsWorks) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.Request, output *UpdateVolumeOutput) {
6549	op := &request.Operation{
6550		Name:       opUpdateVolume,
6551		HTTPMethod: "POST",
6552		HTTPPath:   "/",
6553	}
6554
6555	if input == nil {
6556		input = &UpdateVolumeInput{}
6557	}
6558
6559	output = &UpdateVolumeOutput{}
6560	req = c.newRequest(op, input, output)
6561	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6562	return
6563}
6564
6565// UpdateVolume API operation for AWS OpsWorks.
6566//
6567// Updates an Amazon EBS volume's name or mount point. For more information,
6568// see Resource Management (https://docs.aws.amazon.com/opsworks/latest/userguide/resources.html).
6569//
6570// Required Permissions: To use this action, an IAM user must have a Manage
6571// permissions level for the stack, or an attached policy that explicitly grants
6572// permissions. For more information on user permissions, see Managing User
6573// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
6574//
6575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6576// with awserr.Error's Code and Message methods to get detailed information about
6577// the error.
6578//
6579// See the AWS API reference guide for AWS OpsWorks's
6580// API operation UpdateVolume for usage and error information.
6581//
6582// Returned Error Codes:
6583//   * ErrCodeValidationException "ValidationException"
6584//   Indicates that a request was not valid.
6585//
6586//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
6587//   Indicates that a resource was not found.
6588//
6589// See also, https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateVolume
6590func (c *OpsWorks) UpdateVolume(input *UpdateVolumeInput) (*UpdateVolumeOutput, error) {
6591	req, out := c.UpdateVolumeRequest(input)
6592	return out, req.Send()
6593}
6594
6595// UpdateVolumeWithContext is the same as UpdateVolume with the addition of
6596// the ability to pass a context and additional request options.
6597//
6598// See UpdateVolume for details on how to use this API operation.
6599//
6600// The context must be non-nil and will be used for request cancellation. If
6601// the context is nil a panic will occur. In the future the SDK may create
6602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6603// for more information on using Contexts.
6604func (c *OpsWorks) UpdateVolumeWithContext(ctx aws.Context, input *UpdateVolumeInput, opts ...request.Option) (*UpdateVolumeOutput, error) {
6605	req, out := c.UpdateVolumeRequest(input)
6606	req.SetContext(ctx)
6607	req.ApplyOptions(opts...)
6608	return out, req.Send()
6609}
6610
6611// Describes an agent version.
6612type AgentVersion struct {
6613	_ struct{} `type:"structure"`
6614
6615	// The configuration manager.
6616	ConfigurationManager *StackConfigurationManager `type:"structure"`
6617
6618	// The agent version.
6619	Version *string `type:"string"`
6620}
6621
6622// String returns the string representation
6623func (s AgentVersion) String() string {
6624	return awsutil.Prettify(s)
6625}
6626
6627// GoString returns the string representation
6628func (s AgentVersion) GoString() string {
6629	return s.String()
6630}
6631
6632// SetConfigurationManager sets the ConfigurationManager field's value.
6633func (s *AgentVersion) SetConfigurationManager(v *StackConfigurationManager) *AgentVersion {
6634	s.ConfigurationManager = v
6635	return s
6636}
6637
6638// SetVersion sets the Version field's value.
6639func (s *AgentVersion) SetVersion(v string) *AgentVersion {
6640	s.Version = &v
6641	return s
6642}
6643
6644// A description of the app.
6645type App struct {
6646	_ struct{} `type:"structure"`
6647
6648	// The app ID.
6649	AppId *string `type:"string"`
6650
6651	// A Source object that describes the app repository.
6652	AppSource *Source `type:"structure"`
6653
6654	// The stack attributes.
6655	Attributes map[string]*string `type:"map"`
6656
6657	// When the app was created.
6658	CreatedAt *string `type:"string"`
6659
6660	// The app's data sources.
6661	DataSources []*DataSource `type:"list"`
6662
6663	// A description of the app.
6664	Description *string `type:"string"`
6665
6666	// The app vhost settings with multiple domains separated by commas. For example:
6667	// 'www.example.com, example.com'
6668	Domains []*string `type:"list"`
6669
6670	// Whether to enable SSL for the app.
6671	EnableSsl *bool `type:"boolean"`
6672
6673	// An array of EnvironmentVariable objects that specify environment variables
6674	// to be associated with the app. After you deploy the app, these variables
6675	// are defined on the associated app server instances. For more information,
6676	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
6677	//
6678	// There is no specific limit on the number of environment variables. However,
6679	// the size of the associated data structure - which includes the variable names,
6680	// values, and protected flag values - cannot exceed 20 KB. This limit should
6681	// accommodate most if not all use cases, but if you do exceed it, you will
6682	// cause an exception (API) with an "Environment: is too large (maximum is 20
6683	// KB)" message.
6684	Environment []*EnvironmentVariable `type:"list"`
6685
6686	// The app name.
6687	Name *string `type:"string"`
6688
6689	// The app's short name.
6690	Shortname *string `type:"string"`
6691
6692	// An SslConfiguration object with the SSL configuration.
6693	SslConfiguration *SslConfiguration `type:"structure"`
6694
6695	// The app stack ID.
6696	StackId *string `type:"string"`
6697
6698	// The app type.
6699	Type *string `type:"string" enum:"AppType"`
6700}
6701
6702// String returns the string representation
6703func (s App) String() string {
6704	return awsutil.Prettify(s)
6705}
6706
6707// GoString returns the string representation
6708func (s App) GoString() string {
6709	return s.String()
6710}
6711
6712// SetAppId sets the AppId field's value.
6713func (s *App) SetAppId(v string) *App {
6714	s.AppId = &v
6715	return s
6716}
6717
6718// SetAppSource sets the AppSource field's value.
6719func (s *App) SetAppSource(v *Source) *App {
6720	s.AppSource = v
6721	return s
6722}
6723
6724// SetAttributes sets the Attributes field's value.
6725func (s *App) SetAttributes(v map[string]*string) *App {
6726	s.Attributes = v
6727	return s
6728}
6729
6730// SetCreatedAt sets the CreatedAt field's value.
6731func (s *App) SetCreatedAt(v string) *App {
6732	s.CreatedAt = &v
6733	return s
6734}
6735
6736// SetDataSources sets the DataSources field's value.
6737func (s *App) SetDataSources(v []*DataSource) *App {
6738	s.DataSources = v
6739	return s
6740}
6741
6742// SetDescription sets the Description field's value.
6743func (s *App) SetDescription(v string) *App {
6744	s.Description = &v
6745	return s
6746}
6747
6748// SetDomains sets the Domains field's value.
6749func (s *App) SetDomains(v []*string) *App {
6750	s.Domains = v
6751	return s
6752}
6753
6754// SetEnableSsl sets the EnableSsl field's value.
6755func (s *App) SetEnableSsl(v bool) *App {
6756	s.EnableSsl = &v
6757	return s
6758}
6759
6760// SetEnvironment sets the Environment field's value.
6761func (s *App) SetEnvironment(v []*EnvironmentVariable) *App {
6762	s.Environment = v
6763	return s
6764}
6765
6766// SetName sets the Name field's value.
6767func (s *App) SetName(v string) *App {
6768	s.Name = &v
6769	return s
6770}
6771
6772// SetShortname sets the Shortname field's value.
6773func (s *App) SetShortname(v string) *App {
6774	s.Shortname = &v
6775	return s
6776}
6777
6778// SetSslConfiguration sets the SslConfiguration field's value.
6779func (s *App) SetSslConfiguration(v *SslConfiguration) *App {
6780	s.SslConfiguration = v
6781	return s
6782}
6783
6784// SetStackId sets the StackId field's value.
6785func (s *App) SetStackId(v string) *App {
6786	s.StackId = &v
6787	return s
6788}
6789
6790// SetType sets the Type field's value.
6791func (s *App) SetType(v string) *App {
6792	s.Type = &v
6793	return s
6794}
6795
6796type AssignInstanceInput struct {
6797	_ struct{} `type:"structure"`
6798
6799	// The instance ID.
6800	//
6801	// InstanceId is a required field
6802	InstanceId *string `type:"string" required:"true"`
6803
6804	// The layer ID, which must correspond to a custom layer. You cannot assign
6805	// a registered instance to a built-in layer.
6806	//
6807	// LayerIds is a required field
6808	LayerIds []*string `type:"list" required:"true"`
6809}
6810
6811// String returns the string representation
6812func (s AssignInstanceInput) String() string {
6813	return awsutil.Prettify(s)
6814}
6815
6816// GoString returns the string representation
6817func (s AssignInstanceInput) GoString() string {
6818	return s.String()
6819}
6820
6821// Validate inspects the fields of the type to determine if they are valid.
6822func (s *AssignInstanceInput) Validate() error {
6823	invalidParams := request.ErrInvalidParams{Context: "AssignInstanceInput"}
6824	if s.InstanceId == nil {
6825		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6826	}
6827	if s.LayerIds == nil {
6828		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
6829	}
6830
6831	if invalidParams.Len() > 0 {
6832		return invalidParams
6833	}
6834	return nil
6835}
6836
6837// SetInstanceId sets the InstanceId field's value.
6838func (s *AssignInstanceInput) SetInstanceId(v string) *AssignInstanceInput {
6839	s.InstanceId = &v
6840	return s
6841}
6842
6843// SetLayerIds sets the LayerIds field's value.
6844func (s *AssignInstanceInput) SetLayerIds(v []*string) *AssignInstanceInput {
6845	s.LayerIds = v
6846	return s
6847}
6848
6849type AssignInstanceOutput struct {
6850	_ struct{} `type:"structure"`
6851}
6852
6853// String returns the string representation
6854func (s AssignInstanceOutput) String() string {
6855	return awsutil.Prettify(s)
6856}
6857
6858// GoString returns the string representation
6859func (s AssignInstanceOutput) GoString() string {
6860	return s.String()
6861}
6862
6863type AssignVolumeInput struct {
6864	_ struct{} `type:"structure"`
6865
6866	// The instance ID.
6867	InstanceId *string `type:"string"`
6868
6869	// The volume ID.
6870	//
6871	// VolumeId is a required field
6872	VolumeId *string `type:"string" required:"true"`
6873}
6874
6875// String returns the string representation
6876func (s AssignVolumeInput) String() string {
6877	return awsutil.Prettify(s)
6878}
6879
6880// GoString returns the string representation
6881func (s AssignVolumeInput) GoString() string {
6882	return s.String()
6883}
6884
6885// Validate inspects the fields of the type to determine if they are valid.
6886func (s *AssignVolumeInput) Validate() error {
6887	invalidParams := request.ErrInvalidParams{Context: "AssignVolumeInput"}
6888	if s.VolumeId == nil {
6889		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
6890	}
6891
6892	if invalidParams.Len() > 0 {
6893		return invalidParams
6894	}
6895	return nil
6896}
6897
6898// SetInstanceId sets the InstanceId field's value.
6899func (s *AssignVolumeInput) SetInstanceId(v string) *AssignVolumeInput {
6900	s.InstanceId = &v
6901	return s
6902}
6903
6904// SetVolumeId sets the VolumeId field's value.
6905func (s *AssignVolumeInput) SetVolumeId(v string) *AssignVolumeInput {
6906	s.VolumeId = &v
6907	return s
6908}
6909
6910type AssignVolumeOutput struct {
6911	_ struct{} `type:"structure"`
6912}
6913
6914// String returns the string representation
6915func (s AssignVolumeOutput) String() string {
6916	return awsutil.Prettify(s)
6917}
6918
6919// GoString returns the string representation
6920func (s AssignVolumeOutput) GoString() string {
6921	return s.String()
6922}
6923
6924type AssociateElasticIpInput struct {
6925	_ struct{} `type:"structure"`
6926
6927	// The Elastic IP address.
6928	//
6929	// ElasticIp is a required field
6930	ElasticIp *string `type:"string" required:"true"`
6931
6932	// The instance ID.
6933	InstanceId *string `type:"string"`
6934}
6935
6936// String returns the string representation
6937func (s AssociateElasticIpInput) String() string {
6938	return awsutil.Prettify(s)
6939}
6940
6941// GoString returns the string representation
6942func (s AssociateElasticIpInput) GoString() string {
6943	return s.String()
6944}
6945
6946// Validate inspects the fields of the type to determine if they are valid.
6947func (s *AssociateElasticIpInput) Validate() error {
6948	invalidParams := request.ErrInvalidParams{Context: "AssociateElasticIpInput"}
6949	if s.ElasticIp == nil {
6950		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
6951	}
6952
6953	if invalidParams.Len() > 0 {
6954		return invalidParams
6955	}
6956	return nil
6957}
6958
6959// SetElasticIp sets the ElasticIp field's value.
6960func (s *AssociateElasticIpInput) SetElasticIp(v string) *AssociateElasticIpInput {
6961	s.ElasticIp = &v
6962	return s
6963}
6964
6965// SetInstanceId sets the InstanceId field's value.
6966func (s *AssociateElasticIpInput) SetInstanceId(v string) *AssociateElasticIpInput {
6967	s.InstanceId = &v
6968	return s
6969}
6970
6971type AssociateElasticIpOutput struct {
6972	_ struct{} `type:"structure"`
6973}
6974
6975// String returns the string representation
6976func (s AssociateElasticIpOutput) String() string {
6977	return awsutil.Prettify(s)
6978}
6979
6980// GoString returns the string representation
6981func (s AssociateElasticIpOutput) GoString() string {
6982	return s.String()
6983}
6984
6985type AttachElasticLoadBalancerInput struct {
6986	_ struct{} `type:"structure"`
6987
6988	// The Elastic Load Balancing instance's name.
6989	//
6990	// ElasticLoadBalancerName is a required field
6991	ElasticLoadBalancerName *string `type:"string" required:"true"`
6992
6993	// The ID of the layer to which the Elastic Load Balancing instance is to be
6994	// attached.
6995	//
6996	// LayerId is a required field
6997	LayerId *string `type:"string" required:"true"`
6998}
6999
7000// String returns the string representation
7001func (s AttachElasticLoadBalancerInput) String() string {
7002	return awsutil.Prettify(s)
7003}
7004
7005// GoString returns the string representation
7006func (s AttachElasticLoadBalancerInput) GoString() string {
7007	return s.String()
7008}
7009
7010// Validate inspects the fields of the type to determine if they are valid.
7011func (s *AttachElasticLoadBalancerInput) Validate() error {
7012	invalidParams := request.ErrInvalidParams{Context: "AttachElasticLoadBalancerInput"}
7013	if s.ElasticLoadBalancerName == nil {
7014		invalidParams.Add(request.NewErrParamRequired("ElasticLoadBalancerName"))
7015	}
7016	if s.LayerId == nil {
7017		invalidParams.Add(request.NewErrParamRequired("LayerId"))
7018	}
7019
7020	if invalidParams.Len() > 0 {
7021		return invalidParams
7022	}
7023	return nil
7024}
7025
7026// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
7027func (s *AttachElasticLoadBalancerInput) SetElasticLoadBalancerName(v string) *AttachElasticLoadBalancerInput {
7028	s.ElasticLoadBalancerName = &v
7029	return s
7030}
7031
7032// SetLayerId sets the LayerId field's value.
7033func (s *AttachElasticLoadBalancerInput) SetLayerId(v string) *AttachElasticLoadBalancerInput {
7034	s.LayerId = &v
7035	return s
7036}
7037
7038type AttachElasticLoadBalancerOutput struct {
7039	_ struct{} `type:"structure"`
7040}
7041
7042// String returns the string representation
7043func (s AttachElasticLoadBalancerOutput) String() string {
7044	return awsutil.Prettify(s)
7045}
7046
7047// GoString returns the string representation
7048func (s AttachElasticLoadBalancerOutput) GoString() string {
7049	return s.String()
7050}
7051
7052// Describes a load-based auto scaling upscaling or downscaling threshold configuration,
7053// which specifies when AWS OpsWorks Stacks starts or stops load-based instances.
7054type AutoScalingThresholds struct {
7055	_ struct{} `type:"structure"`
7056
7057	// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter
7058	// takes a list of up to five alarm names, which are case sensitive and must
7059	// be in the same region as the stack.
7060	//
7061	// To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms.
7062	// You can either have AWS OpsWorks Stacks update the role for you when you
7063	// first use this feature or you can edit the role manually. For more information,
7064	// see Allowing AWS OpsWorks Stacks to Act on Your Behalf (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-servicerole.html).
7065	Alarms []*string `type:"list"`
7066
7067	// The CPU utilization threshold, as a percent of the available CPU. A value
7068	// of -1 disables the threshold.
7069	CpuThreshold *float64 `type:"double"`
7070
7071	// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks
7072	// Stacks should ignore metrics and suppress additional scaling events. For
7073	// example, AWS OpsWorks Stacks adds new instances following an upscaling event
7074	// but the instances won't start reducing the load until they have been booted
7075	// and configured. There is no point in raising additional scaling events during
7076	// that operation, which typically takes several minutes. IgnoreMetricsTime
7077	// allows you to direct AWS OpsWorks Stacks to suppress scaling events long
7078	// enough to get the new instances online.
7079	IgnoreMetricsTime *int64 `min:"1" type:"integer"`
7080
7081	// The number of instances to add or remove when the load exceeds a threshold.
7082	InstanceCount *int64 `type:"integer"`
7083
7084	// The load threshold. A value of -1 disables the threshold. For more information
7085	// about how load is computed, see Load (computing) (http://en.wikipedia.org/wiki/Load_%28computing%29).
7086	LoadThreshold *float64 `type:"double"`
7087
7088	// The memory utilization threshold, as a percent of the available memory. A
7089	// value of -1 disables the threshold.
7090	MemoryThreshold *float64 `type:"double"`
7091
7092	// The amount of time, in minutes, that the load must exceed a threshold before
7093	// more instances are added or removed.
7094	ThresholdsWaitTime *int64 `min:"1" type:"integer"`
7095}
7096
7097// String returns the string representation
7098func (s AutoScalingThresholds) String() string {
7099	return awsutil.Prettify(s)
7100}
7101
7102// GoString returns the string representation
7103func (s AutoScalingThresholds) GoString() string {
7104	return s.String()
7105}
7106
7107// Validate inspects the fields of the type to determine if they are valid.
7108func (s *AutoScalingThresholds) Validate() error {
7109	invalidParams := request.ErrInvalidParams{Context: "AutoScalingThresholds"}
7110	if s.IgnoreMetricsTime != nil && *s.IgnoreMetricsTime < 1 {
7111		invalidParams.Add(request.NewErrParamMinValue("IgnoreMetricsTime", 1))
7112	}
7113	if s.ThresholdsWaitTime != nil && *s.ThresholdsWaitTime < 1 {
7114		invalidParams.Add(request.NewErrParamMinValue("ThresholdsWaitTime", 1))
7115	}
7116
7117	if invalidParams.Len() > 0 {
7118		return invalidParams
7119	}
7120	return nil
7121}
7122
7123// SetAlarms sets the Alarms field's value.
7124func (s *AutoScalingThresholds) SetAlarms(v []*string) *AutoScalingThresholds {
7125	s.Alarms = v
7126	return s
7127}
7128
7129// SetCpuThreshold sets the CpuThreshold field's value.
7130func (s *AutoScalingThresholds) SetCpuThreshold(v float64) *AutoScalingThresholds {
7131	s.CpuThreshold = &v
7132	return s
7133}
7134
7135// SetIgnoreMetricsTime sets the IgnoreMetricsTime field's value.
7136func (s *AutoScalingThresholds) SetIgnoreMetricsTime(v int64) *AutoScalingThresholds {
7137	s.IgnoreMetricsTime = &v
7138	return s
7139}
7140
7141// SetInstanceCount sets the InstanceCount field's value.
7142func (s *AutoScalingThresholds) SetInstanceCount(v int64) *AutoScalingThresholds {
7143	s.InstanceCount = &v
7144	return s
7145}
7146
7147// SetLoadThreshold sets the LoadThreshold field's value.
7148func (s *AutoScalingThresholds) SetLoadThreshold(v float64) *AutoScalingThresholds {
7149	s.LoadThreshold = &v
7150	return s
7151}
7152
7153// SetMemoryThreshold sets the MemoryThreshold field's value.
7154func (s *AutoScalingThresholds) SetMemoryThreshold(v float64) *AutoScalingThresholds {
7155	s.MemoryThreshold = &v
7156	return s
7157}
7158
7159// SetThresholdsWaitTime sets the ThresholdsWaitTime field's value.
7160func (s *AutoScalingThresholds) SetThresholdsWaitTime(v int64) *AutoScalingThresholds {
7161	s.ThresholdsWaitTime = &v
7162	return s
7163}
7164
7165// Describes a block device mapping. This data type maps directly to the Amazon
7166// EC2 BlockDeviceMapping (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html)
7167// data type.
7168type BlockDeviceMapping struct {
7169	_ struct{} `type:"structure"`
7170
7171	// The device name that is exposed to the instance, such as /dev/sdh. For the
7172	// root device, you can use the explicit device name or you can set this parameter
7173	// to ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.
7174	DeviceName *string `type:"string"`
7175
7176	// An EBSBlockDevice that defines how to configure an Amazon EBS volume when
7177	// the instance is launched.
7178	Ebs *EbsBlockDevice `type:"structure"`
7179
7180	// Suppresses the specified device included in the AMI's block device mapping.
7181	NoDevice *string `type:"string"`
7182
7183	// The virtual device name. For more information, see BlockDeviceMapping (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html).
7184	VirtualName *string `type:"string"`
7185}
7186
7187// String returns the string representation
7188func (s BlockDeviceMapping) String() string {
7189	return awsutil.Prettify(s)
7190}
7191
7192// GoString returns the string representation
7193func (s BlockDeviceMapping) GoString() string {
7194	return s.String()
7195}
7196
7197// SetDeviceName sets the DeviceName field's value.
7198func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
7199	s.DeviceName = &v
7200	return s
7201}
7202
7203// SetEbs sets the Ebs field's value.
7204func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
7205	s.Ebs = v
7206	return s
7207}
7208
7209// SetNoDevice sets the NoDevice field's value.
7210func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
7211	s.NoDevice = &v
7212	return s
7213}
7214
7215// SetVirtualName sets the VirtualName field's value.
7216func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
7217	s.VirtualName = &v
7218	return s
7219}
7220
7221// Describes the Chef configuration.
7222type ChefConfiguration struct {
7223	_ struct{} `type:"structure"`
7224
7225	// The Berkshelf version.
7226	BerkshelfVersion *string `type:"string"`
7227
7228	// Whether to enable Berkshelf.
7229	ManageBerkshelf *bool `type:"boolean"`
7230}
7231
7232// String returns the string representation
7233func (s ChefConfiguration) String() string {
7234	return awsutil.Prettify(s)
7235}
7236
7237// GoString returns the string representation
7238func (s ChefConfiguration) GoString() string {
7239	return s.String()
7240}
7241
7242// SetBerkshelfVersion sets the BerkshelfVersion field's value.
7243func (s *ChefConfiguration) SetBerkshelfVersion(v string) *ChefConfiguration {
7244	s.BerkshelfVersion = &v
7245	return s
7246}
7247
7248// SetManageBerkshelf sets the ManageBerkshelf field's value.
7249func (s *ChefConfiguration) SetManageBerkshelf(v bool) *ChefConfiguration {
7250	s.ManageBerkshelf = &v
7251	return s
7252}
7253
7254type CloneStackInput struct {
7255	_ struct{} `type:"structure"`
7256
7257	// The default AWS OpsWorks Stacks agent version. You have the following options:
7258	//
7259	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
7260	//    installs new agent versions on the stack's instances as soon as they are
7261	//    available.
7262	//
7263	//    * Fixed version - Set this parameter to your preferred agent version.
7264	//    To update the agent version, you must edit the stack configuration and
7265	//    specify a new version. AWS OpsWorks Stacks then automatically installs
7266	//    that version on the stack's instances.
7267	//
7268	// The default setting is LATEST. To specify an agent version, you must use
7269	// the complete version number, not the abbreviated number shown on the console.
7270	// For a list of available agent version numbers, call DescribeAgentVersions.
7271	// AgentVersion cannot be set to Chef 12.2.
7272	//
7273	// You can also specify an agent version when you create or update an instance,
7274	// which overrides the stack's default setting.
7275	AgentVersion *string `type:"string"`
7276
7277	// A list of stack attributes and values as key/value pairs to be added to the
7278	// cloned stack.
7279	Attributes map[string]*string `type:"map"`
7280
7281	// A ChefConfiguration object that specifies whether to enable Berkshelf and
7282	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
7283	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
7284	ChefConfiguration *ChefConfiguration `type:"structure"`
7285
7286	// A list of source stack app IDs to be included in the cloned stack.
7287	CloneAppIds []*string `type:"list"`
7288
7289	// Whether to clone the source stack's permissions.
7290	ClonePermissions *bool `type:"boolean"`
7291
7292	// The configuration manager. When you clone a stack we recommend that you use
7293	// the configuration manager to specify the Chef version: 12, 11.10, or 11.4
7294	// for Linux stacks, or 12.2 for Windows stacks. The default value for Linux
7295	// stacks is currently 12.
7296	ConfigurationManager *StackConfigurationManager `type:"structure"`
7297
7298	// Contains the information required to retrieve an app or cookbook from a repository.
7299	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
7300	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
7301	CustomCookbooksSource *Source `type:"structure"`
7302
7303	// A string that contains user-defined, custom JSON. It is used to override
7304	// the corresponding default stack configuration JSON values. The string should
7305	// be in the following format:
7306	//
7307	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
7308	//
7309	// For more information about custom JSON, see Use Custom JSON to Modify the
7310	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html)
7311	CustomJson *string `type:"string"`
7312
7313	// The cloned stack's default Availability Zone, which must be in the specified
7314	// region. For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
7315	// If you also specify a value for DefaultSubnetId, the subnet must be in the
7316	// same zone. For more information, see the VpcId parameter description.
7317	DefaultAvailabilityZone *string `type:"string"`
7318
7319	// The Amazon Resource Name (ARN) of an IAM profile that is the default profile
7320	// for all of the stack's EC2 instances. For more information about IAM ARNs,
7321	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
7322	DefaultInstanceProfileArn *string `type:"string"`
7323
7324	// The stack's operating system, which must be set to one of the following.
7325	//
7326	//    * A supported Linux operating system: An Amazon Linux version, such as
7327	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
7328	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
7329	//    2015.03.
7330	//
7331	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
7332	//    14.04 LTS, or Ubuntu 12.04 LTS.
7333	//
7334	//    * CentOS Linux 7
7335	//
7336	//    * Red Hat Enterprise Linux 7
7337	//
7338	//    * Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012
7339	//    R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL
7340	//    Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.
7341	//
7342	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
7343	//    you create instances. For more information about how to use custom AMIs
7344	//    with OpsWorks, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
7345	//
7346	// The default option is the parent stack's operating system. For more information
7347	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
7348	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
7349	//
7350	// You can specify a different Linux operating system for the cloned stack,
7351	// but you cannot change from Linux to Windows or Windows to Linux.
7352	DefaultOs *string `type:"string"`
7353
7354	// The default root device type. This value is used by default for all instances
7355	// in the cloned stack, but you can override it when you create an instance.
7356	// For more information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
7357	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
7358
7359	// A default Amazon EC2 key pair name. The default value is none. If you specify
7360	// a key pair name, AWS OpsWorks installs the public key on the instance and
7361	// you can use the private key with an SSH client to log in to the instance.
7362	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
7363	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
7364	// You can override this setting by specifying a different key pair, or no key
7365	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
7366	DefaultSshKeyName *string `type:"string"`
7367
7368	// The stack's default VPC subnet ID. This parameter is required if you specify
7369	// a value for the VpcId parameter. All instances are launched into this subnet
7370	// unless you specify otherwise when you create the instance. If you also specify
7371	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
7372	// information on default values and when this parameter is required, see the
7373	// VpcId parameter description.
7374	DefaultSubnetId *string `type:"string"`
7375
7376	// The stack's host name theme, with spaces are replaced by underscores. The
7377	// theme is used to generate host names for the stack's instances. By default,
7378	// HostnameTheme is set to Layer_Dependent, which creates host names by appending
7379	// integers to the layer's short name. The other themes are:
7380	//
7381	//    * Baked_Goods
7382	//
7383	//    * Clouds
7384	//
7385	//    * Europe_Cities
7386	//
7387	//    * Fruits
7388	//
7389	//    * Greek_Deities_and_Titans
7390	//
7391	//    * Legendary_creatures_from_Japan
7392	//
7393	//    * Planets_and_Moons
7394	//
7395	//    * Roman_Deities
7396	//
7397	//    * Scottish_Islands
7398	//
7399	//    * US_Cities
7400	//
7401	//    * Wild_Cats
7402	//
7403	// To obtain a generated host name, call GetHostNameSuggestion, which returns
7404	// a host name based on the current theme.
7405	HostnameTheme *string `type:"string"`
7406
7407	// The cloned stack name.
7408	Name *string `type:"string"`
7409
7410	// The cloned stack AWS region, such as "ap-northeast-2". For more information
7411	// about AWS regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
7412	Region *string `type:"string"`
7413
7414	// The stack AWS Identity and Access Management (IAM) role, which allows AWS
7415	// OpsWorks Stacks to work with AWS resources on your behalf. You must set this
7416	// parameter to the Amazon Resource Name (ARN) for an existing IAM role. If
7417	// you create a stack by using the AWS OpsWorks Stacks console, it creates the
7418	// role for you. You can obtain an existing stack's IAM ARN programmatically
7419	// by calling DescribePermissions. For more information about IAM ARNs, see
7420	// Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
7421	//
7422	// You must set this parameter to a valid service role ARN or the action will
7423	// fail; there is no default value. You can specify the source stack's service
7424	// role ARN, if you prefer, but you must do so explicitly.
7425	//
7426	// ServiceRoleArn is a required field
7427	ServiceRoleArn *string `type:"string" required:"true"`
7428
7429	// The source stack ID.
7430	//
7431	// SourceStackId is a required field
7432	SourceStackId *string `type:"string" required:"true"`
7433
7434	// Whether to use custom cookbooks.
7435	UseCustomCookbooks *bool `type:"boolean"`
7436
7437	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
7438	// the stack's layers.
7439	//
7440	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
7441	// one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups
7442	// you can instead provide your own custom security groups. UseOpsworksSecurityGroups
7443	// has the following settings:
7444	//
7445	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
7446	//    built-in security group with each layer (default setting). You can associate
7447	//    additional security groups with a layer after you create it but you cannot
7448	//    delete the built-in security group.
7449	//
7450	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
7451	//    with layers. You must create appropriate Amazon Elastic Compute Cloud
7452	//    (Amazon EC2) security groups and associate a security group with each
7453	//    layer that you create. However, you can still manually associate a built-in
7454	//    security group with a layer on creation; custom security groups are required
7455	//    only for those layers that need custom settings.
7456	//
7457	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
7458	UseOpsworksSecurityGroups *bool `type:"boolean"`
7459
7460	// The ID of the VPC that the cloned stack is to be launched into. It must be
7461	// in the specified region. All instances are launched into this VPC, and you
7462	// cannot change the ID later.
7463	//
7464	//    * If your account supports EC2 Classic, the default value is no VPC.
7465	//
7466	//    * If your account does not support EC2 Classic, the default value is the
7467	//    default VPC for the specified region.
7468	//
7469	// If the VPC ID corresponds to a default VPC and you have specified either
7470	// the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks
7471	// Stacks infers the value of the other parameter. If you specify neither parameter,
7472	// AWS OpsWorks Stacks sets these parameters to the first valid Availability
7473	// Zone for the specified region and the corresponding default VPC subnet ID,
7474	// respectively.
7475	//
7476	// If you specify a nondefault VPC ID, note the following:
7477	//
7478	//    * It must belong to a VPC in your account that is in the specified region.
7479	//
7480	//    * You must specify a value for DefaultSubnetId.
7481	//
7482	// For more information about how to use AWS OpsWorks Stacks with a VPC, see
7483	// Running a Stack in a VPC (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html).
7484	// For more information about default VPC and EC2 Classic, see Supported Platforms
7485	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
7486	VpcId *string `type:"string"`
7487}
7488
7489// String returns the string representation
7490func (s CloneStackInput) String() string {
7491	return awsutil.Prettify(s)
7492}
7493
7494// GoString returns the string representation
7495func (s CloneStackInput) GoString() string {
7496	return s.String()
7497}
7498
7499// Validate inspects the fields of the type to determine if they are valid.
7500func (s *CloneStackInput) Validate() error {
7501	invalidParams := request.ErrInvalidParams{Context: "CloneStackInput"}
7502	if s.ServiceRoleArn == nil {
7503		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
7504	}
7505	if s.SourceStackId == nil {
7506		invalidParams.Add(request.NewErrParamRequired("SourceStackId"))
7507	}
7508
7509	if invalidParams.Len() > 0 {
7510		return invalidParams
7511	}
7512	return nil
7513}
7514
7515// SetAgentVersion sets the AgentVersion field's value.
7516func (s *CloneStackInput) SetAgentVersion(v string) *CloneStackInput {
7517	s.AgentVersion = &v
7518	return s
7519}
7520
7521// SetAttributes sets the Attributes field's value.
7522func (s *CloneStackInput) SetAttributes(v map[string]*string) *CloneStackInput {
7523	s.Attributes = v
7524	return s
7525}
7526
7527// SetChefConfiguration sets the ChefConfiguration field's value.
7528func (s *CloneStackInput) SetChefConfiguration(v *ChefConfiguration) *CloneStackInput {
7529	s.ChefConfiguration = v
7530	return s
7531}
7532
7533// SetCloneAppIds sets the CloneAppIds field's value.
7534func (s *CloneStackInput) SetCloneAppIds(v []*string) *CloneStackInput {
7535	s.CloneAppIds = v
7536	return s
7537}
7538
7539// SetClonePermissions sets the ClonePermissions field's value.
7540func (s *CloneStackInput) SetClonePermissions(v bool) *CloneStackInput {
7541	s.ClonePermissions = &v
7542	return s
7543}
7544
7545// SetConfigurationManager sets the ConfigurationManager field's value.
7546func (s *CloneStackInput) SetConfigurationManager(v *StackConfigurationManager) *CloneStackInput {
7547	s.ConfigurationManager = v
7548	return s
7549}
7550
7551// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
7552func (s *CloneStackInput) SetCustomCookbooksSource(v *Source) *CloneStackInput {
7553	s.CustomCookbooksSource = v
7554	return s
7555}
7556
7557// SetCustomJson sets the CustomJson field's value.
7558func (s *CloneStackInput) SetCustomJson(v string) *CloneStackInput {
7559	s.CustomJson = &v
7560	return s
7561}
7562
7563// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
7564func (s *CloneStackInput) SetDefaultAvailabilityZone(v string) *CloneStackInput {
7565	s.DefaultAvailabilityZone = &v
7566	return s
7567}
7568
7569// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
7570func (s *CloneStackInput) SetDefaultInstanceProfileArn(v string) *CloneStackInput {
7571	s.DefaultInstanceProfileArn = &v
7572	return s
7573}
7574
7575// SetDefaultOs sets the DefaultOs field's value.
7576func (s *CloneStackInput) SetDefaultOs(v string) *CloneStackInput {
7577	s.DefaultOs = &v
7578	return s
7579}
7580
7581// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
7582func (s *CloneStackInput) SetDefaultRootDeviceType(v string) *CloneStackInput {
7583	s.DefaultRootDeviceType = &v
7584	return s
7585}
7586
7587// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
7588func (s *CloneStackInput) SetDefaultSshKeyName(v string) *CloneStackInput {
7589	s.DefaultSshKeyName = &v
7590	return s
7591}
7592
7593// SetDefaultSubnetId sets the DefaultSubnetId field's value.
7594func (s *CloneStackInput) SetDefaultSubnetId(v string) *CloneStackInput {
7595	s.DefaultSubnetId = &v
7596	return s
7597}
7598
7599// SetHostnameTheme sets the HostnameTheme field's value.
7600func (s *CloneStackInput) SetHostnameTheme(v string) *CloneStackInput {
7601	s.HostnameTheme = &v
7602	return s
7603}
7604
7605// SetName sets the Name field's value.
7606func (s *CloneStackInput) SetName(v string) *CloneStackInput {
7607	s.Name = &v
7608	return s
7609}
7610
7611// SetRegion sets the Region field's value.
7612func (s *CloneStackInput) SetRegion(v string) *CloneStackInput {
7613	s.Region = &v
7614	return s
7615}
7616
7617// SetServiceRoleArn sets the ServiceRoleArn field's value.
7618func (s *CloneStackInput) SetServiceRoleArn(v string) *CloneStackInput {
7619	s.ServiceRoleArn = &v
7620	return s
7621}
7622
7623// SetSourceStackId sets the SourceStackId field's value.
7624func (s *CloneStackInput) SetSourceStackId(v string) *CloneStackInput {
7625	s.SourceStackId = &v
7626	return s
7627}
7628
7629// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
7630func (s *CloneStackInput) SetUseCustomCookbooks(v bool) *CloneStackInput {
7631	s.UseCustomCookbooks = &v
7632	return s
7633}
7634
7635// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
7636func (s *CloneStackInput) SetUseOpsworksSecurityGroups(v bool) *CloneStackInput {
7637	s.UseOpsworksSecurityGroups = &v
7638	return s
7639}
7640
7641// SetVpcId sets the VpcId field's value.
7642func (s *CloneStackInput) SetVpcId(v string) *CloneStackInput {
7643	s.VpcId = &v
7644	return s
7645}
7646
7647// Contains the response to a CloneStack request.
7648type CloneStackOutput struct {
7649	_ struct{} `type:"structure"`
7650
7651	// The cloned stack ID.
7652	StackId *string `type:"string"`
7653}
7654
7655// String returns the string representation
7656func (s CloneStackOutput) String() string {
7657	return awsutil.Prettify(s)
7658}
7659
7660// GoString returns the string representation
7661func (s CloneStackOutput) GoString() string {
7662	return s.String()
7663}
7664
7665// SetStackId sets the StackId field's value.
7666func (s *CloneStackOutput) SetStackId(v string) *CloneStackOutput {
7667	s.StackId = &v
7668	return s
7669}
7670
7671// Describes the Amazon CloudWatch logs configuration for a layer.
7672type CloudWatchLogsConfiguration struct {
7673	_ struct{} `type:"structure"`
7674
7675	// Whether CloudWatch Logs is enabled for a layer.
7676	Enabled *bool `type:"boolean"`
7677
7678	// A list of configuration options for CloudWatch Logs.
7679	LogStreams []*CloudWatchLogsLogStream `type:"list"`
7680}
7681
7682// String returns the string representation
7683func (s CloudWatchLogsConfiguration) String() string {
7684	return awsutil.Prettify(s)
7685}
7686
7687// GoString returns the string representation
7688func (s CloudWatchLogsConfiguration) GoString() string {
7689	return s.String()
7690}
7691
7692// SetEnabled sets the Enabled field's value.
7693func (s *CloudWatchLogsConfiguration) SetEnabled(v bool) *CloudWatchLogsConfiguration {
7694	s.Enabled = &v
7695	return s
7696}
7697
7698// SetLogStreams sets the LogStreams field's value.
7699func (s *CloudWatchLogsConfiguration) SetLogStreams(v []*CloudWatchLogsLogStream) *CloudWatchLogsConfiguration {
7700	s.LogStreams = v
7701	return s
7702}
7703
7704// Describes the Amazon CloudWatch logs configuration for a layer. For detailed
7705// information about members of this data type, see the CloudWatch Logs Agent
7706// Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
7707type CloudWatchLogsLogStream struct {
7708	_ struct{} `type:"structure"`
7709
7710	// Specifies the max number of log events in a batch, up to 10000. The default
7711	// value is 1000.
7712	BatchCount *int64 `type:"integer"`
7713
7714	// Specifies the maximum size of log events in a batch, in bytes, up to 1048576
7715	// bytes. The default value is 32768 bytes. This size is calculated as the sum
7716	// of all event messages in UTF-8, plus 26 bytes for each log event.
7717	BatchSize *int64 `type:"integer"`
7718
7719	// Specifies the time duration for the batching of log events. The minimum value
7720	// is 5000ms and default value is 5000ms.
7721	BufferDuration *int64 `type:"integer"`
7722
7723	// Specifies how the time stamp is extracted from logs. For more information,
7724	// see the CloudWatch Logs Agent Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
7725	DatetimeFormat *string `type:"string"`
7726
7727	// Specifies the encoding of the log file so that the file can be read correctly.
7728	// The default is utf_8. Encodings supported by Python codecs.decode() can be
7729	// used here.
7730	Encoding *string `type:"string" enum:"CloudWatchLogsEncoding"`
7731
7732	// Specifies log files that you want to push to CloudWatch Logs.
7733	//
7734	// File can point to a specific file or multiple files (by using wild card characters
7735	// such as /var/log/system.log*). Only the latest file is pushed to CloudWatch
7736	// Logs, based on file modification time. We recommend that you use wild card
7737	// characters to specify a series of files of the same type, such as access_log.2014-06-01-01,
7738	// access_log.2014-06-01-02, and so on by using a pattern like access_log.*.
7739	// Don't use a wildcard to match multiple file types, such as access_log_80
7740	// and access_log_443. To specify multiple, different file types, add another
7741	// log stream entry to the configuration file, so that each log file type is
7742	// stored in a different log group.
7743	//
7744	// Zipped files are not supported.
7745	File *string `type:"string"`
7746
7747	// Specifies the range of lines for identifying a file. The valid values are
7748	// one number, or two dash-delimited numbers, such as '1', '2-5'. The default
7749	// value is '1', meaning the first line is used to calculate the fingerprint.
7750	// Fingerprint lines are not sent to CloudWatch Logs unless all specified lines
7751	// are available.
7752	FileFingerprintLines *string `type:"string"`
7753
7754	// Specifies where to start to read data (start_of_file or end_of_file). The
7755	// default is start_of_file. This setting is only used if there is no state
7756	// persisted for that log stream.
7757	InitialPosition *string `type:"string" enum:"CloudWatchLogsInitialPosition"`
7758
7759	// Specifies the destination log group. A log group is created automatically
7760	// if it doesn't already exist. Log group names can be between 1 and 512 characters
7761	// long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen),
7762	// '/' (forward slash), and '.' (period).
7763	LogGroupName *string `type:"string"`
7764
7765	// Specifies the pattern for identifying the start of a log message.
7766	MultiLineStartPattern *string `type:"string"`
7767
7768	// Specifies the time zone of log event time stamps.
7769	TimeZone *string `type:"string" enum:"CloudWatchLogsTimeZone"`
7770}
7771
7772// String returns the string representation
7773func (s CloudWatchLogsLogStream) String() string {
7774	return awsutil.Prettify(s)
7775}
7776
7777// GoString returns the string representation
7778func (s CloudWatchLogsLogStream) GoString() string {
7779	return s.String()
7780}
7781
7782// SetBatchCount sets the BatchCount field's value.
7783func (s *CloudWatchLogsLogStream) SetBatchCount(v int64) *CloudWatchLogsLogStream {
7784	s.BatchCount = &v
7785	return s
7786}
7787
7788// SetBatchSize sets the BatchSize field's value.
7789func (s *CloudWatchLogsLogStream) SetBatchSize(v int64) *CloudWatchLogsLogStream {
7790	s.BatchSize = &v
7791	return s
7792}
7793
7794// SetBufferDuration sets the BufferDuration field's value.
7795func (s *CloudWatchLogsLogStream) SetBufferDuration(v int64) *CloudWatchLogsLogStream {
7796	s.BufferDuration = &v
7797	return s
7798}
7799
7800// SetDatetimeFormat sets the DatetimeFormat field's value.
7801func (s *CloudWatchLogsLogStream) SetDatetimeFormat(v string) *CloudWatchLogsLogStream {
7802	s.DatetimeFormat = &v
7803	return s
7804}
7805
7806// SetEncoding sets the Encoding field's value.
7807func (s *CloudWatchLogsLogStream) SetEncoding(v string) *CloudWatchLogsLogStream {
7808	s.Encoding = &v
7809	return s
7810}
7811
7812// SetFile sets the File field's value.
7813func (s *CloudWatchLogsLogStream) SetFile(v string) *CloudWatchLogsLogStream {
7814	s.File = &v
7815	return s
7816}
7817
7818// SetFileFingerprintLines sets the FileFingerprintLines field's value.
7819func (s *CloudWatchLogsLogStream) SetFileFingerprintLines(v string) *CloudWatchLogsLogStream {
7820	s.FileFingerprintLines = &v
7821	return s
7822}
7823
7824// SetInitialPosition sets the InitialPosition field's value.
7825func (s *CloudWatchLogsLogStream) SetInitialPosition(v string) *CloudWatchLogsLogStream {
7826	s.InitialPosition = &v
7827	return s
7828}
7829
7830// SetLogGroupName sets the LogGroupName field's value.
7831func (s *CloudWatchLogsLogStream) SetLogGroupName(v string) *CloudWatchLogsLogStream {
7832	s.LogGroupName = &v
7833	return s
7834}
7835
7836// SetMultiLineStartPattern sets the MultiLineStartPattern field's value.
7837func (s *CloudWatchLogsLogStream) SetMultiLineStartPattern(v string) *CloudWatchLogsLogStream {
7838	s.MultiLineStartPattern = &v
7839	return s
7840}
7841
7842// SetTimeZone sets the TimeZone field's value.
7843func (s *CloudWatchLogsLogStream) SetTimeZone(v string) *CloudWatchLogsLogStream {
7844	s.TimeZone = &v
7845	return s
7846}
7847
7848// Describes a command.
7849type Command struct {
7850	_ struct{} `type:"structure"`
7851
7852	// Date and time when the command was acknowledged.
7853	AcknowledgedAt *string `type:"string"`
7854
7855	// The command ID.
7856	CommandId *string `type:"string"`
7857
7858	// Date when the command completed.
7859	CompletedAt *string `type:"string"`
7860
7861	// Date and time when the command was run.
7862	CreatedAt *string `type:"string"`
7863
7864	// The command deployment ID.
7865	DeploymentId *string `type:"string"`
7866
7867	// The command exit code.
7868	ExitCode *int64 `type:"integer"`
7869
7870	// The ID of the instance where the command was executed.
7871	InstanceId *string `type:"string"`
7872
7873	// The URL of the command log.
7874	LogUrl *string `type:"string"`
7875
7876	// The command status:
7877	//
7878	//    * failed
7879	//
7880	//    * successful
7881	//
7882	//    * skipped
7883	//
7884	//    * pending
7885	Status *string `type:"string"`
7886
7887	// The command type:
7888	//
7889	//    * configure
7890	//
7891	//    * deploy
7892	//
7893	//    * execute_recipes
7894	//
7895	//    * install_dependencies
7896	//
7897	//    * restart
7898	//
7899	//    * rollback
7900	//
7901	//    * setup
7902	//
7903	//    * start
7904	//
7905	//    * stop
7906	//
7907	//    * undeploy
7908	//
7909	//    * update_custom_cookbooks
7910	//
7911	//    * update_dependencies
7912	Type *string `type:"string"`
7913}
7914
7915// String returns the string representation
7916func (s Command) String() string {
7917	return awsutil.Prettify(s)
7918}
7919
7920// GoString returns the string representation
7921func (s Command) GoString() string {
7922	return s.String()
7923}
7924
7925// SetAcknowledgedAt sets the AcknowledgedAt field's value.
7926func (s *Command) SetAcknowledgedAt(v string) *Command {
7927	s.AcknowledgedAt = &v
7928	return s
7929}
7930
7931// SetCommandId sets the CommandId field's value.
7932func (s *Command) SetCommandId(v string) *Command {
7933	s.CommandId = &v
7934	return s
7935}
7936
7937// SetCompletedAt sets the CompletedAt field's value.
7938func (s *Command) SetCompletedAt(v string) *Command {
7939	s.CompletedAt = &v
7940	return s
7941}
7942
7943// SetCreatedAt sets the CreatedAt field's value.
7944func (s *Command) SetCreatedAt(v string) *Command {
7945	s.CreatedAt = &v
7946	return s
7947}
7948
7949// SetDeploymentId sets the DeploymentId field's value.
7950func (s *Command) SetDeploymentId(v string) *Command {
7951	s.DeploymentId = &v
7952	return s
7953}
7954
7955// SetExitCode sets the ExitCode field's value.
7956func (s *Command) SetExitCode(v int64) *Command {
7957	s.ExitCode = &v
7958	return s
7959}
7960
7961// SetInstanceId sets the InstanceId field's value.
7962func (s *Command) SetInstanceId(v string) *Command {
7963	s.InstanceId = &v
7964	return s
7965}
7966
7967// SetLogUrl sets the LogUrl field's value.
7968func (s *Command) SetLogUrl(v string) *Command {
7969	s.LogUrl = &v
7970	return s
7971}
7972
7973// SetStatus sets the Status field's value.
7974func (s *Command) SetStatus(v string) *Command {
7975	s.Status = &v
7976	return s
7977}
7978
7979// SetType sets the Type field's value.
7980func (s *Command) SetType(v string) *Command {
7981	s.Type = &v
7982	return s
7983}
7984
7985type CreateAppInput struct {
7986	_ struct{} `type:"structure"`
7987
7988	// A Source object that specifies the app repository.
7989	AppSource *Source `type:"structure"`
7990
7991	// One or more user-defined key/value pairs to be added to the stack attributes.
7992	Attributes map[string]*string `type:"map"`
7993
7994	// The app's data source.
7995	DataSources []*DataSource `type:"list"`
7996
7997	// A description of the app.
7998	Description *string `type:"string"`
7999
8000	// The app virtual host settings, with multiple domains separated by commas.
8001	// For example: 'www.example.com, example.com'
8002	Domains []*string `type:"list"`
8003
8004	// Whether to enable SSL for the app.
8005	EnableSsl *bool `type:"boolean"`
8006
8007	// An array of EnvironmentVariable objects that specify environment variables
8008	// to be associated with the app. After you deploy the app, these variables
8009	// are defined on the associated app server instance. For more information,
8010	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
8011	//
8012	// There is no specific limit on the number of environment variables. However,
8013	// the size of the associated data structure - which includes the variables'
8014	// names, values, and protected flag values - cannot exceed 20 KB. This limit
8015	// should accommodate most if not all use cases. Exceeding it will cause an
8016	// exception with the message, "Environment: is too large (maximum is 20KB)."
8017	//
8018	// If you have specified one or more environment variables, you cannot modify
8019	// the stack's Chef version.
8020	Environment []*EnvironmentVariable `type:"list"`
8021
8022	// The app name.
8023	//
8024	// Name is a required field
8025	Name *string `type:"string" required:"true"`
8026
8027	// The app's short name.
8028	Shortname *string `type:"string"`
8029
8030	// An SslConfiguration object with the SSL configuration.
8031	SslConfiguration *SslConfiguration `type:"structure"`
8032
8033	// The stack ID.
8034	//
8035	// StackId is a required field
8036	StackId *string `type:"string" required:"true"`
8037
8038	// The app type. Each supported type is associated with a particular layer.
8039	// For example, PHP applications are associated with a PHP layer. AWS OpsWorks
8040	// Stacks deploys an application to those instances that are members of the
8041	// corresponding layer. If your app isn't one of the standard types, or you
8042	// prefer to implement your own Deploy recipes, specify other.
8043	//
8044	// Type is a required field
8045	Type *string `type:"string" required:"true" enum:"AppType"`
8046}
8047
8048// String returns the string representation
8049func (s CreateAppInput) String() string {
8050	return awsutil.Prettify(s)
8051}
8052
8053// GoString returns the string representation
8054func (s CreateAppInput) GoString() string {
8055	return s.String()
8056}
8057
8058// Validate inspects the fields of the type to determine if they are valid.
8059func (s *CreateAppInput) Validate() error {
8060	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
8061	if s.Name == nil {
8062		invalidParams.Add(request.NewErrParamRequired("Name"))
8063	}
8064	if s.StackId == nil {
8065		invalidParams.Add(request.NewErrParamRequired("StackId"))
8066	}
8067	if s.Type == nil {
8068		invalidParams.Add(request.NewErrParamRequired("Type"))
8069	}
8070	if s.Environment != nil {
8071		for i, v := range s.Environment {
8072			if v == nil {
8073				continue
8074			}
8075			if err := v.Validate(); err != nil {
8076				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams))
8077			}
8078		}
8079	}
8080	if s.SslConfiguration != nil {
8081		if err := s.SslConfiguration.Validate(); err != nil {
8082			invalidParams.AddNested("SslConfiguration", err.(request.ErrInvalidParams))
8083		}
8084	}
8085
8086	if invalidParams.Len() > 0 {
8087		return invalidParams
8088	}
8089	return nil
8090}
8091
8092// SetAppSource sets the AppSource field's value.
8093func (s *CreateAppInput) SetAppSource(v *Source) *CreateAppInput {
8094	s.AppSource = v
8095	return s
8096}
8097
8098// SetAttributes sets the Attributes field's value.
8099func (s *CreateAppInput) SetAttributes(v map[string]*string) *CreateAppInput {
8100	s.Attributes = v
8101	return s
8102}
8103
8104// SetDataSources sets the DataSources field's value.
8105func (s *CreateAppInput) SetDataSources(v []*DataSource) *CreateAppInput {
8106	s.DataSources = v
8107	return s
8108}
8109
8110// SetDescription sets the Description field's value.
8111func (s *CreateAppInput) SetDescription(v string) *CreateAppInput {
8112	s.Description = &v
8113	return s
8114}
8115
8116// SetDomains sets the Domains field's value.
8117func (s *CreateAppInput) SetDomains(v []*string) *CreateAppInput {
8118	s.Domains = v
8119	return s
8120}
8121
8122// SetEnableSsl sets the EnableSsl field's value.
8123func (s *CreateAppInput) SetEnableSsl(v bool) *CreateAppInput {
8124	s.EnableSsl = &v
8125	return s
8126}
8127
8128// SetEnvironment sets the Environment field's value.
8129func (s *CreateAppInput) SetEnvironment(v []*EnvironmentVariable) *CreateAppInput {
8130	s.Environment = v
8131	return s
8132}
8133
8134// SetName sets the Name field's value.
8135func (s *CreateAppInput) SetName(v string) *CreateAppInput {
8136	s.Name = &v
8137	return s
8138}
8139
8140// SetShortname sets the Shortname field's value.
8141func (s *CreateAppInput) SetShortname(v string) *CreateAppInput {
8142	s.Shortname = &v
8143	return s
8144}
8145
8146// SetSslConfiguration sets the SslConfiguration field's value.
8147func (s *CreateAppInput) SetSslConfiguration(v *SslConfiguration) *CreateAppInput {
8148	s.SslConfiguration = v
8149	return s
8150}
8151
8152// SetStackId sets the StackId field's value.
8153func (s *CreateAppInput) SetStackId(v string) *CreateAppInput {
8154	s.StackId = &v
8155	return s
8156}
8157
8158// SetType sets the Type field's value.
8159func (s *CreateAppInput) SetType(v string) *CreateAppInput {
8160	s.Type = &v
8161	return s
8162}
8163
8164// Contains the response to a CreateApp request.
8165type CreateAppOutput struct {
8166	_ struct{} `type:"structure"`
8167
8168	// The app ID.
8169	AppId *string `type:"string"`
8170}
8171
8172// String returns the string representation
8173func (s CreateAppOutput) String() string {
8174	return awsutil.Prettify(s)
8175}
8176
8177// GoString returns the string representation
8178func (s CreateAppOutput) GoString() string {
8179	return s.String()
8180}
8181
8182// SetAppId sets the AppId field's value.
8183func (s *CreateAppOutput) SetAppId(v string) *CreateAppOutput {
8184	s.AppId = &v
8185	return s
8186}
8187
8188type CreateDeploymentInput struct {
8189	_ struct{} `type:"structure"`
8190
8191	// The app ID. This parameter is required for app deployments, but not for other
8192	// deployment commands.
8193	AppId *string `type:"string"`
8194
8195	// A DeploymentCommand object that specifies the deployment command and any
8196	// associated arguments.
8197	//
8198	// Command is a required field
8199	Command *DeploymentCommand `type:"structure" required:"true"`
8200
8201	// A user-defined comment.
8202	Comment *string `type:"string"`
8203
8204	// A string that contains user-defined, custom JSON. You can use this parameter
8205	// to override some corresponding default stack configuration JSON values. The
8206	// string should be in the following format:
8207	//
8208	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
8209	//
8210	// For more information about custom JSON, see Use Custom JSON to Modify the
8211	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html)
8212	// and Overriding Attributes With Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
8213	CustomJson *string `type:"string"`
8214
8215	// The instance IDs for the deployment targets.
8216	InstanceIds []*string `type:"list"`
8217
8218	// The layer IDs for the deployment targets.
8219	LayerIds []*string `type:"list"`
8220
8221	// The stack ID.
8222	//
8223	// StackId is a required field
8224	StackId *string `type:"string" required:"true"`
8225}
8226
8227// String returns the string representation
8228func (s CreateDeploymentInput) String() string {
8229	return awsutil.Prettify(s)
8230}
8231
8232// GoString returns the string representation
8233func (s CreateDeploymentInput) GoString() string {
8234	return s.String()
8235}
8236
8237// Validate inspects the fields of the type to determine if they are valid.
8238func (s *CreateDeploymentInput) Validate() error {
8239	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
8240	if s.Command == nil {
8241		invalidParams.Add(request.NewErrParamRequired("Command"))
8242	}
8243	if s.StackId == nil {
8244		invalidParams.Add(request.NewErrParamRequired("StackId"))
8245	}
8246	if s.Command != nil {
8247		if err := s.Command.Validate(); err != nil {
8248			invalidParams.AddNested("Command", err.(request.ErrInvalidParams))
8249		}
8250	}
8251
8252	if invalidParams.Len() > 0 {
8253		return invalidParams
8254	}
8255	return nil
8256}
8257
8258// SetAppId sets the AppId field's value.
8259func (s *CreateDeploymentInput) SetAppId(v string) *CreateDeploymentInput {
8260	s.AppId = &v
8261	return s
8262}
8263
8264// SetCommand sets the Command field's value.
8265func (s *CreateDeploymentInput) SetCommand(v *DeploymentCommand) *CreateDeploymentInput {
8266	s.Command = v
8267	return s
8268}
8269
8270// SetComment sets the Comment field's value.
8271func (s *CreateDeploymentInput) SetComment(v string) *CreateDeploymentInput {
8272	s.Comment = &v
8273	return s
8274}
8275
8276// SetCustomJson sets the CustomJson field's value.
8277func (s *CreateDeploymentInput) SetCustomJson(v string) *CreateDeploymentInput {
8278	s.CustomJson = &v
8279	return s
8280}
8281
8282// SetInstanceIds sets the InstanceIds field's value.
8283func (s *CreateDeploymentInput) SetInstanceIds(v []*string) *CreateDeploymentInput {
8284	s.InstanceIds = v
8285	return s
8286}
8287
8288// SetLayerIds sets the LayerIds field's value.
8289func (s *CreateDeploymentInput) SetLayerIds(v []*string) *CreateDeploymentInput {
8290	s.LayerIds = v
8291	return s
8292}
8293
8294// SetStackId sets the StackId field's value.
8295func (s *CreateDeploymentInput) SetStackId(v string) *CreateDeploymentInput {
8296	s.StackId = &v
8297	return s
8298}
8299
8300// Contains the response to a CreateDeployment request.
8301type CreateDeploymentOutput struct {
8302	_ struct{} `type:"structure"`
8303
8304	// The deployment ID, which can be used with other requests to identify the
8305	// deployment.
8306	DeploymentId *string `type:"string"`
8307}
8308
8309// String returns the string representation
8310func (s CreateDeploymentOutput) String() string {
8311	return awsutil.Prettify(s)
8312}
8313
8314// GoString returns the string representation
8315func (s CreateDeploymentOutput) GoString() string {
8316	return s.String()
8317}
8318
8319// SetDeploymentId sets the DeploymentId field's value.
8320func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
8321	s.DeploymentId = &v
8322	return s
8323}
8324
8325type CreateInstanceInput struct {
8326	_ struct{} `type:"structure"`
8327
8328	// The default AWS OpsWorks Stacks agent version. You have the following options:
8329	//
8330	//    * INHERIT - Use the stack's default agent version setting.
8331	//
8332	//    * version_number - Use the specified agent version. This value overrides
8333	//    the stack's default setting. To update the agent version, edit the instance
8334	//    configuration and specify a new version. AWS OpsWorks Stacks then automatically
8335	//    installs that version on the instance.
8336	//
8337	// The default setting is INHERIT. To specify an agent version, you must use
8338	// the complete version number, not the abbreviated number shown on the console.
8339	// For a list of available agent version numbers, call DescribeAgentVersions.
8340	// AgentVersion cannot be set to Chef 12.2.
8341	AgentVersion *string `type:"string"`
8342
8343	// A custom AMI ID to be used to create the instance. The AMI should be based
8344	// on one of the supported operating systems. For more information, see Using
8345	// Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
8346	//
8347	// If you specify a custom AMI, you must set Os to Custom.
8348	AmiId *string `type:"string"`
8349
8350	// The instance architecture. The default option is x86_64. Instance types do
8351	// not necessarily support both architectures. For a list of the architectures
8352	// that are supported by the different instance types, see Instance Families
8353	// and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
8354	Architecture *string `type:"string" enum:"Architecture"`
8355
8356	// For load-based or time-based instances, the type. Windows stacks can use
8357	// only time-based instances.
8358	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
8359
8360	// The instance Availability Zone. For more information, see Regions and Endpoints
8361	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
8362	AvailabilityZone *string `type:"string"`
8363
8364	// An array of BlockDeviceMapping objects that specify the instance's block
8365	// devices. For more information, see Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html).
8366	// Note that block device mappings are not supported for custom AMIs.
8367	BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
8368
8369	// Whether to create an Amazon EBS-optimized instance.
8370	EbsOptimized *bool `type:"boolean"`
8371
8372	// The instance host name.
8373	Hostname *string `type:"string"`
8374
8375	// Whether to install operating system and package updates when the instance
8376	// boots. The default value is true. To control when updates are installed,
8377	// set this value to false. You must then update your instances manually by
8378	// using CreateDeployment to run the update_dependencies stack command or by
8379	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
8380	//
8381	// We strongly recommend using the default value of true to ensure that your
8382	// instances have the latest security updates.
8383	InstallUpdatesOnBoot *bool `type:"boolean"`
8384
8385	// The instance type, such as t2.micro. For a list of supported instance types,
8386	// open the stack in the console, choose Instances, and choose + Instance. The
8387	// Size list contains the currently supported types. For more information, see
8388	// Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
8389	// The parameter values that you use to specify the various types are in the
8390	// API Name column of the Available Instance Types table.
8391	//
8392	// InstanceType is a required field
8393	InstanceType *string `type:"string" required:"true"`
8394
8395	// An array that contains the instance's layer IDs.
8396	//
8397	// LayerIds is a required field
8398	LayerIds []*string `type:"list" required:"true"`
8399
8400	// The instance's operating system, which must be set to one of the following.
8401	//
8402	//    * A supported Linux operating system: An Amazon Linux version, such as
8403	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
8404	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
8405	//    2015.03.
8406	//
8407	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
8408	//    14.04 LTS, or Ubuntu 12.04 LTS.
8409	//
8410	//    * CentOS Linux 7
8411	//
8412	//    * Red Hat Enterprise Linux 7
8413	//
8414	//    * A supported Windows operating system, such as Microsoft Windows Server
8415	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
8416	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
8417	//    Windows Server 2012 R2 with SQL Server Web.
8418	//
8419	//    * A custom AMI: Custom.
8420	//
8421	// For more information about the supported operating systems, see AWS OpsWorks
8422	// Stacks Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
8423	//
8424	// The default option is the current Amazon Linux version. If you set this parameter
8425	// to Custom, you must use the CreateInstance action's AmiId parameter to specify
8426	// the custom AMI that you want to use. Block device mappings are not supported
8427	// if the value is Custom. For more information about supported operating systems,
8428	// see Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html)For
8429	// more information about how to use custom AMIs with AWS OpsWorks Stacks, see
8430	// Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
8431	Os *string `type:"string"`
8432
8433	// The instance root device type. For more information, see Storage for the
8434	// Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
8435	RootDeviceType *string `type:"string" enum:"RootDeviceType"`
8436
8437	// The instance's Amazon EC2 key-pair name.
8438	SshKeyName *string `type:"string"`
8439
8440	// The stack ID.
8441	//
8442	// StackId is a required field
8443	StackId *string `type:"string" required:"true"`
8444
8445	// The ID of the instance's subnet. If the stack is running in a VPC, you can
8446	// use this parameter to override the stack's default subnet ID value and direct
8447	// AWS OpsWorks Stacks to launch the instance in a different subnet.
8448	SubnetId *string `type:"string"`
8449
8450	// The instance's tenancy option. The default option is no tenancy, or if the
8451	// instance is running in a VPC, inherit tenancy settings from the VPC. The
8452	// following are valid values for this parameter: dedicated, default, or host.
8453	// Because there are costs associated with changes in tenancy options, we recommend
8454	// that you research tenancy options before choosing them for your instances.
8455	// For more information about dedicated hosts, see Dedicated Hosts Overview
8456	// (http://aws.amazon.com/ec2/dedicated-hosts/) and Amazon EC2 Dedicated Hosts
8457	// (http://aws.amazon.com/ec2/dedicated-hosts/). For more information about
8458	// dedicated instances, see Dedicated Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html)
8459	// and Amazon EC2 Dedicated Instances (http://aws.amazon.com/ec2/purchasing-options/dedicated-instances/).
8460	Tenancy *string `type:"string"`
8461
8462	// The instance's virtualization type, paravirtual or hvm.
8463	VirtualizationType *string `type:"string"`
8464}
8465
8466// String returns the string representation
8467func (s CreateInstanceInput) String() string {
8468	return awsutil.Prettify(s)
8469}
8470
8471// GoString returns the string representation
8472func (s CreateInstanceInput) GoString() string {
8473	return s.String()
8474}
8475
8476// Validate inspects the fields of the type to determine if they are valid.
8477func (s *CreateInstanceInput) Validate() error {
8478	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceInput"}
8479	if s.InstanceType == nil {
8480		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
8481	}
8482	if s.LayerIds == nil {
8483		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
8484	}
8485	if s.StackId == nil {
8486		invalidParams.Add(request.NewErrParamRequired("StackId"))
8487	}
8488
8489	if invalidParams.Len() > 0 {
8490		return invalidParams
8491	}
8492	return nil
8493}
8494
8495// SetAgentVersion sets the AgentVersion field's value.
8496func (s *CreateInstanceInput) SetAgentVersion(v string) *CreateInstanceInput {
8497	s.AgentVersion = &v
8498	return s
8499}
8500
8501// SetAmiId sets the AmiId field's value.
8502func (s *CreateInstanceInput) SetAmiId(v string) *CreateInstanceInput {
8503	s.AmiId = &v
8504	return s
8505}
8506
8507// SetArchitecture sets the Architecture field's value.
8508func (s *CreateInstanceInput) SetArchitecture(v string) *CreateInstanceInput {
8509	s.Architecture = &v
8510	return s
8511}
8512
8513// SetAutoScalingType sets the AutoScalingType field's value.
8514func (s *CreateInstanceInput) SetAutoScalingType(v string) *CreateInstanceInput {
8515	s.AutoScalingType = &v
8516	return s
8517}
8518
8519// SetAvailabilityZone sets the AvailabilityZone field's value.
8520func (s *CreateInstanceInput) SetAvailabilityZone(v string) *CreateInstanceInput {
8521	s.AvailabilityZone = &v
8522	return s
8523}
8524
8525// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
8526func (s *CreateInstanceInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateInstanceInput {
8527	s.BlockDeviceMappings = v
8528	return s
8529}
8530
8531// SetEbsOptimized sets the EbsOptimized field's value.
8532func (s *CreateInstanceInput) SetEbsOptimized(v bool) *CreateInstanceInput {
8533	s.EbsOptimized = &v
8534	return s
8535}
8536
8537// SetHostname sets the Hostname field's value.
8538func (s *CreateInstanceInput) SetHostname(v string) *CreateInstanceInput {
8539	s.Hostname = &v
8540	return s
8541}
8542
8543// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
8544func (s *CreateInstanceInput) SetInstallUpdatesOnBoot(v bool) *CreateInstanceInput {
8545	s.InstallUpdatesOnBoot = &v
8546	return s
8547}
8548
8549// SetInstanceType sets the InstanceType field's value.
8550func (s *CreateInstanceInput) SetInstanceType(v string) *CreateInstanceInput {
8551	s.InstanceType = &v
8552	return s
8553}
8554
8555// SetLayerIds sets the LayerIds field's value.
8556func (s *CreateInstanceInput) SetLayerIds(v []*string) *CreateInstanceInput {
8557	s.LayerIds = v
8558	return s
8559}
8560
8561// SetOs sets the Os field's value.
8562func (s *CreateInstanceInput) SetOs(v string) *CreateInstanceInput {
8563	s.Os = &v
8564	return s
8565}
8566
8567// SetRootDeviceType sets the RootDeviceType field's value.
8568func (s *CreateInstanceInput) SetRootDeviceType(v string) *CreateInstanceInput {
8569	s.RootDeviceType = &v
8570	return s
8571}
8572
8573// SetSshKeyName sets the SshKeyName field's value.
8574func (s *CreateInstanceInput) SetSshKeyName(v string) *CreateInstanceInput {
8575	s.SshKeyName = &v
8576	return s
8577}
8578
8579// SetStackId sets the StackId field's value.
8580func (s *CreateInstanceInput) SetStackId(v string) *CreateInstanceInput {
8581	s.StackId = &v
8582	return s
8583}
8584
8585// SetSubnetId sets the SubnetId field's value.
8586func (s *CreateInstanceInput) SetSubnetId(v string) *CreateInstanceInput {
8587	s.SubnetId = &v
8588	return s
8589}
8590
8591// SetTenancy sets the Tenancy field's value.
8592func (s *CreateInstanceInput) SetTenancy(v string) *CreateInstanceInput {
8593	s.Tenancy = &v
8594	return s
8595}
8596
8597// SetVirtualizationType sets the VirtualizationType field's value.
8598func (s *CreateInstanceInput) SetVirtualizationType(v string) *CreateInstanceInput {
8599	s.VirtualizationType = &v
8600	return s
8601}
8602
8603// Contains the response to a CreateInstance request.
8604type CreateInstanceOutput struct {
8605	_ struct{} `type:"structure"`
8606
8607	// The instance ID.
8608	InstanceId *string `type:"string"`
8609}
8610
8611// String returns the string representation
8612func (s CreateInstanceOutput) String() string {
8613	return awsutil.Prettify(s)
8614}
8615
8616// GoString returns the string representation
8617func (s CreateInstanceOutput) GoString() string {
8618	return s.String()
8619}
8620
8621// SetInstanceId sets the InstanceId field's value.
8622func (s *CreateInstanceOutput) SetInstanceId(v string) *CreateInstanceOutput {
8623	s.InstanceId = &v
8624	return s
8625}
8626
8627type CreateLayerInput struct {
8628	_ struct{} `type:"structure"`
8629
8630	// One or more user-defined key-value pairs to be added to the stack attributes.
8631	//
8632	// To create a cluster layer, set the EcsClusterArn attribute to the cluster's
8633	// ARN.
8634	Attributes map[string]*string `type:"map"`
8635
8636	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
8637	// 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).
8638	AutoAssignElasticIps *bool `type:"boolean"`
8639
8640	// For stacks that are running in a VPC, whether to automatically assign a public
8641	// IP address to the layer's instances. For more information, see How to Edit
8642	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
8643	AutoAssignPublicIps *bool `type:"boolean"`
8644
8645	// Specifies CloudWatch Logs configuration options for the layer. For more information,
8646	// see CloudWatchLogsLogStream.
8647	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
8648
8649	// The ARN of an IAM profile to be used for the layer's EC2 instances. For more
8650	// information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
8651	CustomInstanceProfileArn *string `type:"string"`
8652
8653	// A JSON-formatted string containing custom stack configuration and deployment
8654	// attributes to be installed on the layer's instances. For more information,
8655	// see Using Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
8656	// This feature is supported as of version 1.7.42 of the AWS CLI.
8657	CustomJson *string `type:"string"`
8658
8659	// A LayerCustomRecipes object that specifies the layer custom recipes.
8660	CustomRecipes *Recipes `type:"structure"`
8661
8662	// An array containing the layer custom security group IDs.
8663	CustomSecurityGroupIds []*string `type:"list"`
8664
8665	// Whether to disable auto healing for the layer.
8666	EnableAutoHealing *bool `type:"boolean"`
8667
8668	// Whether to install operating system and package updates when the instance
8669	// boots. The default value is true. To control when updates are installed,
8670	// set this value to false. You must then update your instances manually by
8671	// using CreateDeployment to run the update_dependencies stack command or by
8672	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
8673	//
8674	// To ensure that your instances have the latest security updates, we strongly
8675	// recommend using the default value of true.
8676	InstallUpdatesOnBoot *bool `type:"boolean"`
8677
8678	// A LifeCycleEventConfiguration object that you can use to configure the Shutdown
8679	// event to specify an execution timeout and enable or disable Elastic Load
8680	// Balancer connection draining.
8681	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
8682
8683	// The layer name, which is used by the console.
8684	//
8685	// Name is a required field
8686	Name *string `type:"string" required:"true"`
8687
8688	// An array of Package objects that describes the layer packages.
8689	Packages []*string `type:"list"`
8690
8691	// For custom layers only, use this parameter to specify the layer's short name,
8692	// which is used internally by AWS OpsWorks Stacks and by Chef recipes. The
8693	// short name is also used as the name for the directory where your app files
8694	// are installed. It can have a maximum of 200 characters, which are limited
8695	// to the alphanumeric characters, '-', '_', and '.'.
8696	//
8697	// The built-in layers' short names are defined by AWS OpsWorks Stacks. For
8698	// more information, see the Layer Reference (https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html).
8699	//
8700	// Shortname is a required field
8701	Shortname *string `type:"string" required:"true"`
8702
8703	// The layer stack ID.
8704	//
8705	// StackId is a required field
8706	StackId *string `type:"string" required:"true"`
8707
8708	// The layer type. A stack cannot have more than one built-in layer of the same
8709	// type. It can have any number of custom layers. Built-in layers are not available
8710	// in Chef 12 stacks.
8711	//
8712	// Type is a required field
8713	Type *string `type:"string" required:"true" enum:"LayerType"`
8714
8715	// Whether to use Amazon EBS-optimized instances.
8716	UseEbsOptimizedInstances *bool `type:"boolean"`
8717
8718	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
8719	VolumeConfigurations []*VolumeConfiguration `type:"list"`
8720}
8721
8722// String returns the string representation
8723func (s CreateLayerInput) String() string {
8724	return awsutil.Prettify(s)
8725}
8726
8727// GoString returns the string representation
8728func (s CreateLayerInput) GoString() string {
8729	return s.String()
8730}
8731
8732// Validate inspects the fields of the type to determine if they are valid.
8733func (s *CreateLayerInput) Validate() error {
8734	invalidParams := request.ErrInvalidParams{Context: "CreateLayerInput"}
8735	if s.Name == nil {
8736		invalidParams.Add(request.NewErrParamRequired("Name"))
8737	}
8738	if s.Shortname == nil {
8739		invalidParams.Add(request.NewErrParamRequired("Shortname"))
8740	}
8741	if s.StackId == nil {
8742		invalidParams.Add(request.NewErrParamRequired("StackId"))
8743	}
8744	if s.Type == nil {
8745		invalidParams.Add(request.NewErrParamRequired("Type"))
8746	}
8747	if s.VolumeConfigurations != nil {
8748		for i, v := range s.VolumeConfigurations {
8749			if v == nil {
8750				continue
8751			}
8752			if err := v.Validate(); err != nil {
8753				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VolumeConfigurations", i), err.(request.ErrInvalidParams))
8754			}
8755		}
8756	}
8757
8758	if invalidParams.Len() > 0 {
8759		return invalidParams
8760	}
8761	return nil
8762}
8763
8764// SetAttributes sets the Attributes field's value.
8765func (s *CreateLayerInput) SetAttributes(v map[string]*string) *CreateLayerInput {
8766	s.Attributes = v
8767	return s
8768}
8769
8770// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
8771func (s *CreateLayerInput) SetAutoAssignElasticIps(v bool) *CreateLayerInput {
8772	s.AutoAssignElasticIps = &v
8773	return s
8774}
8775
8776// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
8777func (s *CreateLayerInput) SetAutoAssignPublicIps(v bool) *CreateLayerInput {
8778	s.AutoAssignPublicIps = &v
8779	return s
8780}
8781
8782// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
8783func (s *CreateLayerInput) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *CreateLayerInput {
8784	s.CloudWatchLogsConfiguration = v
8785	return s
8786}
8787
8788// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
8789func (s *CreateLayerInput) SetCustomInstanceProfileArn(v string) *CreateLayerInput {
8790	s.CustomInstanceProfileArn = &v
8791	return s
8792}
8793
8794// SetCustomJson sets the CustomJson field's value.
8795func (s *CreateLayerInput) SetCustomJson(v string) *CreateLayerInput {
8796	s.CustomJson = &v
8797	return s
8798}
8799
8800// SetCustomRecipes sets the CustomRecipes field's value.
8801func (s *CreateLayerInput) SetCustomRecipes(v *Recipes) *CreateLayerInput {
8802	s.CustomRecipes = v
8803	return s
8804}
8805
8806// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
8807func (s *CreateLayerInput) SetCustomSecurityGroupIds(v []*string) *CreateLayerInput {
8808	s.CustomSecurityGroupIds = v
8809	return s
8810}
8811
8812// SetEnableAutoHealing sets the EnableAutoHealing field's value.
8813func (s *CreateLayerInput) SetEnableAutoHealing(v bool) *CreateLayerInput {
8814	s.EnableAutoHealing = &v
8815	return s
8816}
8817
8818// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
8819func (s *CreateLayerInput) SetInstallUpdatesOnBoot(v bool) *CreateLayerInput {
8820	s.InstallUpdatesOnBoot = &v
8821	return s
8822}
8823
8824// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
8825func (s *CreateLayerInput) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *CreateLayerInput {
8826	s.LifecycleEventConfiguration = v
8827	return s
8828}
8829
8830// SetName sets the Name field's value.
8831func (s *CreateLayerInput) SetName(v string) *CreateLayerInput {
8832	s.Name = &v
8833	return s
8834}
8835
8836// SetPackages sets the Packages field's value.
8837func (s *CreateLayerInput) SetPackages(v []*string) *CreateLayerInput {
8838	s.Packages = v
8839	return s
8840}
8841
8842// SetShortname sets the Shortname field's value.
8843func (s *CreateLayerInput) SetShortname(v string) *CreateLayerInput {
8844	s.Shortname = &v
8845	return s
8846}
8847
8848// SetStackId sets the StackId field's value.
8849func (s *CreateLayerInput) SetStackId(v string) *CreateLayerInput {
8850	s.StackId = &v
8851	return s
8852}
8853
8854// SetType sets the Type field's value.
8855func (s *CreateLayerInput) SetType(v string) *CreateLayerInput {
8856	s.Type = &v
8857	return s
8858}
8859
8860// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
8861func (s *CreateLayerInput) SetUseEbsOptimizedInstances(v bool) *CreateLayerInput {
8862	s.UseEbsOptimizedInstances = &v
8863	return s
8864}
8865
8866// SetVolumeConfigurations sets the VolumeConfigurations field's value.
8867func (s *CreateLayerInput) SetVolumeConfigurations(v []*VolumeConfiguration) *CreateLayerInput {
8868	s.VolumeConfigurations = v
8869	return s
8870}
8871
8872// Contains the response to a CreateLayer request.
8873type CreateLayerOutput struct {
8874	_ struct{} `type:"structure"`
8875
8876	// The layer ID.
8877	LayerId *string `type:"string"`
8878}
8879
8880// String returns the string representation
8881func (s CreateLayerOutput) String() string {
8882	return awsutil.Prettify(s)
8883}
8884
8885// GoString returns the string representation
8886func (s CreateLayerOutput) GoString() string {
8887	return s.String()
8888}
8889
8890// SetLayerId sets the LayerId field's value.
8891func (s *CreateLayerOutput) SetLayerId(v string) *CreateLayerOutput {
8892	s.LayerId = &v
8893	return s
8894}
8895
8896type CreateStackInput struct {
8897	_ struct{} `type:"structure"`
8898
8899	// The default AWS OpsWorks Stacks agent version. You have the following options:
8900	//
8901	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
8902	//    installs new agent versions on the stack's instances as soon as they are
8903	//    available.
8904	//
8905	//    * Fixed version - Set this parameter to your preferred agent version.
8906	//    To update the agent version, you must edit the stack configuration and
8907	//    specify a new version. AWS OpsWorks Stacks then automatically installs
8908	//    that version on the stack's instances.
8909	//
8910	// The default setting is the most recent release of the agent. To specify an
8911	// agent version, you must use the complete version number, not the abbreviated
8912	// number shown on the console. For a list of available agent version numbers,
8913	// call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.
8914	//
8915	// You can also specify an agent version when you create or update an instance,
8916	// which overrides the stack's default setting.
8917	AgentVersion *string `type:"string"`
8918
8919	// One or more user-defined key-value pairs to be added to the stack attributes.
8920	Attributes map[string]*string `type:"map"`
8921
8922	// A ChefConfiguration object that specifies whether to enable Berkshelf and
8923	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
8924	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
8925	ChefConfiguration *ChefConfiguration `type:"structure"`
8926
8927	// The configuration manager. When you create a stack we recommend that you
8928	// use the configuration manager to specify the Chef version: 12, 11.10, or
8929	// 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for
8930	// Linux stacks is currently 12.
8931	ConfigurationManager *StackConfigurationManager `type:"structure"`
8932
8933	// Contains the information required to retrieve an app or cookbook from a repository.
8934	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
8935	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
8936	CustomCookbooksSource *Source `type:"structure"`
8937
8938	// A string that contains user-defined, custom JSON. It can be used to override
8939	// the corresponding default stack configuration attribute values or to pass
8940	// data to recipes. The string should be in the following format:
8941	//
8942	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
8943	//
8944	// For more information about custom JSON, see Use Custom JSON to Modify the
8945	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
8946	CustomJson *string `type:"string"`
8947
8948	// The stack's default Availability Zone, which must be in the specified region.
8949	// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
8950	// If you also specify a value for DefaultSubnetId, the subnet must be in the
8951	// same zone. For more information, see the VpcId parameter description.
8952	DefaultAvailabilityZone *string `type:"string"`
8953
8954	// The Amazon Resource Name (ARN) of an IAM profile that is the default profile
8955	// for all of the stack's EC2 instances. For more information about IAM ARNs,
8956	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
8957	//
8958	// DefaultInstanceProfileArn is a required field
8959	DefaultInstanceProfileArn *string `type:"string" required:"true"`
8960
8961	// The stack's default operating system, which is installed on every instance
8962	// unless you specify a different operating system when you create the instance.
8963	// You can specify one of the following.
8964	//
8965	//    * A supported Linux operating system: An Amazon Linux version, such as
8966	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
8967	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
8968	//    2015.03.
8969	//
8970	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
8971	//    14.04 LTS, or Ubuntu 12.04 LTS.
8972	//
8973	//    * CentOS Linux 7
8974	//
8975	//    * Red Hat Enterprise Linux 7
8976	//
8977	//    * A supported Windows operating system, such as Microsoft Windows Server
8978	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
8979	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
8980	//    Windows Server 2012 R2 with SQL Server Web.
8981	//
8982	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
8983	//    you create instances. For more information, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
8984	//
8985	// The default option is the current Amazon Linux version. For more information
8986	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
8987	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
8988	DefaultOs *string `type:"string"`
8989
8990	// The default root device type. This value is the default for all instances
8991	// in the stack, but you can override it when you create an instance. The default
8992	// option is instance-store. For more information, see Storage for the Root
8993	// Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
8994	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
8995
8996	// A default Amazon EC2 key pair name. The default value is none. If you specify
8997	// a key pair name, AWS OpsWorks installs the public key on the instance and
8998	// you can use the private key with an SSH client to log in to the instance.
8999	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
9000	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
9001	// You can override this setting by specifying a different key pair, or no key
9002	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
9003	DefaultSshKeyName *string `type:"string"`
9004
9005	// The stack's default VPC subnet ID. This parameter is required if you specify
9006	// a value for the VpcId parameter. All instances are launched into this subnet
9007	// unless you specify otherwise when you create the instance. If you also specify
9008	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
9009	// information on default values and when this parameter is required, see the
9010	// VpcId parameter description.
9011	DefaultSubnetId *string `type:"string"`
9012
9013	// The stack's host name theme, with spaces replaced by underscores. The theme
9014	// is used to generate host names for the stack's instances. By default, HostnameTheme
9015	// is set to Layer_Dependent, which creates host names by appending integers
9016	// to the layer's short name. The other themes are:
9017	//
9018	//    * Baked_Goods
9019	//
9020	//    * Clouds
9021	//
9022	//    * Europe_Cities
9023	//
9024	//    * Fruits
9025	//
9026	//    * Greek_Deities_and_Titans
9027	//
9028	//    * Legendary_creatures_from_Japan
9029	//
9030	//    * Planets_and_Moons
9031	//
9032	//    * Roman_Deities
9033	//
9034	//    * Scottish_Islands
9035	//
9036	//    * US_Cities
9037	//
9038	//    * Wild_Cats
9039	//
9040	// To obtain a generated host name, call GetHostNameSuggestion, which returns
9041	// a host name based on the current theme.
9042	HostnameTheme *string `type:"string"`
9043
9044	// The stack name.
9045	//
9046	// Name is a required field
9047	Name *string `type:"string" required:"true"`
9048
9049	// The stack's AWS region, such as ap-south-1. For more information about Amazon
9050	// regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
9051	//
9052	// In the AWS CLI, this API maps to the --stack-region parameter. If the --stack-region
9053	// parameter and the AWS CLI common parameter --region are set to the same value,
9054	// the stack uses a regional endpoint. If the --stack-region parameter is not
9055	// set, but the AWS CLI --region parameter is, this also results in a stack
9056	// with a regional endpoint. However, if the --region parameter is set to us-east-1,
9057	// and the --stack-region parameter is set to one of the following, then the
9058	// stack uses a legacy or classic region: us-west-1, us-west-2, sa-east-1, eu-central-1,
9059	// eu-west-1, ap-northeast-1, ap-southeast-1, ap-southeast-2. In this case,
9060	// the actual API endpoint of the stack is in us-east-1. Only the preceding
9061	// regions are supported as classic regions in the us-east-1 API endpoint. Because
9062	// it is a best practice to choose the regional endpoint that is closest to
9063	// where you manage AWS, we recommend that you use regional endpoints for new
9064	// stacks. The AWS CLI common --region parameter always specifies a regional
9065	// API endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks
9066	// region.
9067	//
9068	// Region is a required field
9069	Region *string `type:"string" required:"true"`
9070
9071	// The stack's AWS Identity and Access Management (IAM) role, which allows AWS
9072	// OpsWorks Stacks to work with AWS resources on your behalf. You must set this
9073	// parameter to the Amazon Resource Name (ARN) for an existing IAM role. For
9074	// more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
9075	//
9076	// ServiceRoleArn is a required field
9077	ServiceRoleArn *string `type:"string" required:"true"`
9078
9079	// Whether the stack uses custom cookbooks.
9080	UseCustomCookbooks *bool `type:"boolean"`
9081
9082	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
9083	// the stack's layers.
9084	//
9085	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
9086	// one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups
9087	// you can instead provide your own custom security groups. UseOpsworksSecurityGroups
9088	// has the following settings:
9089	//
9090	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
9091	//    built-in security group with each layer (default setting). You can associate
9092	//    additional security groups with a layer after you create it, but you cannot
9093	//    delete the built-in security group.
9094	//
9095	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
9096	//    with layers. You must create appropriate EC2 security groups and associate
9097	//    a security group with each layer that you create. However, you can still
9098	//    manually associate a built-in security group with a layer on creation;
9099	//    custom security groups are required only for those layers that need custom
9100	//    settings.
9101	//
9102	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
9103	UseOpsworksSecurityGroups *bool `type:"boolean"`
9104
9105	// The ID of the VPC that the stack is to be launched into. The VPC must be
9106	// in the stack's region. All instances are launched into this VPC. You cannot
9107	// change the ID later.
9108	//
9109	//    * If your account supports EC2-Classic, the default value is no VPC.
9110	//
9111	//    * If your account does not support EC2-Classic, the default value is the
9112	//    default VPC for the specified region.
9113	//
9114	// If the VPC ID corresponds to a default VPC and you have specified either
9115	// the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks
9116	// Stacks infers the value of the other parameter. If you specify neither parameter,
9117	// AWS OpsWorks Stacks sets these parameters to the first valid Availability
9118	// Zone for the specified region and the corresponding default VPC subnet ID,
9119	// respectively.
9120	//
9121	// If you specify a nondefault VPC ID, note the following:
9122	//
9123	//    * It must belong to a VPC in your account that is in the specified region.
9124	//
9125	//    * You must specify a value for DefaultSubnetId.
9126	//
9127	// For more information about how to use AWS OpsWorks Stacks with a VPC, see
9128	// Running a Stack in a VPC (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html).
9129	// For more information about default VPC and EC2-Classic, see Supported Platforms
9130	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).
9131	VpcId *string `type:"string"`
9132}
9133
9134// String returns the string representation
9135func (s CreateStackInput) String() string {
9136	return awsutil.Prettify(s)
9137}
9138
9139// GoString returns the string representation
9140func (s CreateStackInput) GoString() string {
9141	return s.String()
9142}
9143
9144// Validate inspects the fields of the type to determine if they are valid.
9145func (s *CreateStackInput) Validate() error {
9146	invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
9147	if s.DefaultInstanceProfileArn == nil {
9148		invalidParams.Add(request.NewErrParamRequired("DefaultInstanceProfileArn"))
9149	}
9150	if s.Name == nil {
9151		invalidParams.Add(request.NewErrParamRequired("Name"))
9152	}
9153	if s.Region == nil {
9154		invalidParams.Add(request.NewErrParamRequired("Region"))
9155	}
9156	if s.ServiceRoleArn == nil {
9157		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
9158	}
9159
9160	if invalidParams.Len() > 0 {
9161		return invalidParams
9162	}
9163	return nil
9164}
9165
9166// SetAgentVersion sets the AgentVersion field's value.
9167func (s *CreateStackInput) SetAgentVersion(v string) *CreateStackInput {
9168	s.AgentVersion = &v
9169	return s
9170}
9171
9172// SetAttributes sets the Attributes field's value.
9173func (s *CreateStackInput) SetAttributes(v map[string]*string) *CreateStackInput {
9174	s.Attributes = v
9175	return s
9176}
9177
9178// SetChefConfiguration sets the ChefConfiguration field's value.
9179func (s *CreateStackInput) SetChefConfiguration(v *ChefConfiguration) *CreateStackInput {
9180	s.ChefConfiguration = v
9181	return s
9182}
9183
9184// SetConfigurationManager sets the ConfigurationManager field's value.
9185func (s *CreateStackInput) SetConfigurationManager(v *StackConfigurationManager) *CreateStackInput {
9186	s.ConfigurationManager = v
9187	return s
9188}
9189
9190// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
9191func (s *CreateStackInput) SetCustomCookbooksSource(v *Source) *CreateStackInput {
9192	s.CustomCookbooksSource = v
9193	return s
9194}
9195
9196// SetCustomJson sets the CustomJson field's value.
9197func (s *CreateStackInput) SetCustomJson(v string) *CreateStackInput {
9198	s.CustomJson = &v
9199	return s
9200}
9201
9202// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
9203func (s *CreateStackInput) SetDefaultAvailabilityZone(v string) *CreateStackInput {
9204	s.DefaultAvailabilityZone = &v
9205	return s
9206}
9207
9208// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
9209func (s *CreateStackInput) SetDefaultInstanceProfileArn(v string) *CreateStackInput {
9210	s.DefaultInstanceProfileArn = &v
9211	return s
9212}
9213
9214// SetDefaultOs sets the DefaultOs field's value.
9215func (s *CreateStackInput) SetDefaultOs(v string) *CreateStackInput {
9216	s.DefaultOs = &v
9217	return s
9218}
9219
9220// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
9221func (s *CreateStackInput) SetDefaultRootDeviceType(v string) *CreateStackInput {
9222	s.DefaultRootDeviceType = &v
9223	return s
9224}
9225
9226// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
9227func (s *CreateStackInput) SetDefaultSshKeyName(v string) *CreateStackInput {
9228	s.DefaultSshKeyName = &v
9229	return s
9230}
9231
9232// SetDefaultSubnetId sets the DefaultSubnetId field's value.
9233func (s *CreateStackInput) SetDefaultSubnetId(v string) *CreateStackInput {
9234	s.DefaultSubnetId = &v
9235	return s
9236}
9237
9238// SetHostnameTheme sets the HostnameTheme field's value.
9239func (s *CreateStackInput) SetHostnameTheme(v string) *CreateStackInput {
9240	s.HostnameTheme = &v
9241	return s
9242}
9243
9244// SetName sets the Name field's value.
9245func (s *CreateStackInput) SetName(v string) *CreateStackInput {
9246	s.Name = &v
9247	return s
9248}
9249
9250// SetRegion sets the Region field's value.
9251func (s *CreateStackInput) SetRegion(v string) *CreateStackInput {
9252	s.Region = &v
9253	return s
9254}
9255
9256// SetServiceRoleArn sets the ServiceRoleArn field's value.
9257func (s *CreateStackInput) SetServiceRoleArn(v string) *CreateStackInput {
9258	s.ServiceRoleArn = &v
9259	return s
9260}
9261
9262// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
9263func (s *CreateStackInput) SetUseCustomCookbooks(v bool) *CreateStackInput {
9264	s.UseCustomCookbooks = &v
9265	return s
9266}
9267
9268// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
9269func (s *CreateStackInput) SetUseOpsworksSecurityGroups(v bool) *CreateStackInput {
9270	s.UseOpsworksSecurityGroups = &v
9271	return s
9272}
9273
9274// SetVpcId sets the VpcId field's value.
9275func (s *CreateStackInput) SetVpcId(v string) *CreateStackInput {
9276	s.VpcId = &v
9277	return s
9278}
9279
9280// Contains the response to a CreateStack request.
9281type CreateStackOutput struct {
9282	_ struct{} `type:"structure"`
9283
9284	// The stack ID, which is an opaque string that you use to identify the stack
9285	// when performing actions such as DescribeStacks.
9286	StackId *string `type:"string"`
9287}
9288
9289// String returns the string representation
9290func (s CreateStackOutput) String() string {
9291	return awsutil.Prettify(s)
9292}
9293
9294// GoString returns the string representation
9295func (s CreateStackOutput) GoString() string {
9296	return s.String()
9297}
9298
9299// SetStackId sets the StackId field's value.
9300func (s *CreateStackOutput) SetStackId(v string) *CreateStackOutput {
9301	s.StackId = &v
9302	return s
9303}
9304
9305type CreateUserProfileInput struct {
9306	_ struct{} `type:"structure"`
9307
9308	// Whether users can specify their own SSH public key through the My Settings
9309	// page. For more information, see Setting an IAM User's Public SSH Key (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
9310	AllowSelfManagement *bool `type:"boolean"`
9311
9312	// The user's IAM ARN; this can also be a federated user's ARN.
9313	//
9314	// IamUserArn is a required field
9315	IamUserArn *string `type:"string" required:"true"`
9316
9317	// The user's public SSH key.
9318	SshPublicKey *string `type:"string"`
9319
9320	// The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9],
9321	// '-', and '_'. If the specified name includes other punctuation marks, AWS
9322	// OpsWorks Stacks removes them. For example, my.name will be changed to myname.
9323	// If you do not specify an SSH user name, AWS OpsWorks Stacks generates one
9324	// from the IAM user name.
9325	SshUsername *string `type:"string"`
9326}
9327
9328// String returns the string representation
9329func (s CreateUserProfileInput) String() string {
9330	return awsutil.Prettify(s)
9331}
9332
9333// GoString returns the string representation
9334func (s CreateUserProfileInput) GoString() string {
9335	return s.String()
9336}
9337
9338// Validate inspects the fields of the type to determine if they are valid.
9339func (s *CreateUserProfileInput) Validate() error {
9340	invalidParams := request.ErrInvalidParams{Context: "CreateUserProfileInput"}
9341	if s.IamUserArn == nil {
9342		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
9343	}
9344
9345	if invalidParams.Len() > 0 {
9346		return invalidParams
9347	}
9348	return nil
9349}
9350
9351// SetAllowSelfManagement sets the AllowSelfManagement field's value.
9352func (s *CreateUserProfileInput) SetAllowSelfManagement(v bool) *CreateUserProfileInput {
9353	s.AllowSelfManagement = &v
9354	return s
9355}
9356
9357// SetIamUserArn sets the IamUserArn field's value.
9358func (s *CreateUserProfileInput) SetIamUserArn(v string) *CreateUserProfileInput {
9359	s.IamUserArn = &v
9360	return s
9361}
9362
9363// SetSshPublicKey sets the SshPublicKey field's value.
9364func (s *CreateUserProfileInput) SetSshPublicKey(v string) *CreateUserProfileInput {
9365	s.SshPublicKey = &v
9366	return s
9367}
9368
9369// SetSshUsername sets the SshUsername field's value.
9370func (s *CreateUserProfileInput) SetSshUsername(v string) *CreateUserProfileInput {
9371	s.SshUsername = &v
9372	return s
9373}
9374
9375// Contains the response to a CreateUserProfile request.
9376type CreateUserProfileOutput struct {
9377	_ struct{} `type:"structure"`
9378
9379	// The user's IAM ARN.
9380	IamUserArn *string `type:"string"`
9381}
9382
9383// String returns the string representation
9384func (s CreateUserProfileOutput) String() string {
9385	return awsutil.Prettify(s)
9386}
9387
9388// GoString returns the string representation
9389func (s CreateUserProfileOutput) GoString() string {
9390	return s.String()
9391}
9392
9393// SetIamUserArn sets the IamUserArn field's value.
9394func (s *CreateUserProfileOutput) SetIamUserArn(v string) *CreateUserProfileOutput {
9395	s.IamUserArn = &v
9396	return s
9397}
9398
9399// Describes an app's data source.
9400type DataSource struct {
9401	_ struct{} `type:"structure"`
9402
9403	// The data source's ARN.
9404	Arn *string `type:"string"`
9405
9406	// The database name.
9407	DatabaseName *string `type:"string"`
9408
9409	// The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance,
9410	// RdsDbInstance, or None.
9411	Type *string `type:"string"`
9412}
9413
9414// String returns the string representation
9415func (s DataSource) String() string {
9416	return awsutil.Prettify(s)
9417}
9418
9419// GoString returns the string representation
9420func (s DataSource) GoString() string {
9421	return s.String()
9422}
9423
9424// SetArn sets the Arn field's value.
9425func (s *DataSource) SetArn(v string) *DataSource {
9426	s.Arn = &v
9427	return s
9428}
9429
9430// SetDatabaseName sets the DatabaseName field's value.
9431func (s *DataSource) SetDatabaseName(v string) *DataSource {
9432	s.DatabaseName = &v
9433	return s
9434}
9435
9436// SetType sets the Type field's value.
9437func (s *DataSource) SetType(v string) *DataSource {
9438	s.Type = &v
9439	return s
9440}
9441
9442type DeleteAppInput struct {
9443	_ struct{} `type:"structure"`
9444
9445	// The app ID.
9446	//
9447	// AppId is a required field
9448	AppId *string `type:"string" required:"true"`
9449}
9450
9451// String returns the string representation
9452func (s DeleteAppInput) String() string {
9453	return awsutil.Prettify(s)
9454}
9455
9456// GoString returns the string representation
9457func (s DeleteAppInput) GoString() string {
9458	return s.String()
9459}
9460
9461// Validate inspects the fields of the type to determine if they are valid.
9462func (s *DeleteAppInput) Validate() error {
9463	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
9464	if s.AppId == nil {
9465		invalidParams.Add(request.NewErrParamRequired("AppId"))
9466	}
9467
9468	if invalidParams.Len() > 0 {
9469		return invalidParams
9470	}
9471	return nil
9472}
9473
9474// SetAppId sets the AppId field's value.
9475func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput {
9476	s.AppId = &v
9477	return s
9478}
9479
9480type DeleteAppOutput struct {
9481	_ struct{} `type:"structure"`
9482}
9483
9484// String returns the string representation
9485func (s DeleteAppOutput) String() string {
9486	return awsutil.Prettify(s)
9487}
9488
9489// GoString returns the string representation
9490func (s DeleteAppOutput) GoString() string {
9491	return s.String()
9492}
9493
9494type DeleteInstanceInput struct {
9495	_ struct{} `type:"structure"`
9496
9497	// Whether to delete the instance Elastic IP address.
9498	DeleteElasticIp *bool `type:"boolean"`
9499
9500	// Whether to delete the instance's Amazon EBS volumes.
9501	DeleteVolumes *bool `type:"boolean"`
9502
9503	// The instance ID.
9504	//
9505	// InstanceId is a required field
9506	InstanceId *string `type:"string" required:"true"`
9507}
9508
9509// String returns the string representation
9510func (s DeleteInstanceInput) String() string {
9511	return awsutil.Prettify(s)
9512}
9513
9514// GoString returns the string representation
9515func (s DeleteInstanceInput) GoString() string {
9516	return s.String()
9517}
9518
9519// Validate inspects the fields of the type to determine if they are valid.
9520func (s *DeleteInstanceInput) Validate() error {
9521	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
9522	if s.InstanceId == nil {
9523		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
9524	}
9525
9526	if invalidParams.Len() > 0 {
9527		return invalidParams
9528	}
9529	return nil
9530}
9531
9532// SetDeleteElasticIp sets the DeleteElasticIp field's value.
9533func (s *DeleteInstanceInput) SetDeleteElasticIp(v bool) *DeleteInstanceInput {
9534	s.DeleteElasticIp = &v
9535	return s
9536}
9537
9538// SetDeleteVolumes sets the DeleteVolumes field's value.
9539func (s *DeleteInstanceInput) SetDeleteVolumes(v bool) *DeleteInstanceInput {
9540	s.DeleteVolumes = &v
9541	return s
9542}
9543
9544// SetInstanceId sets the InstanceId field's value.
9545func (s *DeleteInstanceInput) SetInstanceId(v string) *DeleteInstanceInput {
9546	s.InstanceId = &v
9547	return s
9548}
9549
9550type DeleteInstanceOutput struct {
9551	_ struct{} `type:"structure"`
9552}
9553
9554// String returns the string representation
9555func (s DeleteInstanceOutput) String() string {
9556	return awsutil.Prettify(s)
9557}
9558
9559// GoString returns the string representation
9560func (s DeleteInstanceOutput) GoString() string {
9561	return s.String()
9562}
9563
9564type DeleteLayerInput struct {
9565	_ struct{} `type:"structure"`
9566
9567	// The layer ID.
9568	//
9569	// LayerId is a required field
9570	LayerId *string `type:"string" required:"true"`
9571}
9572
9573// String returns the string representation
9574func (s DeleteLayerInput) String() string {
9575	return awsutil.Prettify(s)
9576}
9577
9578// GoString returns the string representation
9579func (s DeleteLayerInput) GoString() string {
9580	return s.String()
9581}
9582
9583// Validate inspects the fields of the type to determine if they are valid.
9584func (s *DeleteLayerInput) Validate() error {
9585	invalidParams := request.ErrInvalidParams{Context: "DeleteLayerInput"}
9586	if s.LayerId == nil {
9587		invalidParams.Add(request.NewErrParamRequired("LayerId"))
9588	}
9589
9590	if invalidParams.Len() > 0 {
9591		return invalidParams
9592	}
9593	return nil
9594}
9595
9596// SetLayerId sets the LayerId field's value.
9597func (s *DeleteLayerInput) SetLayerId(v string) *DeleteLayerInput {
9598	s.LayerId = &v
9599	return s
9600}
9601
9602type DeleteLayerOutput struct {
9603	_ struct{} `type:"structure"`
9604}
9605
9606// String returns the string representation
9607func (s DeleteLayerOutput) String() string {
9608	return awsutil.Prettify(s)
9609}
9610
9611// GoString returns the string representation
9612func (s DeleteLayerOutput) GoString() string {
9613	return s.String()
9614}
9615
9616type DeleteStackInput struct {
9617	_ struct{} `type:"structure"`
9618
9619	// The stack ID.
9620	//
9621	// StackId is a required field
9622	StackId *string `type:"string" required:"true"`
9623}
9624
9625// String returns the string representation
9626func (s DeleteStackInput) String() string {
9627	return awsutil.Prettify(s)
9628}
9629
9630// GoString returns the string representation
9631func (s DeleteStackInput) GoString() string {
9632	return s.String()
9633}
9634
9635// Validate inspects the fields of the type to determine if they are valid.
9636func (s *DeleteStackInput) Validate() error {
9637	invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
9638	if s.StackId == nil {
9639		invalidParams.Add(request.NewErrParamRequired("StackId"))
9640	}
9641
9642	if invalidParams.Len() > 0 {
9643		return invalidParams
9644	}
9645	return nil
9646}
9647
9648// SetStackId sets the StackId field's value.
9649func (s *DeleteStackInput) SetStackId(v string) *DeleteStackInput {
9650	s.StackId = &v
9651	return s
9652}
9653
9654type DeleteStackOutput struct {
9655	_ struct{} `type:"structure"`
9656}
9657
9658// String returns the string representation
9659func (s DeleteStackOutput) String() string {
9660	return awsutil.Prettify(s)
9661}
9662
9663// GoString returns the string representation
9664func (s DeleteStackOutput) GoString() string {
9665	return s.String()
9666}
9667
9668type DeleteUserProfileInput struct {
9669	_ struct{} `type:"structure"`
9670
9671	// The user's IAM ARN. This can also be a federated user's ARN.
9672	//
9673	// IamUserArn is a required field
9674	IamUserArn *string `type:"string" required:"true"`
9675}
9676
9677// String returns the string representation
9678func (s DeleteUserProfileInput) String() string {
9679	return awsutil.Prettify(s)
9680}
9681
9682// GoString returns the string representation
9683func (s DeleteUserProfileInput) GoString() string {
9684	return s.String()
9685}
9686
9687// Validate inspects the fields of the type to determine if they are valid.
9688func (s *DeleteUserProfileInput) Validate() error {
9689	invalidParams := request.ErrInvalidParams{Context: "DeleteUserProfileInput"}
9690	if s.IamUserArn == nil {
9691		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
9692	}
9693
9694	if invalidParams.Len() > 0 {
9695		return invalidParams
9696	}
9697	return nil
9698}
9699
9700// SetIamUserArn sets the IamUserArn field's value.
9701func (s *DeleteUserProfileInput) SetIamUserArn(v string) *DeleteUserProfileInput {
9702	s.IamUserArn = &v
9703	return s
9704}
9705
9706type DeleteUserProfileOutput struct {
9707	_ struct{} `type:"structure"`
9708}
9709
9710// String returns the string representation
9711func (s DeleteUserProfileOutput) String() string {
9712	return awsutil.Prettify(s)
9713}
9714
9715// GoString returns the string representation
9716func (s DeleteUserProfileOutput) GoString() string {
9717	return s.String()
9718}
9719
9720// Describes a deployment of a stack or app.
9721type Deployment struct {
9722	_ struct{} `type:"structure"`
9723
9724	// The app ID.
9725	AppId *string `type:"string"`
9726
9727	// Used to specify a stack or deployment command.
9728	Command *DeploymentCommand `type:"structure"`
9729
9730	// A user-defined comment.
9731	Comment *string `type:"string"`
9732
9733	// Date when the deployment completed.
9734	CompletedAt *string `type:"string"`
9735
9736	// Date when the deployment was created.
9737	CreatedAt *string `type:"string"`
9738
9739	// A string that contains user-defined custom JSON. It can be used to override
9740	// the corresponding default stack configuration attribute values for stack
9741	// or to pass data to recipes. The string should be in the following format:
9742	//
9743	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
9744	//
9745	// For more information on custom JSON, see Use Custom JSON to Modify the Stack
9746	// Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
9747	CustomJson *string `type:"string"`
9748
9749	// The deployment ID.
9750	DeploymentId *string `type:"string"`
9751
9752	// The deployment duration.
9753	Duration *int64 `type:"integer"`
9754
9755	// The user's IAM ARN.
9756	IamUserArn *string `type:"string"`
9757
9758	// The IDs of the target instances.
9759	InstanceIds []*string `type:"list"`
9760
9761	// The stack ID.
9762	StackId *string `type:"string"`
9763
9764	// The deployment status:
9765	//
9766	//    * running
9767	//
9768	//    * successful
9769	//
9770	//    * failed
9771	Status *string `type:"string"`
9772}
9773
9774// String returns the string representation
9775func (s Deployment) String() string {
9776	return awsutil.Prettify(s)
9777}
9778
9779// GoString returns the string representation
9780func (s Deployment) GoString() string {
9781	return s.String()
9782}
9783
9784// SetAppId sets the AppId field's value.
9785func (s *Deployment) SetAppId(v string) *Deployment {
9786	s.AppId = &v
9787	return s
9788}
9789
9790// SetCommand sets the Command field's value.
9791func (s *Deployment) SetCommand(v *DeploymentCommand) *Deployment {
9792	s.Command = v
9793	return s
9794}
9795
9796// SetComment sets the Comment field's value.
9797func (s *Deployment) SetComment(v string) *Deployment {
9798	s.Comment = &v
9799	return s
9800}
9801
9802// SetCompletedAt sets the CompletedAt field's value.
9803func (s *Deployment) SetCompletedAt(v string) *Deployment {
9804	s.CompletedAt = &v
9805	return s
9806}
9807
9808// SetCreatedAt sets the CreatedAt field's value.
9809func (s *Deployment) SetCreatedAt(v string) *Deployment {
9810	s.CreatedAt = &v
9811	return s
9812}
9813
9814// SetCustomJson sets the CustomJson field's value.
9815func (s *Deployment) SetCustomJson(v string) *Deployment {
9816	s.CustomJson = &v
9817	return s
9818}
9819
9820// SetDeploymentId sets the DeploymentId field's value.
9821func (s *Deployment) SetDeploymentId(v string) *Deployment {
9822	s.DeploymentId = &v
9823	return s
9824}
9825
9826// SetDuration sets the Duration field's value.
9827func (s *Deployment) SetDuration(v int64) *Deployment {
9828	s.Duration = &v
9829	return s
9830}
9831
9832// SetIamUserArn sets the IamUserArn field's value.
9833func (s *Deployment) SetIamUserArn(v string) *Deployment {
9834	s.IamUserArn = &v
9835	return s
9836}
9837
9838// SetInstanceIds sets the InstanceIds field's value.
9839func (s *Deployment) SetInstanceIds(v []*string) *Deployment {
9840	s.InstanceIds = v
9841	return s
9842}
9843
9844// SetStackId sets the StackId field's value.
9845func (s *Deployment) SetStackId(v string) *Deployment {
9846	s.StackId = &v
9847	return s
9848}
9849
9850// SetStatus sets the Status field's value.
9851func (s *Deployment) SetStatus(v string) *Deployment {
9852	s.Status = &v
9853	return s
9854}
9855
9856// Used to specify a stack or deployment command.
9857type DeploymentCommand struct {
9858	_ struct{} `type:"structure"`
9859
9860	// The arguments of those commands that take arguments. It should be set to
9861	// a JSON object with the following format:
9862	//
9863	// {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2",
9864	// ...], ...}
9865	//
9866	// The update_dependencies command takes two arguments:
9867	//
9868	//    * upgrade_os_to - Specifies the desired Amazon Linux version for instances
9869	//    whose OS you want to upgrade, such as Amazon Linux 2016.09. You must also
9870	//    set the allow_reboot argument to true.
9871	//
9872	//    * allow_reboot - Specifies whether to allow AWS OpsWorks Stacks to reboot
9873	//    the instances if necessary, after installing the updates. This argument
9874	//    can be set to either true or false. The default value is false.
9875	//
9876	// For example, to upgrade an instance to Amazon Linux 2016.09, set Args to
9877	// the following.
9878	//
9879	// { "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] }
9880	Args map[string][]*string `type:"map"`
9881
9882	// Specifies the operation. You can specify only one command.
9883	//
9884	// For stacks, the following commands are available:
9885	//
9886	//    * execute_recipes: Execute one or more recipes. To specify the recipes,
9887	//    set an Args parameter named recipes to the list of recipes to be executed.
9888	//    For example, to execute phpapp::appsetup, set Args to {"recipes":["phpapp::appsetup"]}.
9889	//
9890	//    * install_dependencies: Install the stack's dependencies.
9891	//
9892	//    * update_custom_cookbooks: Update the stack's custom cookbooks.
9893	//
9894	//    * update_dependencies: Update the stack's dependencies.
9895	//
9896	// The update_dependencies and install_dependencies commands are supported only
9897	// for Linux instances. You can run the commands successfully on Windows instances,
9898	// but they do nothing.
9899	//
9900	// For apps, the following commands are available:
9901	//
9902	//    * deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter
9903	//    named migrate. Set Args to {"migrate":["true"]} to migrate the database.
9904	//    The default setting is {"migrate":["false"]}.
9905	//
9906	//    * rollback Roll the app back to the previous version. When you update
9907	//    an app, AWS OpsWorks Stacks stores the previous version, up to a maximum
9908	//    of five versions. You can use this command to roll an app back as many
9909	//    as four versions.
9910	//
9911	//    * start: Start the app's web or application server.
9912	//
9913	//    * stop: Stop the app's web or application server.
9914	//
9915	//    * restart: Restart the app's web or application server.
9916	//
9917	//    * undeploy: Undeploy the app.
9918	//
9919	// Name is a required field
9920	Name *string `type:"string" required:"true" enum:"DeploymentCommandName"`
9921}
9922
9923// String returns the string representation
9924func (s DeploymentCommand) String() string {
9925	return awsutil.Prettify(s)
9926}
9927
9928// GoString returns the string representation
9929func (s DeploymentCommand) GoString() string {
9930	return s.String()
9931}
9932
9933// Validate inspects the fields of the type to determine if they are valid.
9934func (s *DeploymentCommand) Validate() error {
9935	invalidParams := request.ErrInvalidParams{Context: "DeploymentCommand"}
9936	if s.Name == nil {
9937		invalidParams.Add(request.NewErrParamRequired("Name"))
9938	}
9939
9940	if invalidParams.Len() > 0 {
9941		return invalidParams
9942	}
9943	return nil
9944}
9945
9946// SetArgs sets the Args field's value.
9947func (s *DeploymentCommand) SetArgs(v map[string][]*string) *DeploymentCommand {
9948	s.Args = v
9949	return s
9950}
9951
9952// SetName sets the Name field's value.
9953func (s *DeploymentCommand) SetName(v string) *DeploymentCommand {
9954	s.Name = &v
9955	return s
9956}
9957
9958type DeregisterEcsClusterInput struct {
9959	_ struct{} `type:"structure"`
9960
9961	// The cluster's Amazon Resource Number (ARN).
9962	//
9963	// EcsClusterArn is a required field
9964	EcsClusterArn *string `type:"string" required:"true"`
9965}
9966
9967// String returns the string representation
9968func (s DeregisterEcsClusterInput) String() string {
9969	return awsutil.Prettify(s)
9970}
9971
9972// GoString returns the string representation
9973func (s DeregisterEcsClusterInput) GoString() string {
9974	return s.String()
9975}
9976
9977// Validate inspects the fields of the type to determine if they are valid.
9978func (s *DeregisterEcsClusterInput) Validate() error {
9979	invalidParams := request.ErrInvalidParams{Context: "DeregisterEcsClusterInput"}
9980	if s.EcsClusterArn == nil {
9981		invalidParams.Add(request.NewErrParamRequired("EcsClusterArn"))
9982	}
9983
9984	if invalidParams.Len() > 0 {
9985		return invalidParams
9986	}
9987	return nil
9988}
9989
9990// SetEcsClusterArn sets the EcsClusterArn field's value.
9991func (s *DeregisterEcsClusterInput) SetEcsClusterArn(v string) *DeregisterEcsClusterInput {
9992	s.EcsClusterArn = &v
9993	return s
9994}
9995
9996type DeregisterEcsClusterOutput struct {
9997	_ struct{} `type:"structure"`
9998}
9999
10000// String returns the string representation
10001func (s DeregisterEcsClusterOutput) String() string {
10002	return awsutil.Prettify(s)
10003}
10004
10005// GoString returns the string representation
10006func (s DeregisterEcsClusterOutput) GoString() string {
10007	return s.String()
10008}
10009
10010type DeregisterElasticIpInput struct {
10011	_ struct{} `type:"structure"`
10012
10013	// The Elastic IP address.
10014	//
10015	// ElasticIp is a required field
10016	ElasticIp *string `type:"string" required:"true"`
10017}
10018
10019// String returns the string representation
10020func (s DeregisterElasticIpInput) String() string {
10021	return awsutil.Prettify(s)
10022}
10023
10024// GoString returns the string representation
10025func (s DeregisterElasticIpInput) GoString() string {
10026	return s.String()
10027}
10028
10029// Validate inspects the fields of the type to determine if they are valid.
10030func (s *DeregisterElasticIpInput) Validate() error {
10031	invalidParams := request.ErrInvalidParams{Context: "DeregisterElasticIpInput"}
10032	if s.ElasticIp == nil {
10033		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
10034	}
10035
10036	if invalidParams.Len() > 0 {
10037		return invalidParams
10038	}
10039	return nil
10040}
10041
10042// SetElasticIp sets the ElasticIp field's value.
10043func (s *DeregisterElasticIpInput) SetElasticIp(v string) *DeregisterElasticIpInput {
10044	s.ElasticIp = &v
10045	return s
10046}
10047
10048type DeregisterElasticIpOutput struct {
10049	_ struct{} `type:"structure"`
10050}
10051
10052// String returns the string representation
10053func (s DeregisterElasticIpOutput) String() string {
10054	return awsutil.Prettify(s)
10055}
10056
10057// GoString returns the string representation
10058func (s DeregisterElasticIpOutput) GoString() string {
10059	return s.String()
10060}
10061
10062type DeregisterInstanceInput struct {
10063	_ struct{} `type:"structure"`
10064
10065	// The instance ID.
10066	//
10067	// InstanceId is a required field
10068	InstanceId *string `type:"string" required:"true"`
10069}
10070
10071// String returns the string representation
10072func (s DeregisterInstanceInput) String() string {
10073	return awsutil.Prettify(s)
10074}
10075
10076// GoString returns the string representation
10077func (s DeregisterInstanceInput) GoString() string {
10078	return s.String()
10079}
10080
10081// Validate inspects the fields of the type to determine if they are valid.
10082func (s *DeregisterInstanceInput) Validate() error {
10083	invalidParams := request.ErrInvalidParams{Context: "DeregisterInstanceInput"}
10084	if s.InstanceId == nil {
10085		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
10086	}
10087
10088	if invalidParams.Len() > 0 {
10089		return invalidParams
10090	}
10091	return nil
10092}
10093
10094// SetInstanceId sets the InstanceId field's value.
10095func (s *DeregisterInstanceInput) SetInstanceId(v string) *DeregisterInstanceInput {
10096	s.InstanceId = &v
10097	return s
10098}
10099
10100type DeregisterInstanceOutput struct {
10101	_ struct{} `type:"structure"`
10102}
10103
10104// String returns the string representation
10105func (s DeregisterInstanceOutput) String() string {
10106	return awsutil.Prettify(s)
10107}
10108
10109// GoString returns the string representation
10110func (s DeregisterInstanceOutput) GoString() string {
10111	return s.String()
10112}
10113
10114type DeregisterRdsDbInstanceInput struct {
10115	_ struct{} `type:"structure"`
10116
10117	// The Amazon RDS instance's ARN.
10118	//
10119	// RdsDbInstanceArn is a required field
10120	RdsDbInstanceArn *string `type:"string" required:"true"`
10121}
10122
10123// String returns the string representation
10124func (s DeregisterRdsDbInstanceInput) String() string {
10125	return awsutil.Prettify(s)
10126}
10127
10128// GoString returns the string representation
10129func (s DeregisterRdsDbInstanceInput) GoString() string {
10130	return s.String()
10131}
10132
10133// Validate inspects the fields of the type to determine if they are valid.
10134func (s *DeregisterRdsDbInstanceInput) Validate() error {
10135	invalidParams := request.ErrInvalidParams{Context: "DeregisterRdsDbInstanceInput"}
10136	if s.RdsDbInstanceArn == nil {
10137		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
10138	}
10139
10140	if invalidParams.Len() > 0 {
10141		return invalidParams
10142	}
10143	return nil
10144}
10145
10146// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
10147func (s *DeregisterRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *DeregisterRdsDbInstanceInput {
10148	s.RdsDbInstanceArn = &v
10149	return s
10150}
10151
10152type DeregisterRdsDbInstanceOutput struct {
10153	_ struct{} `type:"structure"`
10154}
10155
10156// String returns the string representation
10157func (s DeregisterRdsDbInstanceOutput) String() string {
10158	return awsutil.Prettify(s)
10159}
10160
10161// GoString returns the string representation
10162func (s DeregisterRdsDbInstanceOutput) GoString() string {
10163	return s.String()
10164}
10165
10166type DeregisterVolumeInput struct {
10167	_ struct{} `type:"structure"`
10168
10169	// The AWS OpsWorks Stacks volume ID, which is the GUID that AWS OpsWorks Stacks
10170	// assigned to the instance when you registered the volume with the stack, not
10171	// the Amazon EC2 volume ID.
10172	//
10173	// VolumeId is a required field
10174	VolumeId *string `type:"string" required:"true"`
10175}
10176
10177// String returns the string representation
10178func (s DeregisterVolumeInput) String() string {
10179	return awsutil.Prettify(s)
10180}
10181
10182// GoString returns the string representation
10183func (s DeregisterVolumeInput) GoString() string {
10184	return s.String()
10185}
10186
10187// Validate inspects the fields of the type to determine if they are valid.
10188func (s *DeregisterVolumeInput) Validate() error {
10189	invalidParams := request.ErrInvalidParams{Context: "DeregisterVolumeInput"}
10190	if s.VolumeId == nil {
10191		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
10192	}
10193
10194	if invalidParams.Len() > 0 {
10195		return invalidParams
10196	}
10197	return nil
10198}
10199
10200// SetVolumeId sets the VolumeId field's value.
10201func (s *DeregisterVolumeInput) SetVolumeId(v string) *DeregisterVolumeInput {
10202	s.VolumeId = &v
10203	return s
10204}
10205
10206type DeregisterVolumeOutput struct {
10207	_ struct{} `type:"structure"`
10208}
10209
10210// String returns the string representation
10211func (s DeregisterVolumeOutput) String() string {
10212	return awsutil.Prettify(s)
10213}
10214
10215// GoString returns the string representation
10216func (s DeregisterVolumeOutput) GoString() string {
10217	return s.String()
10218}
10219
10220type DescribeAgentVersionsInput struct {
10221	_ struct{} `type:"structure"`
10222
10223	// The configuration manager.
10224	ConfigurationManager *StackConfigurationManager `type:"structure"`
10225
10226	// The stack ID.
10227	StackId *string `type:"string"`
10228}
10229
10230// String returns the string representation
10231func (s DescribeAgentVersionsInput) String() string {
10232	return awsutil.Prettify(s)
10233}
10234
10235// GoString returns the string representation
10236func (s DescribeAgentVersionsInput) GoString() string {
10237	return s.String()
10238}
10239
10240// SetConfigurationManager sets the ConfigurationManager field's value.
10241func (s *DescribeAgentVersionsInput) SetConfigurationManager(v *StackConfigurationManager) *DescribeAgentVersionsInput {
10242	s.ConfigurationManager = v
10243	return s
10244}
10245
10246// SetStackId sets the StackId field's value.
10247func (s *DescribeAgentVersionsInput) SetStackId(v string) *DescribeAgentVersionsInput {
10248	s.StackId = &v
10249	return s
10250}
10251
10252// Contains the response to a DescribeAgentVersions request.
10253type DescribeAgentVersionsOutput struct {
10254	_ struct{} `type:"structure"`
10255
10256	// The agent versions for the specified stack or configuration manager. Note
10257	// that this value is the complete version number, not the abbreviated number
10258	// used by the console.
10259	AgentVersions []*AgentVersion `type:"list"`
10260}
10261
10262// String returns the string representation
10263func (s DescribeAgentVersionsOutput) String() string {
10264	return awsutil.Prettify(s)
10265}
10266
10267// GoString returns the string representation
10268func (s DescribeAgentVersionsOutput) GoString() string {
10269	return s.String()
10270}
10271
10272// SetAgentVersions sets the AgentVersions field's value.
10273func (s *DescribeAgentVersionsOutput) SetAgentVersions(v []*AgentVersion) *DescribeAgentVersionsOutput {
10274	s.AgentVersions = v
10275	return s
10276}
10277
10278type DescribeAppsInput struct {
10279	_ struct{} `type:"structure"`
10280
10281	// An array of app IDs for the apps to be described. If you use this parameter,
10282	// DescribeApps returns a description of the specified apps. Otherwise, it returns
10283	// a description of every app.
10284	AppIds []*string `type:"list"`
10285
10286	// The app stack ID. If you use this parameter, DescribeApps returns a description
10287	// of the apps in the specified stack.
10288	StackId *string `type:"string"`
10289}
10290
10291// String returns the string representation
10292func (s DescribeAppsInput) String() string {
10293	return awsutil.Prettify(s)
10294}
10295
10296// GoString returns the string representation
10297func (s DescribeAppsInput) GoString() string {
10298	return s.String()
10299}
10300
10301// SetAppIds sets the AppIds field's value.
10302func (s *DescribeAppsInput) SetAppIds(v []*string) *DescribeAppsInput {
10303	s.AppIds = v
10304	return s
10305}
10306
10307// SetStackId sets the StackId field's value.
10308func (s *DescribeAppsInput) SetStackId(v string) *DescribeAppsInput {
10309	s.StackId = &v
10310	return s
10311}
10312
10313// Contains the response to a DescribeApps request.
10314type DescribeAppsOutput struct {
10315	_ struct{} `type:"structure"`
10316
10317	// An array of App objects that describe the specified apps.
10318	Apps []*App `type:"list"`
10319}
10320
10321// String returns the string representation
10322func (s DescribeAppsOutput) String() string {
10323	return awsutil.Prettify(s)
10324}
10325
10326// GoString returns the string representation
10327func (s DescribeAppsOutput) GoString() string {
10328	return s.String()
10329}
10330
10331// SetApps sets the Apps field's value.
10332func (s *DescribeAppsOutput) SetApps(v []*App) *DescribeAppsOutput {
10333	s.Apps = v
10334	return s
10335}
10336
10337type DescribeCommandsInput struct {
10338	_ struct{} `type:"structure"`
10339
10340	// An array of command IDs. If you include this parameter, DescribeCommands
10341	// returns a description of the specified commands. Otherwise, it returns a
10342	// description of every command.
10343	CommandIds []*string `type:"list"`
10344
10345	// The deployment ID. If you include this parameter, DescribeCommands returns
10346	// a description of the commands associated with the specified deployment.
10347	DeploymentId *string `type:"string"`
10348
10349	// The instance ID. If you include this parameter, DescribeCommands returns
10350	// a description of the commands associated with the specified instance.
10351	InstanceId *string `type:"string"`
10352}
10353
10354// String returns the string representation
10355func (s DescribeCommandsInput) String() string {
10356	return awsutil.Prettify(s)
10357}
10358
10359// GoString returns the string representation
10360func (s DescribeCommandsInput) GoString() string {
10361	return s.String()
10362}
10363
10364// SetCommandIds sets the CommandIds field's value.
10365func (s *DescribeCommandsInput) SetCommandIds(v []*string) *DescribeCommandsInput {
10366	s.CommandIds = v
10367	return s
10368}
10369
10370// SetDeploymentId sets the DeploymentId field's value.
10371func (s *DescribeCommandsInput) SetDeploymentId(v string) *DescribeCommandsInput {
10372	s.DeploymentId = &v
10373	return s
10374}
10375
10376// SetInstanceId sets the InstanceId field's value.
10377func (s *DescribeCommandsInput) SetInstanceId(v string) *DescribeCommandsInput {
10378	s.InstanceId = &v
10379	return s
10380}
10381
10382// Contains the response to a DescribeCommands request.
10383type DescribeCommandsOutput struct {
10384	_ struct{} `type:"structure"`
10385
10386	// An array of Command objects that describe each of the specified commands.
10387	Commands []*Command `type:"list"`
10388}
10389
10390// String returns the string representation
10391func (s DescribeCommandsOutput) String() string {
10392	return awsutil.Prettify(s)
10393}
10394
10395// GoString returns the string representation
10396func (s DescribeCommandsOutput) GoString() string {
10397	return s.String()
10398}
10399
10400// SetCommands sets the Commands field's value.
10401func (s *DescribeCommandsOutput) SetCommands(v []*Command) *DescribeCommandsOutput {
10402	s.Commands = v
10403	return s
10404}
10405
10406type DescribeDeploymentsInput struct {
10407	_ struct{} `type:"structure"`
10408
10409	// The app ID. If you include this parameter, the command returns a description
10410	// of the commands associated with the specified app.
10411	AppId *string `type:"string"`
10412
10413	// An array of deployment IDs to be described. If you include this parameter,
10414	// the command returns a description of the specified deployments. Otherwise,
10415	// it returns a description of every deployment.
10416	DeploymentIds []*string `type:"list"`
10417
10418	// The stack ID. If you include this parameter, the command returns a description
10419	// of the commands associated with the specified stack.
10420	StackId *string `type:"string"`
10421}
10422
10423// String returns the string representation
10424func (s DescribeDeploymentsInput) String() string {
10425	return awsutil.Prettify(s)
10426}
10427
10428// GoString returns the string representation
10429func (s DescribeDeploymentsInput) GoString() string {
10430	return s.String()
10431}
10432
10433// SetAppId sets the AppId field's value.
10434func (s *DescribeDeploymentsInput) SetAppId(v string) *DescribeDeploymentsInput {
10435	s.AppId = &v
10436	return s
10437}
10438
10439// SetDeploymentIds sets the DeploymentIds field's value.
10440func (s *DescribeDeploymentsInput) SetDeploymentIds(v []*string) *DescribeDeploymentsInput {
10441	s.DeploymentIds = v
10442	return s
10443}
10444
10445// SetStackId sets the StackId field's value.
10446func (s *DescribeDeploymentsInput) SetStackId(v string) *DescribeDeploymentsInput {
10447	s.StackId = &v
10448	return s
10449}
10450
10451// Contains the response to a DescribeDeployments request.
10452type DescribeDeploymentsOutput struct {
10453	_ struct{} `type:"structure"`
10454
10455	// An array of Deployment objects that describe the deployments.
10456	Deployments []*Deployment `type:"list"`
10457}
10458
10459// String returns the string representation
10460func (s DescribeDeploymentsOutput) String() string {
10461	return awsutil.Prettify(s)
10462}
10463
10464// GoString returns the string representation
10465func (s DescribeDeploymentsOutput) GoString() string {
10466	return s.String()
10467}
10468
10469// SetDeployments sets the Deployments field's value.
10470func (s *DescribeDeploymentsOutput) SetDeployments(v []*Deployment) *DescribeDeploymentsOutput {
10471	s.Deployments = v
10472	return s
10473}
10474
10475type DescribeEcsClustersInput struct {
10476	_ struct{} `type:"structure"`
10477
10478	// A list of ARNs, one for each cluster to be described.
10479	EcsClusterArns []*string `type:"list"`
10480
10481	// To receive a paginated response, use this parameter to specify the maximum
10482	// number of results to be returned with a single call. If the number of available
10483	// results exceeds this maximum, the response includes a NextToken value that
10484	// you can assign to the NextToken request parameter to get the next set of
10485	// results.
10486	MaxResults *int64 `type:"integer"`
10487
10488	// If the previous paginated request did not return all of the remaining results,
10489	// the response object'sNextToken parameter value is set to a token. To retrieve
10490	// the next set of results, call DescribeEcsClusters again and assign that token
10491	// to the request object's NextToken parameter. If there are no remaining results,
10492	// the previous response object's NextToken parameter is set to null.
10493	NextToken *string `type:"string"`
10494
10495	// A stack ID. DescribeEcsClusters returns a description of the cluster that
10496	// is registered with the stack.
10497	StackId *string `type:"string"`
10498}
10499
10500// String returns the string representation
10501func (s DescribeEcsClustersInput) String() string {
10502	return awsutil.Prettify(s)
10503}
10504
10505// GoString returns the string representation
10506func (s DescribeEcsClustersInput) GoString() string {
10507	return s.String()
10508}
10509
10510// SetEcsClusterArns sets the EcsClusterArns field's value.
10511func (s *DescribeEcsClustersInput) SetEcsClusterArns(v []*string) *DescribeEcsClustersInput {
10512	s.EcsClusterArns = v
10513	return s
10514}
10515
10516// SetMaxResults sets the MaxResults field's value.
10517func (s *DescribeEcsClustersInput) SetMaxResults(v int64) *DescribeEcsClustersInput {
10518	s.MaxResults = &v
10519	return s
10520}
10521
10522// SetNextToken sets the NextToken field's value.
10523func (s *DescribeEcsClustersInput) SetNextToken(v string) *DescribeEcsClustersInput {
10524	s.NextToken = &v
10525	return s
10526}
10527
10528// SetStackId sets the StackId field's value.
10529func (s *DescribeEcsClustersInput) SetStackId(v string) *DescribeEcsClustersInput {
10530	s.StackId = &v
10531	return s
10532}
10533
10534// Contains the response to a DescribeEcsClusters request.
10535type DescribeEcsClustersOutput struct {
10536	_ struct{} `type:"structure"`
10537
10538	// A list of EcsCluster objects containing the cluster descriptions.
10539	EcsClusters []*EcsCluster `type:"list"`
10540
10541	// If a paginated request does not return all of the remaining results, this
10542	// parameter is set to a token that you can assign to the request object's NextToken
10543	// parameter to retrieve the next set of results. If the previous paginated
10544	// request returned all of the remaining results, this parameter is set to null.
10545	NextToken *string `type:"string"`
10546}
10547
10548// String returns the string representation
10549func (s DescribeEcsClustersOutput) String() string {
10550	return awsutil.Prettify(s)
10551}
10552
10553// GoString returns the string representation
10554func (s DescribeEcsClustersOutput) GoString() string {
10555	return s.String()
10556}
10557
10558// SetEcsClusters sets the EcsClusters field's value.
10559func (s *DescribeEcsClustersOutput) SetEcsClusters(v []*EcsCluster) *DescribeEcsClustersOutput {
10560	s.EcsClusters = v
10561	return s
10562}
10563
10564// SetNextToken sets the NextToken field's value.
10565func (s *DescribeEcsClustersOutput) SetNextToken(v string) *DescribeEcsClustersOutput {
10566	s.NextToken = &v
10567	return s
10568}
10569
10570type DescribeElasticIpsInput struct {
10571	_ struct{} `type:"structure"`
10572
10573	// The instance ID. If you include this parameter, DescribeElasticIps returns
10574	// a description of the Elastic IP addresses associated with the specified instance.
10575	InstanceId *string `type:"string"`
10576
10577	// An array of Elastic IP addresses to be described. If you include this parameter,
10578	// DescribeElasticIps returns a description of the specified Elastic IP addresses.
10579	// Otherwise, it returns a description of every Elastic IP address.
10580	Ips []*string `type:"list"`
10581
10582	// A stack ID. If you include this parameter, DescribeElasticIps returns a description
10583	// of the Elastic IP addresses that are registered with the specified stack.
10584	StackId *string `type:"string"`
10585}
10586
10587// String returns the string representation
10588func (s DescribeElasticIpsInput) String() string {
10589	return awsutil.Prettify(s)
10590}
10591
10592// GoString returns the string representation
10593func (s DescribeElasticIpsInput) GoString() string {
10594	return s.String()
10595}
10596
10597// SetInstanceId sets the InstanceId field's value.
10598func (s *DescribeElasticIpsInput) SetInstanceId(v string) *DescribeElasticIpsInput {
10599	s.InstanceId = &v
10600	return s
10601}
10602
10603// SetIps sets the Ips field's value.
10604func (s *DescribeElasticIpsInput) SetIps(v []*string) *DescribeElasticIpsInput {
10605	s.Ips = v
10606	return s
10607}
10608
10609// SetStackId sets the StackId field's value.
10610func (s *DescribeElasticIpsInput) SetStackId(v string) *DescribeElasticIpsInput {
10611	s.StackId = &v
10612	return s
10613}
10614
10615// Contains the response to a DescribeElasticIps request.
10616type DescribeElasticIpsOutput struct {
10617	_ struct{} `type:"structure"`
10618
10619	// An ElasticIps object that describes the specified Elastic IP addresses.
10620	ElasticIps []*ElasticIp `type:"list"`
10621}
10622
10623// String returns the string representation
10624func (s DescribeElasticIpsOutput) String() string {
10625	return awsutil.Prettify(s)
10626}
10627
10628// GoString returns the string representation
10629func (s DescribeElasticIpsOutput) GoString() string {
10630	return s.String()
10631}
10632
10633// SetElasticIps sets the ElasticIps field's value.
10634func (s *DescribeElasticIpsOutput) SetElasticIps(v []*ElasticIp) *DescribeElasticIpsOutput {
10635	s.ElasticIps = v
10636	return s
10637}
10638
10639type DescribeElasticLoadBalancersInput struct {
10640	_ struct{} `type:"structure"`
10641
10642	// A list of layer IDs. The action describes the Elastic Load Balancing instances
10643	// for the specified layers.
10644	LayerIds []*string `type:"list"`
10645
10646	// A stack ID. The action describes the stack's Elastic Load Balancing instances.
10647	StackId *string `type:"string"`
10648}
10649
10650// String returns the string representation
10651func (s DescribeElasticLoadBalancersInput) String() string {
10652	return awsutil.Prettify(s)
10653}
10654
10655// GoString returns the string representation
10656func (s DescribeElasticLoadBalancersInput) GoString() string {
10657	return s.String()
10658}
10659
10660// SetLayerIds sets the LayerIds field's value.
10661func (s *DescribeElasticLoadBalancersInput) SetLayerIds(v []*string) *DescribeElasticLoadBalancersInput {
10662	s.LayerIds = v
10663	return s
10664}
10665
10666// SetStackId sets the StackId field's value.
10667func (s *DescribeElasticLoadBalancersInput) SetStackId(v string) *DescribeElasticLoadBalancersInput {
10668	s.StackId = &v
10669	return s
10670}
10671
10672// Contains the response to a DescribeElasticLoadBalancers request.
10673type DescribeElasticLoadBalancersOutput struct {
10674	_ struct{} `type:"structure"`
10675
10676	// A list of ElasticLoadBalancer objects that describe the specified Elastic
10677	// Load Balancing instances.
10678	ElasticLoadBalancers []*ElasticLoadBalancer `type:"list"`
10679}
10680
10681// String returns the string representation
10682func (s DescribeElasticLoadBalancersOutput) String() string {
10683	return awsutil.Prettify(s)
10684}
10685
10686// GoString returns the string representation
10687func (s DescribeElasticLoadBalancersOutput) GoString() string {
10688	return s.String()
10689}
10690
10691// SetElasticLoadBalancers sets the ElasticLoadBalancers field's value.
10692func (s *DescribeElasticLoadBalancersOutput) SetElasticLoadBalancers(v []*ElasticLoadBalancer) *DescribeElasticLoadBalancersOutput {
10693	s.ElasticLoadBalancers = v
10694	return s
10695}
10696
10697type DescribeInstancesInput struct {
10698	_ struct{} `type:"structure"`
10699
10700	// An array of instance IDs to be described. If you use this parameter, DescribeInstances
10701	// returns a description of the specified instances. Otherwise, it returns a
10702	// description of every instance.
10703	InstanceIds []*string `type:"list"`
10704
10705	// A layer ID. If you use this parameter, DescribeInstances returns descriptions
10706	// of the instances associated with the specified layer.
10707	LayerId *string `type:"string"`
10708
10709	// A stack ID. If you use this parameter, DescribeInstances returns descriptions
10710	// of the instances associated with the specified stack.
10711	StackId *string `type:"string"`
10712}
10713
10714// String returns the string representation
10715func (s DescribeInstancesInput) String() string {
10716	return awsutil.Prettify(s)
10717}
10718
10719// GoString returns the string representation
10720func (s DescribeInstancesInput) GoString() string {
10721	return s.String()
10722}
10723
10724// SetInstanceIds sets the InstanceIds field's value.
10725func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
10726	s.InstanceIds = v
10727	return s
10728}
10729
10730// SetLayerId sets the LayerId field's value.
10731func (s *DescribeInstancesInput) SetLayerId(v string) *DescribeInstancesInput {
10732	s.LayerId = &v
10733	return s
10734}
10735
10736// SetStackId sets the StackId field's value.
10737func (s *DescribeInstancesInput) SetStackId(v string) *DescribeInstancesInput {
10738	s.StackId = &v
10739	return s
10740}
10741
10742// Contains the response to a DescribeInstances request.
10743type DescribeInstancesOutput struct {
10744	_ struct{} `type:"structure"`
10745
10746	// An array of Instance objects that describe the instances.
10747	Instances []*Instance `type:"list"`
10748}
10749
10750// String returns the string representation
10751func (s DescribeInstancesOutput) String() string {
10752	return awsutil.Prettify(s)
10753}
10754
10755// GoString returns the string representation
10756func (s DescribeInstancesOutput) GoString() string {
10757	return s.String()
10758}
10759
10760// SetInstances sets the Instances field's value.
10761func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput {
10762	s.Instances = v
10763	return s
10764}
10765
10766type DescribeLayersInput struct {
10767	_ struct{} `type:"structure"`
10768
10769	// An array of layer IDs that specify the layers to be described. If you omit
10770	// this parameter, DescribeLayers returns a description of every layer in the
10771	// specified stack.
10772	LayerIds []*string `type:"list"`
10773
10774	// The stack ID.
10775	StackId *string `type:"string"`
10776}
10777
10778// String returns the string representation
10779func (s DescribeLayersInput) String() string {
10780	return awsutil.Prettify(s)
10781}
10782
10783// GoString returns the string representation
10784func (s DescribeLayersInput) GoString() string {
10785	return s.String()
10786}
10787
10788// SetLayerIds sets the LayerIds field's value.
10789func (s *DescribeLayersInput) SetLayerIds(v []*string) *DescribeLayersInput {
10790	s.LayerIds = v
10791	return s
10792}
10793
10794// SetStackId sets the StackId field's value.
10795func (s *DescribeLayersInput) SetStackId(v string) *DescribeLayersInput {
10796	s.StackId = &v
10797	return s
10798}
10799
10800// Contains the response to a DescribeLayers request.
10801type DescribeLayersOutput struct {
10802	_ struct{} `type:"structure"`
10803
10804	// An array of Layer objects that describe the layers.
10805	Layers []*Layer `type:"list"`
10806}
10807
10808// String returns the string representation
10809func (s DescribeLayersOutput) String() string {
10810	return awsutil.Prettify(s)
10811}
10812
10813// GoString returns the string representation
10814func (s DescribeLayersOutput) GoString() string {
10815	return s.String()
10816}
10817
10818// SetLayers sets the Layers field's value.
10819func (s *DescribeLayersOutput) SetLayers(v []*Layer) *DescribeLayersOutput {
10820	s.Layers = v
10821	return s
10822}
10823
10824type DescribeLoadBasedAutoScalingInput struct {
10825	_ struct{} `type:"structure"`
10826
10827	// An array of layer IDs.
10828	//
10829	// LayerIds is a required field
10830	LayerIds []*string `type:"list" required:"true"`
10831}
10832
10833// String returns the string representation
10834func (s DescribeLoadBasedAutoScalingInput) String() string {
10835	return awsutil.Prettify(s)
10836}
10837
10838// GoString returns the string representation
10839func (s DescribeLoadBasedAutoScalingInput) GoString() string {
10840	return s.String()
10841}
10842
10843// Validate inspects the fields of the type to determine if they are valid.
10844func (s *DescribeLoadBasedAutoScalingInput) Validate() error {
10845	invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBasedAutoScalingInput"}
10846	if s.LayerIds == nil {
10847		invalidParams.Add(request.NewErrParamRequired("LayerIds"))
10848	}
10849
10850	if invalidParams.Len() > 0 {
10851		return invalidParams
10852	}
10853	return nil
10854}
10855
10856// SetLayerIds sets the LayerIds field's value.
10857func (s *DescribeLoadBasedAutoScalingInput) SetLayerIds(v []*string) *DescribeLoadBasedAutoScalingInput {
10858	s.LayerIds = v
10859	return s
10860}
10861
10862// Contains the response to a DescribeLoadBasedAutoScaling request.
10863type DescribeLoadBasedAutoScalingOutput struct {
10864	_ struct{} `type:"structure"`
10865
10866	// An array of LoadBasedAutoScalingConfiguration objects that describe each
10867	// layer's configuration.
10868	LoadBasedAutoScalingConfigurations []*LoadBasedAutoScalingConfiguration `type:"list"`
10869}
10870
10871// String returns the string representation
10872func (s DescribeLoadBasedAutoScalingOutput) String() string {
10873	return awsutil.Prettify(s)
10874}
10875
10876// GoString returns the string representation
10877func (s DescribeLoadBasedAutoScalingOutput) GoString() string {
10878	return s.String()
10879}
10880
10881// SetLoadBasedAutoScalingConfigurations sets the LoadBasedAutoScalingConfigurations field's value.
10882func (s *DescribeLoadBasedAutoScalingOutput) SetLoadBasedAutoScalingConfigurations(v []*LoadBasedAutoScalingConfiguration) *DescribeLoadBasedAutoScalingOutput {
10883	s.LoadBasedAutoScalingConfigurations = v
10884	return s
10885}
10886
10887type DescribeMyUserProfileInput struct {
10888	_ struct{} `type:"structure"`
10889}
10890
10891// String returns the string representation
10892func (s DescribeMyUserProfileInput) String() string {
10893	return awsutil.Prettify(s)
10894}
10895
10896// GoString returns the string representation
10897func (s DescribeMyUserProfileInput) GoString() string {
10898	return s.String()
10899}
10900
10901// Contains the response to a DescribeMyUserProfile request.
10902type DescribeMyUserProfileOutput struct {
10903	_ struct{} `type:"structure"`
10904
10905	// A UserProfile object that describes the user's SSH information.
10906	UserProfile *SelfUserProfile `type:"structure"`
10907}
10908
10909// String returns the string representation
10910func (s DescribeMyUserProfileOutput) String() string {
10911	return awsutil.Prettify(s)
10912}
10913
10914// GoString returns the string representation
10915func (s DescribeMyUserProfileOutput) GoString() string {
10916	return s.String()
10917}
10918
10919// SetUserProfile sets the UserProfile field's value.
10920func (s *DescribeMyUserProfileOutput) SetUserProfile(v *SelfUserProfile) *DescribeMyUserProfileOutput {
10921	s.UserProfile = v
10922	return s
10923}
10924
10925type DescribeOperatingSystemsInput struct {
10926	_ struct{} `type:"structure"`
10927}
10928
10929// String returns the string representation
10930func (s DescribeOperatingSystemsInput) String() string {
10931	return awsutil.Prettify(s)
10932}
10933
10934// GoString returns the string representation
10935func (s DescribeOperatingSystemsInput) GoString() string {
10936	return s.String()
10937}
10938
10939// The response to a DescribeOperatingSystems request.
10940type DescribeOperatingSystemsOutput struct {
10941	_ struct{} `type:"structure"`
10942
10943	// Contains information in response to a DescribeOperatingSystems request.
10944	OperatingSystems []*OperatingSystem `type:"list"`
10945}
10946
10947// String returns the string representation
10948func (s DescribeOperatingSystemsOutput) String() string {
10949	return awsutil.Prettify(s)
10950}
10951
10952// GoString returns the string representation
10953func (s DescribeOperatingSystemsOutput) GoString() string {
10954	return s.String()
10955}
10956
10957// SetOperatingSystems sets the OperatingSystems field's value.
10958func (s *DescribeOperatingSystemsOutput) SetOperatingSystems(v []*OperatingSystem) *DescribeOperatingSystemsOutput {
10959	s.OperatingSystems = v
10960	return s
10961}
10962
10963type DescribePermissionsInput struct {
10964	_ struct{} `type:"structure"`
10965
10966	// The user's IAM ARN. This can also be a federated user's ARN. For more information
10967	// about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
10968	IamUserArn *string `type:"string"`
10969
10970	// The stack ID.
10971	StackId *string `type:"string"`
10972}
10973
10974// String returns the string representation
10975func (s DescribePermissionsInput) String() string {
10976	return awsutil.Prettify(s)
10977}
10978
10979// GoString returns the string representation
10980func (s DescribePermissionsInput) GoString() string {
10981	return s.String()
10982}
10983
10984// SetIamUserArn sets the IamUserArn field's value.
10985func (s *DescribePermissionsInput) SetIamUserArn(v string) *DescribePermissionsInput {
10986	s.IamUserArn = &v
10987	return s
10988}
10989
10990// SetStackId sets the StackId field's value.
10991func (s *DescribePermissionsInput) SetStackId(v string) *DescribePermissionsInput {
10992	s.StackId = &v
10993	return s
10994}
10995
10996// Contains the response to a DescribePermissions request.
10997type DescribePermissionsOutput struct {
10998	_ struct{} `type:"structure"`
10999
11000	// An array of Permission objects that describe the stack permissions.
11001	//
11002	//    * If the request object contains only a stack ID, the array contains a
11003	//    Permission object with permissions for each of the stack IAM ARNs.
11004	//
11005	//    * If the request object contains only an IAM ARN, the array contains a
11006	//    Permission object with permissions for each of the user's stack IDs.
11007	//
11008	//    * If the request contains a stack ID and an IAM ARN, the array contains
11009	//    a single Permission object with permissions for the specified stack and
11010	//    IAM ARN.
11011	Permissions []*Permission `type:"list"`
11012}
11013
11014// String returns the string representation
11015func (s DescribePermissionsOutput) String() string {
11016	return awsutil.Prettify(s)
11017}
11018
11019// GoString returns the string representation
11020func (s DescribePermissionsOutput) GoString() string {
11021	return s.String()
11022}
11023
11024// SetPermissions sets the Permissions field's value.
11025func (s *DescribePermissionsOutput) SetPermissions(v []*Permission) *DescribePermissionsOutput {
11026	s.Permissions = v
11027	return s
11028}
11029
11030type DescribeRaidArraysInput struct {
11031	_ struct{} `type:"structure"`
11032
11033	// The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions
11034	// of the RAID arrays associated with the specified instance.
11035	InstanceId *string `type:"string"`
11036
11037	// An array of RAID array IDs. If you use this parameter, DescribeRaidArrays
11038	// returns descriptions of the specified arrays. Otherwise, it returns a description
11039	// of every array.
11040	RaidArrayIds []*string `type:"list"`
11041
11042	// The stack ID.
11043	StackId *string `type:"string"`
11044}
11045
11046// String returns the string representation
11047func (s DescribeRaidArraysInput) String() string {
11048	return awsutil.Prettify(s)
11049}
11050
11051// GoString returns the string representation
11052func (s DescribeRaidArraysInput) GoString() string {
11053	return s.String()
11054}
11055
11056// SetInstanceId sets the InstanceId field's value.
11057func (s *DescribeRaidArraysInput) SetInstanceId(v string) *DescribeRaidArraysInput {
11058	s.InstanceId = &v
11059	return s
11060}
11061
11062// SetRaidArrayIds sets the RaidArrayIds field's value.
11063func (s *DescribeRaidArraysInput) SetRaidArrayIds(v []*string) *DescribeRaidArraysInput {
11064	s.RaidArrayIds = v
11065	return s
11066}
11067
11068// SetStackId sets the StackId field's value.
11069func (s *DescribeRaidArraysInput) SetStackId(v string) *DescribeRaidArraysInput {
11070	s.StackId = &v
11071	return s
11072}
11073
11074// Contains the response to a DescribeRaidArrays request.
11075type DescribeRaidArraysOutput struct {
11076	_ struct{} `type:"structure"`
11077
11078	// A RaidArrays object that describes the specified RAID arrays.
11079	RaidArrays []*RaidArray `type:"list"`
11080}
11081
11082// String returns the string representation
11083func (s DescribeRaidArraysOutput) String() string {
11084	return awsutil.Prettify(s)
11085}
11086
11087// GoString returns the string representation
11088func (s DescribeRaidArraysOutput) GoString() string {
11089	return s.String()
11090}
11091
11092// SetRaidArrays sets the RaidArrays field's value.
11093func (s *DescribeRaidArraysOutput) SetRaidArrays(v []*RaidArray) *DescribeRaidArraysOutput {
11094	s.RaidArrays = v
11095	return s
11096}
11097
11098type DescribeRdsDbInstancesInput struct {
11099	_ struct{} `type:"structure"`
11100
11101	// An array containing the ARNs of the instances to be described.
11102	RdsDbInstanceArns []*string `type:"list"`
11103
11104	// The ID of the stack with which the instances are registered. The operation
11105	// returns descriptions of all registered Amazon RDS instances.
11106	//
11107	// StackId is a required field
11108	StackId *string `type:"string" required:"true"`
11109}
11110
11111// String returns the string representation
11112func (s DescribeRdsDbInstancesInput) String() string {
11113	return awsutil.Prettify(s)
11114}
11115
11116// GoString returns the string representation
11117func (s DescribeRdsDbInstancesInput) GoString() string {
11118	return s.String()
11119}
11120
11121// Validate inspects the fields of the type to determine if they are valid.
11122func (s *DescribeRdsDbInstancesInput) Validate() error {
11123	invalidParams := request.ErrInvalidParams{Context: "DescribeRdsDbInstancesInput"}
11124	if s.StackId == nil {
11125		invalidParams.Add(request.NewErrParamRequired("StackId"))
11126	}
11127
11128	if invalidParams.Len() > 0 {
11129		return invalidParams
11130	}
11131	return nil
11132}
11133
11134// SetRdsDbInstanceArns sets the RdsDbInstanceArns field's value.
11135func (s *DescribeRdsDbInstancesInput) SetRdsDbInstanceArns(v []*string) *DescribeRdsDbInstancesInput {
11136	s.RdsDbInstanceArns = v
11137	return s
11138}
11139
11140// SetStackId sets the StackId field's value.
11141func (s *DescribeRdsDbInstancesInput) SetStackId(v string) *DescribeRdsDbInstancesInput {
11142	s.StackId = &v
11143	return s
11144}
11145
11146// Contains the response to a DescribeRdsDbInstances request.
11147type DescribeRdsDbInstancesOutput struct {
11148	_ struct{} `type:"structure"`
11149
11150	// An a array of RdsDbInstance objects that describe the instances.
11151	RdsDbInstances []*RdsDbInstance `type:"list"`
11152}
11153
11154// String returns the string representation
11155func (s DescribeRdsDbInstancesOutput) String() string {
11156	return awsutil.Prettify(s)
11157}
11158
11159// GoString returns the string representation
11160func (s DescribeRdsDbInstancesOutput) GoString() string {
11161	return s.String()
11162}
11163
11164// SetRdsDbInstances sets the RdsDbInstances field's value.
11165func (s *DescribeRdsDbInstancesOutput) SetRdsDbInstances(v []*RdsDbInstance) *DescribeRdsDbInstancesOutput {
11166	s.RdsDbInstances = v
11167	return s
11168}
11169
11170type DescribeServiceErrorsInput struct {
11171	_ struct{} `type:"structure"`
11172
11173	// The instance ID. If you use this parameter, DescribeServiceErrors returns
11174	// descriptions of the errors associated with the specified instance.
11175	InstanceId *string `type:"string"`
11176
11177	// An array of service error IDs. If you use this parameter, DescribeServiceErrors
11178	// returns descriptions of the specified errors. Otherwise, it returns a description
11179	// of every error.
11180	ServiceErrorIds []*string `type:"list"`
11181
11182	// The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions
11183	// of the errors associated with the specified stack.
11184	StackId *string `type:"string"`
11185}
11186
11187// String returns the string representation
11188func (s DescribeServiceErrorsInput) String() string {
11189	return awsutil.Prettify(s)
11190}
11191
11192// GoString returns the string representation
11193func (s DescribeServiceErrorsInput) GoString() string {
11194	return s.String()
11195}
11196
11197// SetInstanceId sets the InstanceId field's value.
11198func (s *DescribeServiceErrorsInput) SetInstanceId(v string) *DescribeServiceErrorsInput {
11199	s.InstanceId = &v
11200	return s
11201}
11202
11203// SetServiceErrorIds sets the ServiceErrorIds field's value.
11204func (s *DescribeServiceErrorsInput) SetServiceErrorIds(v []*string) *DescribeServiceErrorsInput {
11205	s.ServiceErrorIds = v
11206	return s
11207}
11208
11209// SetStackId sets the StackId field's value.
11210func (s *DescribeServiceErrorsInput) SetStackId(v string) *DescribeServiceErrorsInput {
11211	s.StackId = &v
11212	return s
11213}
11214
11215// Contains the response to a DescribeServiceErrors request.
11216type DescribeServiceErrorsOutput struct {
11217	_ struct{} `type:"structure"`
11218
11219	// An array of ServiceError objects that describe the specified service errors.
11220	ServiceErrors []*ServiceError `type:"list"`
11221}
11222
11223// String returns the string representation
11224func (s DescribeServiceErrorsOutput) String() string {
11225	return awsutil.Prettify(s)
11226}
11227
11228// GoString returns the string representation
11229func (s DescribeServiceErrorsOutput) GoString() string {
11230	return s.String()
11231}
11232
11233// SetServiceErrors sets the ServiceErrors field's value.
11234func (s *DescribeServiceErrorsOutput) SetServiceErrors(v []*ServiceError) *DescribeServiceErrorsOutput {
11235	s.ServiceErrors = v
11236	return s
11237}
11238
11239type DescribeStackProvisioningParametersInput struct {
11240	_ struct{} `type:"structure"`
11241
11242	// The stack ID.
11243	//
11244	// StackId is a required field
11245	StackId *string `type:"string" required:"true"`
11246}
11247
11248// String returns the string representation
11249func (s DescribeStackProvisioningParametersInput) String() string {
11250	return awsutil.Prettify(s)
11251}
11252
11253// GoString returns the string representation
11254func (s DescribeStackProvisioningParametersInput) GoString() string {
11255	return s.String()
11256}
11257
11258// Validate inspects the fields of the type to determine if they are valid.
11259func (s *DescribeStackProvisioningParametersInput) Validate() error {
11260	invalidParams := request.ErrInvalidParams{Context: "DescribeStackProvisioningParametersInput"}
11261	if s.StackId == nil {
11262		invalidParams.Add(request.NewErrParamRequired("StackId"))
11263	}
11264
11265	if invalidParams.Len() > 0 {
11266		return invalidParams
11267	}
11268	return nil
11269}
11270
11271// SetStackId sets the StackId field's value.
11272func (s *DescribeStackProvisioningParametersInput) SetStackId(v string) *DescribeStackProvisioningParametersInput {
11273	s.StackId = &v
11274	return s
11275}
11276
11277// Contains the response to a DescribeStackProvisioningParameters request.
11278type DescribeStackProvisioningParametersOutput struct {
11279	_ struct{} `type:"structure"`
11280
11281	// The AWS OpsWorks Stacks agent installer's URL.
11282	AgentInstallerUrl *string `type:"string"`
11283
11284	// An embedded object that contains the provisioning parameters.
11285	Parameters map[string]*string `type:"map"`
11286}
11287
11288// String returns the string representation
11289func (s DescribeStackProvisioningParametersOutput) String() string {
11290	return awsutil.Prettify(s)
11291}
11292
11293// GoString returns the string representation
11294func (s DescribeStackProvisioningParametersOutput) GoString() string {
11295	return s.String()
11296}
11297
11298// SetAgentInstallerUrl sets the AgentInstallerUrl field's value.
11299func (s *DescribeStackProvisioningParametersOutput) SetAgentInstallerUrl(v string) *DescribeStackProvisioningParametersOutput {
11300	s.AgentInstallerUrl = &v
11301	return s
11302}
11303
11304// SetParameters sets the Parameters field's value.
11305func (s *DescribeStackProvisioningParametersOutput) SetParameters(v map[string]*string) *DescribeStackProvisioningParametersOutput {
11306	s.Parameters = v
11307	return s
11308}
11309
11310type DescribeStackSummaryInput struct {
11311	_ struct{} `type:"structure"`
11312
11313	// The stack ID.
11314	//
11315	// StackId is a required field
11316	StackId *string `type:"string" required:"true"`
11317}
11318
11319// String returns the string representation
11320func (s DescribeStackSummaryInput) String() string {
11321	return awsutil.Prettify(s)
11322}
11323
11324// GoString returns the string representation
11325func (s DescribeStackSummaryInput) GoString() string {
11326	return s.String()
11327}
11328
11329// Validate inspects the fields of the type to determine if they are valid.
11330func (s *DescribeStackSummaryInput) Validate() error {
11331	invalidParams := request.ErrInvalidParams{Context: "DescribeStackSummaryInput"}
11332	if s.StackId == nil {
11333		invalidParams.Add(request.NewErrParamRequired("StackId"))
11334	}
11335
11336	if invalidParams.Len() > 0 {
11337		return invalidParams
11338	}
11339	return nil
11340}
11341
11342// SetStackId sets the StackId field's value.
11343func (s *DescribeStackSummaryInput) SetStackId(v string) *DescribeStackSummaryInput {
11344	s.StackId = &v
11345	return s
11346}
11347
11348// Contains the response to a DescribeStackSummary request.
11349type DescribeStackSummaryOutput struct {
11350	_ struct{} `type:"structure"`
11351
11352	// A StackSummary object that contains the results.
11353	StackSummary *StackSummary `type:"structure"`
11354}
11355
11356// String returns the string representation
11357func (s DescribeStackSummaryOutput) String() string {
11358	return awsutil.Prettify(s)
11359}
11360
11361// GoString returns the string representation
11362func (s DescribeStackSummaryOutput) GoString() string {
11363	return s.String()
11364}
11365
11366// SetStackSummary sets the StackSummary field's value.
11367func (s *DescribeStackSummaryOutput) SetStackSummary(v *StackSummary) *DescribeStackSummaryOutput {
11368	s.StackSummary = v
11369	return s
11370}
11371
11372type DescribeStacksInput struct {
11373	_ struct{} `type:"structure"`
11374
11375	// An array of stack IDs that specify the stacks to be described. If you omit
11376	// this parameter, DescribeStacks returns a description of every stack.
11377	StackIds []*string `type:"list"`
11378}
11379
11380// String returns the string representation
11381func (s DescribeStacksInput) String() string {
11382	return awsutil.Prettify(s)
11383}
11384
11385// GoString returns the string representation
11386func (s DescribeStacksInput) GoString() string {
11387	return s.String()
11388}
11389
11390// SetStackIds sets the StackIds field's value.
11391func (s *DescribeStacksInput) SetStackIds(v []*string) *DescribeStacksInput {
11392	s.StackIds = v
11393	return s
11394}
11395
11396// Contains the response to a DescribeStacks request.
11397type DescribeStacksOutput struct {
11398	_ struct{} `type:"structure"`
11399
11400	// An array of Stack objects that describe the stacks.
11401	Stacks []*Stack `type:"list"`
11402}
11403
11404// String returns the string representation
11405func (s DescribeStacksOutput) String() string {
11406	return awsutil.Prettify(s)
11407}
11408
11409// GoString returns the string representation
11410func (s DescribeStacksOutput) GoString() string {
11411	return s.String()
11412}
11413
11414// SetStacks sets the Stacks field's value.
11415func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
11416	s.Stacks = v
11417	return s
11418}
11419
11420type DescribeTimeBasedAutoScalingInput struct {
11421	_ struct{} `type:"structure"`
11422
11423	// An array of instance IDs.
11424	//
11425	// InstanceIds is a required field
11426	InstanceIds []*string `type:"list" required:"true"`
11427}
11428
11429// String returns the string representation
11430func (s DescribeTimeBasedAutoScalingInput) String() string {
11431	return awsutil.Prettify(s)
11432}
11433
11434// GoString returns the string representation
11435func (s DescribeTimeBasedAutoScalingInput) GoString() string {
11436	return s.String()
11437}
11438
11439// Validate inspects the fields of the type to determine if they are valid.
11440func (s *DescribeTimeBasedAutoScalingInput) Validate() error {
11441	invalidParams := request.ErrInvalidParams{Context: "DescribeTimeBasedAutoScalingInput"}
11442	if s.InstanceIds == nil {
11443		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
11444	}
11445
11446	if invalidParams.Len() > 0 {
11447		return invalidParams
11448	}
11449	return nil
11450}
11451
11452// SetInstanceIds sets the InstanceIds field's value.
11453func (s *DescribeTimeBasedAutoScalingInput) SetInstanceIds(v []*string) *DescribeTimeBasedAutoScalingInput {
11454	s.InstanceIds = v
11455	return s
11456}
11457
11458// Contains the response to a DescribeTimeBasedAutoScaling request.
11459type DescribeTimeBasedAutoScalingOutput struct {
11460	_ struct{} `type:"structure"`
11461
11462	// An array of TimeBasedAutoScalingConfiguration objects that describe the configuration
11463	// for the specified instances.
11464	TimeBasedAutoScalingConfigurations []*TimeBasedAutoScalingConfiguration `type:"list"`
11465}
11466
11467// String returns the string representation
11468func (s DescribeTimeBasedAutoScalingOutput) String() string {
11469	return awsutil.Prettify(s)
11470}
11471
11472// GoString returns the string representation
11473func (s DescribeTimeBasedAutoScalingOutput) GoString() string {
11474	return s.String()
11475}
11476
11477// SetTimeBasedAutoScalingConfigurations sets the TimeBasedAutoScalingConfigurations field's value.
11478func (s *DescribeTimeBasedAutoScalingOutput) SetTimeBasedAutoScalingConfigurations(v []*TimeBasedAutoScalingConfiguration) *DescribeTimeBasedAutoScalingOutput {
11479	s.TimeBasedAutoScalingConfigurations = v
11480	return s
11481}
11482
11483type DescribeUserProfilesInput struct {
11484	_ struct{} `type:"structure"`
11485
11486	// An array of IAM or federated user ARNs that identify the users to be described.
11487	IamUserArns []*string `type:"list"`
11488}
11489
11490// String returns the string representation
11491func (s DescribeUserProfilesInput) String() string {
11492	return awsutil.Prettify(s)
11493}
11494
11495// GoString returns the string representation
11496func (s DescribeUserProfilesInput) GoString() string {
11497	return s.String()
11498}
11499
11500// SetIamUserArns sets the IamUserArns field's value.
11501func (s *DescribeUserProfilesInput) SetIamUserArns(v []*string) *DescribeUserProfilesInput {
11502	s.IamUserArns = v
11503	return s
11504}
11505
11506// Contains the response to a DescribeUserProfiles request.
11507type DescribeUserProfilesOutput struct {
11508	_ struct{} `type:"structure"`
11509
11510	// A Users object that describes the specified users.
11511	UserProfiles []*UserProfile `type:"list"`
11512}
11513
11514// String returns the string representation
11515func (s DescribeUserProfilesOutput) String() string {
11516	return awsutil.Prettify(s)
11517}
11518
11519// GoString returns the string representation
11520func (s DescribeUserProfilesOutput) GoString() string {
11521	return s.String()
11522}
11523
11524// SetUserProfiles sets the UserProfiles field's value.
11525func (s *DescribeUserProfilesOutput) SetUserProfiles(v []*UserProfile) *DescribeUserProfilesOutput {
11526	s.UserProfiles = v
11527	return s
11528}
11529
11530type DescribeVolumesInput struct {
11531	_ struct{} `type:"structure"`
11532
11533	// The instance ID. If you use this parameter, DescribeVolumes returns descriptions
11534	// of the volumes associated with the specified instance.
11535	InstanceId *string `type:"string"`
11536
11537	// The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions
11538	// of the volumes associated with the specified RAID array.
11539	RaidArrayId *string `type:"string"`
11540
11541	// A stack ID. The action describes the stack's registered Amazon EBS volumes.
11542	StackId *string `type:"string"`
11543
11544	// Am array of volume IDs. If you use this parameter, DescribeVolumes returns
11545	// descriptions of the specified volumes. Otherwise, it returns a description
11546	// of every volume.
11547	VolumeIds []*string `type:"list"`
11548}
11549
11550// String returns the string representation
11551func (s DescribeVolumesInput) String() string {
11552	return awsutil.Prettify(s)
11553}
11554
11555// GoString returns the string representation
11556func (s DescribeVolumesInput) GoString() string {
11557	return s.String()
11558}
11559
11560// SetInstanceId sets the InstanceId field's value.
11561func (s *DescribeVolumesInput) SetInstanceId(v string) *DescribeVolumesInput {
11562	s.InstanceId = &v
11563	return s
11564}
11565
11566// SetRaidArrayId sets the RaidArrayId field's value.
11567func (s *DescribeVolumesInput) SetRaidArrayId(v string) *DescribeVolumesInput {
11568	s.RaidArrayId = &v
11569	return s
11570}
11571
11572// SetStackId sets the StackId field's value.
11573func (s *DescribeVolumesInput) SetStackId(v string) *DescribeVolumesInput {
11574	s.StackId = &v
11575	return s
11576}
11577
11578// SetVolumeIds sets the VolumeIds field's value.
11579func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
11580	s.VolumeIds = v
11581	return s
11582}
11583
11584// Contains the response to a DescribeVolumes request.
11585type DescribeVolumesOutput struct {
11586	_ struct{} `type:"structure"`
11587
11588	// An array of volume IDs.
11589	Volumes []*Volume `type:"list"`
11590}
11591
11592// String returns the string representation
11593func (s DescribeVolumesOutput) String() string {
11594	return awsutil.Prettify(s)
11595}
11596
11597// GoString returns the string representation
11598func (s DescribeVolumesOutput) GoString() string {
11599	return s.String()
11600}
11601
11602// SetVolumes sets the Volumes field's value.
11603func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
11604	s.Volumes = v
11605	return s
11606}
11607
11608type DetachElasticLoadBalancerInput struct {
11609	_ struct{} `type:"structure"`
11610
11611	// The Elastic Load Balancing instance's name.
11612	//
11613	// ElasticLoadBalancerName is a required field
11614	ElasticLoadBalancerName *string `type:"string" required:"true"`
11615
11616	// The ID of the layer that the Elastic Load Balancing instance is attached
11617	// to.
11618	//
11619	// LayerId is a required field
11620	LayerId *string `type:"string" required:"true"`
11621}
11622
11623// String returns the string representation
11624func (s DetachElasticLoadBalancerInput) String() string {
11625	return awsutil.Prettify(s)
11626}
11627
11628// GoString returns the string representation
11629func (s DetachElasticLoadBalancerInput) GoString() string {
11630	return s.String()
11631}
11632
11633// Validate inspects the fields of the type to determine if they are valid.
11634func (s *DetachElasticLoadBalancerInput) Validate() error {
11635	invalidParams := request.ErrInvalidParams{Context: "DetachElasticLoadBalancerInput"}
11636	if s.ElasticLoadBalancerName == nil {
11637		invalidParams.Add(request.NewErrParamRequired("ElasticLoadBalancerName"))
11638	}
11639	if s.LayerId == nil {
11640		invalidParams.Add(request.NewErrParamRequired("LayerId"))
11641	}
11642
11643	if invalidParams.Len() > 0 {
11644		return invalidParams
11645	}
11646	return nil
11647}
11648
11649// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
11650func (s *DetachElasticLoadBalancerInput) SetElasticLoadBalancerName(v string) *DetachElasticLoadBalancerInput {
11651	s.ElasticLoadBalancerName = &v
11652	return s
11653}
11654
11655// SetLayerId sets the LayerId field's value.
11656func (s *DetachElasticLoadBalancerInput) SetLayerId(v string) *DetachElasticLoadBalancerInput {
11657	s.LayerId = &v
11658	return s
11659}
11660
11661type DetachElasticLoadBalancerOutput struct {
11662	_ struct{} `type:"structure"`
11663}
11664
11665// String returns the string representation
11666func (s DetachElasticLoadBalancerOutput) String() string {
11667	return awsutil.Prettify(s)
11668}
11669
11670// GoString returns the string representation
11671func (s DetachElasticLoadBalancerOutput) GoString() string {
11672	return s.String()
11673}
11674
11675type DisassociateElasticIpInput struct {
11676	_ struct{} `type:"structure"`
11677
11678	// The Elastic IP address.
11679	//
11680	// ElasticIp is a required field
11681	ElasticIp *string `type:"string" required:"true"`
11682}
11683
11684// String returns the string representation
11685func (s DisassociateElasticIpInput) String() string {
11686	return awsutil.Prettify(s)
11687}
11688
11689// GoString returns the string representation
11690func (s DisassociateElasticIpInput) GoString() string {
11691	return s.String()
11692}
11693
11694// Validate inspects the fields of the type to determine if they are valid.
11695func (s *DisassociateElasticIpInput) Validate() error {
11696	invalidParams := request.ErrInvalidParams{Context: "DisassociateElasticIpInput"}
11697	if s.ElasticIp == nil {
11698		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
11699	}
11700
11701	if invalidParams.Len() > 0 {
11702		return invalidParams
11703	}
11704	return nil
11705}
11706
11707// SetElasticIp sets the ElasticIp field's value.
11708func (s *DisassociateElasticIpInput) SetElasticIp(v string) *DisassociateElasticIpInput {
11709	s.ElasticIp = &v
11710	return s
11711}
11712
11713type DisassociateElasticIpOutput struct {
11714	_ struct{} `type:"structure"`
11715}
11716
11717// String returns the string representation
11718func (s DisassociateElasticIpOutput) String() string {
11719	return awsutil.Prettify(s)
11720}
11721
11722// GoString returns the string representation
11723func (s DisassociateElasticIpOutput) GoString() string {
11724	return s.String()
11725}
11726
11727// Describes an Amazon EBS volume. This data type maps directly to the Amazon
11728// EC2 EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html)
11729// data type.
11730type EbsBlockDevice struct {
11731	_ struct{} `type:"structure"`
11732
11733	// Whether the volume is deleted on instance termination.
11734	DeleteOnTermination *bool `type:"boolean"`
11735
11736	// The number of I/O operations per second (IOPS) that the volume supports.
11737	// For more information, see EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
11738	Iops *int64 `type:"integer"`
11739
11740	// The snapshot ID.
11741	SnapshotId *string `type:"string"`
11742
11743	// The volume size, in GiB. For more information, see EbsBlockDevice (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
11744	VolumeSize *int64 `type:"integer"`
11745
11746	// The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned
11747	// IOPS (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD),
11748	// sc1 for Cold HDD,and standard for Magnetic volumes.
11749	//
11750	// If you specify the io1 volume type, you must also specify a value for the
11751	// Iops attribute. The maximum ratio of provisioned IOPS to requested volume
11752	// size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified
11753	// in the AMI attributes to set IOPS to 50 x (volume size).
11754	VolumeType *string `type:"string" enum:"VolumeType"`
11755}
11756
11757// String returns the string representation
11758func (s EbsBlockDevice) String() string {
11759	return awsutil.Prettify(s)
11760}
11761
11762// GoString returns the string representation
11763func (s EbsBlockDevice) GoString() string {
11764	return s.String()
11765}
11766
11767// SetDeleteOnTermination sets the DeleteOnTermination field's value.
11768func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
11769	s.DeleteOnTermination = &v
11770	return s
11771}
11772
11773// SetIops sets the Iops field's value.
11774func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
11775	s.Iops = &v
11776	return s
11777}
11778
11779// SetSnapshotId sets the SnapshotId field's value.
11780func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
11781	s.SnapshotId = &v
11782	return s
11783}
11784
11785// SetVolumeSize sets the VolumeSize field's value.
11786func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
11787	s.VolumeSize = &v
11788	return s
11789}
11790
11791// SetVolumeType sets the VolumeType field's value.
11792func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
11793	s.VolumeType = &v
11794	return s
11795}
11796
11797// Describes a registered Amazon ECS cluster.
11798type EcsCluster struct {
11799	_ struct{} `type:"structure"`
11800
11801	// The cluster's ARN.
11802	EcsClusterArn *string `type:"string"`
11803
11804	// The cluster name.
11805	EcsClusterName *string `type:"string"`
11806
11807	// The time and date that the cluster was registered with the stack.
11808	RegisteredAt *string `type:"string"`
11809
11810	// The stack ID.
11811	StackId *string `type:"string"`
11812}
11813
11814// String returns the string representation
11815func (s EcsCluster) String() string {
11816	return awsutil.Prettify(s)
11817}
11818
11819// GoString returns the string representation
11820func (s EcsCluster) GoString() string {
11821	return s.String()
11822}
11823
11824// SetEcsClusterArn sets the EcsClusterArn field's value.
11825func (s *EcsCluster) SetEcsClusterArn(v string) *EcsCluster {
11826	s.EcsClusterArn = &v
11827	return s
11828}
11829
11830// SetEcsClusterName sets the EcsClusterName field's value.
11831func (s *EcsCluster) SetEcsClusterName(v string) *EcsCluster {
11832	s.EcsClusterName = &v
11833	return s
11834}
11835
11836// SetRegisteredAt sets the RegisteredAt field's value.
11837func (s *EcsCluster) SetRegisteredAt(v string) *EcsCluster {
11838	s.RegisteredAt = &v
11839	return s
11840}
11841
11842// SetStackId sets the StackId field's value.
11843func (s *EcsCluster) SetStackId(v string) *EcsCluster {
11844	s.StackId = &v
11845	return s
11846}
11847
11848// Describes an Elastic IP address.
11849type ElasticIp struct {
11850	_ struct{} `type:"structure"`
11851
11852	// The domain.
11853	Domain *string `type:"string"`
11854
11855	// The ID of the instance that the address is attached to.
11856	InstanceId *string `type:"string"`
11857
11858	// The IP address.
11859	Ip *string `type:"string"`
11860
11861	// The name.
11862	Name *string `type:"string"`
11863
11864	// The AWS region. For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
11865	Region *string `type:"string"`
11866}
11867
11868// String returns the string representation
11869func (s ElasticIp) String() string {
11870	return awsutil.Prettify(s)
11871}
11872
11873// GoString returns the string representation
11874func (s ElasticIp) GoString() string {
11875	return s.String()
11876}
11877
11878// SetDomain sets the Domain field's value.
11879func (s *ElasticIp) SetDomain(v string) *ElasticIp {
11880	s.Domain = &v
11881	return s
11882}
11883
11884// SetInstanceId sets the InstanceId field's value.
11885func (s *ElasticIp) SetInstanceId(v string) *ElasticIp {
11886	s.InstanceId = &v
11887	return s
11888}
11889
11890// SetIp sets the Ip field's value.
11891func (s *ElasticIp) SetIp(v string) *ElasticIp {
11892	s.Ip = &v
11893	return s
11894}
11895
11896// SetName sets the Name field's value.
11897func (s *ElasticIp) SetName(v string) *ElasticIp {
11898	s.Name = &v
11899	return s
11900}
11901
11902// SetRegion sets the Region field's value.
11903func (s *ElasticIp) SetRegion(v string) *ElasticIp {
11904	s.Region = &v
11905	return s
11906}
11907
11908// Describes an Elastic Load Balancing instance.
11909type ElasticLoadBalancer struct {
11910	_ struct{} `type:"structure"`
11911
11912	// A list of Availability Zones.
11913	AvailabilityZones []*string `type:"list"`
11914
11915	// The instance's public DNS name.
11916	DnsName *string `type:"string"`
11917
11918	// A list of the EC2 instances that the Elastic Load Balancing instance is managing
11919	// traffic for.
11920	Ec2InstanceIds []*string `type:"list"`
11921
11922	// The Elastic Load Balancing instance's name.
11923	ElasticLoadBalancerName *string `type:"string"`
11924
11925	// The ID of the layer that the instance is attached to.
11926	LayerId *string `type:"string"`
11927
11928	// The instance's AWS region.
11929	Region *string `type:"string"`
11930
11931	// The ID of the stack that the instance is associated with.
11932	StackId *string `type:"string"`
11933
11934	// A list of subnet IDs, if the stack is running in a VPC.
11935	SubnetIds []*string `type:"list"`
11936
11937	// The VPC ID.
11938	VpcId *string `type:"string"`
11939}
11940
11941// String returns the string representation
11942func (s ElasticLoadBalancer) String() string {
11943	return awsutil.Prettify(s)
11944}
11945
11946// GoString returns the string representation
11947func (s ElasticLoadBalancer) GoString() string {
11948	return s.String()
11949}
11950
11951// SetAvailabilityZones sets the AvailabilityZones field's value.
11952func (s *ElasticLoadBalancer) SetAvailabilityZones(v []*string) *ElasticLoadBalancer {
11953	s.AvailabilityZones = v
11954	return s
11955}
11956
11957// SetDnsName sets the DnsName field's value.
11958func (s *ElasticLoadBalancer) SetDnsName(v string) *ElasticLoadBalancer {
11959	s.DnsName = &v
11960	return s
11961}
11962
11963// SetEc2InstanceIds sets the Ec2InstanceIds field's value.
11964func (s *ElasticLoadBalancer) SetEc2InstanceIds(v []*string) *ElasticLoadBalancer {
11965	s.Ec2InstanceIds = v
11966	return s
11967}
11968
11969// SetElasticLoadBalancerName sets the ElasticLoadBalancerName field's value.
11970func (s *ElasticLoadBalancer) SetElasticLoadBalancerName(v string) *ElasticLoadBalancer {
11971	s.ElasticLoadBalancerName = &v
11972	return s
11973}
11974
11975// SetLayerId sets the LayerId field's value.
11976func (s *ElasticLoadBalancer) SetLayerId(v string) *ElasticLoadBalancer {
11977	s.LayerId = &v
11978	return s
11979}
11980
11981// SetRegion sets the Region field's value.
11982func (s *ElasticLoadBalancer) SetRegion(v string) *ElasticLoadBalancer {
11983	s.Region = &v
11984	return s
11985}
11986
11987// SetStackId sets the StackId field's value.
11988func (s *ElasticLoadBalancer) SetStackId(v string) *ElasticLoadBalancer {
11989	s.StackId = &v
11990	return s
11991}
11992
11993// SetSubnetIds sets the SubnetIds field's value.
11994func (s *ElasticLoadBalancer) SetSubnetIds(v []*string) *ElasticLoadBalancer {
11995	s.SubnetIds = v
11996	return s
11997}
11998
11999// SetVpcId sets the VpcId field's value.
12000func (s *ElasticLoadBalancer) SetVpcId(v string) *ElasticLoadBalancer {
12001	s.VpcId = &v
12002	return s
12003}
12004
12005// Represents an app's environment variable.
12006type EnvironmentVariable struct {
12007	_ struct{} `type:"structure"`
12008
12009	// (Required) The environment variable's name, which can consist of up to 64
12010	// characters and must be specified. The name can contain upper- and lowercase
12011	// letters, numbers, and underscores (_), but it must start with a letter or
12012	// underscore.
12013	//
12014	// Key is a required field
12015	Key *string `type:"string" required:"true"`
12016
12017	// (Optional) Whether the variable's value will be returned by the DescribeApps
12018	// action. To conceal an environment variable's value, set Secure to true. DescribeApps
12019	// then returns *****FILTERED***** instead of the actual value. The default
12020	// value for Secure is false.
12021	Secure *bool `type:"boolean"`
12022
12023	// (Optional) The environment variable's value, which can be left empty. If
12024	// you specify a value, it can contain up to 256 characters, which must all
12025	// be printable.
12026	//
12027	// Value is a required field
12028	Value *string `type:"string" required:"true"`
12029}
12030
12031// String returns the string representation
12032func (s EnvironmentVariable) String() string {
12033	return awsutil.Prettify(s)
12034}
12035
12036// GoString returns the string representation
12037func (s EnvironmentVariable) GoString() string {
12038	return s.String()
12039}
12040
12041// Validate inspects the fields of the type to determine if they are valid.
12042func (s *EnvironmentVariable) Validate() error {
12043	invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"}
12044	if s.Key == nil {
12045		invalidParams.Add(request.NewErrParamRequired("Key"))
12046	}
12047	if s.Value == nil {
12048		invalidParams.Add(request.NewErrParamRequired("Value"))
12049	}
12050
12051	if invalidParams.Len() > 0 {
12052		return invalidParams
12053	}
12054	return nil
12055}
12056
12057// SetKey sets the Key field's value.
12058func (s *EnvironmentVariable) SetKey(v string) *EnvironmentVariable {
12059	s.Key = &v
12060	return s
12061}
12062
12063// SetSecure sets the Secure field's value.
12064func (s *EnvironmentVariable) SetSecure(v bool) *EnvironmentVariable {
12065	s.Secure = &v
12066	return s
12067}
12068
12069// SetValue sets the Value field's value.
12070func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable {
12071	s.Value = &v
12072	return s
12073}
12074
12075type GetHostnameSuggestionInput struct {
12076	_ struct{} `type:"structure"`
12077
12078	// The layer ID.
12079	//
12080	// LayerId is a required field
12081	LayerId *string `type:"string" required:"true"`
12082}
12083
12084// String returns the string representation
12085func (s GetHostnameSuggestionInput) String() string {
12086	return awsutil.Prettify(s)
12087}
12088
12089// GoString returns the string representation
12090func (s GetHostnameSuggestionInput) GoString() string {
12091	return s.String()
12092}
12093
12094// Validate inspects the fields of the type to determine if they are valid.
12095func (s *GetHostnameSuggestionInput) Validate() error {
12096	invalidParams := request.ErrInvalidParams{Context: "GetHostnameSuggestionInput"}
12097	if s.LayerId == nil {
12098		invalidParams.Add(request.NewErrParamRequired("LayerId"))
12099	}
12100
12101	if invalidParams.Len() > 0 {
12102		return invalidParams
12103	}
12104	return nil
12105}
12106
12107// SetLayerId sets the LayerId field's value.
12108func (s *GetHostnameSuggestionInput) SetLayerId(v string) *GetHostnameSuggestionInput {
12109	s.LayerId = &v
12110	return s
12111}
12112
12113// Contains the response to a GetHostnameSuggestion request.
12114type GetHostnameSuggestionOutput struct {
12115	_ struct{} `type:"structure"`
12116
12117	// The generated host name.
12118	Hostname *string `type:"string"`
12119
12120	// The layer ID.
12121	LayerId *string `type:"string"`
12122}
12123
12124// String returns the string representation
12125func (s GetHostnameSuggestionOutput) String() string {
12126	return awsutil.Prettify(s)
12127}
12128
12129// GoString returns the string representation
12130func (s GetHostnameSuggestionOutput) GoString() string {
12131	return s.String()
12132}
12133
12134// SetHostname sets the Hostname field's value.
12135func (s *GetHostnameSuggestionOutput) SetHostname(v string) *GetHostnameSuggestionOutput {
12136	s.Hostname = &v
12137	return s
12138}
12139
12140// SetLayerId sets the LayerId field's value.
12141func (s *GetHostnameSuggestionOutput) SetLayerId(v string) *GetHostnameSuggestionOutput {
12142	s.LayerId = &v
12143	return s
12144}
12145
12146type GrantAccessInput struct {
12147	_ struct{} `type:"structure"`
12148
12149	// The instance's AWS OpsWorks Stacks ID.
12150	//
12151	// InstanceId is a required field
12152	InstanceId *string `type:"string" required:"true"`
12153
12154	// The length of time (in minutes) that the grant is valid. When the grant expires
12155	// at the end of this period, the user will no longer be able to use the credentials
12156	// to log in. If the user is logged in at the time, he or she automatically
12157	// will be logged out.
12158	ValidForInMinutes *int64 `min:"60" type:"integer"`
12159}
12160
12161// String returns the string representation
12162func (s GrantAccessInput) String() string {
12163	return awsutil.Prettify(s)
12164}
12165
12166// GoString returns the string representation
12167func (s GrantAccessInput) GoString() string {
12168	return s.String()
12169}
12170
12171// Validate inspects the fields of the type to determine if they are valid.
12172func (s *GrantAccessInput) Validate() error {
12173	invalidParams := request.ErrInvalidParams{Context: "GrantAccessInput"}
12174	if s.InstanceId == nil {
12175		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12176	}
12177	if s.ValidForInMinutes != nil && *s.ValidForInMinutes < 60 {
12178		invalidParams.Add(request.NewErrParamMinValue("ValidForInMinutes", 60))
12179	}
12180
12181	if invalidParams.Len() > 0 {
12182		return invalidParams
12183	}
12184	return nil
12185}
12186
12187// SetInstanceId sets the InstanceId field's value.
12188func (s *GrantAccessInput) SetInstanceId(v string) *GrantAccessInput {
12189	s.InstanceId = &v
12190	return s
12191}
12192
12193// SetValidForInMinutes sets the ValidForInMinutes field's value.
12194func (s *GrantAccessInput) SetValidForInMinutes(v int64) *GrantAccessInput {
12195	s.ValidForInMinutes = &v
12196	return s
12197}
12198
12199// Contains the response to a GrantAccess request.
12200type GrantAccessOutput struct {
12201	_ struct{} `type:"structure"`
12202
12203	// A TemporaryCredential object that contains the data needed to log in to the
12204	// instance by RDP clients, such as the Microsoft Remote Desktop Connection.
12205	TemporaryCredential *TemporaryCredential `type:"structure"`
12206}
12207
12208// String returns the string representation
12209func (s GrantAccessOutput) String() string {
12210	return awsutil.Prettify(s)
12211}
12212
12213// GoString returns the string representation
12214func (s GrantAccessOutput) GoString() string {
12215	return s.String()
12216}
12217
12218// SetTemporaryCredential sets the TemporaryCredential field's value.
12219func (s *GrantAccessOutput) SetTemporaryCredential(v *TemporaryCredential) *GrantAccessOutput {
12220	s.TemporaryCredential = v
12221	return s
12222}
12223
12224// Describes an instance.
12225type Instance struct {
12226	_ struct{} `type:"structure"`
12227
12228	// The agent version. This parameter is set to INHERIT if the instance inherits
12229	// the default stack setting or to a a version number for a fixed agent version.
12230	AgentVersion *string `type:"string"`
12231
12232	// A custom AMI ID to be used to create the instance. For more information,
12233	// see Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html)
12234	AmiId *string `type:"string"`
12235
12236	// The instance architecture: "i386" or "x86_64".
12237	Architecture *string `type:"string" enum:"Architecture"`
12238
12239	// The instance's Amazon Resource Number (ARN).
12240	Arn *string `type:"string"`
12241
12242	// For load-based or time-based instances, the type.
12243	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
12244
12245	// The instance Availability Zone. For more information, see Regions and Endpoints
12246	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
12247	AvailabilityZone *string `type:"string"`
12248
12249	// An array of BlockDeviceMapping objects that specify the instance's block
12250	// device mappings.
12251	BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
12252
12253	// The time that the instance was created.
12254	CreatedAt *string `type:"string"`
12255
12256	// Whether this is an Amazon EBS-optimized instance.
12257	EbsOptimized *bool `type:"boolean"`
12258
12259	// The ID of the associated Amazon EC2 instance.
12260	Ec2InstanceId *string `type:"string"`
12261
12262	// For container instances, the Amazon ECS cluster's ARN.
12263	EcsClusterArn *string `type:"string"`
12264
12265	// For container instances, the instance's ARN.
12266	EcsContainerInstanceArn *string `type:"string"`
12267
12268	// The instance Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html).
12269	ElasticIp *string `type:"string"`
12270
12271	// The instance host name.
12272	Hostname *string `type:"string"`
12273
12274	// For registered instances, the infrastructure class: ec2 or on-premises.
12275	InfrastructureClass *string `type:"string"`
12276
12277	// Whether to install operating system and package updates when the instance
12278	// boots. The default value is true. If this value is set to false, you must
12279	// then update your instances manually by using CreateDeployment to run the
12280	// update_dependencies stack command or by manually running yum (Amazon Linux)
12281	// or apt-get (Ubuntu) on the instances.
12282	//
12283	// We strongly recommend using the default value of true, to ensure that your
12284	// instances have the latest security updates.
12285	InstallUpdatesOnBoot *bool `type:"boolean"`
12286
12287	// The instance ID.
12288	InstanceId *string `type:"string"`
12289
12290	// The ARN of the instance's IAM profile. For more information about IAM ARNs,
12291	// see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
12292	InstanceProfileArn *string `type:"string"`
12293
12294	// The instance type, such as t2.micro.
12295	InstanceType *string `type:"string"`
12296
12297	// The ID of the last service error. For more information, call DescribeServiceErrors.
12298	LastServiceErrorId *string `type:"string"`
12299
12300	// An array containing the instance layer IDs.
12301	LayerIds []*string `type:"list"`
12302
12303	// The instance's operating system.
12304	Os *string `type:"string"`
12305
12306	// The instance's platform.
12307	Platform *string `type:"string"`
12308
12309	// The instance's private DNS name.
12310	PrivateDns *string `type:"string"`
12311
12312	// The instance's private IP address.
12313	PrivateIp *string `type:"string"`
12314
12315	// The instance public DNS name.
12316	PublicDns *string `type:"string"`
12317
12318	// The instance public IP address.
12319	PublicIp *string `type:"string"`
12320
12321	// For registered instances, who performed the registration.
12322	RegisteredBy *string `type:"string"`
12323
12324	// The instance's reported AWS OpsWorks Stacks agent version.
12325	ReportedAgentVersion *string `type:"string"`
12326
12327	// For registered instances, the reported operating system.
12328	ReportedOs *ReportedOs `type:"structure"`
12329
12330	// The instance's root device type. For more information, see Storage for the
12331	// Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
12332	RootDeviceType *string `type:"string" enum:"RootDeviceType"`
12333
12334	// The root device volume ID.
12335	RootDeviceVolumeId *string `type:"string"`
12336
12337	// An array containing the instance security group IDs.
12338	SecurityGroupIds []*string `type:"list"`
12339
12340	// The SSH key's Deep Security Agent (DSA) fingerprint.
12341	SshHostDsaKeyFingerprint *string `type:"string"`
12342
12343	// The SSH key's RSA fingerprint.
12344	SshHostRsaKeyFingerprint *string `type:"string"`
12345
12346	// The instance's Amazon EC2 key-pair name.
12347	SshKeyName *string `type:"string"`
12348
12349	// The stack ID.
12350	StackId *string `type:"string"`
12351
12352	// The instance status:
12353	//
12354	//    * booting
12355	//
12356	//    * connection_lost
12357	//
12358	//    * online
12359	//
12360	//    * pending
12361	//
12362	//    * rebooting
12363	//
12364	//    * requested
12365	//
12366	//    * running_setup
12367	//
12368	//    * setup_failed
12369	//
12370	//    * shutting_down
12371	//
12372	//    * start_failed
12373	//
12374	//    * stop_failed
12375	//
12376	//    * stopped
12377	//
12378	//    * stopping
12379	//
12380	//    * terminated
12381	//
12382	//    * terminating
12383	Status *string `type:"string"`
12384
12385	// The instance's subnet ID; applicable only if the stack is running in a VPC.
12386	SubnetId *string `type:"string"`
12387
12388	// The instance's tenancy option, such as dedicated or host.
12389	Tenancy *string `type:"string"`
12390
12391	// The instance's virtualization type: paravirtual or hvm.
12392	VirtualizationType *string `type:"string" enum:"VirtualizationType"`
12393}
12394
12395// String returns the string representation
12396func (s Instance) String() string {
12397	return awsutil.Prettify(s)
12398}
12399
12400// GoString returns the string representation
12401func (s Instance) GoString() string {
12402	return s.String()
12403}
12404
12405// SetAgentVersion sets the AgentVersion field's value.
12406func (s *Instance) SetAgentVersion(v string) *Instance {
12407	s.AgentVersion = &v
12408	return s
12409}
12410
12411// SetAmiId sets the AmiId field's value.
12412func (s *Instance) SetAmiId(v string) *Instance {
12413	s.AmiId = &v
12414	return s
12415}
12416
12417// SetArchitecture sets the Architecture field's value.
12418func (s *Instance) SetArchitecture(v string) *Instance {
12419	s.Architecture = &v
12420	return s
12421}
12422
12423// SetArn sets the Arn field's value.
12424func (s *Instance) SetArn(v string) *Instance {
12425	s.Arn = &v
12426	return s
12427}
12428
12429// SetAutoScalingType sets the AutoScalingType field's value.
12430func (s *Instance) SetAutoScalingType(v string) *Instance {
12431	s.AutoScalingType = &v
12432	return s
12433}
12434
12435// SetAvailabilityZone sets the AvailabilityZone field's value.
12436func (s *Instance) SetAvailabilityZone(v string) *Instance {
12437	s.AvailabilityZone = &v
12438	return s
12439}
12440
12441// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
12442func (s *Instance) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Instance {
12443	s.BlockDeviceMappings = v
12444	return s
12445}
12446
12447// SetCreatedAt sets the CreatedAt field's value.
12448func (s *Instance) SetCreatedAt(v string) *Instance {
12449	s.CreatedAt = &v
12450	return s
12451}
12452
12453// SetEbsOptimized sets the EbsOptimized field's value.
12454func (s *Instance) SetEbsOptimized(v bool) *Instance {
12455	s.EbsOptimized = &v
12456	return s
12457}
12458
12459// SetEc2InstanceId sets the Ec2InstanceId field's value.
12460func (s *Instance) SetEc2InstanceId(v string) *Instance {
12461	s.Ec2InstanceId = &v
12462	return s
12463}
12464
12465// SetEcsClusterArn sets the EcsClusterArn field's value.
12466func (s *Instance) SetEcsClusterArn(v string) *Instance {
12467	s.EcsClusterArn = &v
12468	return s
12469}
12470
12471// SetEcsContainerInstanceArn sets the EcsContainerInstanceArn field's value.
12472func (s *Instance) SetEcsContainerInstanceArn(v string) *Instance {
12473	s.EcsContainerInstanceArn = &v
12474	return s
12475}
12476
12477// SetElasticIp sets the ElasticIp field's value.
12478func (s *Instance) SetElasticIp(v string) *Instance {
12479	s.ElasticIp = &v
12480	return s
12481}
12482
12483// SetHostname sets the Hostname field's value.
12484func (s *Instance) SetHostname(v string) *Instance {
12485	s.Hostname = &v
12486	return s
12487}
12488
12489// SetInfrastructureClass sets the InfrastructureClass field's value.
12490func (s *Instance) SetInfrastructureClass(v string) *Instance {
12491	s.InfrastructureClass = &v
12492	return s
12493}
12494
12495// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
12496func (s *Instance) SetInstallUpdatesOnBoot(v bool) *Instance {
12497	s.InstallUpdatesOnBoot = &v
12498	return s
12499}
12500
12501// SetInstanceId sets the InstanceId field's value.
12502func (s *Instance) SetInstanceId(v string) *Instance {
12503	s.InstanceId = &v
12504	return s
12505}
12506
12507// SetInstanceProfileArn sets the InstanceProfileArn field's value.
12508func (s *Instance) SetInstanceProfileArn(v string) *Instance {
12509	s.InstanceProfileArn = &v
12510	return s
12511}
12512
12513// SetInstanceType sets the InstanceType field's value.
12514func (s *Instance) SetInstanceType(v string) *Instance {
12515	s.InstanceType = &v
12516	return s
12517}
12518
12519// SetLastServiceErrorId sets the LastServiceErrorId field's value.
12520func (s *Instance) SetLastServiceErrorId(v string) *Instance {
12521	s.LastServiceErrorId = &v
12522	return s
12523}
12524
12525// SetLayerIds sets the LayerIds field's value.
12526func (s *Instance) SetLayerIds(v []*string) *Instance {
12527	s.LayerIds = v
12528	return s
12529}
12530
12531// SetOs sets the Os field's value.
12532func (s *Instance) SetOs(v string) *Instance {
12533	s.Os = &v
12534	return s
12535}
12536
12537// SetPlatform sets the Platform field's value.
12538func (s *Instance) SetPlatform(v string) *Instance {
12539	s.Platform = &v
12540	return s
12541}
12542
12543// SetPrivateDns sets the PrivateDns field's value.
12544func (s *Instance) SetPrivateDns(v string) *Instance {
12545	s.PrivateDns = &v
12546	return s
12547}
12548
12549// SetPrivateIp sets the PrivateIp field's value.
12550func (s *Instance) SetPrivateIp(v string) *Instance {
12551	s.PrivateIp = &v
12552	return s
12553}
12554
12555// SetPublicDns sets the PublicDns field's value.
12556func (s *Instance) SetPublicDns(v string) *Instance {
12557	s.PublicDns = &v
12558	return s
12559}
12560
12561// SetPublicIp sets the PublicIp field's value.
12562func (s *Instance) SetPublicIp(v string) *Instance {
12563	s.PublicIp = &v
12564	return s
12565}
12566
12567// SetRegisteredBy sets the RegisteredBy field's value.
12568func (s *Instance) SetRegisteredBy(v string) *Instance {
12569	s.RegisteredBy = &v
12570	return s
12571}
12572
12573// SetReportedAgentVersion sets the ReportedAgentVersion field's value.
12574func (s *Instance) SetReportedAgentVersion(v string) *Instance {
12575	s.ReportedAgentVersion = &v
12576	return s
12577}
12578
12579// SetReportedOs sets the ReportedOs field's value.
12580func (s *Instance) SetReportedOs(v *ReportedOs) *Instance {
12581	s.ReportedOs = v
12582	return s
12583}
12584
12585// SetRootDeviceType sets the RootDeviceType field's value.
12586func (s *Instance) SetRootDeviceType(v string) *Instance {
12587	s.RootDeviceType = &v
12588	return s
12589}
12590
12591// SetRootDeviceVolumeId sets the RootDeviceVolumeId field's value.
12592func (s *Instance) SetRootDeviceVolumeId(v string) *Instance {
12593	s.RootDeviceVolumeId = &v
12594	return s
12595}
12596
12597// SetSecurityGroupIds sets the SecurityGroupIds field's value.
12598func (s *Instance) SetSecurityGroupIds(v []*string) *Instance {
12599	s.SecurityGroupIds = v
12600	return s
12601}
12602
12603// SetSshHostDsaKeyFingerprint sets the SshHostDsaKeyFingerprint field's value.
12604func (s *Instance) SetSshHostDsaKeyFingerprint(v string) *Instance {
12605	s.SshHostDsaKeyFingerprint = &v
12606	return s
12607}
12608
12609// SetSshHostRsaKeyFingerprint sets the SshHostRsaKeyFingerprint field's value.
12610func (s *Instance) SetSshHostRsaKeyFingerprint(v string) *Instance {
12611	s.SshHostRsaKeyFingerprint = &v
12612	return s
12613}
12614
12615// SetSshKeyName sets the SshKeyName field's value.
12616func (s *Instance) SetSshKeyName(v string) *Instance {
12617	s.SshKeyName = &v
12618	return s
12619}
12620
12621// SetStackId sets the StackId field's value.
12622func (s *Instance) SetStackId(v string) *Instance {
12623	s.StackId = &v
12624	return s
12625}
12626
12627// SetStatus sets the Status field's value.
12628func (s *Instance) SetStatus(v string) *Instance {
12629	s.Status = &v
12630	return s
12631}
12632
12633// SetSubnetId sets the SubnetId field's value.
12634func (s *Instance) SetSubnetId(v string) *Instance {
12635	s.SubnetId = &v
12636	return s
12637}
12638
12639// SetTenancy sets the Tenancy field's value.
12640func (s *Instance) SetTenancy(v string) *Instance {
12641	s.Tenancy = &v
12642	return s
12643}
12644
12645// SetVirtualizationType sets the VirtualizationType field's value.
12646func (s *Instance) SetVirtualizationType(v string) *Instance {
12647	s.VirtualizationType = &v
12648	return s
12649}
12650
12651// Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata
12652// service. For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/sdkfornet/latest/apidocs/Index.html).
12653type InstanceIdentity struct {
12654	_ struct{} `type:"structure"`
12655
12656	// A JSON document that contains the metadata.
12657	Document *string `type:"string"`
12658
12659	// A signature that can be used to verify the document's accuracy and authenticity.
12660	Signature *string `type:"string"`
12661}
12662
12663// String returns the string representation
12664func (s InstanceIdentity) String() string {
12665	return awsutil.Prettify(s)
12666}
12667
12668// GoString returns the string representation
12669func (s InstanceIdentity) GoString() string {
12670	return s.String()
12671}
12672
12673// SetDocument sets the Document field's value.
12674func (s *InstanceIdentity) SetDocument(v string) *InstanceIdentity {
12675	s.Document = &v
12676	return s
12677}
12678
12679// SetSignature sets the Signature field's value.
12680func (s *InstanceIdentity) SetSignature(v string) *InstanceIdentity {
12681	s.Signature = &v
12682	return s
12683}
12684
12685// Describes how many instances a stack has for each status.
12686type InstancesCount struct {
12687	_ struct{} `type:"structure"`
12688
12689	// The number of instances in the Assigning state.
12690	Assigning *int64 `type:"integer"`
12691
12692	// The number of instances with booting status.
12693	Booting *int64 `type:"integer"`
12694
12695	// The number of instances with connection_lost status.
12696	ConnectionLost *int64 `type:"integer"`
12697
12698	// The number of instances in the Deregistering state.
12699	Deregistering *int64 `type:"integer"`
12700
12701	// The number of instances with online status.
12702	Online *int64 `type:"integer"`
12703
12704	// The number of instances with pending status.
12705	Pending *int64 `type:"integer"`
12706
12707	// The number of instances with rebooting status.
12708	Rebooting *int64 `type:"integer"`
12709
12710	// The number of instances in the Registered state.
12711	Registered *int64 `type:"integer"`
12712
12713	// The number of instances in the Registering state.
12714	Registering *int64 `type:"integer"`
12715
12716	// The number of instances with requested status.
12717	Requested *int64 `type:"integer"`
12718
12719	// The number of instances with running_setup status.
12720	RunningSetup *int64 `type:"integer"`
12721
12722	// The number of instances with setup_failed status.
12723	SetupFailed *int64 `type:"integer"`
12724
12725	// The number of instances with shutting_down status.
12726	ShuttingDown *int64 `type:"integer"`
12727
12728	// The number of instances with start_failed status.
12729	StartFailed *int64 `type:"integer"`
12730
12731	// The number of instances with stop_failed status.
12732	StopFailed *int64 `type:"integer"`
12733
12734	// The number of instances with stopped status.
12735	Stopped *int64 `type:"integer"`
12736
12737	// The number of instances with stopping status.
12738	Stopping *int64 `type:"integer"`
12739
12740	// The number of instances with terminated status.
12741	Terminated *int64 `type:"integer"`
12742
12743	// The number of instances with terminating status.
12744	Terminating *int64 `type:"integer"`
12745
12746	// The number of instances in the Unassigning state.
12747	Unassigning *int64 `type:"integer"`
12748}
12749
12750// String returns the string representation
12751func (s InstancesCount) String() string {
12752	return awsutil.Prettify(s)
12753}
12754
12755// GoString returns the string representation
12756func (s InstancesCount) GoString() string {
12757	return s.String()
12758}
12759
12760// SetAssigning sets the Assigning field's value.
12761func (s *InstancesCount) SetAssigning(v int64) *InstancesCount {
12762	s.Assigning = &v
12763	return s
12764}
12765
12766// SetBooting sets the Booting field's value.
12767func (s *InstancesCount) SetBooting(v int64) *InstancesCount {
12768	s.Booting = &v
12769	return s
12770}
12771
12772// SetConnectionLost sets the ConnectionLost field's value.
12773func (s *InstancesCount) SetConnectionLost(v int64) *InstancesCount {
12774	s.ConnectionLost = &v
12775	return s
12776}
12777
12778// SetDeregistering sets the Deregistering field's value.
12779func (s *InstancesCount) SetDeregistering(v int64) *InstancesCount {
12780	s.Deregistering = &v
12781	return s
12782}
12783
12784// SetOnline sets the Online field's value.
12785func (s *InstancesCount) SetOnline(v int64) *InstancesCount {
12786	s.Online = &v
12787	return s
12788}
12789
12790// SetPending sets the Pending field's value.
12791func (s *InstancesCount) SetPending(v int64) *InstancesCount {
12792	s.Pending = &v
12793	return s
12794}
12795
12796// SetRebooting sets the Rebooting field's value.
12797func (s *InstancesCount) SetRebooting(v int64) *InstancesCount {
12798	s.Rebooting = &v
12799	return s
12800}
12801
12802// SetRegistered sets the Registered field's value.
12803func (s *InstancesCount) SetRegistered(v int64) *InstancesCount {
12804	s.Registered = &v
12805	return s
12806}
12807
12808// SetRegistering sets the Registering field's value.
12809func (s *InstancesCount) SetRegistering(v int64) *InstancesCount {
12810	s.Registering = &v
12811	return s
12812}
12813
12814// SetRequested sets the Requested field's value.
12815func (s *InstancesCount) SetRequested(v int64) *InstancesCount {
12816	s.Requested = &v
12817	return s
12818}
12819
12820// SetRunningSetup sets the RunningSetup field's value.
12821func (s *InstancesCount) SetRunningSetup(v int64) *InstancesCount {
12822	s.RunningSetup = &v
12823	return s
12824}
12825
12826// SetSetupFailed sets the SetupFailed field's value.
12827func (s *InstancesCount) SetSetupFailed(v int64) *InstancesCount {
12828	s.SetupFailed = &v
12829	return s
12830}
12831
12832// SetShuttingDown sets the ShuttingDown field's value.
12833func (s *InstancesCount) SetShuttingDown(v int64) *InstancesCount {
12834	s.ShuttingDown = &v
12835	return s
12836}
12837
12838// SetStartFailed sets the StartFailed field's value.
12839func (s *InstancesCount) SetStartFailed(v int64) *InstancesCount {
12840	s.StartFailed = &v
12841	return s
12842}
12843
12844// SetStopFailed sets the StopFailed field's value.
12845func (s *InstancesCount) SetStopFailed(v int64) *InstancesCount {
12846	s.StopFailed = &v
12847	return s
12848}
12849
12850// SetStopped sets the Stopped field's value.
12851func (s *InstancesCount) SetStopped(v int64) *InstancesCount {
12852	s.Stopped = &v
12853	return s
12854}
12855
12856// SetStopping sets the Stopping field's value.
12857func (s *InstancesCount) SetStopping(v int64) *InstancesCount {
12858	s.Stopping = &v
12859	return s
12860}
12861
12862// SetTerminated sets the Terminated field's value.
12863func (s *InstancesCount) SetTerminated(v int64) *InstancesCount {
12864	s.Terminated = &v
12865	return s
12866}
12867
12868// SetTerminating sets the Terminating field's value.
12869func (s *InstancesCount) SetTerminating(v int64) *InstancesCount {
12870	s.Terminating = &v
12871	return s
12872}
12873
12874// SetUnassigning sets the Unassigning field's value.
12875func (s *InstancesCount) SetUnassigning(v int64) *InstancesCount {
12876	s.Unassigning = &v
12877	return s
12878}
12879
12880// Describes a layer.
12881type Layer struct {
12882	_ struct{} `type:"structure"`
12883
12884	// The Amazon Resource Number (ARN) of a layer.
12885	Arn *string `type:"string"`
12886
12887	// The layer attributes.
12888	//
12889	// For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes,
12890	// AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value
12891	//
12892	// For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute
12893	// is set to the cluster's ARN.
12894	Attributes map[string]*string `type:"map"`
12895
12896	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
12897	// 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).
12898	AutoAssignElasticIps *bool `type:"boolean"`
12899
12900	// For stacks that are running in a VPC, whether to automatically assign a public
12901	// IP address to the layer's instances. For more information, see How to Edit
12902	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
12903	AutoAssignPublicIps *bool `type:"boolean"`
12904
12905	// The Amazon CloudWatch Logs configuration settings for the layer.
12906	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
12907
12908	// Date when the layer was created.
12909	CreatedAt *string `type:"string"`
12910
12911	// The ARN of the default IAM profile to be used for the layer's EC2 instances.
12912	// For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
12913	CustomInstanceProfileArn *string `type:"string"`
12914
12915	// A JSON formatted string containing the layer's custom stack configuration
12916	// and deployment attributes.
12917	CustomJson *string `type:"string"`
12918
12919	// A LayerCustomRecipes object that specifies the layer's custom recipes.
12920	CustomRecipes *Recipes `type:"structure"`
12921
12922	// An array containing the layer's custom security group IDs.
12923	CustomSecurityGroupIds []*string `type:"list"`
12924
12925	// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
12926	// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs
12927	// a set of standard recipes for each event. You can also provide custom recipes
12928	// for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes
12929	// after the standard recipes. LayerCustomRecipes specifies the custom recipes
12930	// for a particular layer to be run in response to each of the five events.
12931	//
12932	// To specify a recipe, use the cookbook's directory name in the repository
12933	// followed by two colons and the recipe name, which is the recipe's file name
12934	// without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb
12935	// recipe in the repository's phpapp2 folder.
12936	DefaultRecipes *Recipes `type:"structure"`
12937
12938	// An array containing the layer's security group names.
12939	DefaultSecurityGroupNames []*string `type:"list"`
12940
12941	// Whether auto healing is disabled for the layer.
12942	EnableAutoHealing *bool `type:"boolean"`
12943
12944	// Whether to install operating system and package updates when the instance
12945	// boots. The default value is true. If this value is set to false, you must
12946	// then update your instances manually by using CreateDeployment to run the
12947	// update_dependencies stack command or manually running yum (Amazon Linux)
12948	// or apt-get (Ubuntu) on the instances.
12949	//
12950	// We strongly recommend using the default value of true, to ensure that your
12951	// instances have the latest security updates.
12952	InstallUpdatesOnBoot *bool `type:"boolean"`
12953
12954	// The layer ID.
12955	LayerId *string `type:"string"`
12956
12957	// A LifeCycleEventConfiguration object that specifies the Shutdown event configuration.
12958	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
12959
12960	// The layer name.
12961	Name *string `type:"string"`
12962
12963	// An array of Package objects that describe the layer's packages.
12964	Packages []*string `type:"list"`
12965
12966	// The layer short name.
12967	Shortname *string `type:"string"`
12968
12969	// The layer stack ID.
12970	StackId *string `type:"string"`
12971
12972	// The layer type.
12973	Type *string `type:"string" enum:"LayerType"`
12974
12975	// Whether the layer uses Amazon EBS-optimized instances.
12976	UseEbsOptimizedInstances *bool `type:"boolean"`
12977
12978	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
12979	VolumeConfigurations []*VolumeConfiguration `type:"list"`
12980}
12981
12982// String returns the string representation
12983func (s Layer) String() string {
12984	return awsutil.Prettify(s)
12985}
12986
12987// GoString returns the string representation
12988func (s Layer) GoString() string {
12989	return s.String()
12990}
12991
12992// SetArn sets the Arn field's value.
12993func (s *Layer) SetArn(v string) *Layer {
12994	s.Arn = &v
12995	return s
12996}
12997
12998// SetAttributes sets the Attributes field's value.
12999func (s *Layer) SetAttributes(v map[string]*string) *Layer {
13000	s.Attributes = v
13001	return s
13002}
13003
13004// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
13005func (s *Layer) SetAutoAssignElasticIps(v bool) *Layer {
13006	s.AutoAssignElasticIps = &v
13007	return s
13008}
13009
13010// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
13011func (s *Layer) SetAutoAssignPublicIps(v bool) *Layer {
13012	s.AutoAssignPublicIps = &v
13013	return s
13014}
13015
13016// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
13017func (s *Layer) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *Layer {
13018	s.CloudWatchLogsConfiguration = v
13019	return s
13020}
13021
13022// SetCreatedAt sets the CreatedAt field's value.
13023func (s *Layer) SetCreatedAt(v string) *Layer {
13024	s.CreatedAt = &v
13025	return s
13026}
13027
13028// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
13029func (s *Layer) SetCustomInstanceProfileArn(v string) *Layer {
13030	s.CustomInstanceProfileArn = &v
13031	return s
13032}
13033
13034// SetCustomJson sets the CustomJson field's value.
13035func (s *Layer) SetCustomJson(v string) *Layer {
13036	s.CustomJson = &v
13037	return s
13038}
13039
13040// SetCustomRecipes sets the CustomRecipes field's value.
13041func (s *Layer) SetCustomRecipes(v *Recipes) *Layer {
13042	s.CustomRecipes = v
13043	return s
13044}
13045
13046// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
13047func (s *Layer) SetCustomSecurityGroupIds(v []*string) *Layer {
13048	s.CustomSecurityGroupIds = v
13049	return s
13050}
13051
13052// SetDefaultRecipes sets the DefaultRecipes field's value.
13053func (s *Layer) SetDefaultRecipes(v *Recipes) *Layer {
13054	s.DefaultRecipes = v
13055	return s
13056}
13057
13058// SetDefaultSecurityGroupNames sets the DefaultSecurityGroupNames field's value.
13059func (s *Layer) SetDefaultSecurityGroupNames(v []*string) *Layer {
13060	s.DefaultSecurityGroupNames = v
13061	return s
13062}
13063
13064// SetEnableAutoHealing sets the EnableAutoHealing field's value.
13065func (s *Layer) SetEnableAutoHealing(v bool) *Layer {
13066	s.EnableAutoHealing = &v
13067	return s
13068}
13069
13070// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
13071func (s *Layer) SetInstallUpdatesOnBoot(v bool) *Layer {
13072	s.InstallUpdatesOnBoot = &v
13073	return s
13074}
13075
13076// SetLayerId sets the LayerId field's value.
13077func (s *Layer) SetLayerId(v string) *Layer {
13078	s.LayerId = &v
13079	return s
13080}
13081
13082// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
13083func (s *Layer) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *Layer {
13084	s.LifecycleEventConfiguration = v
13085	return s
13086}
13087
13088// SetName sets the Name field's value.
13089func (s *Layer) SetName(v string) *Layer {
13090	s.Name = &v
13091	return s
13092}
13093
13094// SetPackages sets the Packages field's value.
13095func (s *Layer) SetPackages(v []*string) *Layer {
13096	s.Packages = v
13097	return s
13098}
13099
13100// SetShortname sets the Shortname field's value.
13101func (s *Layer) SetShortname(v string) *Layer {
13102	s.Shortname = &v
13103	return s
13104}
13105
13106// SetStackId sets the StackId field's value.
13107func (s *Layer) SetStackId(v string) *Layer {
13108	s.StackId = &v
13109	return s
13110}
13111
13112// SetType sets the Type field's value.
13113func (s *Layer) SetType(v string) *Layer {
13114	s.Type = &v
13115	return s
13116}
13117
13118// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
13119func (s *Layer) SetUseEbsOptimizedInstances(v bool) *Layer {
13120	s.UseEbsOptimizedInstances = &v
13121	return s
13122}
13123
13124// SetVolumeConfigurations sets the VolumeConfigurations field's value.
13125func (s *Layer) SetVolumeConfigurations(v []*VolumeConfiguration) *Layer {
13126	s.VolumeConfigurations = v
13127	return s
13128}
13129
13130// Specifies the lifecycle event configuration
13131type LifecycleEventConfiguration struct {
13132	_ struct{} `type:"structure"`
13133
13134	// A ShutdownEventConfiguration object that specifies the Shutdown event configuration.
13135	Shutdown *ShutdownEventConfiguration `type:"structure"`
13136}
13137
13138// String returns the string representation
13139func (s LifecycleEventConfiguration) String() string {
13140	return awsutil.Prettify(s)
13141}
13142
13143// GoString returns the string representation
13144func (s LifecycleEventConfiguration) GoString() string {
13145	return s.String()
13146}
13147
13148// SetShutdown sets the Shutdown field's value.
13149func (s *LifecycleEventConfiguration) SetShutdown(v *ShutdownEventConfiguration) *LifecycleEventConfiguration {
13150	s.Shutdown = v
13151	return s
13152}
13153
13154type ListTagsInput struct {
13155	_ struct{} `type:"structure"`
13156
13157	// Do not use. A validation exception occurs if you add a MaxResults parameter
13158	// to a ListTagsRequest call.
13159	MaxResults *int64 `type:"integer"`
13160
13161	// Do not use. A validation exception occurs if you add a NextToken parameter
13162	// to a ListTagsRequest call.
13163	NextToken *string `type:"string"`
13164
13165	// The stack or layer's Amazon Resource Number (ARN).
13166	//
13167	// ResourceArn is a required field
13168	ResourceArn *string `type:"string" required:"true"`
13169}
13170
13171// String returns the string representation
13172func (s ListTagsInput) String() string {
13173	return awsutil.Prettify(s)
13174}
13175
13176// GoString returns the string representation
13177func (s ListTagsInput) GoString() string {
13178	return s.String()
13179}
13180
13181// Validate inspects the fields of the type to determine if they are valid.
13182func (s *ListTagsInput) Validate() error {
13183	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
13184	if s.ResourceArn == nil {
13185		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13186	}
13187
13188	if invalidParams.Len() > 0 {
13189		return invalidParams
13190	}
13191	return nil
13192}
13193
13194// SetMaxResults sets the MaxResults field's value.
13195func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput {
13196	s.MaxResults = &v
13197	return s
13198}
13199
13200// SetNextToken sets the NextToken field's value.
13201func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
13202	s.NextToken = &v
13203	return s
13204}
13205
13206// SetResourceArn sets the ResourceArn field's value.
13207func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput {
13208	s.ResourceArn = &v
13209	return s
13210}
13211
13212// Contains the response to a ListTags request.
13213type ListTagsOutput struct {
13214	_ struct{} `type:"structure"`
13215
13216	// If a paginated request does not return all of the remaining results, this
13217	// parameter is set to a token that you can assign to the request object's NextToken
13218	// parameter to get the next set of results. If the previous paginated request
13219	// returned all of the remaining results, this parameter is set to null.
13220	NextToken *string `type:"string"`
13221
13222	// A set of key-value pairs that contain tag keys and tag values that are attached
13223	// to a stack or layer.
13224	Tags map[string]*string `type:"map"`
13225}
13226
13227// String returns the string representation
13228func (s ListTagsOutput) String() string {
13229	return awsutil.Prettify(s)
13230}
13231
13232// GoString returns the string representation
13233func (s ListTagsOutput) GoString() string {
13234	return s.String()
13235}
13236
13237// SetNextToken sets the NextToken field's value.
13238func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
13239	s.NextToken = &v
13240	return s
13241}
13242
13243// SetTags sets the Tags field's value.
13244func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
13245	s.Tags = v
13246	return s
13247}
13248
13249// Describes a layer's load-based auto scaling configuration.
13250type LoadBasedAutoScalingConfiguration struct {
13251	_ struct{} `type:"structure"`
13252
13253	// An AutoScalingThresholds object that describes the downscaling configuration,
13254	// which defines how and when AWS OpsWorks Stacks reduces the number of instances.
13255	DownScaling *AutoScalingThresholds `type:"structure"`
13256
13257	// Whether load-based auto scaling is enabled for the layer.
13258	Enable *bool `type:"boolean"`
13259
13260	// The layer ID.
13261	LayerId *string `type:"string"`
13262
13263	// An AutoScalingThresholds object that describes the upscaling configuration,
13264	// which defines how and when AWS OpsWorks Stacks increases the number of instances.
13265	UpScaling *AutoScalingThresholds `type:"structure"`
13266}
13267
13268// String returns the string representation
13269func (s LoadBasedAutoScalingConfiguration) String() string {
13270	return awsutil.Prettify(s)
13271}
13272
13273// GoString returns the string representation
13274func (s LoadBasedAutoScalingConfiguration) GoString() string {
13275	return s.String()
13276}
13277
13278// SetDownScaling sets the DownScaling field's value.
13279func (s *LoadBasedAutoScalingConfiguration) SetDownScaling(v *AutoScalingThresholds) *LoadBasedAutoScalingConfiguration {
13280	s.DownScaling = v
13281	return s
13282}
13283
13284// SetEnable sets the Enable field's value.
13285func (s *LoadBasedAutoScalingConfiguration) SetEnable(v bool) *LoadBasedAutoScalingConfiguration {
13286	s.Enable = &v
13287	return s
13288}
13289
13290// SetLayerId sets the LayerId field's value.
13291func (s *LoadBasedAutoScalingConfiguration) SetLayerId(v string) *LoadBasedAutoScalingConfiguration {
13292	s.LayerId = &v
13293	return s
13294}
13295
13296// SetUpScaling sets the UpScaling field's value.
13297func (s *LoadBasedAutoScalingConfiguration) SetUpScaling(v *AutoScalingThresholds) *LoadBasedAutoScalingConfiguration {
13298	s.UpScaling = v
13299	return s
13300}
13301
13302// Describes supported operating systems in AWS OpsWorks Stacks.
13303type OperatingSystem struct {
13304	_ struct{} `type:"structure"`
13305
13306	// Supported configuration manager name and versions for an AWS OpsWorks Stacks
13307	// operating system.
13308	ConfigurationManagers []*OperatingSystemConfigurationManager `type:"list"`
13309
13310	// The ID of a supported operating system, such as Amazon Linux 2018.03.
13311	Id *string `type:"string"`
13312
13313	// The name of the operating system, such as Amazon Linux 2018.03.
13314	Name *string `type:"string"`
13315
13316	// A short name for the operating system manufacturer.
13317	ReportedName *string `type:"string"`
13318
13319	// The version of the operating system, including the release and edition, if
13320	// applicable.
13321	ReportedVersion *string `type:"string"`
13322
13323	// Indicates that an operating system is not supported for new instances.
13324	Supported *bool `type:"boolean"`
13325
13326	// The type of a supported operating system, either Linux or Windows.
13327	Type *string `type:"string"`
13328}
13329
13330// String returns the string representation
13331func (s OperatingSystem) String() string {
13332	return awsutil.Prettify(s)
13333}
13334
13335// GoString returns the string representation
13336func (s OperatingSystem) GoString() string {
13337	return s.String()
13338}
13339
13340// SetConfigurationManagers sets the ConfigurationManagers field's value.
13341func (s *OperatingSystem) SetConfigurationManagers(v []*OperatingSystemConfigurationManager) *OperatingSystem {
13342	s.ConfigurationManagers = v
13343	return s
13344}
13345
13346// SetId sets the Id field's value.
13347func (s *OperatingSystem) SetId(v string) *OperatingSystem {
13348	s.Id = &v
13349	return s
13350}
13351
13352// SetName sets the Name field's value.
13353func (s *OperatingSystem) SetName(v string) *OperatingSystem {
13354	s.Name = &v
13355	return s
13356}
13357
13358// SetReportedName sets the ReportedName field's value.
13359func (s *OperatingSystem) SetReportedName(v string) *OperatingSystem {
13360	s.ReportedName = &v
13361	return s
13362}
13363
13364// SetReportedVersion sets the ReportedVersion field's value.
13365func (s *OperatingSystem) SetReportedVersion(v string) *OperatingSystem {
13366	s.ReportedVersion = &v
13367	return s
13368}
13369
13370// SetSupported sets the Supported field's value.
13371func (s *OperatingSystem) SetSupported(v bool) *OperatingSystem {
13372	s.Supported = &v
13373	return s
13374}
13375
13376// SetType sets the Type field's value.
13377func (s *OperatingSystem) SetType(v string) *OperatingSystem {
13378	s.Type = &v
13379	return s
13380}
13381
13382// A block that contains information about the configuration manager (Chef)
13383// and the versions of the configuration manager that are supported for an operating
13384// system.
13385type OperatingSystemConfigurationManager struct {
13386	_ struct{} `type:"structure"`
13387
13388	// The name of the configuration manager, which is Chef.
13389	Name *string `type:"string"`
13390
13391	// The versions of the configuration manager that are supported by an operating
13392	// system.
13393	Version *string `type:"string"`
13394}
13395
13396// String returns the string representation
13397func (s OperatingSystemConfigurationManager) String() string {
13398	return awsutil.Prettify(s)
13399}
13400
13401// GoString returns the string representation
13402func (s OperatingSystemConfigurationManager) GoString() string {
13403	return s.String()
13404}
13405
13406// SetName sets the Name field's value.
13407func (s *OperatingSystemConfigurationManager) SetName(v string) *OperatingSystemConfigurationManager {
13408	s.Name = &v
13409	return s
13410}
13411
13412// SetVersion sets the Version field's value.
13413func (s *OperatingSystemConfigurationManager) SetVersion(v string) *OperatingSystemConfigurationManager {
13414	s.Version = &v
13415	return s
13416}
13417
13418// Describes stack or user permissions.
13419type Permission struct {
13420	_ struct{} `type:"structure"`
13421
13422	// Whether the user can use SSH.
13423	AllowSsh *bool `type:"boolean"`
13424
13425	// Whether the user can use sudo.
13426	AllowSudo *bool `type:"boolean"`
13427
13428	// The Amazon Resource Name (ARN) for an AWS Identity and Access Management
13429	// (IAM) role. For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
13430	IamUserArn *string `type:"string"`
13431
13432	// The user's permission level, which must be the following:
13433	//
13434	//    * deny
13435	//
13436	//    * show
13437	//
13438	//    * deploy
13439	//
13440	//    * manage
13441	//
13442	//    * iam_only
13443	//
13444	// For more information on the permissions associated with these levels, see
13445	// Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html)
13446	Level *string `type:"string"`
13447
13448	// A stack ID.
13449	StackId *string `type:"string"`
13450}
13451
13452// String returns the string representation
13453func (s Permission) String() string {
13454	return awsutil.Prettify(s)
13455}
13456
13457// GoString returns the string representation
13458func (s Permission) GoString() string {
13459	return s.String()
13460}
13461
13462// SetAllowSsh sets the AllowSsh field's value.
13463func (s *Permission) SetAllowSsh(v bool) *Permission {
13464	s.AllowSsh = &v
13465	return s
13466}
13467
13468// SetAllowSudo sets the AllowSudo field's value.
13469func (s *Permission) SetAllowSudo(v bool) *Permission {
13470	s.AllowSudo = &v
13471	return s
13472}
13473
13474// SetIamUserArn sets the IamUserArn field's value.
13475func (s *Permission) SetIamUserArn(v string) *Permission {
13476	s.IamUserArn = &v
13477	return s
13478}
13479
13480// SetLevel sets the Level field's value.
13481func (s *Permission) SetLevel(v string) *Permission {
13482	s.Level = &v
13483	return s
13484}
13485
13486// SetStackId sets the StackId field's value.
13487func (s *Permission) SetStackId(v string) *Permission {
13488	s.StackId = &v
13489	return s
13490}
13491
13492// Describes an instance's RAID array.
13493type RaidArray struct {
13494	_ struct{} `type:"structure"`
13495
13496	// The array's Availability Zone. For more information, see Regions and Endpoints
13497	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
13498	AvailabilityZone *string `type:"string"`
13499
13500	// When the RAID array was created.
13501	CreatedAt *string `type:"string"`
13502
13503	// The array's Linux device. For example /dev/mdadm0.
13504	Device *string `type:"string"`
13505
13506	// The instance ID.
13507	InstanceId *string `type:"string"`
13508
13509	// For PIOPS volumes, the IOPS per disk.
13510	Iops *int64 `type:"integer"`
13511
13512	// The array's mount point.
13513	MountPoint *string `type:"string"`
13514
13515	// The array name.
13516	Name *string `type:"string"`
13517
13518	// The number of disks in the array.
13519	NumberOfDisks *int64 `type:"integer"`
13520
13521	// The array ID.
13522	RaidArrayId *string `type:"string"`
13523
13524	// The RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels).
13525	RaidLevel *int64 `type:"integer"`
13526
13527	// The array's size.
13528	Size *int64 `type:"integer"`
13529
13530	// The stack ID.
13531	StackId *string `type:"string"`
13532
13533	// The volume type, standard or PIOPS.
13534	VolumeType *string `type:"string"`
13535}
13536
13537// String returns the string representation
13538func (s RaidArray) String() string {
13539	return awsutil.Prettify(s)
13540}
13541
13542// GoString returns the string representation
13543func (s RaidArray) GoString() string {
13544	return s.String()
13545}
13546
13547// SetAvailabilityZone sets the AvailabilityZone field's value.
13548func (s *RaidArray) SetAvailabilityZone(v string) *RaidArray {
13549	s.AvailabilityZone = &v
13550	return s
13551}
13552
13553// SetCreatedAt sets the CreatedAt field's value.
13554func (s *RaidArray) SetCreatedAt(v string) *RaidArray {
13555	s.CreatedAt = &v
13556	return s
13557}
13558
13559// SetDevice sets the Device field's value.
13560func (s *RaidArray) SetDevice(v string) *RaidArray {
13561	s.Device = &v
13562	return s
13563}
13564
13565// SetInstanceId sets the InstanceId field's value.
13566func (s *RaidArray) SetInstanceId(v string) *RaidArray {
13567	s.InstanceId = &v
13568	return s
13569}
13570
13571// SetIops sets the Iops field's value.
13572func (s *RaidArray) SetIops(v int64) *RaidArray {
13573	s.Iops = &v
13574	return s
13575}
13576
13577// SetMountPoint sets the MountPoint field's value.
13578func (s *RaidArray) SetMountPoint(v string) *RaidArray {
13579	s.MountPoint = &v
13580	return s
13581}
13582
13583// SetName sets the Name field's value.
13584func (s *RaidArray) SetName(v string) *RaidArray {
13585	s.Name = &v
13586	return s
13587}
13588
13589// SetNumberOfDisks sets the NumberOfDisks field's value.
13590func (s *RaidArray) SetNumberOfDisks(v int64) *RaidArray {
13591	s.NumberOfDisks = &v
13592	return s
13593}
13594
13595// SetRaidArrayId sets the RaidArrayId field's value.
13596func (s *RaidArray) SetRaidArrayId(v string) *RaidArray {
13597	s.RaidArrayId = &v
13598	return s
13599}
13600
13601// SetRaidLevel sets the RaidLevel field's value.
13602func (s *RaidArray) SetRaidLevel(v int64) *RaidArray {
13603	s.RaidLevel = &v
13604	return s
13605}
13606
13607// SetSize sets the Size field's value.
13608func (s *RaidArray) SetSize(v int64) *RaidArray {
13609	s.Size = &v
13610	return s
13611}
13612
13613// SetStackId sets the StackId field's value.
13614func (s *RaidArray) SetStackId(v string) *RaidArray {
13615	s.StackId = &v
13616	return s
13617}
13618
13619// SetVolumeType sets the VolumeType field's value.
13620func (s *RaidArray) SetVolumeType(v string) *RaidArray {
13621	s.VolumeType = &v
13622	return s
13623}
13624
13625// Describes an Amazon RDS instance.
13626type RdsDbInstance struct {
13627	_ struct{} `type:"structure"`
13628
13629	// The instance's address.
13630	Address *string `type:"string"`
13631
13632	// The DB instance identifier.
13633	DbInstanceIdentifier *string `type:"string"`
13634
13635	// AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.
13636	DbPassword *string `type:"string"`
13637
13638	// The master user name.
13639	DbUser *string `type:"string"`
13640
13641	// The instance's database engine.
13642	Engine *string `type:"string"`
13643
13644	// Set to true if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance.
13645	// AWS OpsWorks Stacks attempts to discover the instance only once. If this
13646	// value is set to true, you must deregister the instance, and then register
13647	// it again.
13648	MissingOnRds *bool `type:"boolean"`
13649
13650	// The instance's ARN.
13651	RdsDbInstanceArn *string `type:"string"`
13652
13653	// The instance's AWS region.
13654	Region *string `type:"string"`
13655
13656	// The ID of the stack with which the instance is registered.
13657	StackId *string `type:"string"`
13658}
13659
13660// String returns the string representation
13661func (s RdsDbInstance) String() string {
13662	return awsutil.Prettify(s)
13663}
13664
13665// GoString returns the string representation
13666func (s RdsDbInstance) GoString() string {
13667	return s.String()
13668}
13669
13670// SetAddress sets the Address field's value.
13671func (s *RdsDbInstance) SetAddress(v string) *RdsDbInstance {
13672	s.Address = &v
13673	return s
13674}
13675
13676// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
13677func (s *RdsDbInstance) SetDbInstanceIdentifier(v string) *RdsDbInstance {
13678	s.DbInstanceIdentifier = &v
13679	return s
13680}
13681
13682// SetDbPassword sets the DbPassword field's value.
13683func (s *RdsDbInstance) SetDbPassword(v string) *RdsDbInstance {
13684	s.DbPassword = &v
13685	return s
13686}
13687
13688// SetDbUser sets the DbUser field's value.
13689func (s *RdsDbInstance) SetDbUser(v string) *RdsDbInstance {
13690	s.DbUser = &v
13691	return s
13692}
13693
13694// SetEngine sets the Engine field's value.
13695func (s *RdsDbInstance) SetEngine(v string) *RdsDbInstance {
13696	s.Engine = &v
13697	return s
13698}
13699
13700// SetMissingOnRds sets the MissingOnRds field's value.
13701func (s *RdsDbInstance) SetMissingOnRds(v bool) *RdsDbInstance {
13702	s.MissingOnRds = &v
13703	return s
13704}
13705
13706// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
13707func (s *RdsDbInstance) SetRdsDbInstanceArn(v string) *RdsDbInstance {
13708	s.RdsDbInstanceArn = &v
13709	return s
13710}
13711
13712// SetRegion sets the Region field's value.
13713func (s *RdsDbInstance) SetRegion(v string) *RdsDbInstance {
13714	s.Region = &v
13715	return s
13716}
13717
13718// SetStackId sets the StackId field's value.
13719func (s *RdsDbInstance) SetStackId(v string) *RdsDbInstance {
13720	s.StackId = &v
13721	return s
13722}
13723
13724type RebootInstanceInput struct {
13725	_ struct{} `type:"structure"`
13726
13727	// The instance ID.
13728	//
13729	// InstanceId is a required field
13730	InstanceId *string `type:"string" required:"true"`
13731}
13732
13733// String returns the string representation
13734func (s RebootInstanceInput) String() string {
13735	return awsutil.Prettify(s)
13736}
13737
13738// GoString returns the string representation
13739func (s RebootInstanceInput) GoString() string {
13740	return s.String()
13741}
13742
13743// Validate inspects the fields of the type to determine if they are valid.
13744func (s *RebootInstanceInput) Validate() error {
13745	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
13746	if s.InstanceId == nil {
13747		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13748	}
13749
13750	if invalidParams.Len() > 0 {
13751		return invalidParams
13752	}
13753	return nil
13754}
13755
13756// SetInstanceId sets the InstanceId field's value.
13757func (s *RebootInstanceInput) SetInstanceId(v string) *RebootInstanceInput {
13758	s.InstanceId = &v
13759	return s
13760}
13761
13762type RebootInstanceOutput struct {
13763	_ struct{} `type:"structure"`
13764}
13765
13766// String returns the string representation
13767func (s RebootInstanceOutput) String() string {
13768	return awsutil.Prettify(s)
13769}
13770
13771// GoString returns the string representation
13772func (s RebootInstanceOutput) GoString() string {
13773	return s.String()
13774}
13775
13776// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
13777// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs
13778// a set of standard recipes for each event. In addition, you can provide custom
13779// recipes for any or all layers and events. AWS OpsWorks Stacks runs custom
13780// event recipes after the standard recipes. LayerCustomRecipes specifies the
13781// custom recipes for a particular layer to be run in response to each of the
13782// five events.
13783//
13784// To specify a recipe, use the cookbook's directory name in the repository
13785// followed by two colons and the recipe name, which is the recipe's file name
13786// without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb
13787// recipe in the repository's phpapp2 folder.
13788type Recipes struct {
13789	_ struct{} `type:"structure"`
13790
13791	// An array of custom recipe names to be run following a configure event.
13792	Configure []*string `type:"list"`
13793
13794	// An array of custom recipe names to be run following a deploy event.
13795	Deploy []*string `type:"list"`
13796
13797	// An array of custom recipe names to be run following a setup event.
13798	Setup []*string `type:"list"`
13799
13800	// An array of custom recipe names to be run following a shutdown event.
13801	Shutdown []*string `type:"list"`
13802
13803	// An array of custom recipe names to be run following a undeploy event.
13804	Undeploy []*string `type:"list"`
13805}
13806
13807// String returns the string representation
13808func (s Recipes) String() string {
13809	return awsutil.Prettify(s)
13810}
13811
13812// GoString returns the string representation
13813func (s Recipes) GoString() string {
13814	return s.String()
13815}
13816
13817// SetConfigure sets the Configure field's value.
13818func (s *Recipes) SetConfigure(v []*string) *Recipes {
13819	s.Configure = v
13820	return s
13821}
13822
13823// SetDeploy sets the Deploy field's value.
13824func (s *Recipes) SetDeploy(v []*string) *Recipes {
13825	s.Deploy = v
13826	return s
13827}
13828
13829// SetSetup sets the Setup field's value.
13830func (s *Recipes) SetSetup(v []*string) *Recipes {
13831	s.Setup = v
13832	return s
13833}
13834
13835// SetShutdown sets the Shutdown field's value.
13836func (s *Recipes) SetShutdown(v []*string) *Recipes {
13837	s.Shutdown = v
13838	return s
13839}
13840
13841// SetUndeploy sets the Undeploy field's value.
13842func (s *Recipes) SetUndeploy(v []*string) *Recipes {
13843	s.Undeploy = v
13844	return s
13845}
13846
13847type RegisterEcsClusterInput struct {
13848	_ struct{} `type:"structure"`
13849
13850	// The cluster's ARN.
13851	//
13852	// EcsClusterArn is a required field
13853	EcsClusterArn *string `type:"string" required:"true"`
13854
13855	// The stack ID.
13856	//
13857	// StackId is a required field
13858	StackId *string `type:"string" required:"true"`
13859}
13860
13861// String returns the string representation
13862func (s RegisterEcsClusterInput) String() string {
13863	return awsutil.Prettify(s)
13864}
13865
13866// GoString returns the string representation
13867func (s RegisterEcsClusterInput) GoString() string {
13868	return s.String()
13869}
13870
13871// Validate inspects the fields of the type to determine if they are valid.
13872func (s *RegisterEcsClusterInput) Validate() error {
13873	invalidParams := request.ErrInvalidParams{Context: "RegisterEcsClusterInput"}
13874	if s.EcsClusterArn == nil {
13875		invalidParams.Add(request.NewErrParamRequired("EcsClusterArn"))
13876	}
13877	if s.StackId == nil {
13878		invalidParams.Add(request.NewErrParamRequired("StackId"))
13879	}
13880
13881	if invalidParams.Len() > 0 {
13882		return invalidParams
13883	}
13884	return nil
13885}
13886
13887// SetEcsClusterArn sets the EcsClusterArn field's value.
13888func (s *RegisterEcsClusterInput) SetEcsClusterArn(v string) *RegisterEcsClusterInput {
13889	s.EcsClusterArn = &v
13890	return s
13891}
13892
13893// SetStackId sets the StackId field's value.
13894func (s *RegisterEcsClusterInput) SetStackId(v string) *RegisterEcsClusterInput {
13895	s.StackId = &v
13896	return s
13897}
13898
13899// Contains the response to a RegisterEcsCluster request.
13900type RegisterEcsClusterOutput struct {
13901	_ struct{} `type:"structure"`
13902
13903	// The cluster's ARN.
13904	EcsClusterArn *string `type:"string"`
13905}
13906
13907// String returns the string representation
13908func (s RegisterEcsClusterOutput) String() string {
13909	return awsutil.Prettify(s)
13910}
13911
13912// GoString returns the string representation
13913func (s RegisterEcsClusterOutput) GoString() string {
13914	return s.String()
13915}
13916
13917// SetEcsClusterArn sets the EcsClusterArn field's value.
13918func (s *RegisterEcsClusterOutput) SetEcsClusterArn(v string) *RegisterEcsClusterOutput {
13919	s.EcsClusterArn = &v
13920	return s
13921}
13922
13923type RegisterElasticIpInput struct {
13924	_ struct{} `type:"structure"`
13925
13926	// The Elastic IP address.
13927	//
13928	// ElasticIp is a required field
13929	ElasticIp *string `type:"string" required:"true"`
13930
13931	// The stack ID.
13932	//
13933	// StackId is a required field
13934	StackId *string `type:"string" required:"true"`
13935}
13936
13937// String returns the string representation
13938func (s RegisterElasticIpInput) String() string {
13939	return awsutil.Prettify(s)
13940}
13941
13942// GoString returns the string representation
13943func (s RegisterElasticIpInput) GoString() string {
13944	return s.String()
13945}
13946
13947// Validate inspects the fields of the type to determine if they are valid.
13948func (s *RegisterElasticIpInput) Validate() error {
13949	invalidParams := request.ErrInvalidParams{Context: "RegisterElasticIpInput"}
13950	if s.ElasticIp == nil {
13951		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
13952	}
13953	if s.StackId == nil {
13954		invalidParams.Add(request.NewErrParamRequired("StackId"))
13955	}
13956
13957	if invalidParams.Len() > 0 {
13958		return invalidParams
13959	}
13960	return nil
13961}
13962
13963// SetElasticIp sets the ElasticIp field's value.
13964func (s *RegisterElasticIpInput) SetElasticIp(v string) *RegisterElasticIpInput {
13965	s.ElasticIp = &v
13966	return s
13967}
13968
13969// SetStackId sets the StackId field's value.
13970func (s *RegisterElasticIpInput) SetStackId(v string) *RegisterElasticIpInput {
13971	s.StackId = &v
13972	return s
13973}
13974
13975// Contains the response to a RegisterElasticIp request.
13976type RegisterElasticIpOutput struct {
13977	_ struct{} `type:"structure"`
13978
13979	// The Elastic IP address.
13980	ElasticIp *string `type:"string"`
13981}
13982
13983// String returns the string representation
13984func (s RegisterElasticIpOutput) String() string {
13985	return awsutil.Prettify(s)
13986}
13987
13988// GoString returns the string representation
13989func (s RegisterElasticIpOutput) GoString() string {
13990	return s.String()
13991}
13992
13993// SetElasticIp sets the ElasticIp field's value.
13994func (s *RegisterElasticIpOutput) SetElasticIp(v string) *RegisterElasticIpOutput {
13995	s.ElasticIp = &v
13996	return s
13997}
13998
13999type RegisterInstanceInput struct {
14000	_ struct{} `type:"structure"`
14001
14002	// The instance's hostname.
14003	Hostname *string `type:"string"`
14004
14005	// An InstanceIdentity object that contains the instance's identity.
14006	InstanceIdentity *InstanceIdentity `type:"structure"`
14007
14008	// The instance's private IP address.
14009	PrivateIp *string `type:"string"`
14010
14011	// The instance's public IP address.
14012	PublicIp *string `type:"string"`
14013
14014	// The instances public RSA key. This key is used to encrypt communication between
14015	// the instance and the service.
14016	RsaPublicKey *string `type:"string"`
14017
14018	// The instances public RSA key fingerprint.
14019	RsaPublicKeyFingerprint *string `type:"string"`
14020
14021	// The ID of the stack that the instance is to be registered with.
14022	//
14023	// StackId is a required field
14024	StackId *string `type:"string" required:"true"`
14025}
14026
14027// String returns the string representation
14028func (s RegisterInstanceInput) String() string {
14029	return awsutil.Prettify(s)
14030}
14031
14032// GoString returns the string representation
14033func (s RegisterInstanceInput) GoString() string {
14034	return s.String()
14035}
14036
14037// Validate inspects the fields of the type to determine if they are valid.
14038func (s *RegisterInstanceInput) Validate() error {
14039	invalidParams := request.ErrInvalidParams{Context: "RegisterInstanceInput"}
14040	if s.StackId == nil {
14041		invalidParams.Add(request.NewErrParamRequired("StackId"))
14042	}
14043
14044	if invalidParams.Len() > 0 {
14045		return invalidParams
14046	}
14047	return nil
14048}
14049
14050// SetHostname sets the Hostname field's value.
14051func (s *RegisterInstanceInput) SetHostname(v string) *RegisterInstanceInput {
14052	s.Hostname = &v
14053	return s
14054}
14055
14056// SetInstanceIdentity sets the InstanceIdentity field's value.
14057func (s *RegisterInstanceInput) SetInstanceIdentity(v *InstanceIdentity) *RegisterInstanceInput {
14058	s.InstanceIdentity = v
14059	return s
14060}
14061
14062// SetPrivateIp sets the PrivateIp field's value.
14063func (s *RegisterInstanceInput) SetPrivateIp(v string) *RegisterInstanceInput {
14064	s.PrivateIp = &v
14065	return s
14066}
14067
14068// SetPublicIp sets the PublicIp field's value.
14069func (s *RegisterInstanceInput) SetPublicIp(v string) *RegisterInstanceInput {
14070	s.PublicIp = &v
14071	return s
14072}
14073
14074// SetRsaPublicKey sets the RsaPublicKey field's value.
14075func (s *RegisterInstanceInput) SetRsaPublicKey(v string) *RegisterInstanceInput {
14076	s.RsaPublicKey = &v
14077	return s
14078}
14079
14080// SetRsaPublicKeyFingerprint sets the RsaPublicKeyFingerprint field's value.
14081func (s *RegisterInstanceInput) SetRsaPublicKeyFingerprint(v string) *RegisterInstanceInput {
14082	s.RsaPublicKeyFingerprint = &v
14083	return s
14084}
14085
14086// SetStackId sets the StackId field's value.
14087func (s *RegisterInstanceInput) SetStackId(v string) *RegisterInstanceInput {
14088	s.StackId = &v
14089	return s
14090}
14091
14092// Contains the response to a RegisterInstanceResult request.
14093type RegisterInstanceOutput struct {
14094	_ struct{} `type:"structure"`
14095
14096	// The registered instance's AWS OpsWorks Stacks ID.
14097	InstanceId *string `type:"string"`
14098}
14099
14100// String returns the string representation
14101func (s RegisterInstanceOutput) String() string {
14102	return awsutil.Prettify(s)
14103}
14104
14105// GoString returns the string representation
14106func (s RegisterInstanceOutput) GoString() string {
14107	return s.String()
14108}
14109
14110// SetInstanceId sets the InstanceId field's value.
14111func (s *RegisterInstanceOutput) SetInstanceId(v string) *RegisterInstanceOutput {
14112	s.InstanceId = &v
14113	return s
14114}
14115
14116type RegisterRdsDbInstanceInput struct {
14117	_ struct{} `type:"structure"`
14118
14119	// The database password.
14120	//
14121	// DbPassword is a required field
14122	DbPassword *string `type:"string" required:"true"`
14123
14124	// The database's master user name.
14125	//
14126	// DbUser is a required field
14127	DbUser *string `type:"string" required:"true"`
14128
14129	// The Amazon RDS instance's ARN.
14130	//
14131	// RdsDbInstanceArn is a required field
14132	RdsDbInstanceArn *string `type:"string" required:"true"`
14133
14134	// The stack ID.
14135	//
14136	// StackId is a required field
14137	StackId *string `type:"string" required:"true"`
14138}
14139
14140// String returns the string representation
14141func (s RegisterRdsDbInstanceInput) String() string {
14142	return awsutil.Prettify(s)
14143}
14144
14145// GoString returns the string representation
14146func (s RegisterRdsDbInstanceInput) GoString() string {
14147	return s.String()
14148}
14149
14150// Validate inspects the fields of the type to determine if they are valid.
14151func (s *RegisterRdsDbInstanceInput) Validate() error {
14152	invalidParams := request.ErrInvalidParams{Context: "RegisterRdsDbInstanceInput"}
14153	if s.DbPassword == nil {
14154		invalidParams.Add(request.NewErrParamRequired("DbPassword"))
14155	}
14156	if s.DbUser == nil {
14157		invalidParams.Add(request.NewErrParamRequired("DbUser"))
14158	}
14159	if s.RdsDbInstanceArn == nil {
14160		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
14161	}
14162	if s.StackId == nil {
14163		invalidParams.Add(request.NewErrParamRequired("StackId"))
14164	}
14165
14166	if invalidParams.Len() > 0 {
14167		return invalidParams
14168	}
14169	return nil
14170}
14171
14172// SetDbPassword sets the DbPassword field's value.
14173func (s *RegisterRdsDbInstanceInput) SetDbPassword(v string) *RegisterRdsDbInstanceInput {
14174	s.DbPassword = &v
14175	return s
14176}
14177
14178// SetDbUser sets the DbUser field's value.
14179func (s *RegisterRdsDbInstanceInput) SetDbUser(v string) *RegisterRdsDbInstanceInput {
14180	s.DbUser = &v
14181	return s
14182}
14183
14184// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
14185func (s *RegisterRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *RegisterRdsDbInstanceInput {
14186	s.RdsDbInstanceArn = &v
14187	return s
14188}
14189
14190// SetStackId sets the StackId field's value.
14191func (s *RegisterRdsDbInstanceInput) SetStackId(v string) *RegisterRdsDbInstanceInput {
14192	s.StackId = &v
14193	return s
14194}
14195
14196type RegisterRdsDbInstanceOutput struct {
14197	_ struct{} `type:"structure"`
14198}
14199
14200// String returns the string representation
14201func (s RegisterRdsDbInstanceOutput) String() string {
14202	return awsutil.Prettify(s)
14203}
14204
14205// GoString returns the string representation
14206func (s RegisterRdsDbInstanceOutput) GoString() string {
14207	return s.String()
14208}
14209
14210type RegisterVolumeInput struct {
14211	_ struct{} `type:"structure"`
14212
14213	// The Amazon EBS volume ID.
14214	Ec2VolumeId *string `type:"string"`
14215
14216	// The stack ID.
14217	//
14218	// StackId is a required field
14219	StackId *string `type:"string" required:"true"`
14220}
14221
14222// String returns the string representation
14223func (s RegisterVolumeInput) String() string {
14224	return awsutil.Prettify(s)
14225}
14226
14227// GoString returns the string representation
14228func (s RegisterVolumeInput) GoString() string {
14229	return s.String()
14230}
14231
14232// Validate inspects the fields of the type to determine if they are valid.
14233func (s *RegisterVolumeInput) Validate() error {
14234	invalidParams := request.ErrInvalidParams{Context: "RegisterVolumeInput"}
14235	if s.StackId == nil {
14236		invalidParams.Add(request.NewErrParamRequired("StackId"))
14237	}
14238
14239	if invalidParams.Len() > 0 {
14240		return invalidParams
14241	}
14242	return nil
14243}
14244
14245// SetEc2VolumeId sets the Ec2VolumeId field's value.
14246func (s *RegisterVolumeInput) SetEc2VolumeId(v string) *RegisterVolumeInput {
14247	s.Ec2VolumeId = &v
14248	return s
14249}
14250
14251// SetStackId sets the StackId field's value.
14252func (s *RegisterVolumeInput) SetStackId(v string) *RegisterVolumeInput {
14253	s.StackId = &v
14254	return s
14255}
14256
14257// Contains the response to a RegisterVolume request.
14258type RegisterVolumeOutput struct {
14259	_ struct{} `type:"structure"`
14260
14261	// The volume ID.
14262	VolumeId *string `type:"string"`
14263}
14264
14265// String returns the string representation
14266func (s RegisterVolumeOutput) String() string {
14267	return awsutil.Prettify(s)
14268}
14269
14270// GoString returns the string representation
14271func (s RegisterVolumeOutput) GoString() string {
14272	return s.String()
14273}
14274
14275// SetVolumeId sets the VolumeId field's value.
14276func (s *RegisterVolumeOutput) SetVolumeId(v string) *RegisterVolumeOutput {
14277	s.VolumeId = &v
14278	return s
14279}
14280
14281// A registered instance's reported operating system.
14282type ReportedOs struct {
14283	_ struct{} `type:"structure"`
14284
14285	// The operating system family.
14286	Family *string `type:"string"`
14287
14288	// The operating system name.
14289	Name *string `type:"string"`
14290
14291	// The operating system version.
14292	Version *string `type:"string"`
14293}
14294
14295// String returns the string representation
14296func (s ReportedOs) String() string {
14297	return awsutil.Prettify(s)
14298}
14299
14300// GoString returns the string representation
14301func (s ReportedOs) GoString() string {
14302	return s.String()
14303}
14304
14305// SetFamily sets the Family field's value.
14306func (s *ReportedOs) SetFamily(v string) *ReportedOs {
14307	s.Family = &v
14308	return s
14309}
14310
14311// SetName sets the Name field's value.
14312func (s *ReportedOs) SetName(v string) *ReportedOs {
14313	s.Name = &v
14314	return s
14315}
14316
14317// SetVersion sets the Version field's value.
14318func (s *ReportedOs) SetVersion(v string) *ReportedOs {
14319	s.Version = &v
14320	return s
14321}
14322
14323// Describes a user's SSH information.
14324type SelfUserProfile struct {
14325	_ struct{} `type:"structure"`
14326
14327	// The user's IAM ARN.
14328	IamUserArn *string `type:"string"`
14329
14330	// The user's name.
14331	Name *string `type:"string"`
14332
14333	// The user's SSH public key.
14334	SshPublicKey *string `type:"string"`
14335
14336	// The user's SSH user name.
14337	SshUsername *string `type:"string"`
14338}
14339
14340// String returns the string representation
14341func (s SelfUserProfile) String() string {
14342	return awsutil.Prettify(s)
14343}
14344
14345// GoString returns the string representation
14346func (s SelfUserProfile) GoString() string {
14347	return s.String()
14348}
14349
14350// SetIamUserArn sets the IamUserArn field's value.
14351func (s *SelfUserProfile) SetIamUserArn(v string) *SelfUserProfile {
14352	s.IamUserArn = &v
14353	return s
14354}
14355
14356// SetName sets the Name field's value.
14357func (s *SelfUserProfile) SetName(v string) *SelfUserProfile {
14358	s.Name = &v
14359	return s
14360}
14361
14362// SetSshPublicKey sets the SshPublicKey field's value.
14363func (s *SelfUserProfile) SetSshPublicKey(v string) *SelfUserProfile {
14364	s.SshPublicKey = &v
14365	return s
14366}
14367
14368// SetSshUsername sets the SshUsername field's value.
14369func (s *SelfUserProfile) SetSshUsername(v string) *SelfUserProfile {
14370	s.SshUsername = &v
14371	return s
14372}
14373
14374// Describes an AWS OpsWorks Stacks service error.
14375type ServiceError struct {
14376	_ struct{} `type:"structure"`
14377
14378	// When the error occurred.
14379	CreatedAt *string `type:"string"`
14380
14381	// The instance ID.
14382	InstanceId *string `type:"string"`
14383
14384	// A message that describes the error.
14385	Message *string `type:"string"`
14386
14387	// The error ID.
14388	ServiceErrorId *string `type:"string"`
14389
14390	// The stack ID.
14391	StackId *string `type:"string"`
14392
14393	// The error type.
14394	Type *string `type:"string"`
14395}
14396
14397// String returns the string representation
14398func (s ServiceError) String() string {
14399	return awsutil.Prettify(s)
14400}
14401
14402// GoString returns the string representation
14403func (s ServiceError) GoString() string {
14404	return s.String()
14405}
14406
14407// SetCreatedAt sets the CreatedAt field's value.
14408func (s *ServiceError) SetCreatedAt(v string) *ServiceError {
14409	s.CreatedAt = &v
14410	return s
14411}
14412
14413// SetInstanceId sets the InstanceId field's value.
14414func (s *ServiceError) SetInstanceId(v string) *ServiceError {
14415	s.InstanceId = &v
14416	return s
14417}
14418
14419// SetMessage sets the Message field's value.
14420func (s *ServiceError) SetMessage(v string) *ServiceError {
14421	s.Message = &v
14422	return s
14423}
14424
14425// SetServiceErrorId sets the ServiceErrorId field's value.
14426func (s *ServiceError) SetServiceErrorId(v string) *ServiceError {
14427	s.ServiceErrorId = &v
14428	return s
14429}
14430
14431// SetStackId sets the StackId field's value.
14432func (s *ServiceError) SetStackId(v string) *ServiceError {
14433	s.StackId = &v
14434	return s
14435}
14436
14437// SetType sets the Type field's value.
14438func (s *ServiceError) SetType(v string) *ServiceError {
14439	s.Type = &v
14440	return s
14441}
14442
14443type SetLoadBasedAutoScalingInput struct {
14444	_ struct{} `type:"structure"`
14445
14446	// An AutoScalingThresholds object with the downscaling threshold configuration.
14447	// If the load falls below these thresholds for a specified amount of time,
14448	// AWS OpsWorks Stacks stops a specified number of instances.
14449	DownScaling *AutoScalingThresholds `type:"structure"`
14450
14451	// Enables load-based auto scaling for the layer.
14452	Enable *bool `type:"boolean"`
14453
14454	// The layer ID.
14455	//
14456	// LayerId is a required field
14457	LayerId *string `type:"string" required:"true"`
14458
14459	// An AutoScalingThresholds object with the upscaling threshold configuration.
14460	// If the load exceeds these thresholds for a specified amount of time, AWS
14461	// OpsWorks Stacks starts a specified number of instances.
14462	UpScaling *AutoScalingThresholds `type:"structure"`
14463}
14464
14465// String returns the string representation
14466func (s SetLoadBasedAutoScalingInput) String() string {
14467	return awsutil.Prettify(s)
14468}
14469
14470// GoString returns the string representation
14471func (s SetLoadBasedAutoScalingInput) GoString() string {
14472	return s.String()
14473}
14474
14475// Validate inspects the fields of the type to determine if they are valid.
14476func (s *SetLoadBasedAutoScalingInput) Validate() error {
14477	invalidParams := request.ErrInvalidParams{Context: "SetLoadBasedAutoScalingInput"}
14478	if s.LayerId == nil {
14479		invalidParams.Add(request.NewErrParamRequired("LayerId"))
14480	}
14481	if s.DownScaling != nil {
14482		if err := s.DownScaling.Validate(); err != nil {
14483			invalidParams.AddNested("DownScaling", err.(request.ErrInvalidParams))
14484		}
14485	}
14486	if s.UpScaling != nil {
14487		if err := s.UpScaling.Validate(); err != nil {
14488			invalidParams.AddNested("UpScaling", err.(request.ErrInvalidParams))
14489		}
14490	}
14491
14492	if invalidParams.Len() > 0 {
14493		return invalidParams
14494	}
14495	return nil
14496}
14497
14498// SetDownScaling sets the DownScaling field's value.
14499func (s *SetLoadBasedAutoScalingInput) SetDownScaling(v *AutoScalingThresholds) *SetLoadBasedAutoScalingInput {
14500	s.DownScaling = v
14501	return s
14502}
14503
14504// SetEnable sets the Enable field's value.
14505func (s *SetLoadBasedAutoScalingInput) SetEnable(v bool) *SetLoadBasedAutoScalingInput {
14506	s.Enable = &v
14507	return s
14508}
14509
14510// SetLayerId sets the LayerId field's value.
14511func (s *SetLoadBasedAutoScalingInput) SetLayerId(v string) *SetLoadBasedAutoScalingInput {
14512	s.LayerId = &v
14513	return s
14514}
14515
14516// SetUpScaling sets the UpScaling field's value.
14517func (s *SetLoadBasedAutoScalingInput) SetUpScaling(v *AutoScalingThresholds) *SetLoadBasedAutoScalingInput {
14518	s.UpScaling = v
14519	return s
14520}
14521
14522type SetLoadBasedAutoScalingOutput struct {
14523	_ struct{} `type:"structure"`
14524}
14525
14526// String returns the string representation
14527func (s SetLoadBasedAutoScalingOutput) String() string {
14528	return awsutil.Prettify(s)
14529}
14530
14531// GoString returns the string representation
14532func (s SetLoadBasedAutoScalingOutput) GoString() string {
14533	return s.String()
14534}
14535
14536type SetPermissionInput struct {
14537	_ struct{} `type:"structure"`
14538
14539	// The user is allowed to use SSH to communicate with the instance.
14540	AllowSsh *bool `type:"boolean"`
14541
14542	// The user is allowed to use sudo to elevate privileges.
14543	AllowSudo *bool `type:"boolean"`
14544
14545	// The user's IAM ARN. This can also be a federated user's ARN.
14546	//
14547	// IamUserArn is a required field
14548	IamUserArn *string `type:"string" required:"true"`
14549
14550	// The user's permission level, which must be set to one of the following strings.
14551	// You cannot set your own permissions level.
14552	//
14553	//    * deny
14554	//
14555	//    * show
14556	//
14557	//    * deploy
14558	//
14559	//    * manage
14560	//
14561	//    * iam_only
14562	//
14563	// For more information about the permissions associated with these levels,
14564	// see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
14565	Level *string `type:"string"`
14566
14567	// The stack ID.
14568	//
14569	// StackId is a required field
14570	StackId *string `type:"string" required:"true"`
14571}
14572
14573// String returns the string representation
14574func (s SetPermissionInput) String() string {
14575	return awsutil.Prettify(s)
14576}
14577
14578// GoString returns the string representation
14579func (s SetPermissionInput) GoString() string {
14580	return s.String()
14581}
14582
14583// Validate inspects the fields of the type to determine if they are valid.
14584func (s *SetPermissionInput) Validate() error {
14585	invalidParams := request.ErrInvalidParams{Context: "SetPermissionInput"}
14586	if s.IamUserArn == nil {
14587		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
14588	}
14589	if s.StackId == nil {
14590		invalidParams.Add(request.NewErrParamRequired("StackId"))
14591	}
14592
14593	if invalidParams.Len() > 0 {
14594		return invalidParams
14595	}
14596	return nil
14597}
14598
14599// SetAllowSsh sets the AllowSsh field's value.
14600func (s *SetPermissionInput) SetAllowSsh(v bool) *SetPermissionInput {
14601	s.AllowSsh = &v
14602	return s
14603}
14604
14605// SetAllowSudo sets the AllowSudo field's value.
14606func (s *SetPermissionInput) SetAllowSudo(v bool) *SetPermissionInput {
14607	s.AllowSudo = &v
14608	return s
14609}
14610
14611// SetIamUserArn sets the IamUserArn field's value.
14612func (s *SetPermissionInput) SetIamUserArn(v string) *SetPermissionInput {
14613	s.IamUserArn = &v
14614	return s
14615}
14616
14617// SetLevel sets the Level field's value.
14618func (s *SetPermissionInput) SetLevel(v string) *SetPermissionInput {
14619	s.Level = &v
14620	return s
14621}
14622
14623// SetStackId sets the StackId field's value.
14624func (s *SetPermissionInput) SetStackId(v string) *SetPermissionInput {
14625	s.StackId = &v
14626	return s
14627}
14628
14629type SetPermissionOutput struct {
14630	_ struct{} `type:"structure"`
14631}
14632
14633// String returns the string representation
14634func (s SetPermissionOutput) String() string {
14635	return awsutil.Prettify(s)
14636}
14637
14638// GoString returns the string representation
14639func (s SetPermissionOutput) GoString() string {
14640	return s.String()
14641}
14642
14643type SetTimeBasedAutoScalingInput struct {
14644	_ struct{} `type:"structure"`
14645
14646	// An AutoScalingSchedule with the instance schedule.
14647	AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"`
14648
14649	// The instance ID.
14650	//
14651	// InstanceId is a required field
14652	InstanceId *string `type:"string" required:"true"`
14653}
14654
14655// String returns the string representation
14656func (s SetTimeBasedAutoScalingInput) String() string {
14657	return awsutil.Prettify(s)
14658}
14659
14660// GoString returns the string representation
14661func (s SetTimeBasedAutoScalingInput) GoString() string {
14662	return s.String()
14663}
14664
14665// Validate inspects the fields of the type to determine if they are valid.
14666func (s *SetTimeBasedAutoScalingInput) Validate() error {
14667	invalidParams := request.ErrInvalidParams{Context: "SetTimeBasedAutoScalingInput"}
14668	if s.InstanceId == nil {
14669		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14670	}
14671
14672	if invalidParams.Len() > 0 {
14673		return invalidParams
14674	}
14675	return nil
14676}
14677
14678// SetAutoScalingSchedule sets the AutoScalingSchedule field's value.
14679func (s *SetTimeBasedAutoScalingInput) SetAutoScalingSchedule(v *WeeklyAutoScalingSchedule) *SetTimeBasedAutoScalingInput {
14680	s.AutoScalingSchedule = v
14681	return s
14682}
14683
14684// SetInstanceId sets the InstanceId field's value.
14685func (s *SetTimeBasedAutoScalingInput) SetInstanceId(v string) *SetTimeBasedAutoScalingInput {
14686	s.InstanceId = &v
14687	return s
14688}
14689
14690type SetTimeBasedAutoScalingOutput struct {
14691	_ struct{} `type:"structure"`
14692}
14693
14694// String returns the string representation
14695func (s SetTimeBasedAutoScalingOutput) String() string {
14696	return awsutil.Prettify(s)
14697}
14698
14699// GoString returns the string representation
14700func (s SetTimeBasedAutoScalingOutput) GoString() string {
14701	return s.String()
14702}
14703
14704// The Shutdown event configuration.
14705type ShutdownEventConfiguration struct {
14706	_ struct{} `type:"structure"`
14707
14708	// Whether to enable Elastic Load Balancing connection draining. For more information,
14709	// see Connection Draining (https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain)
14710	DelayUntilElbConnectionsDrained *bool `type:"boolean"`
14711
14712	// The time, in seconds, that AWS OpsWorks Stacks will wait after triggering
14713	// a Shutdown event before shutting down an instance.
14714	ExecutionTimeout *int64 `type:"integer"`
14715}
14716
14717// String returns the string representation
14718func (s ShutdownEventConfiguration) String() string {
14719	return awsutil.Prettify(s)
14720}
14721
14722// GoString returns the string representation
14723func (s ShutdownEventConfiguration) GoString() string {
14724	return s.String()
14725}
14726
14727// SetDelayUntilElbConnectionsDrained sets the DelayUntilElbConnectionsDrained field's value.
14728func (s *ShutdownEventConfiguration) SetDelayUntilElbConnectionsDrained(v bool) *ShutdownEventConfiguration {
14729	s.DelayUntilElbConnectionsDrained = &v
14730	return s
14731}
14732
14733// SetExecutionTimeout sets the ExecutionTimeout field's value.
14734func (s *ShutdownEventConfiguration) SetExecutionTimeout(v int64) *ShutdownEventConfiguration {
14735	s.ExecutionTimeout = &v
14736	return s
14737}
14738
14739// Contains the information required to retrieve an app or cookbook from a repository.
14740// For more information, see Creating Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
14741// or Custom Recipes and Cookbooks (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
14742type Source struct {
14743	_ struct{} `type:"structure"`
14744
14745	// When included in a request, the parameter depends on the repository type.
14746	//
14747	//    * For Amazon S3 bundles, set Password to the appropriate IAM secret access
14748	//    key.
14749	//
14750	//    * For HTTP bundles and Subversion repositories, set Password to the password.
14751	//
14752	// 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
14753	// (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
14754	//
14755	// In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the
14756	// actual value.
14757	Password *string `type:"string"`
14758
14759	// The application's version. AWS OpsWorks Stacks enables you to easily deploy
14760	// new versions of an application. One of the simplest approaches is to have
14761	// branches or revisions in your repository that represent different versions
14762	// that can potentially be deployed.
14763	Revision *string `type:"string"`
14764
14765	// In requests, the repository's SSH key.
14766	//
14767	// In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the
14768	// actual value.
14769	SshKey *string `type:"string"`
14770
14771	// The repository type.
14772	Type *string `type:"string" enum:"SourceType"`
14773
14774	// 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.
14775	Url *string `type:"string"`
14776
14777	// This parameter depends on the repository type.
14778	//
14779	//    * For Amazon S3 bundles, set Username to the appropriate IAM access key
14780	//    ID.
14781	//
14782	//    * For HTTP bundles, Git repositories, and Subversion repositories, set
14783	//    Username to the user name.
14784	Username *string `type:"string"`
14785}
14786
14787// String returns the string representation
14788func (s Source) String() string {
14789	return awsutil.Prettify(s)
14790}
14791
14792// GoString returns the string representation
14793func (s Source) GoString() string {
14794	return s.String()
14795}
14796
14797// SetPassword sets the Password field's value.
14798func (s *Source) SetPassword(v string) *Source {
14799	s.Password = &v
14800	return s
14801}
14802
14803// SetRevision sets the Revision field's value.
14804func (s *Source) SetRevision(v string) *Source {
14805	s.Revision = &v
14806	return s
14807}
14808
14809// SetSshKey sets the SshKey field's value.
14810func (s *Source) SetSshKey(v string) *Source {
14811	s.SshKey = &v
14812	return s
14813}
14814
14815// SetType sets the Type field's value.
14816func (s *Source) SetType(v string) *Source {
14817	s.Type = &v
14818	return s
14819}
14820
14821// SetUrl sets the Url field's value.
14822func (s *Source) SetUrl(v string) *Source {
14823	s.Url = &v
14824	return s
14825}
14826
14827// SetUsername sets the Username field's value.
14828func (s *Source) SetUsername(v string) *Source {
14829	s.Username = &v
14830	return s
14831}
14832
14833// Describes an app's SSL configuration.
14834type SslConfiguration struct {
14835	_ struct{} `type:"structure"`
14836
14837	// The contents of the certificate's domain.crt file.
14838	//
14839	// Certificate is a required field
14840	Certificate *string `type:"string" required:"true"`
14841
14842	// Optional. Can be used to specify an intermediate certificate authority key
14843	// or client authentication.
14844	Chain *string `type:"string"`
14845
14846	// The private key; the contents of the certificate's domain.kex file.
14847	//
14848	// PrivateKey is a required field
14849	PrivateKey *string `type:"string" required:"true"`
14850}
14851
14852// String returns the string representation
14853func (s SslConfiguration) String() string {
14854	return awsutil.Prettify(s)
14855}
14856
14857// GoString returns the string representation
14858func (s SslConfiguration) GoString() string {
14859	return s.String()
14860}
14861
14862// Validate inspects the fields of the type to determine if they are valid.
14863func (s *SslConfiguration) Validate() error {
14864	invalidParams := request.ErrInvalidParams{Context: "SslConfiguration"}
14865	if s.Certificate == nil {
14866		invalidParams.Add(request.NewErrParamRequired("Certificate"))
14867	}
14868	if s.PrivateKey == nil {
14869		invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
14870	}
14871
14872	if invalidParams.Len() > 0 {
14873		return invalidParams
14874	}
14875	return nil
14876}
14877
14878// SetCertificate sets the Certificate field's value.
14879func (s *SslConfiguration) SetCertificate(v string) *SslConfiguration {
14880	s.Certificate = &v
14881	return s
14882}
14883
14884// SetChain sets the Chain field's value.
14885func (s *SslConfiguration) SetChain(v string) *SslConfiguration {
14886	s.Chain = &v
14887	return s
14888}
14889
14890// SetPrivateKey sets the PrivateKey field's value.
14891func (s *SslConfiguration) SetPrivateKey(v string) *SslConfiguration {
14892	s.PrivateKey = &v
14893	return s
14894}
14895
14896// Describes a stack.
14897type Stack struct {
14898	_ struct{} `type:"structure"`
14899
14900	// The agent version. This parameter is set to LATEST for auto-update. or a
14901	// version number for a fixed agent version.
14902	AgentVersion *string `type:"string"`
14903
14904	// The stack's ARN.
14905	Arn *string `type:"string"`
14906
14907	// The stack's attributes.
14908	Attributes map[string]*string `type:"map"`
14909
14910	// A ChefConfiguration object that specifies whether to enable Berkshelf and
14911	// the Berkshelf version. For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
14912	ChefConfiguration *ChefConfiguration `type:"structure"`
14913
14914	// The configuration manager.
14915	ConfigurationManager *StackConfigurationManager `type:"structure"`
14916
14917	// The date when the stack was created.
14918	CreatedAt *string `type:"string"`
14919
14920	// Contains the information required to retrieve an app or cookbook from a repository.
14921	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
14922	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
14923	CustomCookbooksSource *Source `type:"structure"`
14924
14925	// A JSON object that contains user-defined attributes to be added to the stack
14926	// configuration and deployment attributes. You can use custom JSON to override
14927	// the corresponding default stack configuration attribute values or to pass
14928	// data to recipes. The string should be in the following format:
14929	//
14930	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
14931	//
14932	// For more information on custom JSON, see Use Custom JSON to Modify the Stack
14933	// Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
14934	CustomJson *string `type:"string"`
14935
14936	// The stack's default Availability Zone. For more information, see Regions
14937	// and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
14938	DefaultAvailabilityZone *string `type:"string"`
14939
14940	// The ARN of an IAM profile that is the default profile for all of the stack's
14941	// EC2 instances. For more information about IAM ARNs, see Using Identifiers
14942	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
14943	DefaultInstanceProfileArn *string `type:"string"`
14944
14945	// The stack's default operating system.
14946	DefaultOs *string `type:"string"`
14947
14948	// The default root device type. This value is used by default for all instances
14949	// in the stack, but you can override it when you create an instance. For more
14950	// information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
14951	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
14952
14953	// A default Amazon EC2 key pair for the stack's instances. You can override
14954	// this value when you create or update an instance.
14955	DefaultSshKeyName *string `type:"string"`
14956
14957	// The default subnet ID; applicable only if the stack is running in a VPC.
14958	DefaultSubnetId *string `type:"string"`
14959
14960	// The stack host name theme, with spaces replaced by underscores.
14961	HostnameTheme *string `type:"string"`
14962
14963	// The stack name.
14964	Name *string `type:"string"`
14965
14966	// The stack AWS region, such as "ap-northeast-2". For more information about
14967	// AWS regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
14968	Region *string `type:"string"`
14969
14970	// The stack AWS Identity and Access Management (IAM) role.
14971	ServiceRoleArn *string `type:"string"`
14972
14973	// The stack ID.
14974	StackId *string `type:"string"`
14975
14976	// Whether the stack uses custom cookbooks.
14977	UseCustomCookbooks *bool `type:"boolean"`
14978
14979	// Whether the stack automatically associates the AWS OpsWorks Stacks built-in
14980	// security groups with the stack's layers.
14981	UseOpsworksSecurityGroups *bool `type:"boolean"`
14982
14983	// The VPC ID; applicable only if the stack is running in a VPC.
14984	VpcId *string `type:"string"`
14985}
14986
14987// String returns the string representation
14988func (s Stack) String() string {
14989	return awsutil.Prettify(s)
14990}
14991
14992// GoString returns the string representation
14993func (s Stack) GoString() string {
14994	return s.String()
14995}
14996
14997// SetAgentVersion sets the AgentVersion field's value.
14998func (s *Stack) SetAgentVersion(v string) *Stack {
14999	s.AgentVersion = &v
15000	return s
15001}
15002
15003// SetArn sets the Arn field's value.
15004func (s *Stack) SetArn(v string) *Stack {
15005	s.Arn = &v
15006	return s
15007}
15008
15009// SetAttributes sets the Attributes field's value.
15010func (s *Stack) SetAttributes(v map[string]*string) *Stack {
15011	s.Attributes = v
15012	return s
15013}
15014
15015// SetChefConfiguration sets the ChefConfiguration field's value.
15016func (s *Stack) SetChefConfiguration(v *ChefConfiguration) *Stack {
15017	s.ChefConfiguration = v
15018	return s
15019}
15020
15021// SetConfigurationManager sets the ConfigurationManager field's value.
15022func (s *Stack) SetConfigurationManager(v *StackConfigurationManager) *Stack {
15023	s.ConfigurationManager = v
15024	return s
15025}
15026
15027// SetCreatedAt sets the CreatedAt field's value.
15028func (s *Stack) SetCreatedAt(v string) *Stack {
15029	s.CreatedAt = &v
15030	return s
15031}
15032
15033// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
15034func (s *Stack) SetCustomCookbooksSource(v *Source) *Stack {
15035	s.CustomCookbooksSource = v
15036	return s
15037}
15038
15039// SetCustomJson sets the CustomJson field's value.
15040func (s *Stack) SetCustomJson(v string) *Stack {
15041	s.CustomJson = &v
15042	return s
15043}
15044
15045// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
15046func (s *Stack) SetDefaultAvailabilityZone(v string) *Stack {
15047	s.DefaultAvailabilityZone = &v
15048	return s
15049}
15050
15051// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
15052func (s *Stack) SetDefaultInstanceProfileArn(v string) *Stack {
15053	s.DefaultInstanceProfileArn = &v
15054	return s
15055}
15056
15057// SetDefaultOs sets the DefaultOs field's value.
15058func (s *Stack) SetDefaultOs(v string) *Stack {
15059	s.DefaultOs = &v
15060	return s
15061}
15062
15063// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
15064func (s *Stack) SetDefaultRootDeviceType(v string) *Stack {
15065	s.DefaultRootDeviceType = &v
15066	return s
15067}
15068
15069// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
15070func (s *Stack) SetDefaultSshKeyName(v string) *Stack {
15071	s.DefaultSshKeyName = &v
15072	return s
15073}
15074
15075// SetDefaultSubnetId sets the DefaultSubnetId field's value.
15076func (s *Stack) SetDefaultSubnetId(v string) *Stack {
15077	s.DefaultSubnetId = &v
15078	return s
15079}
15080
15081// SetHostnameTheme sets the HostnameTheme field's value.
15082func (s *Stack) SetHostnameTheme(v string) *Stack {
15083	s.HostnameTheme = &v
15084	return s
15085}
15086
15087// SetName sets the Name field's value.
15088func (s *Stack) SetName(v string) *Stack {
15089	s.Name = &v
15090	return s
15091}
15092
15093// SetRegion sets the Region field's value.
15094func (s *Stack) SetRegion(v string) *Stack {
15095	s.Region = &v
15096	return s
15097}
15098
15099// SetServiceRoleArn sets the ServiceRoleArn field's value.
15100func (s *Stack) SetServiceRoleArn(v string) *Stack {
15101	s.ServiceRoleArn = &v
15102	return s
15103}
15104
15105// SetStackId sets the StackId field's value.
15106func (s *Stack) SetStackId(v string) *Stack {
15107	s.StackId = &v
15108	return s
15109}
15110
15111// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
15112func (s *Stack) SetUseCustomCookbooks(v bool) *Stack {
15113	s.UseCustomCookbooks = &v
15114	return s
15115}
15116
15117// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
15118func (s *Stack) SetUseOpsworksSecurityGroups(v bool) *Stack {
15119	s.UseOpsworksSecurityGroups = &v
15120	return s
15121}
15122
15123// SetVpcId sets the VpcId field's value.
15124func (s *Stack) SetVpcId(v string) *Stack {
15125	s.VpcId = &v
15126	return s
15127}
15128
15129// Describes the configuration manager.
15130type StackConfigurationManager struct {
15131	_ struct{} `type:"structure"`
15132
15133	// The name. This parameter must be set to "Chef".
15134	Name *string `type:"string"`
15135
15136	// The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux
15137	// stacks, and to 12.2 for Windows stacks. The default value for Linux stacks
15138	// is 11.4.
15139	Version *string `type:"string"`
15140}
15141
15142// String returns the string representation
15143func (s StackConfigurationManager) String() string {
15144	return awsutil.Prettify(s)
15145}
15146
15147// GoString returns the string representation
15148func (s StackConfigurationManager) GoString() string {
15149	return s.String()
15150}
15151
15152// SetName sets the Name field's value.
15153func (s *StackConfigurationManager) SetName(v string) *StackConfigurationManager {
15154	s.Name = &v
15155	return s
15156}
15157
15158// SetVersion sets the Version field's value.
15159func (s *StackConfigurationManager) SetVersion(v string) *StackConfigurationManager {
15160	s.Version = &v
15161	return s
15162}
15163
15164// Summarizes the number of layers, instances, and apps in a stack.
15165type StackSummary struct {
15166	_ struct{} `type:"structure"`
15167
15168	// The number of apps.
15169	AppsCount *int64 `type:"integer"`
15170
15171	// The stack's ARN.
15172	Arn *string `type:"string"`
15173
15174	// An InstancesCount object with the number of instances in each status.
15175	InstancesCount *InstancesCount `type:"structure"`
15176
15177	// The number of layers.
15178	LayersCount *int64 `type:"integer"`
15179
15180	// The stack name.
15181	Name *string `type:"string"`
15182
15183	// The stack ID.
15184	StackId *string `type:"string"`
15185}
15186
15187// String returns the string representation
15188func (s StackSummary) String() string {
15189	return awsutil.Prettify(s)
15190}
15191
15192// GoString returns the string representation
15193func (s StackSummary) GoString() string {
15194	return s.String()
15195}
15196
15197// SetAppsCount sets the AppsCount field's value.
15198func (s *StackSummary) SetAppsCount(v int64) *StackSummary {
15199	s.AppsCount = &v
15200	return s
15201}
15202
15203// SetArn sets the Arn field's value.
15204func (s *StackSummary) SetArn(v string) *StackSummary {
15205	s.Arn = &v
15206	return s
15207}
15208
15209// SetInstancesCount sets the InstancesCount field's value.
15210func (s *StackSummary) SetInstancesCount(v *InstancesCount) *StackSummary {
15211	s.InstancesCount = v
15212	return s
15213}
15214
15215// SetLayersCount sets the LayersCount field's value.
15216func (s *StackSummary) SetLayersCount(v int64) *StackSummary {
15217	s.LayersCount = &v
15218	return s
15219}
15220
15221// SetName sets the Name field's value.
15222func (s *StackSummary) SetName(v string) *StackSummary {
15223	s.Name = &v
15224	return s
15225}
15226
15227// SetStackId sets the StackId field's value.
15228func (s *StackSummary) SetStackId(v string) *StackSummary {
15229	s.StackId = &v
15230	return s
15231}
15232
15233type StartInstanceInput struct {
15234	_ struct{} `type:"structure"`
15235
15236	// The instance ID.
15237	//
15238	// InstanceId is a required field
15239	InstanceId *string `type:"string" required:"true"`
15240}
15241
15242// String returns the string representation
15243func (s StartInstanceInput) String() string {
15244	return awsutil.Prettify(s)
15245}
15246
15247// GoString returns the string representation
15248func (s StartInstanceInput) GoString() string {
15249	return s.String()
15250}
15251
15252// Validate inspects the fields of the type to determine if they are valid.
15253func (s *StartInstanceInput) Validate() error {
15254	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
15255	if s.InstanceId == nil {
15256		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15257	}
15258
15259	if invalidParams.Len() > 0 {
15260		return invalidParams
15261	}
15262	return nil
15263}
15264
15265// SetInstanceId sets the InstanceId field's value.
15266func (s *StartInstanceInput) SetInstanceId(v string) *StartInstanceInput {
15267	s.InstanceId = &v
15268	return s
15269}
15270
15271type StartInstanceOutput struct {
15272	_ struct{} `type:"structure"`
15273}
15274
15275// String returns the string representation
15276func (s StartInstanceOutput) String() string {
15277	return awsutil.Prettify(s)
15278}
15279
15280// GoString returns the string representation
15281func (s StartInstanceOutput) GoString() string {
15282	return s.String()
15283}
15284
15285type StartStackInput struct {
15286	_ struct{} `type:"structure"`
15287
15288	// The stack ID.
15289	//
15290	// StackId is a required field
15291	StackId *string `type:"string" required:"true"`
15292}
15293
15294// String returns the string representation
15295func (s StartStackInput) String() string {
15296	return awsutil.Prettify(s)
15297}
15298
15299// GoString returns the string representation
15300func (s StartStackInput) GoString() string {
15301	return s.String()
15302}
15303
15304// Validate inspects the fields of the type to determine if they are valid.
15305func (s *StartStackInput) Validate() error {
15306	invalidParams := request.ErrInvalidParams{Context: "StartStackInput"}
15307	if s.StackId == nil {
15308		invalidParams.Add(request.NewErrParamRequired("StackId"))
15309	}
15310
15311	if invalidParams.Len() > 0 {
15312		return invalidParams
15313	}
15314	return nil
15315}
15316
15317// SetStackId sets the StackId field's value.
15318func (s *StartStackInput) SetStackId(v string) *StartStackInput {
15319	s.StackId = &v
15320	return s
15321}
15322
15323type StartStackOutput struct {
15324	_ struct{} `type:"structure"`
15325}
15326
15327// String returns the string representation
15328func (s StartStackOutput) String() string {
15329	return awsutil.Prettify(s)
15330}
15331
15332// GoString returns the string representation
15333func (s StartStackOutput) GoString() string {
15334	return s.String()
15335}
15336
15337type StopInstanceInput struct {
15338	_ struct{} `type:"structure"`
15339
15340	// Specifies whether to force an instance to stop. If the instance's root device
15341	// type is ebs, or EBS-backed, adding the Force parameter to the StopInstances
15342	// API call disassociates the AWS OpsWorks Stacks instance from EC2, and forces
15343	// deletion of only the OpsWorks Stacks instance. You must also delete the formerly-associated
15344	// instance in EC2 after troubleshooting and replacing the AWS OpsWorks Stacks
15345	// instance with a new one.
15346	Force *bool `type:"boolean"`
15347
15348	// The instance ID.
15349	//
15350	// InstanceId is a required field
15351	InstanceId *string `type:"string" required:"true"`
15352}
15353
15354// String returns the string representation
15355func (s StopInstanceInput) String() string {
15356	return awsutil.Prettify(s)
15357}
15358
15359// GoString returns the string representation
15360func (s StopInstanceInput) GoString() string {
15361	return s.String()
15362}
15363
15364// Validate inspects the fields of the type to determine if they are valid.
15365func (s *StopInstanceInput) Validate() error {
15366	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
15367	if s.InstanceId == nil {
15368		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15369	}
15370
15371	if invalidParams.Len() > 0 {
15372		return invalidParams
15373	}
15374	return nil
15375}
15376
15377// SetForce sets the Force field's value.
15378func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
15379	s.Force = &v
15380	return s
15381}
15382
15383// SetInstanceId sets the InstanceId field's value.
15384func (s *StopInstanceInput) SetInstanceId(v string) *StopInstanceInput {
15385	s.InstanceId = &v
15386	return s
15387}
15388
15389type StopInstanceOutput struct {
15390	_ struct{} `type:"structure"`
15391}
15392
15393// String returns the string representation
15394func (s StopInstanceOutput) String() string {
15395	return awsutil.Prettify(s)
15396}
15397
15398// GoString returns the string representation
15399func (s StopInstanceOutput) GoString() string {
15400	return s.String()
15401}
15402
15403type StopStackInput struct {
15404	_ struct{} `type:"structure"`
15405
15406	// The stack ID.
15407	//
15408	// StackId is a required field
15409	StackId *string `type:"string" required:"true"`
15410}
15411
15412// String returns the string representation
15413func (s StopStackInput) String() string {
15414	return awsutil.Prettify(s)
15415}
15416
15417// GoString returns the string representation
15418func (s StopStackInput) GoString() string {
15419	return s.String()
15420}
15421
15422// Validate inspects the fields of the type to determine if they are valid.
15423func (s *StopStackInput) Validate() error {
15424	invalidParams := request.ErrInvalidParams{Context: "StopStackInput"}
15425	if s.StackId == nil {
15426		invalidParams.Add(request.NewErrParamRequired("StackId"))
15427	}
15428
15429	if invalidParams.Len() > 0 {
15430		return invalidParams
15431	}
15432	return nil
15433}
15434
15435// SetStackId sets the StackId field's value.
15436func (s *StopStackInput) SetStackId(v string) *StopStackInput {
15437	s.StackId = &v
15438	return s
15439}
15440
15441type StopStackOutput struct {
15442	_ struct{} `type:"structure"`
15443}
15444
15445// String returns the string representation
15446func (s StopStackOutput) String() string {
15447	return awsutil.Prettify(s)
15448}
15449
15450// GoString returns the string representation
15451func (s StopStackOutput) GoString() string {
15452	return s.String()
15453}
15454
15455type TagResourceInput struct {
15456	_ struct{} `type:"structure"`
15457
15458	// The stack or layer's Amazon Resource Number (ARN).
15459	//
15460	// ResourceArn is a required field
15461	ResourceArn *string `type:"string" required:"true"`
15462
15463	// A map that contains tag keys and tag values that are attached to a stack
15464	// or layer.
15465	//
15466	//    * The key cannot be empty.
15467	//
15468	//    * The key can be a maximum of 127 characters, and can contain only Unicode
15469	//    letters, numbers, or separators, or the following special characters:
15470	//    + - = . _ : /
15471	//
15472	//    * The value can be a maximum 255 characters, and contain only Unicode
15473	//    letters, numbers, or separators, or the following special characters:
15474	//    + - = . _ : /
15475	//
15476	//    * Leading and trailing white spaces are trimmed from both the key and
15477	//    value.
15478	//
15479	//    * A maximum of 40 tags is allowed for any resource.
15480	//
15481	// Tags is a required field
15482	Tags map[string]*string `type:"map" required:"true"`
15483}
15484
15485// String returns the string representation
15486func (s TagResourceInput) String() string {
15487	return awsutil.Prettify(s)
15488}
15489
15490// GoString returns the string representation
15491func (s TagResourceInput) GoString() string {
15492	return s.String()
15493}
15494
15495// Validate inspects the fields of the type to determine if they are valid.
15496func (s *TagResourceInput) Validate() error {
15497	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
15498	if s.ResourceArn == nil {
15499		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15500	}
15501	if s.Tags == nil {
15502		invalidParams.Add(request.NewErrParamRequired("Tags"))
15503	}
15504
15505	if invalidParams.Len() > 0 {
15506		return invalidParams
15507	}
15508	return nil
15509}
15510
15511// SetResourceArn sets the ResourceArn field's value.
15512func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
15513	s.ResourceArn = &v
15514	return s
15515}
15516
15517// SetTags sets the Tags field's value.
15518func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
15519	s.Tags = v
15520	return s
15521}
15522
15523type TagResourceOutput struct {
15524	_ struct{} `type:"structure"`
15525}
15526
15527// String returns the string representation
15528func (s TagResourceOutput) String() string {
15529	return awsutil.Prettify(s)
15530}
15531
15532// GoString returns the string representation
15533func (s TagResourceOutput) GoString() string {
15534	return s.String()
15535}
15536
15537// Contains the data needed by RDP clients such as the Microsoft Remote Desktop
15538// Connection to log in to the instance.
15539type TemporaryCredential struct {
15540	_ struct{} `type:"structure"`
15541
15542	// The instance's AWS OpsWorks Stacks ID.
15543	InstanceId *string `type:"string"`
15544
15545	// The password.
15546	Password *string `type:"string"`
15547
15548	// The user name.
15549	Username *string `type:"string"`
15550
15551	// The length of time (in minutes) that the grant is valid. When the grant expires,
15552	// at the end of this period, the user will no longer be able to use the credentials
15553	// to log in. If they are logged in at the time, they will be automatically
15554	// logged out.
15555	ValidForInMinutes *int64 `type:"integer"`
15556}
15557
15558// String returns the string representation
15559func (s TemporaryCredential) String() string {
15560	return awsutil.Prettify(s)
15561}
15562
15563// GoString returns the string representation
15564func (s TemporaryCredential) GoString() string {
15565	return s.String()
15566}
15567
15568// SetInstanceId sets the InstanceId field's value.
15569func (s *TemporaryCredential) SetInstanceId(v string) *TemporaryCredential {
15570	s.InstanceId = &v
15571	return s
15572}
15573
15574// SetPassword sets the Password field's value.
15575func (s *TemporaryCredential) SetPassword(v string) *TemporaryCredential {
15576	s.Password = &v
15577	return s
15578}
15579
15580// SetUsername sets the Username field's value.
15581func (s *TemporaryCredential) SetUsername(v string) *TemporaryCredential {
15582	s.Username = &v
15583	return s
15584}
15585
15586// SetValidForInMinutes sets the ValidForInMinutes field's value.
15587func (s *TemporaryCredential) SetValidForInMinutes(v int64) *TemporaryCredential {
15588	s.ValidForInMinutes = &v
15589	return s
15590}
15591
15592// Describes an instance's time-based auto scaling configuration.
15593type TimeBasedAutoScalingConfiguration struct {
15594	_ struct{} `type:"structure"`
15595
15596	// A WeeklyAutoScalingSchedule object with the instance schedule.
15597	AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"`
15598
15599	// The instance ID.
15600	InstanceId *string `type:"string"`
15601}
15602
15603// String returns the string representation
15604func (s TimeBasedAutoScalingConfiguration) String() string {
15605	return awsutil.Prettify(s)
15606}
15607
15608// GoString returns the string representation
15609func (s TimeBasedAutoScalingConfiguration) GoString() string {
15610	return s.String()
15611}
15612
15613// SetAutoScalingSchedule sets the AutoScalingSchedule field's value.
15614func (s *TimeBasedAutoScalingConfiguration) SetAutoScalingSchedule(v *WeeklyAutoScalingSchedule) *TimeBasedAutoScalingConfiguration {
15615	s.AutoScalingSchedule = v
15616	return s
15617}
15618
15619// SetInstanceId sets the InstanceId field's value.
15620func (s *TimeBasedAutoScalingConfiguration) SetInstanceId(v string) *TimeBasedAutoScalingConfiguration {
15621	s.InstanceId = &v
15622	return s
15623}
15624
15625type UnassignInstanceInput struct {
15626	_ struct{} `type:"structure"`
15627
15628	// The instance ID.
15629	//
15630	// InstanceId is a required field
15631	InstanceId *string `type:"string" required:"true"`
15632}
15633
15634// String returns the string representation
15635func (s UnassignInstanceInput) String() string {
15636	return awsutil.Prettify(s)
15637}
15638
15639// GoString returns the string representation
15640func (s UnassignInstanceInput) GoString() string {
15641	return s.String()
15642}
15643
15644// Validate inspects the fields of the type to determine if they are valid.
15645func (s *UnassignInstanceInput) Validate() error {
15646	invalidParams := request.ErrInvalidParams{Context: "UnassignInstanceInput"}
15647	if s.InstanceId == nil {
15648		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15649	}
15650
15651	if invalidParams.Len() > 0 {
15652		return invalidParams
15653	}
15654	return nil
15655}
15656
15657// SetInstanceId sets the InstanceId field's value.
15658func (s *UnassignInstanceInput) SetInstanceId(v string) *UnassignInstanceInput {
15659	s.InstanceId = &v
15660	return s
15661}
15662
15663type UnassignInstanceOutput struct {
15664	_ struct{} `type:"structure"`
15665}
15666
15667// String returns the string representation
15668func (s UnassignInstanceOutput) String() string {
15669	return awsutil.Prettify(s)
15670}
15671
15672// GoString returns the string representation
15673func (s UnassignInstanceOutput) GoString() string {
15674	return s.String()
15675}
15676
15677type UnassignVolumeInput struct {
15678	_ struct{} `type:"structure"`
15679
15680	// The volume ID.
15681	//
15682	// VolumeId is a required field
15683	VolumeId *string `type:"string" required:"true"`
15684}
15685
15686// String returns the string representation
15687func (s UnassignVolumeInput) String() string {
15688	return awsutil.Prettify(s)
15689}
15690
15691// GoString returns the string representation
15692func (s UnassignVolumeInput) GoString() string {
15693	return s.String()
15694}
15695
15696// Validate inspects the fields of the type to determine if they are valid.
15697func (s *UnassignVolumeInput) Validate() error {
15698	invalidParams := request.ErrInvalidParams{Context: "UnassignVolumeInput"}
15699	if s.VolumeId == nil {
15700		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
15701	}
15702
15703	if invalidParams.Len() > 0 {
15704		return invalidParams
15705	}
15706	return nil
15707}
15708
15709// SetVolumeId sets the VolumeId field's value.
15710func (s *UnassignVolumeInput) SetVolumeId(v string) *UnassignVolumeInput {
15711	s.VolumeId = &v
15712	return s
15713}
15714
15715type UnassignVolumeOutput struct {
15716	_ struct{} `type:"structure"`
15717}
15718
15719// String returns the string representation
15720func (s UnassignVolumeOutput) String() string {
15721	return awsutil.Prettify(s)
15722}
15723
15724// GoString returns the string representation
15725func (s UnassignVolumeOutput) GoString() string {
15726	return s.String()
15727}
15728
15729type UntagResourceInput struct {
15730	_ struct{} `type:"structure"`
15731
15732	// The stack or layer's Amazon Resource Number (ARN).
15733	//
15734	// ResourceArn is a required field
15735	ResourceArn *string `type:"string" required:"true"`
15736
15737	// A list of the keys of tags to be removed from a stack or layer.
15738	//
15739	// TagKeys is a required field
15740	TagKeys []*string `type:"list" required:"true"`
15741}
15742
15743// String returns the string representation
15744func (s UntagResourceInput) String() string {
15745	return awsutil.Prettify(s)
15746}
15747
15748// GoString returns the string representation
15749func (s UntagResourceInput) GoString() string {
15750	return s.String()
15751}
15752
15753// Validate inspects the fields of the type to determine if they are valid.
15754func (s *UntagResourceInput) Validate() error {
15755	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
15756	if s.ResourceArn == nil {
15757		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15758	}
15759	if s.TagKeys == nil {
15760		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
15761	}
15762
15763	if invalidParams.Len() > 0 {
15764		return invalidParams
15765	}
15766	return nil
15767}
15768
15769// SetResourceArn sets the ResourceArn field's value.
15770func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
15771	s.ResourceArn = &v
15772	return s
15773}
15774
15775// SetTagKeys sets the TagKeys field's value.
15776func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
15777	s.TagKeys = v
15778	return s
15779}
15780
15781type UntagResourceOutput struct {
15782	_ struct{} `type:"structure"`
15783}
15784
15785// String returns the string representation
15786func (s UntagResourceOutput) String() string {
15787	return awsutil.Prettify(s)
15788}
15789
15790// GoString returns the string representation
15791func (s UntagResourceOutput) GoString() string {
15792	return s.String()
15793}
15794
15795type UpdateAppInput struct {
15796	_ struct{} `type:"structure"`
15797
15798	// The app ID.
15799	//
15800	// AppId is a required field
15801	AppId *string `type:"string" required:"true"`
15802
15803	// A Source object that specifies the app repository.
15804	AppSource *Source `type:"structure"`
15805
15806	// One or more user-defined key/value pairs to be added to the stack attributes.
15807	Attributes map[string]*string `type:"map"`
15808
15809	// The app's data sources.
15810	DataSources []*DataSource `type:"list"`
15811
15812	// A description of the app.
15813	Description *string `type:"string"`
15814
15815	// The app's virtual host settings, with multiple domains separated by commas.
15816	// For example: 'www.example.com, example.com'
15817	Domains []*string `type:"list"`
15818
15819	// Whether SSL is enabled for the app.
15820	EnableSsl *bool `type:"boolean"`
15821
15822	// An array of EnvironmentVariable objects that specify environment variables
15823	// to be associated with the app. After you deploy the app, these variables
15824	// are defined on the associated app server instances.For more information,
15825	// see Environment Variables (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
15826	//
15827	// There is no specific limit on the number of environment variables. However,
15828	// the size of the associated data structure - which includes the variables'
15829	// names, values, and protected flag values - cannot exceed 20 KB. This limit
15830	// should accommodate most if not all use cases. Exceeding it will cause an
15831	// exception with the message, "Environment: is too large (maximum is 20 KB)."
15832	//
15833	// If you have specified one or more environment variables, you cannot modify
15834	// the stack's Chef version.
15835	Environment []*EnvironmentVariable `type:"list"`
15836
15837	// The app name.
15838	Name *string `type:"string"`
15839
15840	// An SslConfiguration object with the SSL configuration.
15841	SslConfiguration *SslConfiguration `type:"structure"`
15842
15843	// The app type.
15844	Type *string `type:"string" enum:"AppType"`
15845}
15846
15847// String returns the string representation
15848func (s UpdateAppInput) String() string {
15849	return awsutil.Prettify(s)
15850}
15851
15852// GoString returns the string representation
15853func (s UpdateAppInput) GoString() string {
15854	return s.String()
15855}
15856
15857// Validate inspects the fields of the type to determine if they are valid.
15858func (s *UpdateAppInput) Validate() error {
15859	invalidParams := request.ErrInvalidParams{Context: "UpdateAppInput"}
15860	if s.AppId == nil {
15861		invalidParams.Add(request.NewErrParamRequired("AppId"))
15862	}
15863	if s.Environment != nil {
15864		for i, v := range s.Environment {
15865			if v == nil {
15866				continue
15867			}
15868			if err := v.Validate(); err != nil {
15869				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Environment", i), err.(request.ErrInvalidParams))
15870			}
15871		}
15872	}
15873	if s.SslConfiguration != nil {
15874		if err := s.SslConfiguration.Validate(); err != nil {
15875			invalidParams.AddNested("SslConfiguration", err.(request.ErrInvalidParams))
15876		}
15877	}
15878
15879	if invalidParams.Len() > 0 {
15880		return invalidParams
15881	}
15882	return nil
15883}
15884
15885// SetAppId sets the AppId field's value.
15886func (s *UpdateAppInput) SetAppId(v string) *UpdateAppInput {
15887	s.AppId = &v
15888	return s
15889}
15890
15891// SetAppSource sets the AppSource field's value.
15892func (s *UpdateAppInput) SetAppSource(v *Source) *UpdateAppInput {
15893	s.AppSource = v
15894	return s
15895}
15896
15897// SetAttributes sets the Attributes field's value.
15898func (s *UpdateAppInput) SetAttributes(v map[string]*string) *UpdateAppInput {
15899	s.Attributes = v
15900	return s
15901}
15902
15903// SetDataSources sets the DataSources field's value.
15904func (s *UpdateAppInput) SetDataSources(v []*DataSource) *UpdateAppInput {
15905	s.DataSources = v
15906	return s
15907}
15908
15909// SetDescription sets the Description field's value.
15910func (s *UpdateAppInput) SetDescription(v string) *UpdateAppInput {
15911	s.Description = &v
15912	return s
15913}
15914
15915// SetDomains sets the Domains field's value.
15916func (s *UpdateAppInput) SetDomains(v []*string) *UpdateAppInput {
15917	s.Domains = v
15918	return s
15919}
15920
15921// SetEnableSsl sets the EnableSsl field's value.
15922func (s *UpdateAppInput) SetEnableSsl(v bool) *UpdateAppInput {
15923	s.EnableSsl = &v
15924	return s
15925}
15926
15927// SetEnvironment sets the Environment field's value.
15928func (s *UpdateAppInput) SetEnvironment(v []*EnvironmentVariable) *UpdateAppInput {
15929	s.Environment = v
15930	return s
15931}
15932
15933// SetName sets the Name field's value.
15934func (s *UpdateAppInput) SetName(v string) *UpdateAppInput {
15935	s.Name = &v
15936	return s
15937}
15938
15939// SetSslConfiguration sets the SslConfiguration field's value.
15940func (s *UpdateAppInput) SetSslConfiguration(v *SslConfiguration) *UpdateAppInput {
15941	s.SslConfiguration = v
15942	return s
15943}
15944
15945// SetType sets the Type field's value.
15946func (s *UpdateAppInput) SetType(v string) *UpdateAppInput {
15947	s.Type = &v
15948	return s
15949}
15950
15951type UpdateAppOutput struct {
15952	_ struct{} `type:"structure"`
15953}
15954
15955// String returns the string representation
15956func (s UpdateAppOutput) String() string {
15957	return awsutil.Prettify(s)
15958}
15959
15960// GoString returns the string representation
15961func (s UpdateAppOutput) GoString() string {
15962	return s.String()
15963}
15964
15965type UpdateElasticIpInput struct {
15966	_ struct{} `type:"structure"`
15967
15968	// The IP address for which you want to update the name.
15969	//
15970	// ElasticIp is a required field
15971	ElasticIp *string `type:"string" required:"true"`
15972
15973	// The new name.
15974	Name *string `type:"string"`
15975}
15976
15977// String returns the string representation
15978func (s UpdateElasticIpInput) String() string {
15979	return awsutil.Prettify(s)
15980}
15981
15982// GoString returns the string representation
15983func (s UpdateElasticIpInput) GoString() string {
15984	return s.String()
15985}
15986
15987// Validate inspects the fields of the type to determine if they are valid.
15988func (s *UpdateElasticIpInput) Validate() error {
15989	invalidParams := request.ErrInvalidParams{Context: "UpdateElasticIpInput"}
15990	if s.ElasticIp == nil {
15991		invalidParams.Add(request.NewErrParamRequired("ElasticIp"))
15992	}
15993
15994	if invalidParams.Len() > 0 {
15995		return invalidParams
15996	}
15997	return nil
15998}
15999
16000// SetElasticIp sets the ElasticIp field's value.
16001func (s *UpdateElasticIpInput) SetElasticIp(v string) *UpdateElasticIpInput {
16002	s.ElasticIp = &v
16003	return s
16004}
16005
16006// SetName sets the Name field's value.
16007func (s *UpdateElasticIpInput) SetName(v string) *UpdateElasticIpInput {
16008	s.Name = &v
16009	return s
16010}
16011
16012type UpdateElasticIpOutput struct {
16013	_ struct{} `type:"structure"`
16014}
16015
16016// String returns the string representation
16017func (s UpdateElasticIpOutput) String() string {
16018	return awsutil.Prettify(s)
16019}
16020
16021// GoString returns the string representation
16022func (s UpdateElasticIpOutput) GoString() string {
16023	return s.String()
16024}
16025
16026type UpdateInstanceInput struct {
16027	_ struct{} `type:"structure"`
16028
16029	// The default AWS OpsWorks Stacks agent version. You have the following options:
16030	//
16031	//    * INHERIT - Use the stack's default agent version setting.
16032	//
16033	//    * version_number - Use the specified agent version. This value overrides
16034	//    the stack's default setting. To update the agent version, you must edit
16035	//    the instance configuration and specify a new version. AWS OpsWorks Stacks
16036	//    then automatically installs that version on the instance.
16037	//
16038	// The default setting is INHERIT. To specify an agent version, you must use
16039	// the complete version number, not the abbreviated number shown on the console.
16040	// For a list of available agent version numbers, call DescribeAgentVersions.
16041	//
16042	// AgentVersion cannot be set to Chef 12.2.
16043	AgentVersion *string `type:"string"`
16044
16045	// The ID of the AMI that was used to create the instance. The value of this
16046	// parameter must be the same AMI ID that the instance is already using. You
16047	// cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance
16048	// does not work on instances that are using custom AMIs.
16049	AmiId *string `type:"string"`
16050
16051	// The instance architecture. Instance types do not necessarily support both
16052	// architectures. For a list of the architectures that are supported by the
16053	// different instance types, see Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
16054	Architecture *string `type:"string" enum:"Architecture"`
16055
16056	// For load-based or time-based instances, the type. Windows stacks can use
16057	// only time-based instances.
16058	AutoScalingType *string `type:"string" enum:"AutoScalingType"`
16059
16060	// This property cannot be updated.
16061	EbsOptimized *bool `type:"boolean"`
16062
16063	// The instance host name.
16064	Hostname *string `type:"string"`
16065
16066	// Whether to install operating system and package updates when the instance
16067	// boots. The default value is true. To control when updates are installed,
16068	// set this value to false. You must then update your instances manually by
16069	// using CreateDeployment to run the update_dependencies stack command or by
16070	// manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
16071	//
16072	// We strongly recommend using the default value of true, to ensure that your
16073	// instances have the latest security updates.
16074	InstallUpdatesOnBoot *bool `type:"boolean"`
16075
16076	// The instance ID.
16077	//
16078	// InstanceId is a required field
16079	InstanceId *string `type:"string" required:"true"`
16080
16081	// The instance type, such as t2.micro. For a list of supported instance types,
16082	// open the stack in the console, choose Instances, and choose + Instance. The
16083	// Size list contains the currently supported types. For more information, see
16084	// Instance Families and Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
16085	// The parameter values that you use to specify the various types are in the
16086	// API Name column of the Available Instance Types table.
16087	InstanceType *string `type:"string"`
16088
16089	// The instance's layer IDs.
16090	LayerIds []*string `type:"list"`
16091
16092	// The instance's operating system, which must be set to one of the following.
16093	// You cannot update an instance that is using a custom AMI.
16094	//
16095	//    * A supported Linux operating system: An Amazon Linux version, such as
16096	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
16097	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
16098	//    2015.03.
16099	//
16100	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
16101	//    14.04 LTS, or Ubuntu 12.04 LTS.
16102	//
16103	//    * CentOS Linux 7
16104	//
16105	//    * Red Hat Enterprise Linux 7
16106	//
16107	//    * A supported Windows operating system, such as Microsoft Windows Server
16108	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
16109	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
16110	//    Windows Server 2012 R2 with SQL Server Web.
16111	//
16112	// For more information about supported operating systems, see AWS OpsWorks
16113	// Stacks Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
16114	//
16115	// The default option is the current Amazon Linux version. If you set this parameter
16116	// to Custom, you must use the AmiId parameter to specify the custom AMI that
16117	// you want to use. For more information about supported operating systems,
16118	// see Operating Systems (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
16119	// For more information about how to use custom AMIs with OpsWorks, see Using
16120	// Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
16121	//
16122	// You can specify a different Linux operating system for the updated stack,
16123	// but you cannot change from Linux to Windows or Windows to Linux.
16124	Os *string `type:"string"`
16125
16126	// The instance's Amazon EC2 key name.
16127	SshKeyName *string `type:"string"`
16128}
16129
16130// String returns the string representation
16131func (s UpdateInstanceInput) String() string {
16132	return awsutil.Prettify(s)
16133}
16134
16135// GoString returns the string representation
16136func (s UpdateInstanceInput) GoString() string {
16137	return s.String()
16138}
16139
16140// Validate inspects the fields of the type to determine if they are valid.
16141func (s *UpdateInstanceInput) Validate() error {
16142	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceInput"}
16143	if s.InstanceId == nil {
16144		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16145	}
16146
16147	if invalidParams.Len() > 0 {
16148		return invalidParams
16149	}
16150	return nil
16151}
16152
16153// SetAgentVersion sets the AgentVersion field's value.
16154func (s *UpdateInstanceInput) SetAgentVersion(v string) *UpdateInstanceInput {
16155	s.AgentVersion = &v
16156	return s
16157}
16158
16159// SetAmiId sets the AmiId field's value.
16160func (s *UpdateInstanceInput) SetAmiId(v string) *UpdateInstanceInput {
16161	s.AmiId = &v
16162	return s
16163}
16164
16165// SetArchitecture sets the Architecture field's value.
16166func (s *UpdateInstanceInput) SetArchitecture(v string) *UpdateInstanceInput {
16167	s.Architecture = &v
16168	return s
16169}
16170
16171// SetAutoScalingType sets the AutoScalingType field's value.
16172func (s *UpdateInstanceInput) SetAutoScalingType(v string) *UpdateInstanceInput {
16173	s.AutoScalingType = &v
16174	return s
16175}
16176
16177// SetEbsOptimized sets the EbsOptimized field's value.
16178func (s *UpdateInstanceInput) SetEbsOptimized(v bool) *UpdateInstanceInput {
16179	s.EbsOptimized = &v
16180	return s
16181}
16182
16183// SetHostname sets the Hostname field's value.
16184func (s *UpdateInstanceInput) SetHostname(v string) *UpdateInstanceInput {
16185	s.Hostname = &v
16186	return s
16187}
16188
16189// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
16190func (s *UpdateInstanceInput) SetInstallUpdatesOnBoot(v bool) *UpdateInstanceInput {
16191	s.InstallUpdatesOnBoot = &v
16192	return s
16193}
16194
16195// SetInstanceId sets the InstanceId field's value.
16196func (s *UpdateInstanceInput) SetInstanceId(v string) *UpdateInstanceInput {
16197	s.InstanceId = &v
16198	return s
16199}
16200
16201// SetInstanceType sets the InstanceType field's value.
16202func (s *UpdateInstanceInput) SetInstanceType(v string) *UpdateInstanceInput {
16203	s.InstanceType = &v
16204	return s
16205}
16206
16207// SetLayerIds sets the LayerIds field's value.
16208func (s *UpdateInstanceInput) SetLayerIds(v []*string) *UpdateInstanceInput {
16209	s.LayerIds = v
16210	return s
16211}
16212
16213// SetOs sets the Os field's value.
16214func (s *UpdateInstanceInput) SetOs(v string) *UpdateInstanceInput {
16215	s.Os = &v
16216	return s
16217}
16218
16219// SetSshKeyName sets the SshKeyName field's value.
16220func (s *UpdateInstanceInput) SetSshKeyName(v string) *UpdateInstanceInput {
16221	s.SshKeyName = &v
16222	return s
16223}
16224
16225type UpdateInstanceOutput struct {
16226	_ struct{} `type:"structure"`
16227}
16228
16229// String returns the string representation
16230func (s UpdateInstanceOutput) String() string {
16231	return awsutil.Prettify(s)
16232}
16233
16234// GoString returns the string representation
16235func (s UpdateInstanceOutput) GoString() string {
16236	return s.String()
16237}
16238
16239type UpdateLayerInput struct {
16240	_ struct{} `type:"structure"`
16241
16242	// One or more user-defined key/value pairs to be added to the stack attributes.
16243	Attributes map[string]*string `type:"map"`
16244
16245	// Whether to automatically assign an Elastic IP address (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
16246	// 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).
16247	AutoAssignElasticIps *bool `type:"boolean"`
16248
16249	// For stacks that are running in a VPC, whether to automatically assign a public
16250	// IP address to the layer's instances. For more information, see How to Edit
16251	// a Layer (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
16252	AutoAssignPublicIps *bool `type:"boolean"`
16253
16254	// Specifies CloudWatch Logs configuration options for the layer. For more information,
16255	// see CloudWatchLogsLogStream.
16256	CloudWatchLogsConfiguration *CloudWatchLogsConfiguration `type:"structure"`
16257
16258	// The ARN of an IAM profile to be used for all of the layer's EC2 instances.
16259	// For more information about IAM ARNs, see Using Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
16260	CustomInstanceProfileArn *string `type:"string"`
16261
16262	// A JSON-formatted string containing custom stack configuration and deployment
16263	// attributes to be installed on the layer's instances. For more information,
16264	// see Using Custom JSON (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html).
16265	CustomJson *string `type:"string"`
16266
16267	// A LayerCustomRecipes object that specifies the layer's custom recipes.
16268	CustomRecipes *Recipes `type:"structure"`
16269
16270	// An array containing the layer's custom security group IDs.
16271	CustomSecurityGroupIds []*string `type:"list"`
16272
16273	// Whether to disable auto healing for the layer.
16274	EnableAutoHealing *bool `type:"boolean"`
16275
16276	// Whether to install operating system and package updates when the instance
16277	// boots. The default value is true. To control when updates are installed,
16278	// set this value to false. You must then update your instances manually by
16279	// using CreateDeployment to run the update_dependencies stack command or manually
16280	// running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
16281	//
16282	// We strongly recommend using the default value of true, to ensure that your
16283	// instances have the latest security updates.
16284	InstallUpdatesOnBoot *bool `type:"boolean"`
16285
16286	// The layer ID.
16287	//
16288	// LayerId is a required field
16289	LayerId *string `type:"string" required:"true"`
16290
16291	// Specifies the lifecycle event configuration
16292	LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"`
16293
16294	// The layer name, which is used by the console.
16295	Name *string `type:"string"`
16296
16297	// An array of Package objects that describe the layer's packages.
16298	Packages []*string `type:"list"`
16299
16300	// For custom layers only, use this parameter to specify the layer's short name,
16301	// which is used internally by AWS OpsWorks Stacks and by Chef. The short name
16302	// is also used as the name for the directory where your app files are installed.
16303	// It can have a maximum of 200 characters and must be in the following format:
16304	// /\A[a-z0-9\-\_\.]+\Z/.
16305	//
16306	// The built-in layers' short names are defined by AWS OpsWorks Stacks. For
16307	// more information, see the Layer Reference (https://docs.aws.amazon.com/opsworks/latest/userguide/layers.html)
16308	Shortname *string `type:"string"`
16309
16310	// Whether to use Amazon EBS-optimized instances.
16311	UseEbsOptimizedInstances *bool `type:"boolean"`
16312
16313	// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
16314	VolumeConfigurations []*VolumeConfiguration `type:"list"`
16315}
16316
16317// String returns the string representation
16318func (s UpdateLayerInput) String() string {
16319	return awsutil.Prettify(s)
16320}
16321
16322// GoString returns the string representation
16323func (s UpdateLayerInput) GoString() string {
16324	return s.String()
16325}
16326
16327// Validate inspects the fields of the type to determine if they are valid.
16328func (s *UpdateLayerInput) Validate() error {
16329	invalidParams := request.ErrInvalidParams{Context: "UpdateLayerInput"}
16330	if s.LayerId == nil {
16331		invalidParams.Add(request.NewErrParamRequired("LayerId"))
16332	}
16333	if s.VolumeConfigurations != nil {
16334		for i, v := range s.VolumeConfigurations {
16335			if v == nil {
16336				continue
16337			}
16338			if err := v.Validate(); err != nil {
16339				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VolumeConfigurations", i), err.(request.ErrInvalidParams))
16340			}
16341		}
16342	}
16343
16344	if invalidParams.Len() > 0 {
16345		return invalidParams
16346	}
16347	return nil
16348}
16349
16350// SetAttributes sets the Attributes field's value.
16351func (s *UpdateLayerInput) SetAttributes(v map[string]*string) *UpdateLayerInput {
16352	s.Attributes = v
16353	return s
16354}
16355
16356// SetAutoAssignElasticIps sets the AutoAssignElasticIps field's value.
16357func (s *UpdateLayerInput) SetAutoAssignElasticIps(v bool) *UpdateLayerInput {
16358	s.AutoAssignElasticIps = &v
16359	return s
16360}
16361
16362// SetAutoAssignPublicIps sets the AutoAssignPublicIps field's value.
16363func (s *UpdateLayerInput) SetAutoAssignPublicIps(v bool) *UpdateLayerInput {
16364	s.AutoAssignPublicIps = &v
16365	return s
16366}
16367
16368// SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value.
16369func (s *UpdateLayerInput) SetCloudWatchLogsConfiguration(v *CloudWatchLogsConfiguration) *UpdateLayerInput {
16370	s.CloudWatchLogsConfiguration = v
16371	return s
16372}
16373
16374// SetCustomInstanceProfileArn sets the CustomInstanceProfileArn field's value.
16375func (s *UpdateLayerInput) SetCustomInstanceProfileArn(v string) *UpdateLayerInput {
16376	s.CustomInstanceProfileArn = &v
16377	return s
16378}
16379
16380// SetCustomJson sets the CustomJson field's value.
16381func (s *UpdateLayerInput) SetCustomJson(v string) *UpdateLayerInput {
16382	s.CustomJson = &v
16383	return s
16384}
16385
16386// SetCustomRecipes sets the CustomRecipes field's value.
16387func (s *UpdateLayerInput) SetCustomRecipes(v *Recipes) *UpdateLayerInput {
16388	s.CustomRecipes = v
16389	return s
16390}
16391
16392// SetCustomSecurityGroupIds sets the CustomSecurityGroupIds field's value.
16393func (s *UpdateLayerInput) SetCustomSecurityGroupIds(v []*string) *UpdateLayerInput {
16394	s.CustomSecurityGroupIds = v
16395	return s
16396}
16397
16398// SetEnableAutoHealing sets the EnableAutoHealing field's value.
16399func (s *UpdateLayerInput) SetEnableAutoHealing(v bool) *UpdateLayerInput {
16400	s.EnableAutoHealing = &v
16401	return s
16402}
16403
16404// SetInstallUpdatesOnBoot sets the InstallUpdatesOnBoot field's value.
16405func (s *UpdateLayerInput) SetInstallUpdatesOnBoot(v bool) *UpdateLayerInput {
16406	s.InstallUpdatesOnBoot = &v
16407	return s
16408}
16409
16410// SetLayerId sets the LayerId field's value.
16411func (s *UpdateLayerInput) SetLayerId(v string) *UpdateLayerInput {
16412	s.LayerId = &v
16413	return s
16414}
16415
16416// SetLifecycleEventConfiguration sets the LifecycleEventConfiguration field's value.
16417func (s *UpdateLayerInput) SetLifecycleEventConfiguration(v *LifecycleEventConfiguration) *UpdateLayerInput {
16418	s.LifecycleEventConfiguration = v
16419	return s
16420}
16421
16422// SetName sets the Name field's value.
16423func (s *UpdateLayerInput) SetName(v string) *UpdateLayerInput {
16424	s.Name = &v
16425	return s
16426}
16427
16428// SetPackages sets the Packages field's value.
16429func (s *UpdateLayerInput) SetPackages(v []*string) *UpdateLayerInput {
16430	s.Packages = v
16431	return s
16432}
16433
16434// SetShortname sets the Shortname field's value.
16435func (s *UpdateLayerInput) SetShortname(v string) *UpdateLayerInput {
16436	s.Shortname = &v
16437	return s
16438}
16439
16440// SetUseEbsOptimizedInstances sets the UseEbsOptimizedInstances field's value.
16441func (s *UpdateLayerInput) SetUseEbsOptimizedInstances(v bool) *UpdateLayerInput {
16442	s.UseEbsOptimizedInstances = &v
16443	return s
16444}
16445
16446// SetVolumeConfigurations sets the VolumeConfigurations field's value.
16447func (s *UpdateLayerInput) SetVolumeConfigurations(v []*VolumeConfiguration) *UpdateLayerInput {
16448	s.VolumeConfigurations = v
16449	return s
16450}
16451
16452type UpdateLayerOutput struct {
16453	_ struct{} `type:"structure"`
16454}
16455
16456// String returns the string representation
16457func (s UpdateLayerOutput) String() string {
16458	return awsutil.Prettify(s)
16459}
16460
16461// GoString returns the string representation
16462func (s UpdateLayerOutput) GoString() string {
16463	return s.String()
16464}
16465
16466type UpdateMyUserProfileInput struct {
16467	_ struct{} `type:"structure"`
16468
16469	// The user's SSH public key.
16470	SshPublicKey *string `type:"string"`
16471}
16472
16473// String returns the string representation
16474func (s UpdateMyUserProfileInput) String() string {
16475	return awsutil.Prettify(s)
16476}
16477
16478// GoString returns the string representation
16479func (s UpdateMyUserProfileInput) GoString() string {
16480	return s.String()
16481}
16482
16483// SetSshPublicKey sets the SshPublicKey field's value.
16484func (s *UpdateMyUserProfileInput) SetSshPublicKey(v string) *UpdateMyUserProfileInput {
16485	s.SshPublicKey = &v
16486	return s
16487}
16488
16489type UpdateMyUserProfileOutput struct {
16490	_ struct{} `type:"structure"`
16491}
16492
16493// String returns the string representation
16494func (s UpdateMyUserProfileOutput) String() string {
16495	return awsutil.Prettify(s)
16496}
16497
16498// GoString returns the string representation
16499func (s UpdateMyUserProfileOutput) GoString() string {
16500	return s.String()
16501}
16502
16503type UpdateRdsDbInstanceInput struct {
16504	_ struct{} `type:"structure"`
16505
16506	// The database password.
16507	DbPassword *string `type:"string"`
16508
16509	// The master user name.
16510	DbUser *string `type:"string"`
16511
16512	// The Amazon RDS instance's ARN.
16513	//
16514	// RdsDbInstanceArn is a required field
16515	RdsDbInstanceArn *string `type:"string" required:"true"`
16516}
16517
16518// String returns the string representation
16519func (s UpdateRdsDbInstanceInput) String() string {
16520	return awsutil.Prettify(s)
16521}
16522
16523// GoString returns the string representation
16524func (s UpdateRdsDbInstanceInput) GoString() string {
16525	return s.String()
16526}
16527
16528// Validate inspects the fields of the type to determine if they are valid.
16529func (s *UpdateRdsDbInstanceInput) Validate() error {
16530	invalidParams := request.ErrInvalidParams{Context: "UpdateRdsDbInstanceInput"}
16531	if s.RdsDbInstanceArn == nil {
16532		invalidParams.Add(request.NewErrParamRequired("RdsDbInstanceArn"))
16533	}
16534
16535	if invalidParams.Len() > 0 {
16536		return invalidParams
16537	}
16538	return nil
16539}
16540
16541// SetDbPassword sets the DbPassword field's value.
16542func (s *UpdateRdsDbInstanceInput) SetDbPassword(v string) *UpdateRdsDbInstanceInput {
16543	s.DbPassword = &v
16544	return s
16545}
16546
16547// SetDbUser sets the DbUser field's value.
16548func (s *UpdateRdsDbInstanceInput) SetDbUser(v string) *UpdateRdsDbInstanceInput {
16549	s.DbUser = &v
16550	return s
16551}
16552
16553// SetRdsDbInstanceArn sets the RdsDbInstanceArn field's value.
16554func (s *UpdateRdsDbInstanceInput) SetRdsDbInstanceArn(v string) *UpdateRdsDbInstanceInput {
16555	s.RdsDbInstanceArn = &v
16556	return s
16557}
16558
16559type UpdateRdsDbInstanceOutput struct {
16560	_ struct{} `type:"structure"`
16561}
16562
16563// String returns the string representation
16564func (s UpdateRdsDbInstanceOutput) String() string {
16565	return awsutil.Prettify(s)
16566}
16567
16568// GoString returns the string representation
16569func (s UpdateRdsDbInstanceOutput) GoString() string {
16570	return s.String()
16571}
16572
16573type UpdateStackInput struct {
16574	_ struct{} `type:"structure"`
16575
16576	// The default AWS OpsWorks Stacks agent version. You have the following options:
16577	//
16578	//    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically
16579	//    installs new agent versions on the stack's instances as soon as they are
16580	//    available.
16581	//
16582	//    * Fixed version - Set this parameter to your preferred agent version.
16583	//    To update the agent version, you must edit the stack configuration and
16584	//    specify a new version. AWS OpsWorks Stacks then automatically installs
16585	//    that version on the stack's instances.
16586	//
16587	// The default setting is LATEST. To specify an agent version, you must use
16588	// the complete version number, not the abbreviated number shown on the console.
16589	// For a list of available agent version numbers, call DescribeAgentVersions.
16590	// AgentVersion cannot be set to Chef 12.2.
16591	//
16592	// You can also specify an agent version when you create or update an instance,
16593	// which overrides the stack's default setting.
16594	AgentVersion *string `type:"string"`
16595
16596	// One or more user-defined key-value pairs to be added to the stack attributes.
16597	Attributes map[string]*string `type:"map"`
16598
16599	// A ChefConfiguration object that specifies whether to enable Berkshelf and
16600	// the Berkshelf version on Chef 11.10 stacks. For more information, see Create
16601	// a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
16602	ChefConfiguration *ChefConfiguration `type:"structure"`
16603
16604	// The configuration manager. When you update a stack, we recommend that you
16605	// use the configuration manager to specify the Chef version: 12, 11.10, or
16606	// 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for
16607	// Linux stacks is currently 12.
16608	ConfigurationManager *StackConfigurationManager `type:"structure"`
16609
16610	// Contains the information required to retrieve an app or cookbook from a repository.
16611	// For more information, see Adding Apps (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html)
16612	// or Cookbooks and Recipes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html).
16613	CustomCookbooksSource *Source `type:"structure"`
16614
16615	// A string that contains user-defined, custom JSON. It can be used to override
16616	// the corresponding default stack configuration JSON values or to pass data
16617	// to recipes. The string should be in the following format:
16618	//
16619	// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
16620	//
16621	// For more information about custom JSON, see Use Custom JSON to Modify the
16622	// Stack Configuration Attributes (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
16623	CustomJson *string `type:"string"`
16624
16625	// The stack's default Availability Zone, which must be in the stack's region.
16626	// For more information, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
16627	// If you also specify a value for DefaultSubnetId, the subnet must be in the
16628	// same zone. For more information, see CreateStack.
16629	DefaultAvailabilityZone *string `type:"string"`
16630
16631	// The ARN of an IAM profile that is the default profile for all of the stack's
16632	// EC2 instances. For more information about IAM ARNs, see Using Identifiers
16633	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
16634	DefaultInstanceProfileArn *string `type:"string"`
16635
16636	// The stack's operating system, which must be set to one of the following:
16637	//
16638	//    * A supported Linux operating system: An Amazon Linux version, such as
16639	//    Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon
16640	//    Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux
16641	//    2015.03.
16642	//
16643	//    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu
16644	//    14.04 LTS, or Ubuntu 12.04 LTS.
16645	//
16646	//    * CentOS Linux 7
16647	//
16648	//    * Red Hat Enterprise Linux 7
16649	//
16650	//    * A supported Windows operating system, such as Microsoft Windows Server
16651	//    2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express,
16652	//    Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft
16653	//    Windows Server 2012 R2 with SQL Server Web.
16654	//
16655	//    * A custom AMI: Custom. You specify the custom AMI you want to use when
16656	//    you create instances. For more information about how to use custom AMIs
16657	//    with OpsWorks, see Using Custom AMIs (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html).
16658	//
16659	// The default option is the stack's current operating system. For more information
16660	// about supported operating systems, see AWS OpsWorks Stacks Operating Systems
16661	// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html).
16662	DefaultOs *string `type:"string"`
16663
16664	// The default root device type. This value is used by default for all instances
16665	// in the stack, but you can override it when you create an instance. For more
16666	// information, see Storage for the Root Device (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
16667	DefaultRootDeviceType *string `type:"string" enum:"RootDeviceType"`
16668
16669	// A default Amazon EC2 key-pair name. The default value is none. If you specify
16670	// a key-pair name, AWS OpsWorks Stacks installs the public key on the instance
16671	// and you can use the private key with an SSH client to log in to the instance.
16672	// For more information, see Using SSH to Communicate with an Instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)
16673	// and Managing SSH Access (https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html).
16674	// You can override this setting by specifying a different key pair, or no key
16675	// pair, when you create an instance (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html).
16676	DefaultSshKeyName *string `type:"string"`
16677
16678	// The stack's default VPC subnet ID. This parameter is required if you specify
16679	// a value for the VpcId parameter. All instances are launched into this subnet
16680	// unless you specify otherwise when you create the instance. If you also specify
16681	// a value for DefaultAvailabilityZone, the subnet must be in that zone. For
16682	// information on default values and when this parameter is required, see the
16683	// VpcId parameter description.
16684	DefaultSubnetId *string `type:"string"`
16685
16686	// The stack's new host name theme, with spaces replaced by underscores. The
16687	// theme is used to generate host names for the stack's instances. By default,
16688	// HostnameTheme is set to Layer_Dependent, which creates host names by appending
16689	// integers to the layer's short name. The other themes are:
16690	//
16691	//    * Baked_Goods
16692	//
16693	//    * Clouds
16694	//
16695	//    * Europe_Cities
16696	//
16697	//    * Fruits
16698	//
16699	//    * Greek_Deities_and_Titans
16700	//
16701	//    * Legendary_creatures_from_Japan
16702	//
16703	//    * Planets_and_Moons
16704	//
16705	//    * Roman_Deities
16706	//
16707	//    * Scottish_Islands
16708	//
16709	//    * US_Cities
16710	//
16711	//    * Wild_Cats
16712	//
16713	// To obtain a generated host name, call GetHostNameSuggestion, which returns
16714	// a host name based on the current theme.
16715	HostnameTheme *string `type:"string"`
16716
16717	// The stack's new name.
16718	Name *string `type:"string"`
16719
16720	// Do not use this parameter. You cannot update a stack's service role.
16721	ServiceRoleArn *string `type:"string"`
16722
16723	// The stack ID.
16724	//
16725	// StackId is a required field
16726	StackId *string `type:"string" required:"true"`
16727
16728	// Whether the stack uses custom cookbooks.
16729	UseCustomCookbooks *bool `type:"boolean"`
16730
16731	// Whether to associate the AWS OpsWorks Stacks built-in security groups with
16732	// the stack's layers.
16733	//
16734	// AWS OpsWorks Stacks provides a standard set of built-in security groups,
16735	// one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups
16736	// allows you to provide your own custom security groups instead of using the
16737	// built-in groups. UseOpsworksSecurityGroups has the following settings:
16738	//
16739	//    * True - AWS OpsWorks Stacks automatically associates the appropriate
16740	//    built-in security group with each layer (default setting). You can associate
16741	//    additional security groups with a layer after you create it, but you cannot
16742	//    delete the built-in security group.
16743	//
16744	//    * False - AWS OpsWorks Stacks does not associate built-in security groups
16745	//    with layers. You must create appropriate EC2 security groups and associate
16746	//    a security group with each layer that you create. However, you can still
16747	//    manually associate a built-in security group with a layer on. Custom security
16748	//    groups are required only for those layers that need custom settings.
16749	//
16750	// For more information, see Create a New Stack (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html).
16751	UseOpsworksSecurityGroups *bool `type:"boolean"`
16752}
16753
16754// String returns the string representation
16755func (s UpdateStackInput) String() string {
16756	return awsutil.Prettify(s)
16757}
16758
16759// GoString returns the string representation
16760func (s UpdateStackInput) GoString() string {
16761	return s.String()
16762}
16763
16764// Validate inspects the fields of the type to determine if they are valid.
16765func (s *UpdateStackInput) Validate() error {
16766	invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
16767	if s.StackId == nil {
16768		invalidParams.Add(request.NewErrParamRequired("StackId"))
16769	}
16770
16771	if invalidParams.Len() > 0 {
16772		return invalidParams
16773	}
16774	return nil
16775}
16776
16777// SetAgentVersion sets the AgentVersion field's value.
16778func (s *UpdateStackInput) SetAgentVersion(v string) *UpdateStackInput {
16779	s.AgentVersion = &v
16780	return s
16781}
16782
16783// SetAttributes sets the Attributes field's value.
16784func (s *UpdateStackInput) SetAttributes(v map[string]*string) *UpdateStackInput {
16785	s.Attributes = v
16786	return s
16787}
16788
16789// SetChefConfiguration sets the ChefConfiguration field's value.
16790func (s *UpdateStackInput) SetChefConfiguration(v *ChefConfiguration) *UpdateStackInput {
16791	s.ChefConfiguration = v
16792	return s
16793}
16794
16795// SetConfigurationManager sets the ConfigurationManager field's value.
16796func (s *UpdateStackInput) SetConfigurationManager(v *StackConfigurationManager) *UpdateStackInput {
16797	s.ConfigurationManager = v
16798	return s
16799}
16800
16801// SetCustomCookbooksSource sets the CustomCookbooksSource field's value.
16802func (s *UpdateStackInput) SetCustomCookbooksSource(v *Source) *UpdateStackInput {
16803	s.CustomCookbooksSource = v
16804	return s
16805}
16806
16807// SetCustomJson sets the CustomJson field's value.
16808func (s *UpdateStackInput) SetCustomJson(v string) *UpdateStackInput {
16809	s.CustomJson = &v
16810	return s
16811}
16812
16813// SetDefaultAvailabilityZone sets the DefaultAvailabilityZone field's value.
16814func (s *UpdateStackInput) SetDefaultAvailabilityZone(v string) *UpdateStackInput {
16815	s.DefaultAvailabilityZone = &v
16816	return s
16817}
16818
16819// SetDefaultInstanceProfileArn sets the DefaultInstanceProfileArn field's value.
16820func (s *UpdateStackInput) SetDefaultInstanceProfileArn(v string) *UpdateStackInput {
16821	s.DefaultInstanceProfileArn = &v
16822	return s
16823}
16824
16825// SetDefaultOs sets the DefaultOs field's value.
16826func (s *UpdateStackInput) SetDefaultOs(v string) *UpdateStackInput {
16827	s.DefaultOs = &v
16828	return s
16829}
16830
16831// SetDefaultRootDeviceType sets the DefaultRootDeviceType field's value.
16832func (s *UpdateStackInput) SetDefaultRootDeviceType(v string) *UpdateStackInput {
16833	s.DefaultRootDeviceType = &v
16834	return s
16835}
16836
16837// SetDefaultSshKeyName sets the DefaultSshKeyName field's value.
16838func (s *UpdateStackInput) SetDefaultSshKeyName(v string) *UpdateStackInput {
16839	s.DefaultSshKeyName = &v
16840	return s
16841}
16842
16843// SetDefaultSubnetId sets the DefaultSubnetId field's value.
16844func (s *UpdateStackInput) SetDefaultSubnetId(v string) *UpdateStackInput {
16845	s.DefaultSubnetId = &v
16846	return s
16847}
16848
16849// SetHostnameTheme sets the HostnameTheme field's value.
16850func (s *UpdateStackInput) SetHostnameTheme(v string) *UpdateStackInput {
16851	s.HostnameTheme = &v
16852	return s
16853}
16854
16855// SetName sets the Name field's value.
16856func (s *UpdateStackInput) SetName(v string) *UpdateStackInput {
16857	s.Name = &v
16858	return s
16859}
16860
16861// SetServiceRoleArn sets the ServiceRoleArn field's value.
16862func (s *UpdateStackInput) SetServiceRoleArn(v string) *UpdateStackInput {
16863	s.ServiceRoleArn = &v
16864	return s
16865}
16866
16867// SetStackId sets the StackId field's value.
16868func (s *UpdateStackInput) SetStackId(v string) *UpdateStackInput {
16869	s.StackId = &v
16870	return s
16871}
16872
16873// SetUseCustomCookbooks sets the UseCustomCookbooks field's value.
16874func (s *UpdateStackInput) SetUseCustomCookbooks(v bool) *UpdateStackInput {
16875	s.UseCustomCookbooks = &v
16876	return s
16877}
16878
16879// SetUseOpsworksSecurityGroups sets the UseOpsworksSecurityGroups field's value.
16880func (s *UpdateStackInput) SetUseOpsworksSecurityGroups(v bool) *UpdateStackInput {
16881	s.UseOpsworksSecurityGroups = &v
16882	return s
16883}
16884
16885type UpdateStackOutput struct {
16886	_ struct{} `type:"structure"`
16887}
16888
16889// String returns the string representation
16890func (s UpdateStackOutput) String() string {
16891	return awsutil.Prettify(s)
16892}
16893
16894// GoString returns the string representation
16895func (s UpdateStackOutput) GoString() string {
16896	return s.String()
16897}
16898
16899type UpdateUserProfileInput struct {
16900	_ struct{} `type:"structure"`
16901
16902	// Whether users can specify their own SSH public key through the My Settings
16903	// page. For more information, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
16904	AllowSelfManagement *bool `type:"boolean"`
16905
16906	// The user IAM ARN. This can also be a federated user's ARN.
16907	//
16908	// IamUserArn is a required field
16909	IamUserArn *string `type:"string" required:"true"`
16910
16911	// The user's new SSH public key.
16912	SshPublicKey *string `type:"string"`
16913
16914	// The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9],
16915	// '-', and '_'. If the specified name includes other punctuation marks, AWS
16916	// OpsWorks Stacks removes them. For example, my.name will be changed to myname.
16917	// If you do not specify an SSH user name, AWS OpsWorks Stacks generates one
16918	// from the IAM user name.
16919	SshUsername *string `type:"string"`
16920}
16921
16922// String returns the string representation
16923func (s UpdateUserProfileInput) String() string {
16924	return awsutil.Prettify(s)
16925}
16926
16927// GoString returns the string representation
16928func (s UpdateUserProfileInput) GoString() string {
16929	return s.String()
16930}
16931
16932// Validate inspects the fields of the type to determine if they are valid.
16933func (s *UpdateUserProfileInput) Validate() error {
16934	invalidParams := request.ErrInvalidParams{Context: "UpdateUserProfileInput"}
16935	if s.IamUserArn == nil {
16936		invalidParams.Add(request.NewErrParamRequired("IamUserArn"))
16937	}
16938
16939	if invalidParams.Len() > 0 {
16940		return invalidParams
16941	}
16942	return nil
16943}
16944
16945// SetAllowSelfManagement sets the AllowSelfManagement field's value.
16946func (s *UpdateUserProfileInput) SetAllowSelfManagement(v bool) *UpdateUserProfileInput {
16947	s.AllowSelfManagement = &v
16948	return s
16949}
16950
16951// SetIamUserArn sets the IamUserArn field's value.
16952func (s *UpdateUserProfileInput) SetIamUserArn(v string) *UpdateUserProfileInput {
16953	s.IamUserArn = &v
16954	return s
16955}
16956
16957// SetSshPublicKey sets the SshPublicKey field's value.
16958func (s *UpdateUserProfileInput) SetSshPublicKey(v string) *UpdateUserProfileInput {
16959	s.SshPublicKey = &v
16960	return s
16961}
16962
16963// SetSshUsername sets the SshUsername field's value.
16964func (s *UpdateUserProfileInput) SetSshUsername(v string) *UpdateUserProfileInput {
16965	s.SshUsername = &v
16966	return s
16967}
16968
16969type UpdateUserProfileOutput struct {
16970	_ struct{} `type:"structure"`
16971}
16972
16973// String returns the string representation
16974func (s UpdateUserProfileOutput) String() string {
16975	return awsutil.Prettify(s)
16976}
16977
16978// GoString returns the string representation
16979func (s UpdateUserProfileOutput) GoString() string {
16980	return s.String()
16981}
16982
16983type UpdateVolumeInput struct {
16984	_ struct{} `type:"structure"`
16985
16986	// The new mount point.
16987	MountPoint *string `type:"string"`
16988
16989	// The new name.
16990	Name *string `type:"string"`
16991
16992	// The volume ID.
16993	//
16994	// VolumeId is a required field
16995	VolumeId *string `type:"string" required:"true"`
16996}
16997
16998// String returns the string representation
16999func (s UpdateVolumeInput) String() string {
17000	return awsutil.Prettify(s)
17001}
17002
17003// GoString returns the string representation
17004func (s UpdateVolumeInput) GoString() string {
17005	return s.String()
17006}
17007
17008// Validate inspects the fields of the type to determine if they are valid.
17009func (s *UpdateVolumeInput) Validate() error {
17010	invalidParams := request.ErrInvalidParams{Context: "UpdateVolumeInput"}
17011	if s.VolumeId == nil {
17012		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
17013	}
17014
17015	if invalidParams.Len() > 0 {
17016		return invalidParams
17017	}
17018	return nil
17019}
17020
17021// SetMountPoint sets the MountPoint field's value.
17022func (s *UpdateVolumeInput) SetMountPoint(v string) *UpdateVolumeInput {
17023	s.MountPoint = &v
17024	return s
17025}
17026
17027// SetName sets the Name field's value.
17028func (s *UpdateVolumeInput) SetName(v string) *UpdateVolumeInput {
17029	s.Name = &v
17030	return s
17031}
17032
17033// SetVolumeId sets the VolumeId field's value.
17034func (s *UpdateVolumeInput) SetVolumeId(v string) *UpdateVolumeInput {
17035	s.VolumeId = &v
17036	return s
17037}
17038
17039type UpdateVolumeOutput struct {
17040	_ struct{} `type:"structure"`
17041}
17042
17043// String returns the string representation
17044func (s UpdateVolumeOutput) String() string {
17045	return awsutil.Prettify(s)
17046}
17047
17048// GoString returns the string representation
17049func (s UpdateVolumeOutput) GoString() string {
17050	return s.String()
17051}
17052
17053// Describes a user's SSH information.
17054type UserProfile struct {
17055	_ struct{} `type:"structure"`
17056
17057	// Whether users can specify their own SSH public key through the My Settings
17058	// page. For more information, see Managing User Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html).
17059	AllowSelfManagement *bool `type:"boolean"`
17060
17061	// The user's IAM ARN.
17062	IamUserArn *string `type:"string"`
17063
17064	// The user's name.
17065	Name *string `type:"string"`
17066
17067	// The user's SSH public key.
17068	SshPublicKey *string `type:"string"`
17069
17070	// The user's SSH user name.
17071	SshUsername *string `type:"string"`
17072}
17073
17074// String returns the string representation
17075func (s UserProfile) String() string {
17076	return awsutil.Prettify(s)
17077}
17078
17079// GoString returns the string representation
17080func (s UserProfile) GoString() string {
17081	return s.String()
17082}
17083
17084// SetAllowSelfManagement sets the AllowSelfManagement field's value.
17085func (s *UserProfile) SetAllowSelfManagement(v bool) *UserProfile {
17086	s.AllowSelfManagement = &v
17087	return s
17088}
17089
17090// SetIamUserArn sets the IamUserArn field's value.
17091func (s *UserProfile) SetIamUserArn(v string) *UserProfile {
17092	s.IamUserArn = &v
17093	return s
17094}
17095
17096// SetName sets the Name field's value.
17097func (s *UserProfile) SetName(v string) *UserProfile {
17098	s.Name = &v
17099	return s
17100}
17101
17102// SetSshPublicKey sets the SshPublicKey field's value.
17103func (s *UserProfile) SetSshPublicKey(v string) *UserProfile {
17104	s.SshPublicKey = &v
17105	return s
17106}
17107
17108// SetSshUsername sets the SshUsername field's value.
17109func (s *UserProfile) SetSshUsername(v string) *UserProfile {
17110	s.SshUsername = &v
17111	return s
17112}
17113
17114// Describes an instance's Amazon EBS volume.
17115type Volume struct {
17116	_ struct{} `type:"structure"`
17117
17118	// The volume Availability Zone. For more information, see Regions and Endpoints
17119	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
17120	AvailabilityZone *string `type:"string"`
17121
17122	// The device name.
17123	Device *string `type:"string"`
17124
17125	// The Amazon EC2 volume ID.
17126	Ec2VolumeId *string `type:"string"`
17127
17128	// Specifies whether an Amazon EBS volume is encrypted. For more information,
17129	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).
17130	Encrypted *bool `type:"boolean"`
17131
17132	// The instance ID.
17133	InstanceId *string `type:"string"`
17134
17135	// For PIOPS volumes, the IOPS per disk.
17136	Iops *int64 `type:"integer"`
17137
17138	// The volume mount point. For example, "/mnt/disk1".
17139	MountPoint *string `type:"string"`
17140
17141	// The volume name.
17142	Name *string `type:"string"`
17143
17144	// The RAID array ID.
17145	RaidArrayId *string `type:"string"`
17146
17147	// The AWS region. For more information about AWS regions, see Regions and Endpoints
17148	// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
17149	Region *string `type:"string"`
17150
17151	// The volume size.
17152	Size *int64 `type:"integer"`
17153
17154	// The value returned by DescribeVolumes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html).
17155	Status *string `type:"string"`
17156
17157	// The volume ID.
17158	VolumeId *string `type:"string"`
17159
17160	// The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
17161	//
17162	//    * standard - Magnetic. Magnetic volumes must have a minimum size of 1
17163	//    GiB and a maximum size of 1024 GiB.
17164	//
17165	//    * io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size
17166	//    of 4 GiB and a maximum size of 16384 GiB.
17167	//
17168	//    * gp2 - General Purpose (SSD). General purpose volumes must have a minimum
17169	//    size of 1 GiB and a maximum size of 16384 GiB.
17170	//
17171	//    * st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized
17172	//    HDD volumes must have a minimum size of 500 GiB and a maximum size of
17173	//    16384 GiB.
17174	//
17175	//    * sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB
17176	//    and a maximum size of 16384 GiB.
17177	VolumeType *string `type:"string"`
17178}
17179
17180// String returns the string representation
17181func (s Volume) String() string {
17182	return awsutil.Prettify(s)
17183}
17184
17185// GoString returns the string representation
17186func (s Volume) GoString() string {
17187	return s.String()
17188}
17189
17190// SetAvailabilityZone sets the AvailabilityZone field's value.
17191func (s *Volume) SetAvailabilityZone(v string) *Volume {
17192	s.AvailabilityZone = &v
17193	return s
17194}
17195
17196// SetDevice sets the Device field's value.
17197func (s *Volume) SetDevice(v string) *Volume {
17198	s.Device = &v
17199	return s
17200}
17201
17202// SetEc2VolumeId sets the Ec2VolumeId field's value.
17203func (s *Volume) SetEc2VolumeId(v string) *Volume {
17204	s.Ec2VolumeId = &v
17205	return s
17206}
17207
17208// SetEncrypted sets the Encrypted field's value.
17209func (s *Volume) SetEncrypted(v bool) *Volume {
17210	s.Encrypted = &v
17211	return s
17212}
17213
17214// SetInstanceId sets the InstanceId field's value.
17215func (s *Volume) SetInstanceId(v string) *Volume {
17216	s.InstanceId = &v
17217	return s
17218}
17219
17220// SetIops sets the Iops field's value.
17221func (s *Volume) SetIops(v int64) *Volume {
17222	s.Iops = &v
17223	return s
17224}
17225
17226// SetMountPoint sets the MountPoint field's value.
17227func (s *Volume) SetMountPoint(v string) *Volume {
17228	s.MountPoint = &v
17229	return s
17230}
17231
17232// SetName sets the Name field's value.
17233func (s *Volume) SetName(v string) *Volume {
17234	s.Name = &v
17235	return s
17236}
17237
17238// SetRaidArrayId sets the RaidArrayId field's value.
17239func (s *Volume) SetRaidArrayId(v string) *Volume {
17240	s.RaidArrayId = &v
17241	return s
17242}
17243
17244// SetRegion sets the Region field's value.
17245func (s *Volume) SetRegion(v string) *Volume {
17246	s.Region = &v
17247	return s
17248}
17249
17250// SetSize sets the Size field's value.
17251func (s *Volume) SetSize(v int64) *Volume {
17252	s.Size = &v
17253	return s
17254}
17255
17256// SetStatus sets the Status field's value.
17257func (s *Volume) SetStatus(v string) *Volume {
17258	s.Status = &v
17259	return s
17260}
17261
17262// SetVolumeId sets the VolumeId field's value.
17263func (s *Volume) SetVolumeId(v string) *Volume {
17264	s.VolumeId = &v
17265	return s
17266}
17267
17268// SetVolumeType sets the VolumeType field's value.
17269func (s *Volume) SetVolumeType(v string) *Volume {
17270	s.VolumeType = &v
17271	return s
17272}
17273
17274// Describes an Amazon EBS volume configuration.
17275type VolumeConfiguration struct {
17276	_ struct{} `type:"structure"`
17277
17278	// Specifies whether an Amazon EBS volume is encrypted. For more information,
17279	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).
17280	Encrypted *bool `type:"boolean"`
17281
17282	// For PIOPS volumes, the IOPS per disk.
17283	Iops *int64 `type:"integer"`
17284
17285	// The volume mount point. For example "/dev/sdh".
17286	//
17287	// MountPoint is a required field
17288	MountPoint *string `type:"string" required:"true"`
17289
17290	// The number of disks in the volume.
17291	//
17292	// NumberOfDisks is a required field
17293	NumberOfDisks *int64 `type:"integer" required:"true"`
17294
17295	// The volume RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels).
17296	RaidLevel *int64 `type:"integer"`
17297
17298	// The volume size.
17299	//
17300	// Size is a required field
17301	Size *int64 `type:"integer" required:"true"`
17302
17303	// The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
17304	//
17305	//    * standard - Magnetic. Magnetic volumes must have a minimum size of 1
17306	//    GiB and a maximum size of 1024 GiB.
17307	//
17308	//    * io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size
17309	//    of 4 GiB and a maximum size of 16384 GiB.
17310	//
17311	//    * gp2 - General Purpose (SSD). General purpose volumes must have a minimum
17312	//    size of 1 GiB and a maximum size of 16384 GiB.
17313	//
17314	//    * st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized
17315	//    HDD volumes must have a minimum size of 500 GiB and a maximum size of
17316	//    16384 GiB.
17317	//
17318	//    * sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB
17319	//    and a maximum size of 16384 GiB.
17320	VolumeType *string `type:"string"`
17321}
17322
17323// String returns the string representation
17324func (s VolumeConfiguration) String() string {
17325	return awsutil.Prettify(s)
17326}
17327
17328// GoString returns the string representation
17329func (s VolumeConfiguration) GoString() string {
17330	return s.String()
17331}
17332
17333// Validate inspects the fields of the type to determine if they are valid.
17334func (s *VolumeConfiguration) Validate() error {
17335	invalidParams := request.ErrInvalidParams{Context: "VolumeConfiguration"}
17336	if s.MountPoint == nil {
17337		invalidParams.Add(request.NewErrParamRequired("MountPoint"))
17338	}
17339	if s.NumberOfDisks == nil {
17340		invalidParams.Add(request.NewErrParamRequired("NumberOfDisks"))
17341	}
17342	if s.Size == nil {
17343		invalidParams.Add(request.NewErrParamRequired("Size"))
17344	}
17345
17346	if invalidParams.Len() > 0 {
17347		return invalidParams
17348	}
17349	return nil
17350}
17351
17352// SetEncrypted sets the Encrypted field's value.
17353func (s *VolumeConfiguration) SetEncrypted(v bool) *VolumeConfiguration {
17354	s.Encrypted = &v
17355	return s
17356}
17357
17358// SetIops sets the Iops field's value.
17359func (s *VolumeConfiguration) SetIops(v int64) *VolumeConfiguration {
17360	s.Iops = &v
17361	return s
17362}
17363
17364// SetMountPoint sets the MountPoint field's value.
17365func (s *VolumeConfiguration) SetMountPoint(v string) *VolumeConfiguration {
17366	s.MountPoint = &v
17367	return s
17368}
17369
17370// SetNumberOfDisks sets the NumberOfDisks field's value.
17371func (s *VolumeConfiguration) SetNumberOfDisks(v int64) *VolumeConfiguration {
17372	s.NumberOfDisks = &v
17373	return s
17374}
17375
17376// SetRaidLevel sets the RaidLevel field's value.
17377func (s *VolumeConfiguration) SetRaidLevel(v int64) *VolumeConfiguration {
17378	s.RaidLevel = &v
17379	return s
17380}
17381
17382// SetSize sets the Size field's value.
17383func (s *VolumeConfiguration) SetSize(v int64) *VolumeConfiguration {
17384	s.Size = &v
17385	return s
17386}
17387
17388// SetVolumeType sets the VolumeType field's value.
17389func (s *VolumeConfiguration) SetVolumeType(v string) *VolumeConfiguration {
17390	s.VolumeType = &v
17391	return s
17392}
17393
17394// Describes a time-based instance's auto scaling schedule. The schedule consists
17395// of a set of key-value pairs.
17396//
17397//    * The key is the time period (a UTC hour) and must be an integer from
17398//    0 - 23.
17399//
17400//    * The value indicates whether the instance should be online or offline
17401//    for the specified period, and must be set to "on" or "off"
17402//
17403// The default setting for all time periods is off, so you use the following
17404// parameters primarily to specify the online periods. You don't have to explicitly
17405// specify offline periods unless you want to change an online period to an
17406// offline period.
17407//
17408// The following example specifies that the instance should be online for four
17409// hours, from UTC 1200 - 1600. It will be off for the remainder of the day.
17410//
17411// { "12":"on", "13":"on", "14":"on", "15":"on" }
17412type WeeklyAutoScalingSchedule struct {
17413	_ struct{} `type:"structure"`
17414
17415	// The schedule for Friday.
17416	Friday map[string]*string `type:"map"`
17417
17418	// The schedule for Monday.
17419	Monday map[string]*string `type:"map"`
17420
17421	// The schedule for Saturday.
17422	Saturday map[string]*string `type:"map"`
17423
17424	// The schedule for Sunday.
17425	Sunday map[string]*string `type:"map"`
17426
17427	// The schedule for Thursday.
17428	Thursday map[string]*string `type:"map"`
17429
17430	// The schedule for Tuesday.
17431	Tuesday map[string]*string `type:"map"`
17432
17433	// The schedule for Wednesday.
17434	Wednesday map[string]*string `type:"map"`
17435}
17436
17437// String returns the string representation
17438func (s WeeklyAutoScalingSchedule) String() string {
17439	return awsutil.Prettify(s)
17440}
17441
17442// GoString returns the string representation
17443func (s WeeklyAutoScalingSchedule) GoString() string {
17444	return s.String()
17445}
17446
17447// SetFriday sets the Friday field's value.
17448func (s *WeeklyAutoScalingSchedule) SetFriday(v map[string]*string) *WeeklyAutoScalingSchedule {
17449	s.Friday = v
17450	return s
17451}
17452
17453// SetMonday sets the Monday field's value.
17454func (s *WeeklyAutoScalingSchedule) SetMonday(v map[string]*string) *WeeklyAutoScalingSchedule {
17455	s.Monday = v
17456	return s
17457}
17458
17459// SetSaturday sets the Saturday field's value.
17460func (s *WeeklyAutoScalingSchedule) SetSaturday(v map[string]*string) *WeeklyAutoScalingSchedule {
17461	s.Saturday = v
17462	return s
17463}
17464
17465// SetSunday sets the Sunday field's value.
17466func (s *WeeklyAutoScalingSchedule) SetSunday(v map[string]*string) *WeeklyAutoScalingSchedule {
17467	s.Sunday = v
17468	return s
17469}
17470
17471// SetThursday sets the Thursday field's value.
17472func (s *WeeklyAutoScalingSchedule) SetThursday(v map[string]*string) *WeeklyAutoScalingSchedule {
17473	s.Thursday = v
17474	return s
17475}
17476
17477// SetTuesday sets the Tuesday field's value.
17478func (s *WeeklyAutoScalingSchedule) SetTuesday(v map[string]*string) *WeeklyAutoScalingSchedule {
17479	s.Tuesday = v
17480	return s
17481}
17482
17483// SetWednesday sets the Wednesday field's value.
17484func (s *WeeklyAutoScalingSchedule) SetWednesday(v map[string]*string) *WeeklyAutoScalingSchedule {
17485	s.Wednesday = v
17486	return s
17487}
17488
17489const (
17490	// AppAttributesKeysDocumentRoot is a AppAttributesKeys enum value
17491	AppAttributesKeysDocumentRoot = "DocumentRoot"
17492
17493	// AppAttributesKeysRailsEnv is a AppAttributesKeys enum value
17494	AppAttributesKeysRailsEnv = "RailsEnv"
17495
17496	// AppAttributesKeysAutoBundleOnDeploy is a AppAttributesKeys enum value
17497	AppAttributesKeysAutoBundleOnDeploy = "AutoBundleOnDeploy"
17498
17499	// AppAttributesKeysAwsFlowRubySettings is a AppAttributesKeys enum value
17500	AppAttributesKeysAwsFlowRubySettings = "AwsFlowRubySettings"
17501)
17502
17503const (
17504	// AppTypeAwsFlowRuby is a AppType enum value
17505	AppTypeAwsFlowRuby = "aws-flow-ruby"
17506
17507	// AppTypeJava is a AppType enum value
17508	AppTypeJava = "java"
17509
17510	// AppTypeRails is a AppType enum value
17511	AppTypeRails = "rails"
17512
17513	// AppTypePhp is a AppType enum value
17514	AppTypePhp = "php"
17515
17516	// AppTypeNodejs is a AppType enum value
17517	AppTypeNodejs = "nodejs"
17518
17519	// AppTypeStatic is a AppType enum value
17520	AppTypeStatic = "static"
17521
17522	// AppTypeOther is a AppType enum value
17523	AppTypeOther = "other"
17524)
17525
17526const (
17527	// ArchitectureX8664 is a Architecture enum value
17528	ArchitectureX8664 = "x86_64"
17529
17530	// ArchitectureI386 is a Architecture enum value
17531	ArchitectureI386 = "i386"
17532)
17533
17534const (
17535	// AutoScalingTypeLoad is a AutoScalingType enum value
17536	AutoScalingTypeLoad = "load"
17537
17538	// AutoScalingTypeTimer is a AutoScalingType enum value
17539	AutoScalingTypeTimer = "timer"
17540)
17541
17542// Specifies the encoding of the log file so that the file can be read correctly.
17543// The default is utf_8. Encodings supported by Python codecs.decode() can be
17544// used here.
17545const (
17546	// CloudWatchLogsEncodingAscii is a CloudWatchLogsEncoding enum value
17547	CloudWatchLogsEncodingAscii = "ascii"
17548
17549	// CloudWatchLogsEncodingBig5 is a CloudWatchLogsEncoding enum value
17550	CloudWatchLogsEncodingBig5 = "big5"
17551
17552	// CloudWatchLogsEncodingBig5hkscs is a CloudWatchLogsEncoding enum value
17553	CloudWatchLogsEncodingBig5hkscs = "big5hkscs"
17554
17555	// CloudWatchLogsEncodingCp037 is a CloudWatchLogsEncoding enum value
17556	CloudWatchLogsEncodingCp037 = "cp037"
17557
17558	// CloudWatchLogsEncodingCp424 is a CloudWatchLogsEncoding enum value
17559	CloudWatchLogsEncodingCp424 = "cp424"
17560
17561	// CloudWatchLogsEncodingCp437 is a CloudWatchLogsEncoding enum value
17562	CloudWatchLogsEncodingCp437 = "cp437"
17563
17564	// CloudWatchLogsEncodingCp500 is a CloudWatchLogsEncoding enum value
17565	CloudWatchLogsEncodingCp500 = "cp500"
17566
17567	// CloudWatchLogsEncodingCp720 is a CloudWatchLogsEncoding enum value
17568	CloudWatchLogsEncodingCp720 = "cp720"
17569
17570	// CloudWatchLogsEncodingCp737 is a CloudWatchLogsEncoding enum value
17571	CloudWatchLogsEncodingCp737 = "cp737"
17572
17573	// CloudWatchLogsEncodingCp775 is a CloudWatchLogsEncoding enum value
17574	CloudWatchLogsEncodingCp775 = "cp775"
17575
17576	// CloudWatchLogsEncodingCp850 is a CloudWatchLogsEncoding enum value
17577	CloudWatchLogsEncodingCp850 = "cp850"
17578
17579	// CloudWatchLogsEncodingCp852 is a CloudWatchLogsEncoding enum value
17580	CloudWatchLogsEncodingCp852 = "cp852"
17581
17582	// CloudWatchLogsEncodingCp855 is a CloudWatchLogsEncoding enum value
17583	CloudWatchLogsEncodingCp855 = "cp855"
17584
17585	// CloudWatchLogsEncodingCp856 is a CloudWatchLogsEncoding enum value
17586	CloudWatchLogsEncodingCp856 = "cp856"
17587
17588	// CloudWatchLogsEncodingCp857 is a CloudWatchLogsEncoding enum value
17589	CloudWatchLogsEncodingCp857 = "cp857"
17590
17591	// CloudWatchLogsEncodingCp858 is a CloudWatchLogsEncoding enum value
17592	CloudWatchLogsEncodingCp858 = "cp858"
17593
17594	// CloudWatchLogsEncodingCp860 is a CloudWatchLogsEncoding enum value
17595	CloudWatchLogsEncodingCp860 = "cp860"
17596
17597	// CloudWatchLogsEncodingCp861 is a CloudWatchLogsEncoding enum value
17598	CloudWatchLogsEncodingCp861 = "cp861"
17599
17600	// CloudWatchLogsEncodingCp862 is a CloudWatchLogsEncoding enum value
17601	CloudWatchLogsEncodingCp862 = "cp862"
17602
17603	// CloudWatchLogsEncodingCp863 is a CloudWatchLogsEncoding enum value
17604	CloudWatchLogsEncodingCp863 = "cp863"
17605
17606	// CloudWatchLogsEncodingCp864 is a CloudWatchLogsEncoding enum value
17607	CloudWatchLogsEncodingCp864 = "cp864"
17608
17609	// CloudWatchLogsEncodingCp865 is a CloudWatchLogsEncoding enum value
17610	CloudWatchLogsEncodingCp865 = "cp865"
17611
17612	// CloudWatchLogsEncodingCp866 is a CloudWatchLogsEncoding enum value
17613	CloudWatchLogsEncodingCp866 = "cp866"
17614
17615	// CloudWatchLogsEncodingCp869 is a CloudWatchLogsEncoding enum value
17616	CloudWatchLogsEncodingCp869 = "cp869"
17617
17618	// CloudWatchLogsEncodingCp874 is a CloudWatchLogsEncoding enum value
17619	CloudWatchLogsEncodingCp874 = "cp874"
17620
17621	// CloudWatchLogsEncodingCp875 is a CloudWatchLogsEncoding enum value
17622	CloudWatchLogsEncodingCp875 = "cp875"
17623
17624	// CloudWatchLogsEncodingCp932 is a CloudWatchLogsEncoding enum value
17625	CloudWatchLogsEncodingCp932 = "cp932"
17626
17627	// CloudWatchLogsEncodingCp949 is a CloudWatchLogsEncoding enum value
17628	CloudWatchLogsEncodingCp949 = "cp949"
17629
17630	// CloudWatchLogsEncodingCp950 is a CloudWatchLogsEncoding enum value
17631	CloudWatchLogsEncodingCp950 = "cp950"
17632
17633	// CloudWatchLogsEncodingCp1006 is a CloudWatchLogsEncoding enum value
17634	CloudWatchLogsEncodingCp1006 = "cp1006"
17635
17636	// CloudWatchLogsEncodingCp1026 is a CloudWatchLogsEncoding enum value
17637	CloudWatchLogsEncodingCp1026 = "cp1026"
17638
17639	// CloudWatchLogsEncodingCp1140 is a CloudWatchLogsEncoding enum value
17640	CloudWatchLogsEncodingCp1140 = "cp1140"
17641
17642	// CloudWatchLogsEncodingCp1250 is a CloudWatchLogsEncoding enum value
17643	CloudWatchLogsEncodingCp1250 = "cp1250"
17644
17645	// CloudWatchLogsEncodingCp1251 is a CloudWatchLogsEncoding enum value
17646	CloudWatchLogsEncodingCp1251 = "cp1251"
17647
17648	// CloudWatchLogsEncodingCp1252 is a CloudWatchLogsEncoding enum value
17649	CloudWatchLogsEncodingCp1252 = "cp1252"
17650
17651	// CloudWatchLogsEncodingCp1253 is a CloudWatchLogsEncoding enum value
17652	CloudWatchLogsEncodingCp1253 = "cp1253"
17653
17654	// CloudWatchLogsEncodingCp1254 is a CloudWatchLogsEncoding enum value
17655	CloudWatchLogsEncodingCp1254 = "cp1254"
17656
17657	// CloudWatchLogsEncodingCp1255 is a CloudWatchLogsEncoding enum value
17658	CloudWatchLogsEncodingCp1255 = "cp1255"
17659
17660	// CloudWatchLogsEncodingCp1256 is a CloudWatchLogsEncoding enum value
17661	CloudWatchLogsEncodingCp1256 = "cp1256"
17662
17663	// CloudWatchLogsEncodingCp1257 is a CloudWatchLogsEncoding enum value
17664	CloudWatchLogsEncodingCp1257 = "cp1257"
17665
17666	// CloudWatchLogsEncodingCp1258 is a CloudWatchLogsEncoding enum value
17667	CloudWatchLogsEncodingCp1258 = "cp1258"
17668
17669	// CloudWatchLogsEncodingEucJp is a CloudWatchLogsEncoding enum value
17670	CloudWatchLogsEncodingEucJp = "euc_jp"
17671
17672	// CloudWatchLogsEncodingEucJis2004 is a CloudWatchLogsEncoding enum value
17673	CloudWatchLogsEncodingEucJis2004 = "euc_jis_2004"
17674
17675	// CloudWatchLogsEncodingEucJisx0213 is a CloudWatchLogsEncoding enum value
17676	CloudWatchLogsEncodingEucJisx0213 = "euc_jisx0213"
17677
17678	// CloudWatchLogsEncodingEucKr is a CloudWatchLogsEncoding enum value
17679	CloudWatchLogsEncodingEucKr = "euc_kr"
17680
17681	// CloudWatchLogsEncodingGb2312 is a CloudWatchLogsEncoding enum value
17682	CloudWatchLogsEncodingGb2312 = "gb2312"
17683
17684	// CloudWatchLogsEncodingGbk is a CloudWatchLogsEncoding enum value
17685	CloudWatchLogsEncodingGbk = "gbk"
17686
17687	// CloudWatchLogsEncodingGb18030 is a CloudWatchLogsEncoding enum value
17688	CloudWatchLogsEncodingGb18030 = "gb18030"
17689
17690	// CloudWatchLogsEncodingHz is a CloudWatchLogsEncoding enum value
17691	CloudWatchLogsEncodingHz = "hz"
17692
17693	// CloudWatchLogsEncodingIso2022Jp is a CloudWatchLogsEncoding enum value
17694	CloudWatchLogsEncodingIso2022Jp = "iso2022_jp"
17695
17696	// CloudWatchLogsEncodingIso2022Jp1 is a CloudWatchLogsEncoding enum value
17697	CloudWatchLogsEncodingIso2022Jp1 = "iso2022_jp_1"
17698
17699	// CloudWatchLogsEncodingIso2022Jp2 is a CloudWatchLogsEncoding enum value
17700	CloudWatchLogsEncodingIso2022Jp2 = "iso2022_jp_2"
17701
17702	// CloudWatchLogsEncodingIso2022Jp2004 is a CloudWatchLogsEncoding enum value
17703	CloudWatchLogsEncodingIso2022Jp2004 = "iso2022_jp_2004"
17704
17705	// CloudWatchLogsEncodingIso2022Jp3 is a CloudWatchLogsEncoding enum value
17706	CloudWatchLogsEncodingIso2022Jp3 = "iso2022_jp_3"
17707
17708	// CloudWatchLogsEncodingIso2022JpExt is a CloudWatchLogsEncoding enum value
17709	CloudWatchLogsEncodingIso2022JpExt = "iso2022_jp_ext"
17710
17711	// CloudWatchLogsEncodingIso2022Kr is a CloudWatchLogsEncoding enum value
17712	CloudWatchLogsEncodingIso2022Kr = "iso2022_kr"
17713
17714	// CloudWatchLogsEncodingLatin1 is a CloudWatchLogsEncoding enum value
17715	CloudWatchLogsEncodingLatin1 = "latin_1"
17716
17717	// CloudWatchLogsEncodingIso88592 is a CloudWatchLogsEncoding enum value
17718	CloudWatchLogsEncodingIso88592 = "iso8859_2"
17719
17720	// CloudWatchLogsEncodingIso88593 is a CloudWatchLogsEncoding enum value
17721	CloudWatchLogsEncodingIso88593 = "iso8859_3"
17722
17723	// CloudWatchLogsEncodingIso88594 is a CloudWatchLogsEncoding enum value
17724	CloudWatchLogsEncodingIso88594 = "iso8859_4"
17725
17726	// CloudWatchLogsEncodingIso88595 is a CloudWatchLogsEncoding enum value
17727	CloudWatchLogsEncodingIso88595 = "iso8859_5"
17728
17729	// CloudWatchLogsEncodingIso88596 is a CloudWatchLogsEncoding enum value
17730	CloudWatchLogsEncodingIso88596 = "iso8859_6"
17731
17732	// CloudWatchLogsEncodingIso88597 is a CloudWatchLogsEncoding enum value
17733	CloudWatchLogsEncodingIso88597 = "iso8859_7"
17734
17735	// CloudWatchLogsEncodingIso88598 is a CloudWatchLogsEncoding enum value
17736	CloudWatchLogsEncodingIso88598 = "iso8859_8"
17737
17738	// CloudWatchLogsEncodingIso88599 is a CloudWatchLogsEncoding enum value
17739	CloudWatchLogsEncodingIso88599 = "iso8859_9"
17740
17741	// CloudWatchLogsEncodingIso885910 is a CloudWatchLogsEncoding enum value
17742	CloudWatchLogsEncodingIso885910 = "iso8859_10"
17743
17744	// CloudWatchLogsEncodingIso885913 is a CloudWatchLogsEncoding enum value
17745	CloudWatchLogsEncodingIso885913 = "iso8859_13"
17746
17747	// CloudWatchLogsEncodingIso885914 is a CloudWatchLogsEncoding enum value
17748	CloudWatchLogsEncodingIso885914 = "iso8859_14"
17749
17750	// CloudWatchLogsEncodingIso885915 is a CloudWatchLogsEncoding enum value
17751	CloudWatchLogsEncodingIso885915 = "iso8859_15"
17752
17753	// CloudWatchLogsEncodingIso885916 is a CloudWatchLogsEncoding enum value
17754	CloudWatchLogsEncodingIso885916 = "iso8859_16"
17755
17756	// CloudWatchLogsEncodingJohab is a CloudWatchLogsEncoding enum value
17757	CloudWatchLogsEncodingJohab = "johab"
17758
17759	// CloudWatchLogsEncodingKoi8R is a CloudWatchLogsEncoding enum value
17760	CloudWatchLogsEncodingKoi8R = "koi8_r"
17761
17762	// CloudWatchLogsEncodingKoi8U is a CloudWatchLogsEncoding enum value
17763	CloudWatchLogsEncodingKoi8U = "koi8_u"
17764
17765	// CloudWatchLogsEncodingMacCyrillic is a CloudWatchLogsEncoding enum value
17766	CloudWatchLogsEncodingMacCyrillic = "mac_cyrillic"
17767
17768	// CloudWatchLogsEncodingMacGreek is a CloudWatchLogsEncoding enum value
17769	CloudWatchLogsEncodingMacGreek = "mac_greek"
17770
17771	// CloudWatchLogsEncodingMacIceland is a CloudWatchLogsEncoding enum value
17772	CloudWatchLogsEncodingMacIceland = "mac_iceland"
17773
17774	// CloudWatchLogsEncodingMacLatin2 is a CloudWatchLogsEncoding enum value
17775	CloudWatchLogsEncodingMacLatin2 = "mac_latin2"
17776
17777	// CloudWatchLogsEncodingMacRoman is a CloudWatchLogsEncoding enum value
17778	CloudWatchLogsEncodingMacRoman = "mac_roman"
17779
17780	// CloudWatchLogsEncodingMacTurkish is a CloudWatchLogsEncoding enum value
17781	CloudWatchLogsEncodingMacTurkish = "mac_turkish"
17782
17783	// CloudWatchLogsEncodingPtcp154 is a CloudWatchLogsEncoding enum value
17784	CloudWatchLogsEncodingPtcp154 = "ptcp154"
17785
17786	// CloudWatchLogsEncodingShiftJis is a CloudWatchLogsEncoding enum value
17787	CloudWatchLogsEncodingShiftJis = "shift_jis"
17788
17789	// CloudWatchLogsEncodingShiftJis2004 is a CloudWatchLogsEncoding enum value
17790	CloudWatchLogsEncodingShiftJis2004 = "shift_jis_2004"
17791
17792	// CloudWatchLogsEncodingShiftJisx0213 is a CloudWatchLogsEncoding enum value
17793	CloudWatchLogsEncodingShiftJisx0213 = "shift_jisx0213"
17794
17795	// CloudWatchLogsEncodingUtf32 is a CloudWatchLogsEncoding enum value
17796	CloudWatchLogsEncodingUtf32 = "utf_32"
17797
17798	// CloudWatchLogsEncodingUtf32Be is a CloudWatchLogsEncoding enum value
17799	CloudWatchLogsEncodingUtf32Be = "utf_32_be"
17800
17801	// CloudWatchLogsEncodingUtf32Le is a CloudWatchLogsEncoding enum value
17802	CloudWatchLogsEncodingUtf32Le = "utf_32_le"
17803
17804	// CloudWatchLogsEncodingUtf16 is a CloudWatchLogsEncoding enum value
17805	CloudWatchLogsEncodingUtf16 = "utf_16"
17806
17807	// CloudWatchLogsEncodingUtf16Be is a CloudWatchLogsEncoding enum value
17808	CloudWatchLogsEncodingUtf16Be = "utf_16_be"
17809
17810	// CloudWatchLogsEncodingUtf16Le is a CloudWatchLogsEncoding enum value
17811	CloudWatchLogsEncodingUtf16Le = "utf_16_le"
17812
17813	// CloudWatchLogsEncodingUtf7 is a CloudWatchLogsEncoding enum value
17814	CloudWatchLogsEncodingUtf7 = "utf_7"
17815
17816	// CloudWatchLogsEncodingUtf8 is a CloudWatchLogsEncoding enum value
17817	CloudWatchLogsEncodingUtf8 = "utf_8"
17818
17819	// CloudWatchLogsEncodingUtf8Sig is a CloudWatchLogsEncoding enum value
17820	CloudWatchLogsEncodingUtf8Sig = "utf_8_sig"
17821)
17822
17823// Specifies where to start to read data (start_of_file or end_of_file). The
17824// default is start_of_file. It's only used if there is no state persisted for
17825// that log stream.
17826const (
17827	// CloudWatchLogsInitialPositionStartOfFile is a CloudWatchLogsInitialPosition enum value
17828	CloudWatchLogsInitialPositionStartOfFile = "start_of_file"
17829
17830	// CloudWatchLogsInitialPositionEndOfFile is a CloudWatchLogsInitialPosition enum value
17831	CloudWatchLogsInitialPositionEndOfFile = "end_of_file"
17832)
17833
17834// The preferred time zone for logs streamed to CloudWatch Logs. Valid values
17835// are LOCAL and UTC, for Coordinated Universal Time.
17836const (
17837	// CloudWatchLogsTimeZoneLocal is a CloudWatchLogsTimeZone enum value
17838	CloudWatchLogsTimeZoneLocal = "LOCAL"
17839
17840	// CloudWatchLogsTimeZoneUtc is a CloudWatchLogsTimeZone enum value
17841	CloudWatchLogsTimeZoneUtc = "UTC"
17842)
17843
17844const (
17845	// DeploymentCommandNameInstallDependencies is a DeploymentCommandName enum value
17846	DeploymentCommandNameInstallDependencies = "install_dependencies"
17847
17848	// DeploymentCommandNameUpdateDependencies is a DeploymentCommandName enum value
17849	DeploymentCommandNameUpdateDependencies = "update_dependencies"
17850
17851	// DeploymentCommandNameUpdateCustomCookbooks is a DeploymentCommandName enum value
17852	DeploymentCommandNameUpdateCustomCookbooks = "update_custom_cookbooks"
17853
17854	// DeploymentCommandNameExecuteRecipes is a DeploymentCommandName enum value
17855	DeploymentCommandNameExecuteRecipes = "execute_recipes"
17856
17857	// DeploymentCommandNameConfigure is a DeploymentCommandName enum value
17858	DeploymentCommandNameConfigure = "configure"
17859
17860	// DeploymentCommandNameSetup is a DeploymentCommandName enum value
17861	DeploymentCommandNameSetup = "setup"
17862
17863	// DeploymentCommandNameDeploy is a DeploymentCommandName enum value
17864	DeploymentCommandNameDeploy = "deploy"
17865
17866	// DeploymentCommandNameRollback is a DeploymentCommandName enum value
17867	DeploymentCommandNameRollback = "rollback"
17868
17869	// DeploymentCommandNameStart is a DeploymentCommandName enum value
17870	DeploymentCommandNameStart = "start"
17871
17872	// DeploymentCommandNameStop is a DeploymentCommandName enum value
17873	DeploymentCommandNameStop = "stop"
17874
17875	// DeploymentCommandNameRestart is a DeploymentCommandName enum value
17876	DeploymentCommandNameRestart = "restart"
17877
17878	// DeploymentCommandNameUndeploy is a DeploymentCommandName enum value
17879	DeploymentCommandNameUndeploy = "undeploy"
17880)
17881
17882const (
17883	// LayerAttributesKeysEcsClusterArn is a LayerAttributesKeys enum value
17884	LayerAttributesKeysEcsClusterArn = "EcsClusterArn"
17885
17886	// LayerAttributesKeysEnableHaproxyStats is a LayerAttributesKeys enum value
17887	LayerAttributesKeysEnableHaproxyStats = "EnableHaproxyStats"
17888
17889	// LayerAttributesKeysHaproxyStatsUrl is a LayerAttributesKeys enum value
17890	LayerAttributesKeysHaproxyStatsUrl = "HaproxyStatsUrl"
17891
17892	// LayerAttributesKeysHaproxyStatsUser is a LayerAttributesKeys enum value
17893	LayerAttributesKeysHaproxyStatsUser = "HaproxyStatsUser"
17894
17895	// LayerAttributesKeysHaproxyStatsPassword is a LayerAttributesKeys enum value
17896	LayerAttributesKeysHaproxyStatsPassword = "HaproxyStatsPassword"
17897
17898	// LayerAttributesKeysHaproxyHealthCheckUrl is a LayerAttributesKeys enum value
17899	LayerAttributesKeysHaproxyHealthCheckUrl = "HaproxyHealthCheckUrl"
17900
17901	// LayerAttributesKeysHaproxyHealthCheckMethod is a LayerAttributesKeys enum value
17902	LayerAttributesKeysHaproxyHealthCheckMethod = "HaproxyHealthCheckMethod"
17903
17904	// LayerAttributesKeysMysqlRootPassword is a LayerAttributesKeys enum value
17905	LayerAttributesKeysMysqlRootPassword = "MysqlRootPassword"
17906
17907	// LayerAttributesKeysMysqlRootPasswordUbiquitous is a LayerAttributesKeys enum value
17908	LayerAttributesKeysMysqlRootPasswordUbiquitous = "MysqlRootPasswordUbiquitous"
17909
17910	// LayerAttributesKeysGangliaUrl is a LayerAttributesKeys enum value
17911	LayerAttributesKeysGangliaUrl = "GangliaUrl"
17912
17913	// LayerAttributesKeysGangliaUser is a LayerAttributesKeys enum value
17914	LayerAttributesKeysGangliaUser = "GangliaUser"
17915
17916	// LayerAttributesKeysGangliaPassword is a LayerAttributesKeys enum value
17917	LayerAttributesKeysGangliaPassword = "GangliaPassword"
17918
17919	// LayerAttributesKeysMemcachedMemory is a LayerAttributesKeys enum value
17920	LayerAttributesKeysMemcachedMemory = "MemcachedMemory"
17921
17922	// LayerAttributesKeysNodejsVersion is a LayerAttributesKeys enum value
17923	LayerAttributesKeysNodejsVersion = "NodejsVersion"
17924
17925	// LayerAttributesKeysRubyVersion is a LayerAttributesKeys enum value
17926	LayerAttributesKeysRubyVersion = "RubyVersion"
17927
17928	// LayerAttributesKeysRubygemsVersion is a LayerAttributesKeys enum value
17929	LayerAttributesKeysRubygemsVersion = "RubygemsVersion"
17930
17931	// LayerAttributesKeysManageBundler is a LayerAttributesKeys enum value
17932	LayerAttributesKeysManageBundler = "ManageBundler"
17933
17934	// LayerAttributesKeysBundlerVersion is a LayerAttributesKeys enum value
17935	LayerAttributesKeysBundlerVersion = "BundlerVersion"
17936
17937	// LayerAttributesKeysRailsStack is a LayerAttributesKeys enum value
17938	LayerAttributesKeysRailsStack = "RailsStack"
17939
17940	// LayerAttributesKeysPassengerVersion is a LayerAttributesKeys enum value
17941	LayerAttributesKeysPassengerVersion = "PassengerVersion"
17942
17943	// LayerAttributesKeysJvm is a LayerAttributesKeys enum value
17944	LayerAttributesKeysJvm = "Jvm"
17945
17946	// LayerAttributesKeysJvmVersion is a LayerAttributesKeys enum value
17947	LayerAttributesKeysJvmVersion = "JvmVersion"
17948
17949	// LayerAttributesKeysJvmOptions is a LayerAttributesKeys enum value
17950	LayerAttributesKeysJvmOptions = "JvmOptions"
17951
17952	// LayerAttributesKeysJavaAppServer is a LayerAttributesKeys enum value
17953	LayerAttributesKeysJavaAppServer = "JavaAppServer"
17954
17955	// LayerAttributesKeysJavaAppServerVersion is a LayerAttributesKeys enum value
17956	LayerAttributesKeysJavaAppServerVersion = "JavaAppServerVersion"
17957)
17958
17959const (
17960	// LayerTypeAwsFlowRuby is a LayerType enum value
17961	LayerTypeAwsFlowRuby = "aws-flow-ruby"
17962
17963	// LayerTypeEcsCluster is a LayerType enum value
17964	LayerTypeEcsCluster = "ecs-cluster"
17965
17966	// LayerTypeJavaApp is a LayerType enum value
17967	LayerTypeJavaApp = "java-app"
17968
17969	// LayerTypeLb is a LayerType enum value
17970	LayerTypeLb = "lb"
17971
17972	// LayerTypeWeb is a LayerType enum value
17973	LayerTypeWeb = "web"
17974
17975	// LayerTypePhpApp is a LayerType enum value
17976	LayerTypePhpApp = "php-app"
17977
17978	// LayerTypeRailsApp is a LayerType enum value
17979	LayerTypeRailsApp = "rails-app"
17980
17981	// LayerTypeNodejsApp is a LayerType enum value
17982	LayerTypeNodejsApp = "nodejs-app"
17983
17984	// LayerTypeMemcached is a LayerType enum value
17985	LayerTypeMemcached = "memcached"
17986
17987	// LayerTypeDbMaster is a LayerType enum value
17988	LayerTypeDbMaster = "db-master"
17989
17990	// LayerTypeMonitoringMaster is a LayerType enum value
17991	LayerTypeMonitoringMaster = "monitoring-master"
17992
17993	// LayerTypeCustom is a LayerType enum value
17994	LayerTypeCustom = "custom"
17995)
17996
17997const (
17998	// RootDeviceTypeEbs is a RootDeviceType enum value
17999	RootDeviceTypeEbs = "ebs"
18000
18001	// RootDeviceTypeInstanceStore is a RootDeviceType enum value
18002	RootDeviceTypeInstanceStore = "instance-store"
18003)
18004
18005const (
18006	// SourceTypeGit is a SourceType enum value
18007	SourceTypeGit = "git"
18008
18009	// SourceTypeSvn is a SourceType enum value
18010	SourceTypeSvn = "svn"
18011
18012	// SourceTypeArchive is a SourceType enum value
18013	SourceTypeArchive = "archive"
18014
18015	// SourceTypeS3 is a SourceType enum value
18016	SourceTypeS3 = "s3"
18017)
18018
18019const (
18020	// StackAttributesKeysColor is a StackAttributesKeys enum value
18021	StackAttributesKeysColor = "Color"
18022)
18023
18024const (
18025	// VirtualizationTypeParavirtual is a VirtualizationType enum value
18026	VirtualizationTypeParavirtual = "paravirtual"
18027
18028	// VirtualizationTypeHvm is a VirtualizationType enum value
18029	VirtualizationTypeHvm = "hvm"
18030)
18031
18032const (
18033	// VolumeTypeGp2 is a VolumeType enum value
18034	VolumeTypeGp2 = "gp2"
18035
18036	// VolumeTypeIo1 is a VolumeType enum value
18037	VolumeTypeIo1 = "io1"
18038
18039	// VolumeTypeStandard is a VolumeType enum value
18040	VolumeTypeStandard = "standard"
18041)
18042