1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package codedeploy
4
5import (
6	"time"
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 opAddTagsToOnPremisesInstances = "AddTagsToOnPremisesInstances"
16
17// AddTagsToOnPremisesInstancesRequest generates a "aws/request.Request" representing the
18// client's request for the AddTagsToOnPremisesInstances operation. The "output" return
19// value will be populated with the request's response once the request complets
20// successfuly.
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 AddTagsToOnPremisesInstances for more information on using the AddTagsToOnPremisesInstances
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 AddTagsToOnPremisesInstancesRequest method.
33//    req, resp := client.AddTagsToOnPremisesInstancesRequest(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/codedeploy-2014-10-06/AddTagsToOnPremisesInstances
41func (c *CodeDeploy) AddTagsToOnPremisesInstancesRequest(input *AddTagsToOnPremisesInstancesInput) (req *request.Request, output *AddTagsToOnPremisesInstancesOutput) {
42	op := &request.Operation{
43		Name:       opAddTagsToOnPremisesInstances,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &AddTagsToOnPremisesInstancesInput{}
50	}
51
52	output = &AddTagsToOnPremisesInstancesOutput{}
53	req = c.newRequest(op, input, output)
54	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
55	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AddTagsToOnPremisesInstances API operation for AWS CodeDeploy.
60//
61// Adds tags to on-premises instances.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS CodeDeploy's
68// API operation AddTagsToOnPremisesInstances for usage and error information.
69//
70// Returned Error Codes:
71//   * ErrCodeInstanceNameRequiredException "InstanceNameRequiredException"
72//   An on-premises instance name was not specified.
73//
74//   * ErrCodeTagRequiredException "TagRequiredException"
75//   A tag was not specified.
76//
77//   * ErrCodeInvalidTagException "InvalidTagException"
78//   The specified tag was specified in an invalid format.
79//
80//   * ErrCodeTagLimitExceededException "TagLimitExceededException"
81//   The maximum allowed number of tags was exceeded.
82//
83//   * ErrCodeInstanceLimitExceededException "InstanceLimitExceededException"
84//   The maximum number of allowed on-premises instances in a single call was
85//   exceeded.
86//
87//   * ErrCodeInstanceNotRegisteredException "InstanceNotRegisteredException"
88//   The specified on-premises instance is not registered.
89//
90// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/AddTagsToOnPremisesInstances
91func (c *CodeDeploy) AddTagsToOnPremisesInstances(input *AddTagsToOnPremisesInstancesInput) (*AddTagsToOnPremisesInstancesOutput, error) {
92	req, out := c.AddTagsToOnPremisesInstancesRequest(input)
93	return out, req.Send()
94}
95
96// AddTagsToOnPremisesInstancesWithContext is the same as AddTagsToOnPremisesInstances with the addition of
97// the ability to pass a context and additional request options.
98//
99// See AddTagsToOnPremisesInstances for details on how to use this API operation.
100//
101// The context must be non-nil and will be used for request cancellation. If
102// the context is nil a panic will occur. In the future the SDK may create
103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
104// for more information on using Contexts.
105func (c *CodeDeploy) AddTagsToOnPremisesInstancesWithContext(ctx aws.Context, input *AddTagsToOnPremisesInstancesInput, opts ...request.Option) (*AddTagsToOnPremisesInstancesOutput, error) {
106	req, out := c.AddTagsToOnPremisesInstancesRequest(input)
107	req.SetContext(ctx)
108	req.ApplyOptions(opts...)
109	return out, req.Send()
110}
111
112const opBatchGetApplicationRevisions = "BatchGetApplicationRevisions"
113
114// BatchGetApplicationRevisionsRequest generates a "aws/request.Request" representing the
115// client's request for the BatchGetApplicationRevisions operation. The "output" return
116// value will be populated with the request's response once the request complets
117// successfuly.
118//
119// Use "Send" method on the returned Request to send the API call to the service.
120// the "output" return value is not valid until after Send returns without error.
121//
122// See BatchGetApplicationRevisions for more information on using the BatchGetApplicationRevisions
123// API call, and error handling.
124//
125// This method is useful when you want to inject custom logic or configuration
126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
127//
128//
129//    // Example sending a request using the BatchGetApplicationRevisionsRequest method.
130//    req, resp := client.BatchGetApplicationRevisionsRequest(params)
131//
132//    err := req.Send()
133//    if err == nil { // resp is now filled
134//        fmt.Println(resp)
135//    }
136//
137// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetApplicationRevisions
138func (c *CodeDeploy) BatchGetApplicationRevisionsRequest(input *BatchGetApplicationRevisionsInput) (req *request.Request, output *BatchGetApplicationRevisionsOutput) {
139	op := &request.Operation{
140		Name:       opBatchGetApplicationRevisions,
141		HTTPMethod: "POST",
142		HTTPPath:   "/",
143	}
144
145	if input == nil {
146		input = &BatchGetApplicationRevisionsInput{}
147	}
148
149	output = &BatchGetApplicationRevisionsOutput{}
150	req = c.newRequest(op, input, output)
151	return
152}
153
154// BatchGetApplicationRevisions API operation for AWS CodeDeploy.
155//
156// Gets information about one or more application revisions.
157//
158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
159// with awserr.Error's Code and Message methods to get detailed information about
160// the error.
161//
162// See the AWS API reference guide for AWS CodeDeploy's
163// API operation BatchGetApplicationRevisions for usage and error information.
164//
165// Returned Error Codes:
166//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
167//   The application does not exist with the applicable IAM user or AWS account.
168//
169//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
170//   The minimum number of required application names was not specified.
171//
172//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
173//   The application name was specified in an invalid format.
174//
175//   * ErrCodeRevisionRequiredException "RevisionRequiredException"
176//   The revision ID was not specified.
177//
178//   * ErrCodeInvalidRevisionException "InvalidRevisionException"
179//   The revision was specified in an invalid format.
180//
181//   * ErrCodeBatchLimitExceededException "BatchLimitExceededException"
182//   The maximum number of names or IDs allowed for this request (100) was exceeded.
183//
184// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetApplicationRevisions
185func (c *CodeDeploy) BatchGetApplicationRevisions(input *BatchGetApplicationRevisionsInput) (*BatchGetApplicationRevisionsOutput, error) {
186	req, out := c.BatchGetApplicationRevisionsRequest(input)
187	return out, req.Send()
188}
189
190// BatchGetApplicationRevisionsWithContext is the same as BatchGetApplicationRevisions with the addition of
191// the ability to pass a context and additional request options.
192//
193// See BatchGetApplicationRevisions for details on how to use this API operation.
194//
195// The context must be non-nil and will be used for request cancellation. If
196// the context is nil a panic will occur. In the future the SDK may create
197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
198// for more information on using Contexts.
199func (c *CodeDeploy) BatchGetApplicationRevisionsWithContext(ctx aws.Context, input *BatchGetApplicationRevisionsInput, opts ...request.Option) (*BatchGetApplicationRevisionsOutput, error) {
200	req, out := c.BatchGetApplicationRevisionsRequest(input)
201	req.SetContext(ctx)
202	req.ApplyOptions(opts...)
203	return out, req.Send()
204}
205
206const opBatchGetApplications = "BatchGetApplications"
207
208// BatchGetApplicationsRequest generates a "aws/request.Request" representing the
209// client's request for the BatchGetApplications operation. The "output" return
210// value will be populated with the request's response once the request complets
211// successfuly.
212//
213// Use "Send" method on the returned Request to send the API call to the service.
214// the "output" return value is not valid until after Send returns without error.
215//
216// See BatchGetApplications for more information on using the BatchGetApplications
217// API call, and error handling.
218//
219// This method is useful when you want to inject custom logic or configuration
220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
221//
222//
223//    // Example sending a request using the BatchGetApplicationsRequest method.
224//    req, resp := client.BatchGetApplicationsRequest(params)
225//
226//    err := req.Send()
227//    if err == nil { // resp is now filled
228//        fmt.Println(resp)
229//    }
230//
231// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetApplications
232func (c *CodeDeploy) BatchGetApplicationsRequest(input *BatchGetApplicationsInput) (req *request.Request, output *BatchGetApplicationsOutput) {
233	op := &request.Operation{
234		Name:       opBatchGetApplications,
235		HTTPMethod: "POST",
236		HTTPPath:   "/",
237	}
238
239	if input == nil {
240		input = &BatchGetApplicationsInput{}
241	}
242
243	output = &BatchGetApplicationsOutput{}
244	req = c.newRequest(op, input, output)
245	return
246}
247
248// BatchGetApplications API operation for AWS CodeDeploy.
249//
250// Gets information about one or more applications.
251//
252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
253// with awserr.Error's Code and Message methods to get detailed information about
254// the error.
255//
256// See the AWS API reference guide for AWS CodeDeploy's
257// API operation BatchGetApplications for usage and error information.
258//
259// Returned Error Codes:
260//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
261//   The minimum number of required application names was not specified.
262//
263//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
264//   The application name was specified in an invalid format.
265//
266//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
267//   The application does not exist with the applicable IAM user or AWS account.
268//
269//   * ErrCodeBatchLimitExceededException "BatchLimitExceededException"
270//   The maximum number of names or IDs allowed for this request (100) was exceeded.
271//
272// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetApplications
273func (c *CodeDeploy) BatchGetApplications(input *BatchGetApplicationsInput) (*BatchGetApplicationsOutput, error) {
274	req, out := c.BatchGetApplicationsRequest(input)
275	return out, req.Send()
276}
277
278// BatchGetApplicationsWithContext is the same as BatchGetApplications with the addition of
279// the ability to pass a context and additional request options.
280//
281// See BatchGetApplications for details on how to use this API operation.
282//
283// The context must be non-nil and will be used for request cancellation. If
284// the context is nil a panic will occur. In the future the SDK may create
285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
286// for more information on using Contexts.
287func (c *CodeDeploy) BatchGetApplicationsWithContext(ctx aws.Context, input *BatchGetApplicationsInput, opts ...request.Option) (*BatchGetApplicationsOutput, error) {
288	req, out := c.BatchGetApplicationsRequest(input)
289	req.SetContext(ctx)
290	req.ApplyOptions(opts...)
291	return out, req.Send()
292}
293
294const opBatchGetDeploymentGroups = "BatchGetDeploymentGroups"
295
296// BatchGetDeploymentGroupsRequest generates a "aws/request.Request" representing the
297// client's request for the BatchGetDeploymentGroups operation. The "output" return
298// value will be populated with the request's response once the request complets
299// successfuly.
300//
301// Use "Send" method on the returned Request to send the API call to the service.
302// the "output" return value is not valid until after Send returns without error.
303//
304// See BatchGetDeploymentGroups for more information on using the BatchGetDeploymentGroups
305// API call, and error handling.
306//
307// This method is useful when you want to inject custom logic or configuration
308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
309//
310//
311//    // Example sending a request using the BatchGetDeploymentGroupsRequest method.
312//    req, resp := client.BatchGetDeploymentGroupsRequest(params)
313//
314//    err := req.Send()
315//    if err == nil { // resp is now filled
316//        fmt.Println(resp)
317//    }
318//
319// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentGroups
320func (c *CodeDeploy) BatchGetDeploymentGroupsRequest(input *BatchGetDeploymentGroupsInput) (req *request.Request, output *BatchGetDeploymentGroupsOutput) {
321	op := &request.Operation{
322		Name:       opBatchGetDeploymentGroups,
323		HTTPMethod: "POST",
324		HTTPPath:   "/",
325	}
326
327	if input == nil {
328		input = &BatchGetDeploymentGroupsInput{}
329	}
330
331	output = &BatchGetDeploymentGroupsOutput{}
332	req = c.newRequest(op, input, output)
333	return
334}
335
336// BatchGetDeploymentGroups API operation for AWS CodeDeploy.
337//
338// Gets information about one or more deployment groups.
339//
340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
341// with awserr.Error's Code and Message methods to get detailed information about
342// the error.
343//
344// See the AWS API reference guide for AWS CodeDeploy's
345// API operation BatchGetDeploymentGroups for usage and error information.
346//
347// Returned Error Codes:
348//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
349//   The minimum number of required application names was not specified.
350//
351//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
352//   The application name was specified in an invalid format.
353//
354//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
355//   The application does not exist with the applicable IAM user or AWS account.
356//
357//   * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException"
358//   The deployment group name was not specified.
359//
360//   * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException"
361//   The deployment group name was specified in an invalid format.
362//
363//   * ErrCodeBatchLimitExceededException "BatchLimitExceededException"
364//   The maximum number of names or IDs allowed for this request (100) was exceeded.
365//
366// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentGroups
367func (c *CodeDeploy) BatchGetDeploymentGroups(input *BatchGetDeploymentGroupsInput) (*BatchGetDeploymentGroupsOutput, error) {
368	req, out := c.BatchGetDeploymentGroupsRequest(input)
369	return out, req.Send()
370}
371
372// BatchGetDeploymentGroupsWithContext is the same as BatchGetDeploymentGroups with the addition of
373// the ability to pass a context and additional request options.
374//
375// See BatchGetDeploymentGroups for details on how to use this API operation.
376//
377// The context must be non-nil and will be used for request cancellation. If
378// the context is nil a panic will occur. In the future the SDK may create
379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
380// for more information on using Contexts.
381func (c *CodeDeploy) BatchGetDeploymentGroupsWithContext(ctx aws.Context, input *BatchGetDeploymentGroupsInput, opts ...request.Option) (*BatchGetDeploymentGroupsOutput, error) {
382	req, out := c.BatchGetDeploymentGroupsRequest(input)
383	req.SetContext(ctx)
384	req.ApplyOptions(opts...)
385	return out, req.Send()
386}
387
388const opBatchGetDeploymentInstances = "BatchGetDeploymentInstances"
389
390// BatchGetDeploymentInstancesRequest generates a "aws/request.Request" representing the
391// client's request for the BatchGetDeploymentInstances operation. The "output" return
392// value will be populated with the request's response once the request complets
393// successfuly.
394//
395// Use "Send" method on the returned Request to send the API call to the service.
396// the "output" return value is not valid until after Send returns without error.
397//
398// See BatchGetDeploymentInstances for more information on using the BatchGetDeploymentInstances
399// API call, and error handling.
400//
401// This method is useful when you want to inject custom logic or configuration
402// into the SDK's request lifecycle. Such as custom headers, or retry logic.
403//
404//
405//    // Example sending a request using the BatchGetDeploymentInstancesRequest method.
406//    req, resp := client.BatchGetDeploymentInstancesRequest(params)
407//
408//    err := req.Send()
409//    if err == nil { // resp is now filled
410//        fmt.Println(resp)
411//    }
412//
413// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentInstances
414func (c *CodeDeploy) BatchGetDeploymentInstancesRequest(input *BatchGetDeploymentInstancesInput) (req *request.Request, output *BatchGetDeploymentInstancesOutput) {
415	op := &request.Operation{
416		Name:       opBatchGetDeploymentInstances,
417		HTTPMethod: "POST",
418		HTTPPath:   "/",
419	}
420
421	if input == nil {
422		input = &BatchGetDeploymentInstancesInput{}
423	}
424
425	output = &BatchGetDeploymentInstancesOutput{}
426	req = c.newRequest(op, input, output)
427	return
428}
429
430// BatchGetDeploymentInstances API operation for AWS CodeDeploy.
431//
432// Gets information about one or more instance that are part of a deployment
433// group.
434//
435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
436// with awserr.Error's Code and Message methods to get detailed information about
437// the error.
438//
439// See the AWS API reference guide for AWS CodeDeploy's
440// API operation BatchGetDeploymentInstances for usage and error information.
441//
442// Returned Error Codes:
443//   * ErrCodeDeploymentIdRequiredException "DeploymentIdRequiredException"
444//   At least one deployment ID must be specified.
445//
446//   * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException"
447//   The deployment does not exist with the applicable IAM user or AWS account.
448//
449//   * ErrCodeInstanceIdRequiredException "InstanceIdRequiredException"
450//   The instance ID was not specified.
451//
452//   * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException"
453//   At least one of the deployment IDs was specified in an invalid format.
454//
455//   * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException"
456//   The specified on-premises instance name was specified in an invalid format.
457//
458//   * ErrCodeBatchLimitExceededException "BatchLimitExceededException"
459//   The maximum number of names or IDs allowed for this request (100) was exceeded.
460//
461// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentInstances
462func (c *CodeDeploy) BatchGetDeploymentInstances(input *BatchGetDeploymentInstancesInput) (*BatchGetDeploymentInstancesOutput, error) {
463	req, out := c.BatchGetDeploymentInstancesRequest(input)
464	return out, req.Send()
465}
466
467// BatchGetDeploymentInstancesWithContext is the same as BatchGetDeploymentInstances with the addition of
468// the ability to pass a context and additional request options.
469//
470// See BatchGetDeploymentInstances for details on how to use this API operation.
471//
472// The context must be non-nil and will be used for request cancellation. If
473// the context is nil a panic will occur. In the future the SDK may create
474// sub-contexts for http.Requests. See https://golang.org/pkg/context/
475// for more information on using Contexts.
476func (c *CodeDeploy) BatchGetDeploymentInstancesWithContext(ctx aws.Context, input *BatchGetDeploymentInstancesInput, opts ...request.Option) (*BatchGetDeploymentInstancesOutput, error) {
477	req, out := c.BatchGetDeploymentInstancesRequest(input)
478	req.SetContext(ctx)
479	req.ApplyOptions(opts...)
480	return out, req.Send()
481}
482
483const opBatchGetDeployments = "BatchGetDeployments"
484
485// BatchGetDeploymentsRequest generates a "aws/request.Request" representing the
486// client's request for the BatchGetDeployments operation. The "output" return
487// value will be populated with the request's response once the request complets
488// successfuly.
489//
490// Use "Send" method on the returned Request to send the API call to the service.
491// the "output" return value is not valid until after Send returns without error.
492//
493// See BatchGetDeployments for more information on using the BatchGetDeployments
494// API call, and error handling.
495//
496// This method is useful when you want to inject custom logic or configuration
497// into the SDK's request lifecycle. Such as custom headers, or retry logic.
498//
499//
500//    // Example sending a request using the BatchGetDeploymentsRequest method.
501//    req, resp := client.BatchGetDeploymentsRequest(params)
502//
503//    err := req.Send()
504//    if err == nil { // resp is now filled
505//        fmt.Println(resp)
506//    }
507//
508// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeployments
509func (c *CodeDeploy) BatchGetDeploymentsRequest(input *BatchGetDeploymentsInput) (req *request.Request, output *BatchGetDeploymentsOutput) {
510	op := &request.Operation{
511		Name:       opBatchGetDeployments,
512		HTTPMethod: "POST",
513		HTTPPath:   "/",
514	}
515
516	if input == nil {
517		input = &BatchGetDeploymentsInput{}
518	}
519
520	output = &BatchGetDeploymentsOutput{}
521	req = c.newRequest(op, input, output)
522	return
523}
524
525// BatchGetDeployments API operation for AWS CodeDeploy.
526//
527// Gets information about one or more deployments.
528//
529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
530// with awserr.Error's Code and Message methods to get detailed information about
531// the error.
532//
533// See the AWS API reference guide for AWS CodeDeploy's
534// API operation BatchGetDeployments for usage and error information.
535//
536// Returned Error Codes:
537//   * ErrCodeDeploymentIdRequiredException "DeploymentIdRequiredException"
538//   At least one deployment ID must be specified.
539//
540//   * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException"
541//   At least one of the deployment IDs was specified in an invalid format.
542//
543//   * ErrCodeBatchLimitExceededException "BatchLimitExceededException"
544//   The maximum number of names or IDs allowed for this request (100) was exceeded.
545//
546// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeployments
547func (c *CodeDeploy) BatchGetDeployments(input *BatchGetDeploymentsInput) (*BatchGetDeploymentsOutput, error) {
548	req, out := c.BatchGetDeploymentsRequest(input)
549	return out, req.Send()
550}
551
552// BatchGetDeploymentsWithContext is the same as BatchGetDeployments with the addition of
553// the ability to pass a context and additional request options.
554//
555// See BatchGetDeployments for details on how to use this API operation.
556//
557// The context must be non-nil and will be used for request cancellation. If
558// the context is nil a panic will occur. In the future the SDK may create
559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
560// for more information on using Contexts.
561func (c *CodeDeploy) BatchGetDeploymentsWithContext(ctx aws.Context, input *BatchGetDeploymentsInput, opts ...request.Option) (*BatchGetDeploymentsOutput, error) {
562	req, out := c.BatchGetDeploymentsRequest(input)
563	req.SetContext(ctx)
564	req.ApplyOptions(opts...)
565	return out, req.Send()
566}
567
568const opBatchGetOnPremisesInstances = "BatchGetOnPremisesInstances"
569
570// BatchGetOnPremisesInstancesRequest generates a "aws/request.Request" representing the
571// client's request for the BatchGetOnPremisesInstances operation. The "output" return
572// value will be populated with the request's response once the request complets
573// successfuly.
574//
575// Use "Send" method on the returned Request to send the API call to the service.
576// the "output" return value is not valid until after Send returns without error.
577//
578// See BatchGetOnPremisesInstances for more information on using the BatchGetOnPremisesInstances
579// API call, and error handling.
580//
581// This method is useful when you want to inject custom logic or configuration
582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
583//
584//
585//    // Example sending a request using the BatchGetOnPremisesInstancesRequest method.
586//    req, resp := client.BatchGetOnPremisesInstancesRequest(params)
587//
588//    err := req.Send()
589//    if err == nil { // resp is now filled
590//        fmt.Println(resp)
591//    }
592//
593// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetOnPremisesInstances
594func (c *CodeDeploy) BatchGetOnPremisesInstancesRequest(input *BatchGetOnPremisesInstancesInput) (req *request.Request, output *BatchGetOnPremisesInstancesOutput) {
595	op := &request.Operation{
596		Name:       opBatchGetOnPremisesInstances,
597		HTTPMethod: "POST",
598		HTTPPath:   "/",
599	}
600
601	if input == nil {
602		input = &BatchGetOnPremisesInstancesInput{}
603	}
604
605	output = &BatchGetOnPremisesInstancesOutput{}
606	req = c.newRequest(op, input, output)
607	return
608}
609
610// BatchGetOnPremisesInstances API operation for AWS CodeDeploy.
611//
612// Gets information about one or more on-premises instances.
613//
614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
615// with awserr.Error's Code and Message methods to get detailed information about
616// the error.
617//
618// See the AWS API reference guide for AWS CodeDeploy's
619// API operation BatchGetOnPremisesInstances for usage and error information.
620//
621// Returned Error Codes:
622//   * ErrCodeInstanceNameRequiredException "InstanceNameRequiredException"
623//   An on-premises instance name was not specified.
624//
625//   * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException"
626//   The specified on-premises instance name was specified in an invalid format.
627//
628//   * ErrCodeBatchLimitExceededException "BatchLimitExceededException"
629//   The maximum number of names or IDs allowed for this request (100) was exceeded.
630//
631// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetOnPremisesInstances
632func (c *CodeDeploy) BatchGetOnPremisesInstances(input *BatchGetOnPremisesInstancesInput) (*BatchGetOnPremisesInstancesOutput, error) {
633	req, out := c.BatchGetOnPremisesInstancesRequest(input)
634	return out, req.Send()
635}
636
637// BatchGetOnPremisesInstancesWithContext is the same as BatchGetOnPremisesInstances with the addition of
638// the ability to pass a context and additional request options.
639//
640// See BatchGetOnPremisesInstances for details on how to use this API operation.
641//
642// The context must be non-nil and will be used for request cancellation. If
643// the context is nil a panic will occur. In the future the SDK may create
644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
645// for more information on using Contexts.
646func (c *CodeDeploy) BatchGetOnPremisesInstancesWithContext(ctx aws.Context, input *BatchGetOnPremisesInstancesInput, opts ...request.Option) (*BatchGetOnPremisesInstancesOutput, error) {
647	req, out := c.BatchGetOnPremisesInstancesRequest(input)
648	req.SetContext(ctx)
649	req.ApplyOptions(opts...)
650	return out, req.Send()
651}
652
653const opContinueDeployment = "ContinueDeployment"
654
655// ContinueDeploymentRequest generates a "aws/request.Request" representing the
656// client's request for the ContinueDeployment operation. The "output" return
657// value will be populated with the request's response once the request complets
658// successfuly.
659//
660// Use "Send" method on the returned Request to send the API call to the service.
661// the "output" return value is not valid until after Send returns without error.
662//
663// See ContinueDeployment for more information on using the ContinueDeployment
664// API call, and error handling.
665//
666// This method is useful when you want to inject custom logic or configuration
667// into the SDK's request lifecycle. Such as custom headers, or retry logic.
668//
669//
670//    // Example sending a request using the ContinueDeploymentRequest method.
671//    req, resp := client.ContinueDeploymentRequest(params)
672//
673//    err := req.Send()
674//    if err == nil { // resp is now filled
675//        fmt.Println(resp)
676//    }
677//
678// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ContinueDeployment
679func (c *CodeDeploy) ContinueDeploymentRequest(input *ContinueDeploymentInput) (req *request.Request, output *ContinueDeploymentOutput) {
680	op := &request.Operation{
681		Name:       opContinueDeployment,
682		HTTPMethod: "POST",
683		HTTPPath:   "/",
684	}
685
686	if input == nil {
687		input = &ContinueDeploymentInput{}
688	}
689
690	output = &ContinueDeploymentOutput{}
691	req = c.newRequest(op, input, output)
692	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
693	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
694	return
695}
696
697// ContinueDeployment API operation for AWS CodeDeploy.
698//
699// For a blue/green deployment, starts the process of rerouting traffic from
700// instances in the original environment to instances in the replacement environment
701// without waiting for a specified wait time to elapse. (Traffic rerouting,
702// which is achieved by registering instances in the replacement environment
703// with the load balancer, can start as soon as all instances have a status
704// of Ready.)
705//
706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
707// with awserr.Error's Code and Message methods to get detailed information about
708// the error.
709//
710// See the AWS API reference guide for AWS CodeDeploy's
711// API operation ContinueDeployment for usage and error information.
712//
713// Returned Error Codes:
714//   * ErrCodeDeploymentIdRequiredException "DeploymentIdRequiredException"
715//   At least one deployment ID must be specified.
716//
717//   * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException"
718//   The deployment does not exist with the applicable IAM user or AWS account.
719//
720//   * ErrCodeDeploymentAlreadyCompletedException "DeploymentAlreadyCompletedException"
721//   The deployment is already complete.
722//
723//   * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException"
724//   At least one of the deployment IDs was specified in an invalid format.
725//
726//   * ErrCodeDeploymentIsNotInReadyStateException "DeploymentIsNotInReadyStateException"
727//   The deployment does not have a status of Ready and can't continue yet.
728//
729//   * ErrCodeUnsupportedActionForDeploymentTypeException "UnsupportedActionForDeploymentTypeException"
730//   A call was submitted that is not supported for the specified deployment type.
731//
732// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ContinueDeployment
733func (c *CodeDeploy) ContinueDeployment(input *ContinueDeploymentInput) (*ContinueDeploymentOutput, error) {
734	req, out := c.ContinueDeploymentRequest(input)
735	return out, req.Send()
736}
737
738// ContinueDeploymentWithContext is the same as ContinueDeployment with the addition of
739// the ability to pass a context and additional request options.
740//
741// See ContinueDeployment for details on how to use this API operation.
742//
743// The context must be non-nil and will be used for request cancellation. If
744// the context is nil a panic will occur. In the future the SDK may create
745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
746// for more information on using Contexts.
747func (c *CodeDeploy) ContinueDeploymentWithContext(ctx aws.Context, input *ContinueDeploymentInput, opts ...request.Option) (*ContinueDeploymentOutput, error) {
748	req, out := c.ContinueDeploymentRequest(input)
749	req.SetContext(ctx)
750	req.ApplyOptions(opts...)
751	return out, req.Send()
752}
753
754const opCreateApplication = "CreateApplication"
755
756// CreateApplicationRequest generates a "aws/request.Request" representing the
757// client's request for the CreateApplication operation. The "output" return
758// value will be populated with the request's response once the request complets
759// successfuly.
760//
761// Use "Send" method on the returned Request to send the API call to the service.
762// the "output" return value is not valid until after Send returns without error.
763//
764// See CreateApplication for more information on using the CreateApplication
765// API call, and error handling.
766//
767// This method is useful when you want to inject custom logic or configuration
768// into the SDK's request lifecycle. Such as custom headers, or retry logic.
769//
770//
771//    // Example sending a request using the CreateApplicationRequest method.
772//    req, resp := client.CreateApplicationRequest(params)
773//
774//    err := req.Send()
775//    if err == nil { // resp is now filled
776//        fmt.Println(resp)
777//    }
778//
779// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateApplication
780func (c *CodeDeploy) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) {
781	op := &request.Operation{
782		Name:       opCreateApplication,
783		HTTPMethod: "POST",
784		HTTPPath:   "/",
785	}
786
787	if input == nil {
788		input = &CreateApplicationInput{}
789	}
790
791	output = &CreateApplicationOutput{}
792	req = c.newRequest(op, input, output)
793	return
794}
795
796// CreateApplication API operation for AWS CodeDeploy.
797//
798// Creates an application.
799//
800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
801// with awserr.Error's Code and Message methods to get detailed information about
802// the error.
803//
804// See the AWS API reference guide for AWS CodeDeploy's
805// API operation CreateApplication for usage and error information.
806//
807// Returned Error Codes:
808//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
809//   The minimum number of required application names was not specified.
810//
811//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
812//   The application name was specified in an invalid format.
813//
814//   * ErrCodeApplicationAlreadyExistsException "ApplicationAlreadyExistsException"
815//   An application with the specified name already exists with the applicable
816//   IAM user or AWS account.
817//
818//   * ErrCodeApplicationLimitExceededException "ApplicationLimitExceededException"
819//   More applications were attempted to be created than are allowed.
820//
821// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateApplication
822func (c *CodeDeploy) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) {
823	req, out := c.CreateApplicationRequest(input)
824	return out, req.Send()
825}
826
827// CreateApplicationWithContext is the same as CreateApplication with the addition of
828// the ability to pass a context and additional request options.
829//
830// See CreateApplication for details on how to use this API operation.
831//
832// The context must be non-nil and will be used for request cancellation. If
833// the context is nil a panic will occur. In the future the SDK may create
834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
835// for more information on using Contexts.
836func (c *CodeDeploy) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) {
837	req, out := c.CreateApplicationRequest(input)
838	req.SetContext(ctx)
839	req.ApplyOptions(opts...)
840	return out, req.Send()
841}
842
843const opCreateDeployment = "CreateDeployment"
844
845// CreateDeploymentRequest generates a "aws/request.Request" representing the
846// client's request for the CreateDeployment operation. The "output" return
847// value will be populated with the request's response once the request complets
848// successfuly.
849//
850// Use "Send" method on the returned Request to send the API call to the service.
851// the "output" return value is not valid until after Send returns without error.
852//
853// See CreateDeployment for more information on using the CreateDeployment
854// API call, and error handling.
855//
856// This method is useful when you want to inject custom logic or configuration
857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
858//
859//
860//    // Example sending a request using the CreateDeploymentRequest method.
861//    req, resp := client.CreateDeploymentRequest(params)
862//
863//    err := req.Send()
864//    if err == nil { // resp is now filled
865//        fmt.Println(resp)
866//    }
867//
868// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeployment
869func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) {
870	op := &request.Operation{
871		Name:       opCreateDeployment,
872		HTTPMethod: "POST",
873		HTTPPath:   "/",
874	}
875
876	if input == nil {
877		input = &CreateDeploymentInput{}
878	}
879
880	output = &CreateDeploymentOutput{}
881	req = c.newRequest(op, input, output)
882	return
883}
884
885// CreateDeployment API operation for AWS CodeDeploy.
886//
887// Deploys an application revision through the specified deployment group.
888//
889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
890// with awserr.Error's Code and Message methods to get detailed information about
891// the error.
892//
893// See the AWS API reference guide for AWS CodeDeploy's
894// API operation CreateDeployment for usage and error information.
895//
896// Returned Error Codes:
897//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
898//   The minimum number of required application names was not specified.
899//
900//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
901//   The application name was specified in an invalid format.
902//
903//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
904//   The application does not exist with the applicable IAM user or AWS account.
905//
906//   * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException"
907//   The deployment group name was not specified.
908//
909//   * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException"
910//   The deployment group name was specified in an invalid format.
911//
912//   * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException"
913//   The named deployment group does not exist with the applicable IAM user or
914//   AWS account.
915//
916//   * ErrCodeRevisionRequiredException "RevisionRequiredException"
917//   The revision ID was not specified.
918//
919//   * ErrCodeRevisionDoesNotExistException "RevisionDoesNotExistException"
920//   The named revision does not exist with the applicable IAM user or AWS account.
921//
922//   * ErrCodeInvalidRevisionException "InvalidRevisionException"
923//   The revision was specified in an invalid format.
924//
925//   * ErrCodeInvalidDeploymentConfigNameException "InvalidDeploymentConfigNameException"
926//   The deployment configuration name was specified in an invalid format.
927//
928//   * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException"
929//   The deployment configuration does not exist with the applicable IAM user
930//   or AWS account.
931//
932//   * ErrCodeDescriptionTooLongException "DescriptionTooLongException"
933//   The description is too long.
934//
935//   * ErrCodeDeploymentLimitExceededException "DeploymentLimitExceededException"
936//   The number of allowed deployments was exceeded.
937//
938//   * ErrCodeInvalidTargetInstancesException "InvalidTargetInstancesException"
939//   The target instance configuration is invalid. Possible causes include:
940//
941//      * Configuration data for target instances was entered for an in-place
942//      deployment.
943//
944//      * The limit of 10 tags for a tag type was exceeded.
945//
946//      * The combined length of the tag names exceeded the limit.
947//
948//      * A specified tag is not currently applied to any instances.
949//
950//   * ErrCodeInvalidAutoRollbackConfigException "InvalidAutoRollbackConfigException"
951//   The automatic rollback configuration was specified in an invalid format.
952//   For example, automatic rollback is enabled but an invalid triggering event
953//   type or no event types were listed.
954//
955//   * ErrCodeInvalidLoadBalancerInfoException "InvalidLoadBalancerInfoException"
956//   An invalid load balancer name, or no load balancer name, was specified.
957//
958//   * ErrCodeInvalidFileExistsBehaviorException "InvalidFileExistsBehaviorException"
959//   An invalid fileExistsBehavior option was specified to determine how AWS CodeDeploy
960//   handles files or directories that already exist in a deployment target location
961//   but weren't part of the previous successful deployment. Valid values include
962//   "DISALLOW", "OVERWRITE", and "RETAIN".
963//
964// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeployment
965func (c *CodeDeploy) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) {
966	req, out := c.CreateDeploymentRequest(input)
967	return out, req.Send()
968}
969
970// CreateDeploymentWithContext is the same as CreateDeployment with the addition of
971// the ability to pass a context and additional request options.
972//
973// See CreateDeployment for details on how to use this API operation.
974//
975// The context must be non-nil and will be used for request cancellation. If
976// the context is nil a panic will occur. In the future the SDK may create
977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
978// for more information on using Contexts.
979func (c *CodeDeploy) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) {
980	req, out := c.CreateDeploymentRequest(input)
981	req.SetContext(ctx)
982	req.ApplyOptions(opts...)
983	return out, req.Send()
984}
985
986const opCreateDeploymentConfig = "CreateDeploymentConfig"
987
988// CreateDeploymentConfigRequest generates a "aws/request.Request" representing the
989// client's request for the CreateDeploymentConfig operation. The "output" return
990// value will be populated with the request's response once the request complets
991// successfuly.
992//
993// Use "Send" method on the returned Request to send the API call to the service.
994// the "output" return value is not valid until after Send returns without error.
995//
996// See CreateDeploymentConfig for more information on using the CreateDeploymentConfig
997// API call, and error handling.
998//
999// This method is useful when you want to inject custom logic or configuration
1000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1001//
1002//
1003//    // Example sending a request using the CreateDeploymentConfigRequest method.
1004//    req, resp := client.CreateDeploymentConfigRequest(params)
1005//
1006//    err := req.Send()
1007//    if err == nil { // resp is now filled
1008//        fmt.Println(resp)
1009//    }
1010//
1011// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentConfig
1012func (c *CodeDeploy) CreateDeploymentConfigRequest(input *CreateDeploymentConfigInput) (req *request.Request, output *CreateDeploymentConfigOutput) {
1013	op := &request.Operation{
1014		Name:       opCreateDeploymentConfig,
1015		HTTPMethod: "POST",
1016		HTTPPath:   "/",
1017	}
1018
1019	if input == nil {
1020		input = &CreateDeploymentConfigInput{}
1021	}
1022
1023	output = &CreateDeploymentConfigOutput{}
1024	req = c.newRequest(op, input, output)
1025	return
1026}
1027
1028// CreateDeploymentConfig API operation for AWS CodeDeploy.
1029//
1030// Creates a deployment configuration.
1031//
1032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1033// with awserr.Error's Code and Message methods to get detailed information about
1034// the error.
1035//
1036// See the AWS API reference guide for AWS CodeDeploy's
1037// API operation CreateDeploymentConfig for usage and error information.
1038//
1039// Returned Error Codes:
1040//   * ErrCodeInvalidDeploymentConfigNameException "InvalidDeploymentConfigNameException"
1041//   The deployment configuration name was specified in an invalid format.
1042//
1043//   * ErrCodeDeploymentConfigNameRequiredException "DeploymentConfigNameRequiredException"
1044//   The deployment configuration name was not specified.
1045//
1046//   * ErrCodeDeploymentConfigAlreadyExistsException "DeploymentConfigAlreadyExistsException"
1047//   A deployment configuration with the specified name already exists with the
1048//   applicable IAM user or AWS account.
1049//
1050//   * ErrCodeInvalidMinimumHealthyHostValueException "InvalidMinimumHealthyHostValueException"
1051//   The minimum healthy instance value was specified in an invalid format.
1052//
1053//   * ErrCodeDeploymentConfigLimitExceededException "DeploymentConfigLimitExceededException"
1054//   The deployment configurations limit was exceeded.
1055//
1056// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentConfig
1057func (c *CodeDeploy) CreateDeploymentConfig(input *CreateDeploymentConfigInput) (*CreateDeploymentConfigOutput, error) {
1058	req, out := c.CreateDeploymentConfigRequest(input)
1059	return out, req.Send()
1060}
1061
1062// CreateDeploymentConfigWithContext is the same as CreateDeploymentConfig with the addition of
1063// the ability to pass a context and additional request options.
1064//
1065// See CreateDeploymentConfig for details on how to use this API operation.
1066//
1067// The context must be non-nil and will be used for request cancellation. If
1068// the context is nil a panic will occur. In the future the SDK may create
1069// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1070// for more information on using Contexts.
1071func (c *CodeDeploy) CreateDeploymentConfigWithContext(ctx aws.Context, input *CreateDeploymentConfigInput, opts ...request.Option) (*CreateDeploymentConfigOutput, error) {
1072	req, out := c.CreateDeploymentConfigRequest(input)
1073	req.SetContext(ctx)
1074	req.ApplyOptions(opts...)
1075	return out, req.Send()
1076}
1077
1078const opCreateDeploymentGroup = "CreateDeploymentGroup"
1079
1080// CreateDeploymentGroupRequest generates a "aws/request.Request" representing the
1081// client's request for the CreateDeploymentGroup operation. The "output" return
1082// value will be populated with the request's response once the request complets
1083// successfuly.
1084//
1085// Use "Send" method on the returned Request to send the API call to the service.
1086// the "output" return value is not valid until after Send returns without error.
1087//
1088// See CreateDeploymentGroup for more information on using the CreateDeploymentGroup
1089// API call, and error handling.
1090//
1091// This method is useful when you want to inject custom logic or configuration
1092// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1093//
1094//
1095//    // Example sending a request using the CreateDeploymentGroupRequest method.
1096//    req, resp := client.CreateDeploymentGroupRequest(params)
1097//
1098//    err := req.Send()
1099//    if err == nil { // resp is now filled
1100//        fmt.Println(resp)
1101//    }
1102//
1103// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentGroup
1104func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupInput) (req *request.Request, output *CreateDeploymentGroupOutput) {
1105	op := &request.Operation{
1106		Name:       opCreateDeploymentGroup,
1107		HTTPMethod: "POST",
1108		HTTPPath:   "/",
1109	}
1110
1111	if input == nil {
1112		input = &CreateDeploymentGroupInput{}
1113	}
1114
1115	output = &CreateDeploymentGroupOutput{}
1116	req = c.newRequest(op, input, output)
1117	return
1118}
1119
1120// CreateDeploymentGroup API operation for AWS CodeDeploy.
1121//
1122// Creates a deployment group to which application revisions will be deployed.
1123//
1124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1125// with awserr.Error's Code and Message methods to get detailed information about
1126// the error.
1127//
1128// See the AWS API reference guide for AWS CodeDeploy's
1129// API operation CreateDeploymentGroup for usage and error information.
1130//
1131// Returned Error Codes:
1132//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
1133//   The minimum number of required application names was not specified.
1134//
1135//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
1136//   The application name was specified in an invalid format.
1137//
1138//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
1139//   The application does not exist with the applicable IAM user or AWS account.
1140//
1141//   * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException"
1142//   The deployment group name was not specified.
1143//
1144//   * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException"
1145//   The deployment group name was specified in an invalid format.
1146//
1147//   * ErrCodeDeploymentGroupAlreadyExistsException "DeploymentGroupAlreadyExistsException"
1148//   A deployment group with the specified name already exists with the applicable
1149//   IAM user or AWS account.
1150//
1151//   * ErrCodeInvalidEC2TagException "InvalidEC2TagException"
1152//   The tag was specified in an invalid format.
1153//
1154//   * ErrCodeInvalidTagException "InvalidTagException"
1155//   The specified tag was specified in an invalid format.
1156//
1157//   * ErrCodeInvalidAutoScalingGroupException "InvalidAutoScalingGroupException"
1158//   The Auto Scaling group was specified in an invalid format or does not exist.
1159//
1160//   * ErrCodeInvalidDeploymentConfigNameException "InvalidDeploymentConfigNameException"
1161//   The deployment configuration name was specified in an invalid format.
1162//
1163//   * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException"
1164//   The deployment configuration does not exist with the applicable IAM user
1165//   or AWS account.
1166//
1167//   * ErrCodeRoleRequiredException "RoleRequiredException"
1168//   The role ID was not specified.
1169//
1170//   * ErrCodeInvalidRoleException "InvalidRoleException"
1171//   The service role ARN was specified in an invalid format. Or, if an Auto Scaling
1172//   group was specified, the specified service role does not grant the appropriate
1173//   permissions to Auto Scaling.
1174//
1175//   * ErrCodeDeploymentGroupLimitExceededException "DeploymentGroupLimitExceededException"
1176//   The deployment groups limit was exceeded.
1177//
1178//   * ErrCodeLifecycleHookLimitExceededException "LifecycleHookLimitExceededException"
1179//   The limit for lifecycle hooks was exceeded.
1180//
1181//   * ErrCodeInvalidTriggerConfigException "InvalidTriggerConfigException"
1182//   The trigger was specified in an invalid format.
1183//
1184//   * ErrCodeTriggerTargetsLimitExceededException "TriggerTargetsLimitExceededException"
1185//   The maximum allowed number of triggers was exceeded.
1186//
1187//   * ErrCodeInvalidAlarmConfigException "InvalidAlarmConfigException"
1188//   The format of the alarm configuration is invalid. Possible causes include:
1189//
1190//      * The alarm list is null.
1191//
1192//      * The alarm object is null.
1193//
1194//      * The alarm name is empty or null or exceeds the 255 character limit.
1195//
1196//      * Two alarms with the same name have been specified.
1197//
1198//      * The alarm configuration is enabled but the alarm list is empty.
1199//
1200//   * ErrCodeAlarmsLimitExceededException "AlarmsLimitExceededException"
1201//   The maximum number of alarms for a deployment group (10) was exceeded.
1202//
1203//   * ErrCodeInvalidAutoRollbackConfigException "InvalidAutoRollbackConfigException"
1204//   The automatic rollback configuration was specified in an invalid format.
1205//   For example, automatic rollback is enabled but an invalid triggering event
1206//   type or no event types were listed.
1207//
1208//   * ErrCodeInvalidLoadBalancerInfoException "InvalidLoadBalancerInfoException"
1209//   An invalid load balancer name, or no load balancer name, was specified.
1210//
1211//   * ErrCodeInvalidDeploymentStyleException "InvalidDeploymentStyleException"
1212//   An invalid deployment style was specified. Valid deployment types include
1213//   "IN_PLACE" and "BLUE_GREEN". Valid deployment options include "WITH_TRAFFIC_CONTROL"
1214//   and "WITHOUT_TRAFFIC_CONTROL".
1215//
1216//   * ErrCodeInvalidBlueGreenDeploymentConfigurationException "InvalidBlueGreenDeploymentConfigurationException"
1217//   The configuration for the blue/green deployment group was provided in an
1218//   invalid format. For information about deployment configuration format, see
1219//   CreateDeploymentConfig.
1220//
1221//   * ErrCodeInvalidEC2TagCombinationException "InvalidEC2TagCombinationException"
1222//   A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but
1223//   only one of these data types can be used in a single call.
1224//
1225//   * ErrCodeInvalidOnPremisesTagCombinationException "InvalidOnPremisesTagCombinationException"
1226//   A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet,
1227//   but only one of these data types can be used in a single call.
1228//
1229//   * ErrCodeTagSetListLimitExceededException "TagSetListLimitExceededException"
1230//   The number of tag groups included in the tag set list exceeded the maximum
1231//   allowed limit of 3.
1232//
1233// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentGroup
1234func (c *CodeDeploy) CreateDeploymentGroup(input *CreateDeploymentGroupInput) (*CreateDeploymentGroupOutput, error) {
1235	req, out := c.CreateDeploymentGroupRequest(input)
1236	return out, req.Send()
1237}
1238
1239// CreateDeploymentGroupWithContext is the same as CreateDeploymentGroup with the addition of
1240// the ability to pass a context and additional request options.
1241//
1242// See CreateDeploymentGroup for details on how to use this API operation.
1243//
1244// The context must be non-nil and will be used for request cancellation. If
1245// the context is nil a panic will occur. In the future the SDK may create
1246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1247// for more information on using Contexts.
1248func (c *CodeDeploy) CreateDeploymentGroupWithContext(ctx aws.Context, input *CreateDeploymentGroupInput, opts ...request.Option) (*CreateDeploymentGroupOutput, error) {
1249	req, out := c.CreateDeploymentGroupRequest(input)
1250	req.SetContext(ctx)
1251	req.ApplyOptions(opts...)
1252	return out, req.Send()
1253}
1254
1255const opDeleteApplication = "DeleteApplication"
1256
1257// DeleteApplicationRequest generates a "aws/request.Request" representing the
1258// client's request for the DeleteApplication operation. The "output" return
1259// value will be populated with the request's response once the request complets
1260// successfuly.
1261//
1262// Use "Send" method on the returned Request to send the API call to the service.
1263// the "output" return value is not valid until after Send returns without error.
1264//
1265// See DeleteApplication for more information on using the DeleteApplication
1266// API call, and error handling.
1267//
1268// This method is useful when you want to inject custom logic or configuration
1269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1270//
1271//
1272//    // Example sending a request using the DeleteApplicationRequest method.
1273//    req, resp := client.DeleteApplicationRequest(params)
1274//
1275//    err := req.Send()
1276//    if err == nil { // resp is now filled
1277//        fmt.Println(resp)
1278//    }
1279//
1280// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteApplication
1281func (c *CodeDeploy) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
1282	op := &request.Operation{
1283		Name:       opDeleteApplication,
1284		HTTPMethod: "POST",
1285		HTTPPath:   "/",
1286	}
1287
1288	if input == nil {
1289		input = &DeleteApplicationInput{}
1290	}
1291
1292	output = &DeleteApplicationOutput{}
1293	req = c.newRequest(op, input, output)
1294	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1295	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1296	return
1297}
1298
1299// DeleteApplication API operation for AWS CodeDeploy.
1300//
1301// Deletes an application.
1302//
1303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1304// with awserr.Error's Code and Message methods to get detailed information about
1305// the error.
1306//
1307// See the AWS API reference guide for AWS CodeDeploy's
1308// API operation DeleteApplication for usage and error information.
1309//
1310// Returned Error Codes:
1311//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
1312//   The minimum number of required application names was not specified.
1313//
1314//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
1315//   The application name was specified in an invalid format.
1316//
1317// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteApplication
1318func (c *CodeDeploy) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
1319	req, out := c.DeleteApplicationRequest(input)
1320	return out, req.Send()
1321}
1322
1323// DeleteApplicationWithContext is the same as DeleteApplication with the addition of
1324// the ability to pass a context and additional request options.
1325//
1326// See DeleteApplication for details on how to use this API operation.
1327//
1328// The context must be non-nil and will be used for request cancellation. If
1329// the context is nil a panic will occur. In the future the SDK may create
1330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1331// for more information on using Contexts.
1332func (c *CodeDeploy) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
1333	req, out := c.DeleteApplicationRequest(input)
1334	req.SetContext(ctx)
1335	req.ApplyOptions(opts...)
1336	return out, req.Send()
1337}
1338
1339const opDeleteDeploymentConfig = "DeleteDeploymentConfig"
1340
1341// DeleteDeploymentConfigRequest generates a "aws/request.Request" representing the
1342// client's request for the DeleteDeploymentConfig operation. The "output" return
1343// value will be populated with the request's response once the request complets
1344// successfuly.
1345//
1346// Use "Send" method on the returned Request to send the API call to the service.
1347// the "output" return value is not valid until after Send returns without error.
1348//
1349// See DeleteDeploymentConfig for more information on using the DeleteDeploymentConfig
1350// API call, and error handling.
1351//
1352// This method is useful when you want to inject custom logic or configuration
1353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1354//
1355//
1356//    // Example sending a request using the DeleteDeploymentConfigRequest method.
1357//    req, resp := client.DeleteDeploymentConfigRequest(params)
1358//
1359//    err := req.Send()
1360//    if err == nil { // resp is now filled
1361//        fmt.Println(resp)
1362//    }
1363//
1364// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentConfig
1365func (c *CodeDeploy) DeleteDeploymentConfigRequest(input *DeleteDeploymentConfigInput) (req *request.Request, output *DeleteDeploymentConfigOutput) {
1366	op := &request.Operation{
1367		Name:       opDeleteDeploymentConfig,
1368		HTTPMethod: "POST",
1369		HTTPPath:   "/",
1370	}
1371
1372	if input == nil {
1373		input = &DeleteDeploymentConfigInput{}
1374	}
1375
1376	output = &DeleteDeploymentConfigOutput{}
1377	req = c.newRequest(op, input, output)
1378	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1379	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1380	return
1381}
1382
1383// DeleteDeploymentConfig API operation for AWS CodeDeploy.
1384//
1385// Deletes a deployment configuration.
1386//
1387// A deployment configuration cannot be deleted if it is currently in use. Predefined
1388// configurations cannot be deleted.
1389//
1390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1391// with awserr.Error's Code and Message methods to get detailed information about
1392// the error.
1393//
1394// See the AWS API reference guide for AWS CodeDeploy's
1395// API operation DeleteDeploymentConfig for usage and error information.
1396//
1397// Returned Error Codes:
1398//   * ErrCodeInvalidDeploymentConfigNameException "InvalidDeploymentConfigNameException"
1399//   The deployment configuration name was specified in an invalid format.
1400//
1401//   * ErrCodeDeploymentConfigNameRequiredException "DeploymentConfigNameRequiredException"
1402//   The deployment configuration name was not specified.
1403//
1404//   * ErrCodeDeploymentConfigInUseException "DeploymentConfigInUseException"
1405//   The deployment configuration is still in use.
1406//
1407//   * ErrCodeInvalidOperationException "InvalidOperationException"
1408//   An invalid operation was detected.
1409//
1410// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentConfig
1411func (c *CodeDeploy) DeleteDeploymentConfig(input *DeleteDeploymentConfigInput) (*DeleteDeploymentConfigOutput, error) {
1412	req, out := c.DeleteDeploymentConfigRequest(input)
1413	return out, req.Send()
1414}
1415
1416// DeleteDeploymentConfigWithContext is the same as DeleteDeploymentConfig with the addition of
1417// the ability to pass a context and additional request options.
1418//
1419// See DeleteDeploymentConfig for details on how to use this API operation.
1420//
1421// The context must be non-nil and will be used for request cancellation. If
1422// the context is nil a panic will occur. In the future the SDK may create
1423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1424// for more information on using Contexts.
1425func (c *CodeDeploy) DeleteDeploymentConfigWithContext(ctx aws.Context, input *DeleteDeploymentConfigInput, opts ...request.Option) (*DeleteDeploymentConfigOutput, error) {
1426	req, out := c.DeleteDeploymentConfigRequest(input)
1427	req.SetContext(ctx)
1428	req.ApplyOptions(opts...)
1429	return out, req.Send()
1430}
1431
1432const opDeleteDeploymentGroup = "DeleteDeploymentGroup"
1433
1434// DeleteDeploymentGroupRequest generates a "aws/request.Request" representing the
1435// client's request for the DeleteDeploymentGroup operation. The "output" return
1436// value will be populated with the request's response once the request complets
1437// successfuly.
1438//
1439// Use "Send" method on the returned Request to send the API call to the service.
1440// the "output" return value is not valid until after Send returns without error.
1441//
1442// See DeleteDeploymentGroup for more information on using the DeleteDeploymentGroup
1443// API call, and error handling.
1444//
1445// This method is useful when you want to inject custom logic or configuration
1446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1447//
1448//
1449//    // Example sending a request using the DeleteDeploymentGroupRequest method.
1450//    req, resp := client.DeleteDeploymentGroupRequest(params)
1451//
1452//    err := req.Send()
1453//    if err == nil { // resp is now filled
1454//        fmt.Println(resp)
1455//    }
1456//
1457// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentGroup
1458func (c *CodeDeploy) DeleteDeploymentGroupRequest(input *DeleteDeploymentGroupInput) (req *request.Request, output *DeleteDeploymentGroupOutput) {
1459	op := &request.Operation{
1460		Name:       opDeleteDeploymentGroup,
1461		HTTPMethod: "POST",
1462		HTTPPath:   "/",
1463	}
1464
1465	if input == nil {
1466		input = &DeleteDeploymentGroupInput{}
1467	}
1468
1469	output = &DeleteDeploymentGroupOutput{}
1470	req = c.newRequest(op, input, output)
1471	return
1472}
1473
1474// DeleteDeploymentGroup API operation for AWS CodeDeploy.
1475//
1476// Deletes a deployment group.
1477//
1478// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1479// with awserr.Error's Code and Message methods to get detailed information about
1480// the error.
1481//
1482// See the AWS API reference guide for AWS CodeDeploy's
1483// API operation DeleteDeploymentGroup for usage and error information.
1484//
1485// Returned Error Codes:
1486//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
1487//   The minimum number of required application names was not specified.
1488//
1489//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
1490//   The application name was specified in an invalid format.
1491//
1492//   * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException"
1493//   The deployment group name was not specified.
1494//
1495//   * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException"
1496//   The deployment group name was specified in an invalid format.
1497//
1498//   * ErrCodeInvalidRoleException "InvalidRoleException"
1499//   The service role ARN was specified in an invalid format. Or, if an Auto Scaling
1500//   group was specified, the specified service role does not grant the appropriate
1501//   permissions to Auto Scaling.
1502//
1503// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentGroup
1504func (c *CodeDeploy) DeleteDeploymentGroup(input *DeleteDeploymentGroupInput) (*DeleteDeploymentGroupOutput, error) {
1505	req, out := c.DeleteDeploymentGroupRequest(input)
1506	return out, req.Send()
1507}
1508
1509// DeleteDeploymentGroupWithContext is the same as DeleteDeploymentGroup with the addition of
1510// the ability to pass a context and additional request options.
1511//
1512// See DeleteDeploymentGroup for details on how to use this API operation.
1513//
1514// The context must be non-nil and will be used for request cancellation. If
1515// the context is nil a panic will occur. In the future the SDK may create
1516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1517// for more information on using Contexts.
1518func (c *CodeDeploy) DeleteDeploymentGroupWithContext(ctx aws.Context, input *DeleteDeploymentGroupInput, opts ...request.Option) (*DeleteDeploymentGroupOutput, error) {
1519	req, out := c.DeleteDeploymentGroupRequest(input)
1520	req.SetContext(ctx)
1521	req.ApplyOptions(opts...)
1522	return out, req.Send()
1523}
1524
1525const opDeregisterOnPremisesInstance = "DeregisterOnPremisesInstance"
1526
1527// DeregisterOnPremisesInstanceRequest generates a "aws/request.Request" representing the
1528// client's request for the DeregisterOnPremisesInstance operation. The "output" return
1529// value will be populated with the request's response once the request complets
1530// successfuly.
1531//
1532// Use "Send" method on the returned Request to send the API call to the service.
1533// the "output" return value is not valid until after Send returns without error.
1534//
1535// See DeregisterOnPremisesInstance for more information on using the DeregisterOnPremisesInstance
1536// API call, and error handling.
1537//
1538// This method is useful when you want to inject custom logic or configuration
1539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1540//
1541//
1542//    // Example sending a request using the DeregisterOnPremisesInstanceRequest method.
1543//    req, resp := client.DeregisterOnPremisesInstanceRequest(params)
1544//
1545//    err := req.Send()
1546//    if err == nil { // resp is now filled
1547//        fmt.Println(resp)
1548//    }
1549//
1550// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeregisterOnPremisesInstance
1551func (c *CodeDeploy) DeregisterOnPremisesInstanceRequest(input *DeregisterOnPremisesInstanceInput) (req *request.Request, output *DeregisterOnPremisesInstanceOutput) {
1552	op := &request.Operation{
1553		Name:       opDeregisterOnPremisesInstance,
1554		HTTPMethod: "POST",
1555		HTTPPath:   "/",
1556	}
1557
1558	if input == nil {
1559		input = &DeregisterOnPremisesInstanceInput{}
1560	}
1561
1562	output = &DeregisterOnPremisesInstanceOutput{}
1563	req = c.newRequest(op, input, output)
1564	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1565	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1566	return
1567}
1568
1569// DeregisterOnPremisesInstance API operation for AWS CodeDeploy.
1570//
1571// Deregisters an on-premises instance.
1572//
1573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1574// with awserr.Error's Code and Message methods to get detailed information about
1575// the error.
1576//
1577// See the AWS API reference guide for AWS CodeDeploy's
1578// API operation DeregisterOnPremisesInstance for usage and error information.
1579//
1580// Returned Error Codes:
1581//   * ErrCodeInstanceNameRequiredException "InstanceNameRequiredException"
1582//   An on-premises instance name was not specified.
1583//
1584//   * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException"
1585//   The specified on-premises instance name was specified in an invalid format.
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeregisterOnPremisesInstance
1588func (c *CodeDeploy) DeregisterOnPremisesInstance(input *DeregisterOnPremisesInstanceInput) (*DeregisterOnPremisesInstanceOutput, error) {
1589	req, out := c.DeregisterOnPremisesInstanceRequest(input)
1590	return out, req.Send()
1591}
1592
1593// DeregisterOnPremisesInstanceWithContext is the same as DeregisterOnPremisesInstance with the addition of
1594// the ability to pass a context and additional request options.
1595//
1596// See DeregisterOnPremisesInstance for details on how to use this API operation.
1597//
1598// The context must be non-nil and will be used for request cancellation. If
1599// the context is nil a panic will occur. In the future the SDK may create
1600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1601// for more information on using Contexts.
1602func (c *CodeDeploy) DeregisterOnPremisesInstanceWithContext(ctx aws.Context, input *DeregisterOnPremisesInstanceInput, opts ...request.Option) (*DeregisterOnPremisesInstanceOutput, error) {
1603	req, out := c.DeregisterOnPremisesInstanceRequest(input)
1604	req.SetContext(ctx)
1605	req.ApplyOptions(opts...)
1606	return out, req.Send()
1607}
1608
1609const opGetApplication = "GetApplication"
1610
1611// GetApplicationRequest generates a "aws/request.Request" representing the
1612// client's request for the GetApplication operation. The "output" return
1613// value will be populated with the request's response once the request complets
1614// successfuly.
1615//
1616// Use "Send" method on the returned Request to send the API call to the service.
1617// the "output" return value is not valid until after Send returns without error.
1618//
1619// See GetApplication for more information on using the GetApplication
1620// API call, and error handling.
1621//
1622// This method is useful when you want to inject custom logic or configuration
1623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1624//
1625//
1626//    // Example sending a request using the GetApplicationRequest method.
1627//    req, resp := client.GetApplicationRequest(params)
1628//
1629//    err := req.Send()
1630//    if err == nil { // resp is now filled
1631//        fmt.Println(resp)
1632//    }
1633//
1634// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplication
1635func (c *CodeDeploy) GetApplicationRequest(input *GetApplicationInput) (req *request.Request, output *GetApplicationOutput) {
1636	op := &request.Operation{
1637		Name:       opGetApplication,
1638		HTTPMethod: "POST",
1639		HTTPPath:   "/",
1640	}
1641
1642	if input == nil {
1643		input = &GetApplicationInput{}
1644	}
1645
1646	output = &GetApplicationOutput{}
1647	req = c.newRequest(op, input, output)
1648	return
1649}
1650
1651// GetApplication API operation for AWS CodeDeploy.
1652//
1653// Gets information about an application.
1654//
1655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1656// with awserr.Error's Code and Message methods to get detailed information about
1657// the error.
1658//
1659// See the AWS API reference guide for AWS CodeDeploy's
1660// API operation GetApplication for usage and error information.
1661//
1662// Returned Error Codes:
1663//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
1664//   The minimum number of required application names was not specified.
1665//
1666//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
1667//   The application name was specified in an invalid format.
1668//
1669//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
1670//   The application does not exist with the applicable IAM user or AWS account.
1671//
1672// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplication
1673func (c *CodeDeploy) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) {
1674	req, out := c.GetApplicationRequest(input)
1675	return out, req.Send()
1676}
1677
1678// GetApplicationWithContext is the same as GetApplication with the addition of
1679// the ability to pass a context and additional request options.
1680//
1681// See GetApplication for details on how to use this API operation.
1682//
1683// The context must be non-nil and will be used for request cancellation. If
1684// the context is nil a panic will occur. In the future the SDK may create
1685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1686// for more information on using Contexts.
1687func (c *CodeDeploy) GetApplicationWithContext(ctx aws.Context, input *GetApplicationInput, opts ...request.Option) (*GetApplicationOutput, error) {
1688	req, out := c.GetApplicationRequest(input)
1689	req.SetContext(ctx)
1690	req.ApplyOptions(opts...)
1691	return out, req.Send()
1692}
1693
1694const opGetApplicationRevision = "GetApplicationRevision"
1695
1696// GetApplicationRevisionRequest generates a "aws/request.Request" representing the
1697// client's request for the GetApplicationRevision operation. The "output" return
1698// value will be populated with the request's response once the request complets
1699// successfuly.
1700//
1701// Use "Send" method on the returned Request to send the API call to the service.
1702// the "output" return value is not valid until after Send returns without error.
1703//
1704// See GetApplicationRevision for more information on using the GetApplicationRevision
1705// API call, and error handling.
1706//
1707// This method is useful when you want to inject custom logic or configuration
1708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1709//
1710//
1711//    // Example sending a request using the GetApplicationRevisionRequest method.
1712//    req, resp := client.GetApplicationRevisionRequest(params)
1713//
1714//    err := req.Send()
1715//    if err == nil { // resp is now filled
1716//        fmt.Println(resp)
1717//    }
1718//
1719// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplicationRevision
1720func (c *CodeDeploy) GetApplicationRevisionRequest(input *GetApplicationRevisionInput) (req *request.Request, output *GetApplicationRevisionOutput) {
1721	op := &request.Operation{
1722		Name:       opGetApplicationRevision,
1723		HTTPMethod: "POST",
1724		HTTPPath:   "/",
1725	}
1726
1727	if input == nil {
1728		input = &GetApplicationRevisionInput{}
1729	}
1730
1731	output = &GetApplicationRevisionOutput{}
1732	req = c.newRequest(op, input, output)
1733	return
1734}
1735
1736// GetApplicationRevision API operation for AWS CodeDeploy.
1737//
1738// Gets information about an application revision.
1739//
1740// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1741// with awserr.Error's Code and Message methods to get detailed information about
1742// the error.
1743//
1744// See the AWS API reference guide for AWS CodeDeploy's
1745// API operation GetApplicationRevision for usage and error information.
1746//
1747// Returned Error Codes:
1748//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
1749//   The application does not exist with the applicable IAM user or AWS account.
1750//
1751//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
1752//   The minimum number of required application names was not specified.
1753//
1754//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
1755//   The application name was specified in an invalid format.
1756//
1757//   * ErrCodeRevisionDoesNotExistException "RevisionDoesNotExistException"
1758//   The named revision does not exist with the applicable IAM user or AWS account.
1759//
1760//   * ErrCodeRevisionRequiredException "RevisionRequiredException"
1761//   The revision ID was not specified.
1762//
1763//   * ErrCodeInvalidRevisionException "InvalidRevisionException"
1764//   The revision was specified in an invalid format.
1765//
1766// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplicationRevision
1767func (c *CodeDeploy) GetApplicationRevision(input *GetApplicationRevisionInput) (*GetApplicationRevisionOutput, error) {
1768	req, out := c.GetApplicationRevisionRequest(input)
1769	return out, req.Send()
1770}
1771
1772// GetApplicationRevisionWithContext is the same as GetApplicationRevision with the addition of
1773// the ability to pass a context and additional request options.
1774//
1775// See GetApplicationRevision for details on how to use this API operation.
1776//
1777// The context must be non-nil and will be used for request cancellation. If
1778// the context is nil a panic will occur. In the future the SDK may create
1779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1780// for more information on using Contexts.
1781func (c *CodeDeploy) GetApplicationRevisionWithContext(ctx aws.Context, input *GetApplicationRevisionInput, opts ...request.Option) (*GetApplicationRevisionOutput, error) {
1782	req, out := c.GetApplicationRevisionRequest(input)
1783	req.SetContext(ctx)
1784	req.ApplyOptions(opts...)
1785	return out, req.Send()
1786}
1787
1788const opGetDeployment = "GetDeployment"
1789
1790// GetDeploymentRequest generates a "aws/request.Request" representing the
1791// client's request for the GetDeployment operation. The "output" return
1792// value will be populated with the request's response once the request complets
1793// successfuly.
1794//
1795// Use "Send" method on the returned Request to send the API call to the service.
1796// the "output" return value is not valid until after Send returns without error.
1797//
1798// See GetDeployment for more information on using the GetDeployment
1799// API call, and error handling.
1800//
1801// This method is useful when you want to inject custom logic or configuration
1802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1803//
1804//
1805//    // Example sending a request using the GetDeploymentRequest method.
1806//    req, resp := client.GetDeploymentRequest(params)
1807//
1808//    err := req.Send()
1809//    if err == nil { // resp is now filled
1810//        fmt.Println(resp)
1811//    }
1812//
1813// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeployment
1814func (c *CodeDeploy) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) {
1815	op := &request.Operation{
1816		Name:       opGetDeployment,
1817		HTTPMethod: "POST",
1818		HTTPPath:   "/",
1819	}
1820
1821	if input == nil {
1822		input = &GetDeploymentInput{}
1823	}
1824
1825	output = &GetDeploymentOutput{}
1826	req = c.newRequest(op, input, output)
1827	return
1828}
1829
1830// GetDeployment API operation for AWS CodeDeploy.
1831//
1832// Gets information about a deployment.
1833//
1834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1835// with awserr.Error's Code and Message methods to get detailed information about
1836// the error.
1837//
1838// See the AWS API reference guide for AWS CodeDeploy's
1839// API operation GetDeployment for usage and error information.
1840//
1841// Returned Error Codes:
1842//   * ErrCodeDeploymentIdRequiredException "DeploymentIdRequiredException"
1843//   At least one deployment ID must be specified.
1844//
1845//   * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException"
1846//   At least one of the deployment IDs was specified in an invalid format.
1847//
1848//   * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException"
1849//   The deployment does not exist with the applicable IAM user or AWS account.
1850//
1851// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeployment
1852func (c *CodeDeploy) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) {
1853	req, out := c.GetDeploymentRequest(input)
1854	return out, req.Send()
1855}
1856
1857// GetDeploymentWithContext is the same as GetDeployment with the addition of
1858// the ability to pass a context and additional request options.
1859//
1860// See GetDeployment for details on how to use this API operation.
1861//
1862// The context must be non-nil and will be used for request cancellation. If
1863// the context is nil a panic will occur. In the future the SDK may create
1864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1865// for more information on using Contexts.
1866func (c *CodeDeploy) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) {
1867	req, out := c.GetDeploymentRequest(input)
1868	req.SetContext(ctx)
1869	req.ApplyOptions(opts...)
1870	return out, req.Send()
1871}
1872
1873const opGetDeploymentConfig = "GetDeploymentConfig"
1874
1875// GetDeploymentConfigRequest generates a "aws/request.Request" representing the
1876// client's request for the GetDeploymentConfig operation. The "output" return
1877// value will be populated with the request's response once the request complets
1878// successfuly.
1879//
1880// Use "Send" method on the returned Request to send the API call to the service.
1881// the "output" return value is not valid until after Send returns without error.
1882//
1883// See GetDeploymentConfig for more information on using the GetDeploymentConfig
1884// API call, and error handling.
1885//
1886// This method is useful when you want to inject custom logic or configuration
1887// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1888//
1889//
1890//    // Example sending a request using the GetDeploymentConfigRequest method.
1891//    req, resp := client.GetDeploymentConfigRequest(params)
1892//
1893//    err := req.Send()
1894//    if err == nil { // resp is now filled
1895//        fmt.Println(resp)
1896//    }
1897//
1898// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentConfig
1899func (c *CodeDeploy) GetDeploymentConfigRequest(input *GetDeploymentConfigInput) (req *request.Request, output *GetDeploymentConfigOutput) {
1900	op := &request.Operation{
1901		Name:       opGetDeploymentConfig,
1902		HTTPMethod: "POST",
1903		HTTPPath:   "/",
1904	}
1905
1906	if input == nil {
1907		input = &GetDeploymentConfigInput{}
1908	}
1909
1910	output = &GetDeploymentConfigOutput{}
1911	req = c.newRequest(op, input, output)
1912	return
1913}
1914
1915// GetDeploymentConfig API operation for AWS CodeDeploy.
1916//
1917// Gets information about a deployment configuration.
1918//
1919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1920// with awserr.Error's Code and Message methods to get detailed information about
1921// the error.
1922//
1923// See the AWS API reference guide for AWS CodeDeploy's
1924// API operation GetDeploymentConfig for usage and error information.
1925//
1926// Returned Error Codes:
1927//   * ErrCodeInvalidDeploymentConfigNameException "InvalidDeploymentConfigNameException"
1928//   The deployment configuration name was specified in an invalid format.
1929//
1930//   * ErrCodeDeploymentConfigNameRequiredException "DeploymentConfigNameRequiredException"
1931//   The deployment configuration name was not specified.
1932//
1933//   * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException"
1934//   The deployment configuration does not exist with the applicable IAM user
1935//   or AWS account.
1936//
1937// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentConfig
1938func (c *CodeDeploy) GetDeploymentConfig(input *GetDeploymentConfigInput) (*GetDeploymentConfigOutput, error) {
1939	req, out := c.GetDeploymentConfigRequest(input)
1940	return out, req.Send()
1941}
1942
1943// GetDeploymentConfigWithContext is the same as GetDeploymentConfig with the addition of
1944// the ability to pass a context and additional request options.
1945//
1946// See GetDeploymentConfig for details on how to use this API operation.
1947//
1948// The context must be non-nil and will be used for request cancellation. If
1949// the context is nil a panic will occur. In the future the SDK may create
1950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1951// for more information on using Contexts.
1952func (c *CodeDeploy) GetDeploymentConfigWithContext(ctx aws.Context, input *GetDeploymentConfigInput, opts ...request.Option) (*GetDeploymentConfigOutput, error) {
1953	req, out := c.GetDeploymentConfigRequest(input)
1954	req.SetContext(ctx)
1955	req.ApplyOptions(opts...)
1956	return out, req.Send()
1957}
1958
1959const opGetDeploymentGroup = "GetDeploymentGroup"
1960
1961// GetDeploymentGroupRequest generates a "aws/request.Request" representing the
1962// client's request for the GetDeploymentGroup operation. The "output" return
1963// value will be populated with the request's response once the request complets
1964// successfuly.
1965//
1966// Use "Send" method on the returned Request to send the API call to the service.
1967// the "output" return value is not valid until after Send returns without error.
1968//
1969// See GetDeploymentGroup for more information on using the GetDeploymentGroup
1970// API call, and error handling.
1971//
1972// This method is useful when you want to inject custom logic or configuration
1973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1974//
1975//
1976//    // Example sending a request using the GetDeploymentGroupRequest method.
1977//    req, resp := client.GetDeploymentGroupRequest(params)
1978//
1979//    err := req.Send()
1980//    if err == nil { // resp is now filled
1981//        fmt.Println(resp)
1982//    }
1983//
1984// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentGroup
1985func (c *CodeDeploy) GetDeploymentGroupRequest(input *GetDeploymentGroupInput) (req *request.Request, output *GetDeploymentGroupOutput) {
1986	op := &request.Operation{
1987		Name:       opGetDeploymentGroup,
1988		HTTPMethod: "POST",
1989		HTTPPath:   "/",
1990	}
1991
1992	if input == nil {
1993		input = &GetDeploymentGroupInput{}
1994	}
1995
1996	output = &GetDeploymentGroupOutput{}
1997	req = c.newRequest(op, input, output)
1998	return
1999}
2000
2001// GetDeploymentGroup API operation for AWS CodeDeploy.
2002//
2003// Gets information about a deployment group.
2004//
2005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2006// with awserr.Error's Code and Message methods to get detailed information about
2007// the error.
2008//
2009// See the AWS API reference guide for AWS CodeDeploy's
2010// API operation GetDeploymentGroup for usage and error information.
2011//
2012// Returned Error Codes:
2013//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
2014//   The minimum number of required application names was not specified.
2015//
2016//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
2017//   The application name was specified in an invalid format.
2018//
2019//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
2020//   The application does not exist with the applicable IAM user or AWS account.
2021//
2022//   * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException"
2023//   The deployment group name was not specified.
2024//
2025//   * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException"
2026//   The deployment group name was specified in an invalid format.
2027//
2028//   * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException"
2029//   The named deployment group does not exist with the applicable IAM user or
2030//   AWS account.
2031//
2032// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentGroup
2033func (c *CodeDeploy) GetDeploymentGroup(input *GetDeploymentGroupInput) (*GetDeploymentGroupOutput, error) {
2034	req, out := c.GetDeploymentGroupRequest(input)
2035	return out, req.Send()
2036}
2037
2038// GetDeploymentGroupWithContext is the same as GetDeploymentGroup with the addition of
2039// the ability to pass a context and additional request options.
2040//
2041// See GetDeploymentGroup for details on how to use this API operation.
2042//
2043// The context must be non-nil and will be used for request cancellation. If
2044// the context is nil a panic will occur. In the future the SDK may create
2045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2046// for more information on using Contexts.
2047func (c *CodeDeploy) GetDeploymentGroupWithContext(ctx aws.Context, input *GetDeploymentGroupInput, opts ...request.Option) (*GetDeploymentGroupOutput, error) {
2048	req, out := c.GetDeploymentGroupRequest(input)
2049	req.SetContext(ctx)
2050	req.ApplyOptions(opts...)
2051	return out, req.Send()
2052}
2053
2054const opGetDeploymentInstance = "GetDeploymentInstance"
2055
2056// GetDeploymentInstanceRequest generates a "aws/request.Request" representing the
2057// client's request for the GetDeploymentInstance operation. The "output" return
2058// value will be populated with the request's response once the request complets
2059// successfuly.
2060//
2061// Use "Send" method on the returned Request to send the API call to the service.
2062// the "output" return value is not valid until after Send returns without error.
2063//
2064// See GetDeploymentInstance for more information on using the GetDeploymentInstance
2065// API call, and error handling.
2066//
2067// This method is useful when you want to inject custom logic or configuration
2068// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2069//
2070//
2071//    // Example sending a request using the GetDeploymentInstanceRequest method.
2072//    req, resp := client.GetDeploymentInstanceRequest(params)
2073//
2074//    err := req.Send()
2075//    if err == nil { // resp is now filled
2076//        fmt.Println(resp)
2077//    }
2078//
2079// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentInstance
2080func (c *CodeDeploy) GetDeploymentInstanceRequest(input *GetDeploymentInstanceInput) (req *request.Request, output *GetDeploymentInstanceOutput) {
2081	op := &request.Operation{
2082		Name:       opGetDeploymentInstance,
2083		HTTPMethod: "POST",
2084		HTTPPath:   "/",
2085	}
2086
2087	if input == nil {
2088		input = &GetDeploymentInstanceInput{}
2089	}
2090
2091	output = &GetDeploymentInstanceOutput{}
2092	req = c.newRequest(op, input, output)
2093	return
2094}
2095
2096// GetDeploymentInstance API operation for AWS CodeDeploy.
2097//
2098// Gets information about an instance as part of a deployment.
2099//
2100// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2101// with awserr.Error's Code and Message methods to get detailed information about
2102// the error.
2103//
2104// See the AWS API reference guide for AWS CodeDeploy's
2105// API operation GetDeploymentInstance for usage and error information.
2106//
2107// Returned Error Codes:
2108//   * ErrCodeDeploymentIdRequiredException "DeploymentIdRequiredException"
2109//   At least one deployment ID must be specified.
2110//
2111//   * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException"
2112//   The deployment does not exist with the applicable IAM user or AWS account.
2113//
2114//   * ErrCodeInstanceIdRequiredException "InstanceIdRequiredException"
2115//   The instance ID was not specified.
2116//
2117//   * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException"
2118//   At least one of the deployment IDs was specified in an invalid format.
2119//
2120//   * ErrCodeInstanceDoesNotExistException "InstanceDoesNotExistException"
2121//   The specified instance does not exist in the deployment group.
2122//
2123//   * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException"
2124//   The specified on-premises instance name was specified in an invalid format.
2125//
2126// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentInstance
2127func (c *CodeDeploy) GetDeploymentInstance(input *GetDeploymentInstanceInput) (*GetDeploymentInstanceOutput, error) {
2128	req, out := c.GetDeploymentInstanceRequest(input)
2129	return out, req.Send()
2130}
2131
2132// GetDeploymentInstanceWithContext is the same as GetDeploymentInstance with the addition of
2133// the ability to pass a context and additional request options.
2134//
2135// See GetDeploymentInstance for details on how to use this API operation.
2136//
2137// The context must be non-nil and will be used for request cancellation. If
2138// the context is nil a panic will occur. In the future the SDK may create
2139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2140// for more information on using Contexts.
2141func (c *CodeDeploy) GetDeploymentInstanceWithContext(ctx aws.Context, input *GetDeploymentInstanceInput, opts ...request.Option) (*GetDeploymentInstanceOutput, error) {
2142	req, out := c.GetDeploymentInstanceRequest(input)
2143	req.SetContext(ctx)
2144	req.ApplyOptions(opts...)
2145	return out, req.Send()
2146}
2147
2148const opGetOnPremisesInstance = "GetOnPremisesInstance"
2149
2150// GetOnPremisesInstanceRequest generates a "aws/request.Request" representing the
2151// client's request for the GetOnPremisesInstance operation. The "output" return
2152// value will be populated with the request's response once the request complets
2153// successfuly.
2154//
2155// Use "Send" method on the returned Request to send the API call to the service.
2156// the "output" return value is not valid until after Send returns without error.
2157//
2158// See GetOnPremisesInstance for more information on using the GetOnPremisesInstance
2159// API call, and error handling.
2160//
2161// This method is useful when you want to inject custom logic or configuration
2162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2163//
2164//
2165//    // Example sending a request using the GetOnPremisesInstanceRequest method.
2166//    req, resp := client.GetOnPremisesInstanceRequest(params)
2167//
2168//    err := req.Send()
2169//    if err == nil { // resp is now filled
2170//        fmt.Println(resp)
2171//    }
2172//
2173// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetOnPremisesInstance
2174func (c *CodeDeploy) GetOnPremisesInstanceRequest(input *GetOnPremisesInstanceInput) (req *request.Request, output *GetOnPremisesInstanceOutput) {
2175	op := &request.Operation{
2176		Name:       opGetOnPremisesInstance,
2177		HTTPMethod: "POST",
2178		HTTPPath:   "/",
2179	}
2180
2181	if input == nil {
2182		input = &GetOnPremisesInstanceInput{}
2183	}
2184
2185	output = &GetOnPremisesInstanceOutput{}
2186	req = c.newRequest(op, input, output)
2187	return
2188}
2189
2190// GetOnPremisesInstance API operation for AWS CodeDeploy.
2191//
2192// Gets information about an on-premises instance.
2193//
2194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2195// with awserr.Error's Code and Message methods to get detailed information about
2196// the error.
2197//
2198// See the AWS API reference guide for AWS CodeDeploy's
2199// API operation GetOnPremisesInstance for usage and error information.
2200//
2201// Returned Error Codes:
2202//   * ErrCodeInstanceNameRequiredException "InstanceNameRequiredException"
2203//   An on-premises instance name was not specified.
2204//
2205//   * ErrCodeInstanceNotRegisteredException "InstanceNotRegisteredException"
2206//   The specified on-premises instance is not registered.
2207//
2208//   * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException"
2209//   The specified on-premises instance name was specified in an invalid format.
2210//
2211// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetOnPremisesInstance
2212func (c *CodeDeploy) GetOnPremisesInstance(input *GetOnPremisesInstanceInput) (*GetOnPremisesInstanceOutput, error) {
2213	req, out := c.GetOnPremisesInstanceRequest(input)
2214	return out, req.Send()
2215}
2216
2217// GetOnPremisesInstanceWithContext is the same as GetOnPremisesInstance with the addition of
2218// the ability to pass a context and additional request options.
2219//
2220// See GetOnPremisesInstance for details on how to use this API operation.
2221//
2222// The context must be non-nil and will be used for request cancellation. If
2223// the context is nil a panic will occur. In the future the SDK may create
2224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2225// for more information on using Contexts.
2226func (c *CodeDeploy) GetOnPremisesInstanceWithContext(ctx aws.Context, input *GetOnPremisesInstanceInput, opts ...request.Option) (*GetOnPremisesInstanceOutput, error) {
2227	req, out := c.GetOnPremisesInstanceRequest(input)
2228	req.SetContext(ctx)
2229	req.ApplyOptions(opts...)
2230	return out, req.Send()
2231}
2232
2233const opListApplicationRevisions = "ListApplicationRevisions"
2234
2235// ListApplicationRevisionsRequest generates a "aws/request.Request" representing the
2236// client's request for the ListApplicationRevisions operation. The "output" return
2237// value will be populated with the request's response once the request complets
2238// successfuly.
2239//
2240// Use "Send" method on the returned Request to send the API call to the service.
2241// the "output" return value is not valid until after Send returns without error.
2242//
2243// See ListApplicationRevisions for more information on using the ListApplicationRevisions
2244// API call, and error handling.
2245//
2246// This method is useful when you want to inject custom logic or configuration
2247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2248//
2249//
2250//    // Example sending a request using the ListApplicationRevisionsRequest method.
2251//    req, resp := client.ListApplicationRevisionsRequest(params)
2252//
2253//    err := req.Send()
2254//    if err == nil { // resp is now filled
2255//        fmt.Println(resp)
2256//    }
2257//
2258// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListApplicationRevisions
2259func (c *CodeDeploy) ListApplicationRevisionsRequest(input *ListApplicationRevisionsInput) (req *request.Request, output *ListApplicationRevisionsOutput) {
2260	op := &request.Operation{
2261		Name:       opListApplicationRevisions,
2262		HTTPMethod: "POST",
2263		HTTPPath:   "/",
2264		Paginator: &request.Paginator{
2265			InputTokens:     []string{"nextToken"},
2266			OutputTokens:    []string{"nextToken"},
2267			LimitToken:      "",
2268			TruncationToken: "",
2269		},
2270	}
2271
2272	if input == nil {
2273		input = &ListApplicationRevisionsInput{}
2274	}
2275
2276	output = &ListApplicationRevisionsOutput{}
2277	req = c.newRequest(op, input, output)
2278	return
2279}
2280
2281// ListApplicationRevisions API operation for AWS CodeDeploy.
2282//
2283// Lists information about revisions for an application.
2284//
2285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2286// with awserr.Error's Code and Message methods to get detailed information about
2287// the error.
2288//
2289// See the AWS API reference guide for AWS CodeDeploy's
2290// API operation ListApplicationRevisions for usage and error information.
2291//
2292// Returned Error Codes:
2293//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
2294//   The application does not exist with the applicable IAM user or AWS account.
2295//
2296//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
2297//   The minimum number of required application names was not specified.
2298//
2299//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
2300//   The application name was specified in an invalid format.
2301//
2302//   * ErrCodeInvalidSortByException "InvalidSortByException"
2303//   The column name to sort by is either not present or was specified in an invalid
2304//   format.
2305//
2306//   * ErrCodeInvalidSortOrderException "InvalidSortOrderException"
2307//   The sort order was specified in an invalid format.
2308//
2309//   * ErrCodeInvalidBucketNameFilterException "InvalidBucketNameFilterException"
2310//   The bucket name either doesn't exist or was specified in an invalid format.
2311//
2312//   * ErrCodeInvalidKeyPrefixFilterException "InvalidKeyPrefixFilterException"
2313//   The specified key prefix filter was specified in an invalid format.
2314//
2315//   * ErrCodeBucketNameFilterRequiredException "BucketNameFilterRequiredException"
2316//   A bucket name is required, but was not provided.
2317//
2318//   * ErrCodeInvalidDeployedStateFilterException "InvalidDeployedStateFilterException"
2319//   The deployed state filter was specified in an invalid format.
2320//
2321//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2322//   The next token was specified in an invalid format.
2323//
2324// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListApplicationRevisions
2325func (c *CodeDeploy) ListApplicationRevisions(input *ListApplicationRevisionsInput) (*ListApplicationRevisionsOutput, error) {
2326	req, out := c.ListApplicationRevisionsRequest(input)
2327	return out, req.Send()
2328}
2329
2330// ListApplicationRevisionsWithContext is the same as ListApplicationRevisions with the addition of
2331// the ability to pass a context and additional request options.
2332//
2333// See ListApplicationRevisions for details on how to use this API operation.
2334//
2335// The context must be non-nil and will be used for request cancellation. If
2336// the context is nil a panic will occur. In the future the SDK may create
2337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2338// for more information on using Contexts.
2339func (c *CodeDeploy) ListApplicationRevisionsWithContext(ctx aws.Context, input *ListApplicationRevisionsInput, opts ...request.Option) (*ListApplicationRevisionsOutput, error) {
2340	req, out := c.ListApplicationRevisionsRequest(input)
2341	req.SetContext(ctx)
2342	req.ApplyOptions(opts...)
2343	return out, req.Send()
2344}
2345
2346// ListApplicationRevisionsPages iterates over the pages of a ListApplicationRevisions operation,
2347// calling the "fn" function with the response data for each page. To stop
2348// iterating, return false from the fn function.
2349//
2350// See ListApplicationRevisions method for more information on how to use this operation.
2351//
2352// Note: This operation can generate multiple requests to a service.
2353//
2354//    // Example iterating over at most 3 pages of a ListApplicationRevisions operation.
2355//    pageNum := 0
2356//    err := client.ListApplicationRevisionsPages(params,
2357//        func(page *ListApplicationRevisionsOutput, lastPage bool) bool {
2358//            pageNum++
2359//            fmt.Println(page)
2360//            return pageNum <= 3
2361//        })
2362//
2363func (c *CodeDeploy) ListApplicationRevisionsPages(input *ListApplicationRevisionsInput, fn func(*ListApplicationRevisionsOutput, bool) bool) error {
2364	return c.ListApplicationRevisionsPagesWithContext(aws.BackgroundContext(), input, fn)
2365}
2366
2367// ListApplicationRevisionsPagesWithContext same as ListApplicationRevisionsPages except
2368// it takes a Context and allows setting request options on the pages.
2369//
2370// The context must be non-nil and will be used for request cancellation. If
2371// the context is nil a panic will occur. In the future the SDK may create
2372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2373// for more information on using Contexts.
2374func (c *CodeDeploy) ListApplicationRevisionsPagesWithContext(ctx aws.Context, input *ListApplicationRevisionsInput, fn func(*ListApplicationRevisionsOutput, bool) bool, opts ...request.Option) error {
2375	p := request.Pagination{
2376		NewRequest: func() (*request.Request, error) {
2377			var inCpy *ListApplicationRevisionsInput
2378			if input != nil {
2379				tmp := *input
2380				inCpy = &tmp
2381			}
2382			req, _ := c.ListApplicationRevisionsRequest(inCpy)
2383			req.SetContext(ctx)
2384			req.ApplyOptions(opts...)
2385			return req, nil
2386		},
2387	}
2388
2389	cont := true
2390	for p.Next() && cont {
2391		cont = fn(p.Page().(*ListApplicationRevisionsOutput), !p.HasNextPage())
2392	}
2393	return p.Err()
2394}
2395
2396const opListApplications = "ListApplications"
2397
2398// ListApplicationsRequest generates a "aws/request.Request" representing the
2399// client's request for the ListApplications operation. The "output" return
2400// value will be populated with the request's response once the request complets
2401// successfuly.
2402//
2403// Use "Send" method on the returned Request to send the API call to the service.
2404// the "output" return value is not valid until after Send returns without error.
2405//
2406// See ListApplications for more information on using the ListApplications
2407// API call, and error handling.
2408//
2409// This method is useful when you want to inject custom logic or configuration
2410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2411//
2412//
2413//    // Example sending a request using the ListApplicationsRequest method.
2414//    req, resp := client.ListApplicationsRequest(params)
2415//
2416//    err := req.Send()
2417//    if err == nil { // resp is now filled
2418//        fmt.Println(resp)
2419//    }
2420//
2421// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListApplications
2422func (c *CodeDeploy) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) {
2423	op := &request.Operation{
2424		Name:       opListApplications,
2425		HTTPMethod: "POST",
2426		HTTPPath:   "/",
2427		Paginator: &request.Paginator{
2428			InputTokens:     []string{"nextToken"},
2429			OutputTokens:    []string{"nextToken"},
2430			LimitToken:      "",
2431			TruncationToken: "",
2432		},
2433	}
2434
2435	if input == nil {
2436		input = &ListApplicationsInput{}
2437	}
2438
2439	output = &ListApplicationsOutput{}
2440	req = c.newRequest(op, input, output)
2441	return
2442}
2443
2444// ListApplications API operation for AWS CodeDeploy.
2445//
2446// Lists the applications registered with the applicable IAM user or AWS account.
2447//
2448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2449// with awserr.Error's Code and Message methods to get detailed information about
2450// the error.
2451//
2452// See the AWS API reference guide for AWS CodeDeploy's
2453// API operation ListApplications for usage and error information.
2454//
2455// Returned Error Codes:
2456//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2457//   The next token was specified in an invalid format.
2458//
2459// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListApplications
2460func (c *CodeDeploy) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) {
2461	req, out := c.ListApplicationsRequest(input)
2462	return out, req.Send()
2463}
2464
2465// ListApplicationsWithContext is the same as ListApplications with the addition of
2466// the ability to pass a context and additional request options.
2467//
2468// See ListApplications for details on how to use this API operation.
2469//
2470// The context must be non-nil and will be used for request cancellation. If
2471// the context is nil a panic will occur. In the future the SDK may create
2472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2473// for more information on using Contexts.
2474func (c *CodeDeploy) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) {
2475	req, out := c.ListApplicationsRequest(input)
2476	req.SetContext(ctx)
2477	req.ApplyOptions(opts...)
2478	return out, req.Send()
2479}
2480
2481// ListApplicationsPages iterates over the pages of a ListApplications operation,
2482// calling the "fn" function with the response data for each page. To stop
2483// iterating, return false from the fn function.
2484//
2485// See ListApplications method for more information on how to use this operation.
2486//
2487// Note: This operation can generate multiple requests to a service.
2488//
2489//    // Example iterating over at most 3 pages of a ListApplications operation.
2490//    pageNum := 0
2491//    err := client.ListApplicationsPages(params,
2492//        func(page *ListApplicationsOutput, lastPage bool) bool {
2493//            pageNum++
2494//            fmt.Println(page)
2495//            return pageNum <= 3
2496//        })
2497//
2498func (c *CodeDeploy) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error {
2499	return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
2500}
2501
2502// ListApplicationsPagesWithContext same as ListApplicationsPages except
2503// it takes a Context and allows setting request options on the pages.
2504//
2505// The context must be non-nil and will be used for request cancellation. If
2506// the context is nil a panic will occur. In the future the SDK may create
2507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2508// for more information on using Contexts.
2509func (c *CodeDeploy) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error {
2510	p := request.Pagination{
2511		NewRequest: func() (*request.Request, error) {
2512			var inCpy *ListApplicationsInput
2513			if input != nil {
2514				tmp := *input
2515				inCpy = &tmp
2516			}
2517			req, _ := c.ListApplicationsRequest(inCpy)
2518			req.SetContext(ctx)
2519			req.ApplyOptions(opts...)
2520			return req, nil
2521		},
2522	}
2523
2524	cont := true
2525	for p.Next() && cont {
2526		cont = fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage())
2527	}
2528	return p.Err()
2529}
2530
2531const opListDeploymentConfigs = "ListDeploymentConfigs"
2532
2533// ListDeploymentConfigsRequest generates a "aws/request.Request" representing the
2534// client's request for the ListDeploymentConfigs operation. The "output" return
2535// value will be populated with the request's response once the request complets
2536// successfuly.
2537//
2538// Use "Send" method on the returned Request to send the API call to the service.
2539// the "output" return value is not valid until after Send returns without error.
2540//
2541// See ListDeploymentConfigs for more information on using the ListDeploymentConfigs
2542// API call, and error handling.
2543//
2544// This method is useful when you want to inject custom logic or configuration
2545// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2546//
2547//
2548//    // Example sending a request using the ListDeploymentConfigsRequest method.
2549//    req, resp := client.ListDeploymentConfigsRequest(params)
2550//
2551//    err := req.Send()
2552//    if err == nil { // resp is now filled
2553//        fmt.Println(resp)
2554//    }
2555//
2556// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentConfigs
2557func (c *CodeDeploy) ListDeploymentConfigsRequest(input *ListDeploymentConfigsInput) (req *request.Request, output *ListDeploymentConfigsOutput) {
2558	op := &request.Operation{
2559		Name:       opListDeploymentConfigs,
2560		HTTPMethod: "POST",
2561		HTTPPath:   "/",
2562		Paginator: &request.Paginator{
2563			InputTokens:     []string{"nextToken"},
2564			OutputTokens:    []string{"nextToken"},
2565			LimitToken:      "",
2566			TruncationToken: "",
2567		},
2568	}
2569
2570	if input == nil {
2571		input = &ListDeploymentConfigsInput{}
2572	}
2573
2574	output = &ListDeploymentConfigsOutput{}
2575	req = c.newRequest(op, input, output)
2576	return
2577}
2578
2579// ListDeploymentConfigs API operation for AWS CodeDeploy.
2580//
2581// Lists the deployment configurations with the applicable IAM user or AWS account.
2582//
2583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2584// with awserr.Error's Code and Message methods to get detailed information about
2585// the error.
2586//
2587// See the AWS API reference guide for AWS CodeDeploy's
2588// API operation ListDeploymentConfigs for usage and error information.
2589//
2590// Returned Error Codes:
2591//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2592//   The next token was specified in an invalid format.
2593//
2594// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentConfigs
2595func (c *CodeDeploy) ListDeploymentConfigs(input *ListDeploymentConfigsInput) (*ListDeploymentConfigsOutput, error) {
2596	req, out := c.ListDeploymentConfigsRequest(input)
2597	return out, req.Send()
2598}
2599
2600// ListDeploymentConfigsWithContext is the same as ListDeploymentConfigs with the addition of
2601// the ability to pass a context and additional request options.
2602//
2603// See ListDeploymentConfigs for details on how to use this API operation.
2604//
2605// The context must be non-nil and will be used for request cancellation. If
2606// the context is nil a panic will occur. In the future the SDK may create
2607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2608// for more information on using Contexts.
2609func (c *CodeDeploy) ListDeploymentConfigsWithContext(ctx aws.Context, input *ListDeploymentConfigsInput, opts ...request.Option) (*ListDeploymentConfigsOutput, error) {
2610	req, out := c.ListDeploymentConfigsRequest(input)
2611	req.SetContext(ctx)
2612	req.ApplyOptions(opts...)
2613	return out, req.Send()
2614}
2615
2616// ListDeploymentConfigsPages iterates over the pages of a ListDeploymentConfigs operation,
2617// calling the "fn" function with the response data for each page. To stop
2618// iterating, return false from the fn function.
2619//
2620// See ListDeploymentConfigs method for more information on how to use this operation.
2621//
2622// Note: This operation can generate multiple requests to a service.
2623//
2624//    // Example iterating over at most 3 pages of a ListDeploymentConfigs operation.
2625//    pageNum := 0
2626//    err := client.ListDeploymentConfigsPages(params,
2627//        func(page *ListDeploymentConfigsOutput, lastPage bool) bool {
2628//            pageNum++
2629//            fmt.Println(page)
2630//            return pageNum <= 3
2631//        })
2632//
2633func (c *CodeDeploy) ListDeploymentConfigsPages(input *ListDeploymentConfigsInput, fn func(*ListDeploymentConfigsOutput, bool) bool) error {
2634	return c.ListDeploymentConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
2635}
2636
2637// ListDeploymentConfigsPagesWithContext same as ListDeploymentConfigsPages except
2638// it takes a Context and allows setting request options on the pages.
2639//
2640// The context must be non-nil and will be used for request cancellation. If
2641// the context is nil a panic will occur. In the future the SDK may create
2642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2643// for more information on using Contexts.
2644func (c *CodeDeploy) ListDeploymentConfigsPagesWithContext(ctx aws.Context, input *ListDeploymentConfigsInput, fn func(*ListDeploymentConfigsOutput, bool) bool, opts ...request.Option) error {
2645	p := request.Pagination{
2646		NewRequest: func() (*request.Request, error) {
2647			var inCpy *ListDeploymentConfigsInput
2648			if input != nil {
2649				tmp := *input
2650				inCpy = &tmp
2651			}
2652			req, _ := c.ListDeploymentConfigsRequest(inCpy)
2653			req.SetContext(ctx)
2654			req.ApplyOptions(opts...)
2655			return req, nil
2656		},
2657	}
2658
2659	cont := true
2660	for p.Next() && cont {
2661		cont = fn(p.Page().(*ListDeploymentConfigsOutput), !p.HasNextPage())
2662	}
2663	return p.Err()
2664}
2665
2666const opListDeploymentGroups = "ListDeploymentGroups"
2667
2668// ListDeploymentGroupsRequest generates a "aws/request.Request" representing the
2669// client's request for the ListDeploymentGroups operation. The "output" return
2670// value will be populated with the request's response once the request complets
2671// successfuly.
2672//
2673// Use "Send" method on the returned Request to send the API call to the service.
2674// the "output" return value is not valid until after Send returns without error.
2675//
2676// See ListDeploymentGroups for more information on using the ListDeploymentGroups
2677// API call, and error handling.
2678//
2679// This method is useful when you want to inject custom logic or configuration
2680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2681//
2682//
2683//    // Example sending a request using the ListDeploymentGroupsRequest method.
2684//    req, resp := client.ListDeploymentGroupsRequest(params)
2685//
2686//    err := req.Send()
2687//    if err == nil { // resp is now filled
2688//        fmt.Println(resp)
2689//    }
2690//
2691// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentGroups
2692func (c *CodeDeploy) ListDeploymentGroupsRequest(input *ListDeploymentGroupsInput) (req *request.Request, output *ListDeploymentGroupsOutput) {
2693	op := &request.Operation{
2694		Name:       opListDeploymentGroups,
2695		HTTPMethod: "POST",
2696		HTTPPath:   "/",
2697		Paginator: &request.Paginator{
2698			InputTokens:     []string{"nextToken"},
2699			OutputTokens:    []string{"nextToken"},
2700			LimitToken:      "",
2701			TruncationToken: "",
2702		},
2703	}
2704
2705	if input == nil {
2706		input = &ListDeploymentGroupsInput{}
2707	}
2708
2709	output = &ListDeploymentGroupsOutput{}
2710	req = c.newRequest(op, input, output)
2711	return
2712}
2713
2714// ListDeploymentGroups API operation for AWS CodeDeploy.
2715//
2716// Lists the deployment groups for an application registered with the applicable
2717// IAM user or AWS account.
2718//
2719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2720// with awserr.Error's Code and Message methods to get detailed information about
2721// the error.
2722//
2723// See the AWS API reference guide for AWS CodeDeploy's
2724// API operation ListDeploymentGroups for usage and error information.
2725//
2726// Returned Error Codes:
2727//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
2728//   The minimum number of required application names was not specified.
2729//
2730//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
2731//   The application name was specified in an invalid format.
2732//
2733//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
2734//   The application does not exist with the applicable IAM user or AWS account.
2735//
2736//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2737//   The next token was specified in an invalid format.
2738//
2739// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentGroups
2740func (c *CodeDeploy) ListDeploymentGroups(input *ListDeploymentGroupsInput) (*ListDeploymentGroupsOutput, error) {
2741	req, out := c.ListDeploymentGroupsRequest(input)
2742	return out, req.Send()
2743}
2744
2745// ListDeploymentGroupsWithContext is the same as ListDeploymentGroups with the addition of
2746// the ability to pass a context and additional request options.
2747//
2748// See ListDeploymentGroups for details on how to use this API operation.
2749//
2750// The context must be non-nil and will be used for request cancellation. If
2751// the context is nil a panic will occur. In the future the SDK may create
2752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2753// for more information on using Contexts.
2754func (c *CodeDeploy) ListDeploymentGroupsWithContext(ctx aws.Context, input *ListDeploymentGroupsInput, opts ...request.Option) (*ListDeploymentGroupsOutput, error) {
2755	req, out := c.ListDeploymentGroupsRequest(input)
2756	req.SetContext(ctx)
2757	req.ApplyOptions(opts...)
2758	return out, req.Send()
2759}
2760
2761// ListDeploymentGroupsPages iterates over the pages of a ListDeploymentGroups operation,
2762// calling the "fn" function with the response data for each page. To stop
2763// iterating, return false from the fn function.
2764//
2765// See ListDeploymentGroups method for more information on how to use this operation.
2766//
2767// Note: This operation can generate multiple requests to a service.
2768//
2769//    // Example iterating over at most 3 pages of a ListDeploymentGroups operation.
2770//    pageNum := 0
2771//    err := client.ListDeploymentGroupsPages(params,
2772//        func(page *ListDeploymentGroupsOutput, lastPage bool) bool {
2773//            pageNum++
2774//            fmt.Println(page)
2775//            return pageNum <= 3
2776//        })
2777//
2778func (c *CodeDeploy) ListDeploymentGroupsPages(input *ListDeploymentGroupsInput, fn func(*ListDeploymentGroupsOutput, bool) bool) error {
2779	return c.ListDeploymentGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
2780}
2781
2782// ListDeploymentGroupsPagesWithContext same as ListDeploymentGroupsPages except
2783// it takes a Context and allows setting request options on the pages.
2784//
2785// The context must be non-nil and will be used for request cancellation. If
2786// the context is nil a panic will occur. In the future the SDK may create
2787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2788// for more information on using Contexts.
2789func (c *CodeDeploy) ListDeploymentGroupsPagesWithContext(ctx aws.Context, input *ListDeploymentGroupsInput, fn func(*ListDeploymentGroupsOutput, bool) bool, opts ...request.Option) error {
2790	p := request.Pagination{
2791		NewRequest: func() (*request.Request, error) {
2792			var inCpy *ListDeploymentGroupsInput
2793			if input != nil {
2794				tmp := *input
2795				inCpy = &tmp
2796			}
2797			req, _ := c.ListDeploymentGroupsRequest(inCpy)
2798			req.SetContext(ctx)
2799			req.ApplyOptions(opts...)
2800			return req, nil
2801		},
2802	}
2803
2804	cont := true
2805	for p.Next() && cont {
2806		cont = fn(p.Page().(*ListDeploymentGroupsOutput), !p.HasNextPage())
2807	}
2808	return p.Err()
2809}
2810
2811const opListDeploymentInstances = "ListDeploymentInstances"
2812
2813// ListDeploymentInstancesRequest generates a "aws/request.Request" representing the
2814// client's request for the ListDeploymentInstances operation. The "output" return
2815// value will be populated with the request's response once the request complets
2816// successfuly.
2817//
2818// Use "Send" method on the returned Request to send the API call to the service.
2819// the "output" return value is not valid until after Send returns without error.
2820//
2821// See ListDeploymentInstances for more information on using the ListDeploymentInstances
2822// API call, and error handling.
2823//
2824// This method is useful when you want to inject custom logic or configuration
2825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2826//
2827//
2828//    // Example sending a request using the ListDeploymentInstancesRequest method.
2829//    req, resp := client.ListDeploymentInstancesRequest(params)
2830//
2831//    err := req.Send()
2832//    if err == nil { // resp is now filled
2833//        fmt.Println(resp)
2834//    }
2835//
2836// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentInstances
2837func (c *CodeDeploy) ListDeploymentInstancesRequest(input *ListDeploymentInstancesInput) (req *request.Request, output *ListDeploymentInstancesOutput) {
2838	op := &request.Operation{
2839		Name:       opListDeploymentInstances,
2840		HTTPMethod: "POST",
2841		HTTPPath:   "/",
2842		Paginator: &request.Paginator{
2843			InputTokens:     []string{"nextToken"},
2844			OutputTokens:    []string{"nextToken"},
2845			LimitToken:      "",
2846			TruncationToken: "",
2847		},
2848	}
2849
2850	if input == nil {
2851		input = &ListDeploymentInstancesInput{}
2852	}
2853
2854	output = &ListDeploymentInstancesOutput{}
2855	req = c.newRequest(op, input, output)
2856	return
2857}
2858
2859// ListDeploymentInstances API operation for AWS CodeDeploy.
2860//
2861// Lists the instance for a deployment associated with the applicable IAM user
2862// or AWS account.
2863//
2864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2865// with awserr.Error's Code and Message methods to get detailed information about
2866// the error.
2867//
2868// See the AWS API reference guide for AWS CodeDeploy's
2869// API operation ListDeploymentInstances for usage and error information.
2870//
2871// Returned Error Codes:
2872//   * ErrCodeDeploymentIdRequiredException "DeploymentIdRequiredException"
2873//   At least one deployment ID must be specified.
2874//
2875//   * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException"
2876//   The deployment does not exist with the applicable IAM user or AWS account.
2877//
2878//   * ErrCodeDeploymentNotStartedException "DeploymentNotStartedException"
2879//   The specified deployment has not started.
2880//
2881//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2882//   The next token was specified in an invalid format.
2883//
2884//   * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException"
2885//   At least one of the deployment IDs was specified in an invalid format.
2886//
2887//   * ErrCodeInvalidInstanceStatusException "InvalidInstanceStatusException"
2888//   The specified instance status does not exist.
2889//
2890//   * ErrCodeInvalidInstanceTypeException "InvalidInstanceTypeException"
2891//   An invalid instance type was specified for instances in a blue/green deployment.
2892//   Valid values include "Blue" for an original environment and "Green" for a
2893//   replacement environment.
2894//
2895//   * ErrCodeInvalidDeploymentInstanceTypeException "InvalidDeploymentInstanceTypeException"
2896//   An instance type was specified for an in-place deployment. Instance types
2897//   are supported for blue/green deployments only.
2898//
2899// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentInstances
2900func (c *CodeDeploy) ListDeploymentInstances(input *ListDeploymentInstancesInput) (*ListDeploymentInstancesOutput, error) {
2901	req, out := c.ListDeploymentInstancesRequest(input)
2902	return out, req.Send()
2903}
2904
2905// ListDeploymentInstancesWithContext is the same as ListDeploymentInstances with the addition of
2906// the ability to pass a context and additional request options.
2907//
2908// See ListDeploymentInstances for details on how to use this API operation.
2909//
2910// The context must be non-nil and will be used for request cancellation. If
2911// the context is nil a panic will occur. In the future the SDK may create
2912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2913// for more information on using Contexts.
2914func (c *CodeDeploy) ListDeploymentInstancesWithContext(ctx aws.Context, input *ListDeploymentInstancesInput, opts ...request.Option) (*ListDeploymentInstancesOutput, error) {
2915	req, out := c.ListDeploymentInstancesRequest(input)
2916	req.SetContext(ctx)
2917	req.ApplyOptions(opts...)
2918	return out, req.Send()
2919}
2920
2921// ListDeploymentInstancesPages iterates over the pages of a ListDeploymentInstances operation,
2922// calling the "fn" function with the response data for each page. To stop
2923// iterating, return false from the fn function.
2924//
2925// See ListDeploymentInstances method for more information on how to use this operation.
2926//
2927// Note: This operation can generate multiple requests to a service.
2928//
2929//    // Example iterating over at most 3 pages of a ListDeploymentInstances operation.
2930//    pageNum := 0
2931//    err := client.ListDeploymentInstancesPages(params,
2932//        func(page *ListDeploymentInstancesOutput, lastPage bool) bool {
2933//            pageNum++
2934//            fmt.Println(page)
2935//            return pageNum <= 3
2936//        })
2937//
2938func (c *CodeDeploy) ListDeploymentInstancesPages(input *ListDeploymentInstancesInput, fn func(*ListDeploymentInstancesOutput, bool) bool) error {
2939	return c.ListDeploymentInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2940}
2941
2942// ListDeploymentInstancesPagesWithContext same as ListDeploymentInstancesPages except
2943// it takes a Context and allows setting request options on the pages.
2944//
2945// The context must be non-nil and will be used for request cancellation. If
2946// the context is nil a panic will occur. In the future the SDK may create
2947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2948// for more information on using Contexts.
2949func (c *CodeDeploy) ListDeploymentInstancesPagesWithContext(ctx aws.Context, input *ListDeploymentInstancesInput, fn func(*ListDeploymentInstancesOutput, bool) bool, opts ...request.Option) error {
2950	p := request.Pagination{
2951		NewRequest: func() (*request.Request, error) {
2952			var inCpy *ListDeploymentInstancesInput
2953			if input != nil {
2954				tmp := *input
2955				inCpy = &tmp
2956			}
2957			req, _ := c.ListDeploymentInstancesRequest(inCpy)
2958			req.SetContext(ctx)
2959			req.ApplyOptions(opts...)
2960			return req, nil
2961		},
2962	}
2963
2964	cont := true
2965	for p.Next() && cont {
2966		cont = fn(p.Page().(*ListDeploymentInstancesOutput), !p.HasNextPage())
2967	}
2968	return p.Err()
2969}
2970
2971const opListDeployments = "ListDeployments"
2972
2973// ListDeploymentsRequest generates a "aws/request.Request" representing the
2974// client's request for the ListDeployments operation. The "output" return
2975// value will be populated with the request's response once the request complets
2976// successfuly.
2977//
2978// Use "Send" method on the returned Request to send the API call to the service.
2979// the "output" return value is not valid until after Send returns without error.
2980//
2981// See ListDeployments for more information on using the ListDeployments
2982// API call, and error handling.
2983//
2984// This method is useful when you want to inject custom logic or configuration
2985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2986//
2987//
2988//    // Example sending a request using the ListDeploymentsRequest method.
2989//    req, resp := client.ListDeploymentsRequest(params)
2990//
2991//    err := req.Send()
2992//    if err == nil { // resp is now filled
2993//        fmt.Println(resp)
2994//    }
2995//
2996// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeployments
2997func (c *CodeDeploy) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) {
2998	op := &request.Operation{
2999		Name:       opListDeployments,
3000		HTTPMethod: "POST",
3001		HTTPPath:   "/",
3002		Paginator: &request.Paginator{
3003			InputTokens:     []string{"nextToken"},
3004			OutputTokens:    []string{"nextToken"},
3005			LimitToken:      "",
3006			TruncationToken: "",
3007		},
3008	}
3009
3010	if input == nil {
3011		input = &ListDeploymentsInput{}
3012	}
3013
3014	output = &ListDeploymentsOutput{}
3015	req = c.newRequest(op, input, output)
3016	return
3017}
3018
3019// ListDeployments API operation for AWS CodeDeploy.
3020//
3021// Lists the deployments in a deployment group for an application registered
3022// with the applicable IAM user or AWS account.
3023//
3024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3025// with awserr.Error's Code and Message methods to get detailed information about
3026// the error.
3027//
3028// See the AWS API reference guide for AWS CodeDeploy's
3029// API operation ListDeployments for usage and error information.
3030//
3031// Returned Error Codes:
3032//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
3033//   The minimum number of required application names was not specified.
3034//
3035//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
3036//   The application name was specified in an invalid format.
3037//
3038//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
3039//   The application does not exist with the applicable IAM user or AWS account.
3040//
3041//   * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException"
3042//   The deployment group name was specified in an invalid format.
3043//
3044//   * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException"
3045//   The named deployment group does not exist with the applicable IAM user or
3046//   AWS account.
3047//
3048//   * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException"
3049//   The deployment group name was not specified.
3050//
3051//   * ErrCodeInvalidTimeRangeException "InvalidTimeRangeException"
3052//   The specified time range was specified in an invalid format.
3053//
3054//   * ErrCodeInvalidDeploymentStatusException "InvalidDeploymentStatusException"
3055//   The specified deployment status doesn't exist or cannot be determined.
3056//
3057//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
3058//   The next token was specified in an invalid format.
3059//
3060// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeployments
3061func (c *CodeDeploy) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) {
3062	req, out := c.ListDeploymentsRequest(input)
3063	return out, req.Send()
3064}
3065
3066// ListDeploymentsWithContext is the same as ListDeployments with the addition of
3067// the ability to pass a context and additional request options.
3068//
3069// See ListDeployments for details on how to use this API operation.
3070//
3071// The context must be non-nil and will be used for request cancellation. If
3072// the context is nil a panic will occur. In the future the SDK may create
3073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3074// for more information on using Contexts.
3075func (c *CodeDeploy) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) {
3076	req, out := c.ListDeploymentsRequest(input)
3077	req.SetContext(ctx)
3078	req.ApplyOptions(opts...)
3079	return out, req.Send()
3080}
3081
3082// ListDeploymentsPages iterates over the pages of a ListDeployments operation,
3083// calling the "fn" function with the response data for each page. To stop
3084// iterating, return false from the fn function.
3085//
3086// See ListDeployments method for more information on how to use this operation.
3087//
3088// Note: This operation can generate multiple requests to a service.
3089//
3090//    // Example iterating over at most 3 pages of a ListDeployments operation.
3091//    pageNum := 0
3092//    err := client.ListDeploymentsPages(params,
3093//        func(page *ListDeploymentsOutput, lastPage bool) bool {
3094//            pageNum++
3095//            fmt.Println(page)
3096//            return pageNum <= 3
3097//        })
3098//
3099func (c *CodeDeploy) ListDeploymentsPages(input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool) error {
3100	return c.ListDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn)
3101}
3102
3103// ListDeploymentsPagesWithContext same as ListDeploymentsPages except
3104// it takes a Context and allows setting request options on the pages.
3105//
3106// The context must be non-nil and will be used for request cancellation. If
3107// the context is nil a panic will occur. In the future the SDK may create
3108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3109// for more information on using Contexts.
3110func (c *CodeDeploy) ListDeploymentsPagesWithContext(ctx aws.Context, input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool, opts ...request.Option) error {
3111	p := request.Pagination{
3112		NewRequest: func() (*request.Request, error) {
3113			var inCpy *ListDeploymentsInput
3114			if input != nil {
3115				tmp := *input
3116				inCpy = &tmp
3117			}
3118			req, _ := c.ListDeploymentsRequest(inCpy)
3119			req.SetContext(ctx)
3120			req.ApplyOptions(opts...)
3121			return req, nil
3122		},
3123	}
3124
3125	cont := true
3126	for p.Next() && cont {
3127		cont = fn(p.Page().(*ListDeploymentsOutput), !p.HasNextPage())
3128	}
3129	return p.Err()
3130}
3131
3132const opListGitHubAccountTokenNames = "ListGitHubAccountTokenNames"
3133
3134// ListGitHubAccountTokenNamesRequest generates a "aws/request.Request" representing the
3135// client's request for the ListGitHubAccountTokenNames operation. The "output" return
3136// value will be populated with the request's response once the request complets
3137// successfuly.
3138//
3139// Use "Send" method on the returned Request to send the API call to the service.
3140// the "output" return value is not valid until after Send returns without error.
3141//
3142// See ListGitHubAccountTokenNames for more information on using the ListGitHubAccountTokenNames
3143// API call, and error handling.
3144//
3145// This method is useful when you want to inject custom logic or configuration
3146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3147//
3148//
3149//    // Example sending a request using the ListGitHubAccountTokenNamesRequest method.
3150//    req, resp := client.ListGitHubAccountTokenNamesRequest(params)
3151//
3152//    err := req.Send()
3153//    if err == nil { // resp is now filled
3154//        fmt.Println(resp)
3155//    }
3156//
3157// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListGitHubAccountTokenNames
3158func (c *CodeDeploy) ListGitHubAccountTokenNamesRequest(input *ListGitHubAccountTokenNamesInput) (req *request.Request, output *ListGitHubAccountTokenNamesOutput) {
3159	op := &request.Operation{
3160		Name:       opListGitHubAccountTokenNames,
3161		HTTPMethod: "POST",
3162		HTTPPath:   "/",
3163	}
3164
3165	if input == nil {
3166		input = &ListGitHubAccountTokenNamesInput{}
3167	}
3168
3169	output = &ListGitHubAccountTokenNamesOutput{}
3170	req = c.newRequest(op, input, output)
3171	return
3172}
3173
3174// ListGitHubAccountTokenNames API operation for AWS CodeDeploy.
3175//
3176// Lists the names of stored connections to GitHub accounts.
3177//
3178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3179// with awserr.Error's Code and Message methods to get detailed information about
3180// the error.
3181//
3182// See the AWS API reference guide for AWS CodeDeploy's
3183// API operation ListGitHubAccountTokenNames for usage and error information.
3184//
3185// Returned Error Codes:
3186//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
3187//   The next token was specified in an invalid format.
3188//
3189//   * ErrCodeResourceValidationException "ResourceValidationException"
3190//   The specified resource could not be validated.
3191//
3192// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListGitHubAccountTokenNames
3193func (c *CodeDeploy) ListGitHubAccountTokenNames(input *ListGitHubAccountTokenNamesInput) (*ListGitHubAccountTokenNamesOutput, error) {
3194	req, out := c.ListGitHubAccountTokenNamesRequest(input)
3195	return out, req.Send()
3196}
3197
3198// ListGitHubAccountTokenNamesWithContext is the same as ListGitHubAccountTokenNames with the addition of
3199// the ability to pass a context and additional request options.
3200//
3201// See ListGitHubAccountTokenNames for details on how to use this API operation.
3202//
3203// The context must be non-nil and will be used for request cancellation. If
3204// the context is nil a panic will occur. In the future the SDK may create
3205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3206// for more information on using Contexts.
3207func (c *CodeDeploy) ListGitHubAccountTokenNamesWithContext(ctx aws.Context, input *ListGitHubAccountTokenNamesInput, opts ...request.Option) (*ListGitHubAccountTokenNamesOutput, error) {
3208	req, out := c.ListGitHubAccountTokenNamesRequest(input)
3209	req.SetContext(ctx)
3210	req.ApplyOptions(opts...)
3211	return out, req.Send()
3212}
3213
3214const opListOnPremisesInstances = "ListOnPremisesInstances"
3215
3216// ListOnPremisesInstancesRequest generates a "aws/request.Request" representing the
3217// client's request for the ListOnPremisesInstances operation. The "output" return
3218// value will be populated with the request's response once the request complets
3219// successfuly.
3220//
3221// Use "Send" method on the returned Request to send the API call to the service.
3222// the "output" return value is not valid until after Send returns without error.
3223//
3224// See ListOnPremisesInstances for more information on using the ListOnPremisesInstances
3225// API call, and error handling.
3226//
3227// This method is useful when you want to inject custom logic or configuration
3228// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3229//
3230//
3231//    // Example sending a request using the ListOnPremisesInstancesRequest method.
3232//    req, resp := client.ListOnPremisesInstancesRequest(params)
3233//
3234//    err := req.Send()
3235//    if err == nil { // resp is now filled
3236//        fmt.Println(resp)
3237//    }
3238//
3239// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListOnPremisesInstances
3240func (c *CodeDeploy) ListOnPremisesInstancesRequest(input *ListOnPremisesInstancesInput) (req *request.Request, output *ListOnPremisesInstancesOutput) {
3241	op := &request.Operation{
3242		Name:       opListOnPremisesInstances,
3243		HTTPMethod: "POST",
3244		HTTPPath:   "/",
3245	}
3246
3247	if input == nil {
3248		input = &ListOnPremisesInstancesInput{}
3249	}
3250
3251	output = &ListOnPremisesInstancesOutput{}
3252	req = c.newRequest(op, input, output)
3253	return
3254}
3255
3256// ListOnPremisesInstances API operation for AWS CodeDeploy.
3257//
3258// Gets a list of names for one or more on-premises instances.
3259//
3260// Unless otherwise specified, both registered and deregistered on-premises
3261// instance names will be listed. To list only registered or deregistered on-premises
3262// instance names, use the registration status parameter.
3263//
3264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3265// with awserr.Error's Code and Message methods to get detailed information about
3266// the error.
3267//
3268// See the AWS API reference guide for AWS CodeDeploy's
3269// API operation ListOnPremisesInstances for usage and error information.
3270//
3271// Returned Error Codes:
3272//   * ErrCodeInvalidRegistrationStatusException "InvalidRegistrationStatusException"
3273//   The registration status was specified in an invalid format.
3274//
3275//   * ErrCodeInvalidTagFilterException "InvalidTagFilterException"
3276//   The specified tag filter was specified in an invalid format.
3277//
3278//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
3279//   The next token was specified in an invalid format.
3280//
3281// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListOnPremisesInstances
3282func (c *CodeDeploy) ListOnPremisesInstances(input *ListOnPremisesInstancesInput) (*ListOnPremisesInstancesOutput, error) {
3283	req, out := c.ListOnPremisesInstancesRequest(input)
3284	return out, req.Send()
3285}
3286
3287// ListOnPremisesInstancesWithContext is the same as ListOnPremisesInstances with the addition of
3288// the ability to pass a context and additional request options.
3289//
3290// See ListOnPremisesInstances for details on how to use this API operation.
3291//
3292// The context must be non-nil and will be used for request cancellation. If
3293// the context is nil a panic will occur. In the future the SDK may create
3294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3295// for more information on using Contexts.
3296func (c *CodeDeploy) ListOnPremisesInstancesWithContext(ctx aws.Context, input *ListOnPremisesInstancesInput, opts ...request.Option) (*ListOnPremisesInstancesOutput, error) {
3297	req, out := c.ListOnPremisesInstancesRequest(input)
3298	req.SetContext(ctx)
3299	req.ApplyOptions(opts...)
3300	return out, req.Send()
3301}
3302
3303const opRegisterApplicationRevision = "RegisterApplicationRevision"
3304
3305// RegisterApplicationRevisionRequest generates a "aws/request.Request" representing the
3306// client's request for the RegisterApplicationRevision operation. The "output" return
3307// value will be populated with the request's response once the request complets
3308// successfuly.
3309//
3310// Use "Send" method on the returned Request to send the API call to the service.
3311// the "output" return value is not valid until after Send returns without error.
3312//
3313// See RegisterApplicationRevision for more information on using the RegisterApplicationRevision
3314// API call, and error handling.
3315//
3316// This method is useful when you want to inject custom logic or configuration
3317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3318//
3319//
3320//    // Example sending a request using the RegisterApplicationRevisionRequest method.
3321//    req, resp := client.RegisterApplicationRevisionRequest(params)
3322//
3323//    err := req.Send()
3324//    if err == nil { // resp is now filled
3325//        fmt.Println(resp)
3326//    }
3327//
3328// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterApplicationRevision
3329func (c *CodeDeploy) RegisterApplicationRevisionRequest(input *RegisterApplicationRevisionInput) (req *request.Request, output *RegisterApplicationRevisionOutput) {
3330	op := &request.Operation{
3331		Name:       opRegisterApplicationRevision,
3332		HTTPMethod: "POST",
3333		HTTPPath:   "/",
3334	}
3335
3336	if input == nil {
3337		input = &RegisterApplicationRevisionInput{}
3338	}
3339
3340	output = &RegisterApplicationRevisionOutput{}
3341	req = c.newRequest(op, input, output)
3342	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
3343	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
3344	return
3345}
3346
3347// RegisterApplicationRevision API operation for AWS CodeDeploy.
3348//
3349// Registers with AWS CodeDeploy a revision for the specified application.
3350//
3351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3352// with awserr.Error's Code and Message methods to get detailed information about
3353// the error.
3354//
3355// See the AWS API reference guide for AWS CodeDeploy's
3356// API operation RegisterApplicationRevision for usage and error information.
3357//
3358// Returned Error Codes:
3359//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
3360//   The application does not exist with the applicable IAM user or AWS account.
3361//
3362//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
3363//   The minimum number of required application names was not specified.
3364//
3365//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
3366//   The application name was specified in an invalid format.
3367//
3368//   * ErrCodeDescriptionTooLongException "DescriptionTooLongException"
3369//   The description is too long.
3370//
3371//   * ErrCodeRevisionRequiredException "RevisionRequiredException"
3372//   The revision ID was not specified.
3373//
3374//   * ErrCodeInvalidRevisionException "InvalidRevisionException"
3375//   The revision was specified in an invalid format.
3376//
3377// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterApplicationRevision
3378func (c *CodeDeploy) RegisterApplicationRevision(input *RegisterApplicationRevisionInput) (*RegisterApplicationRevisionOutput, error) {
3379	req, out := c.RegisterApplicationRevisionRequest(input)
3380	return out, req.Send()
3381}
3382
3383// RegisterApplicationRevisionWithContext is the same as RegisterApplicationRevision with the addition of
3384// the ability to pass a context and additional request options.
3385//
3386// See RegisterApplicationRevision for details on how to use this API operation.
3387//
3388// The context must be non-nil and will be used for request cancellation. If
3389// the context is nil a panic will occur. In the future the SDK may create
3390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3391// for more information on using Contexts.
3392func (c *CodeDeploy) RegisterApplicationRevisionWithContext(ctx aws.Context, input *RegisterApplicationRevisionInput, opts ...request.Option) (*RegisterApplicationRevisionOutput, error) {
3393	req, out := c.RegisterApplicationRevisionRequest(input)
3394	req.SetContext(ctx)
3395	req.ApplyOptions(opts...)
3396	return out, req.Send()
3397}
3398
3399const opRegisterOnPremisesInstance = "RegisterOnPremisesInstance"
3400
3401// RegisterOnPremisesInstanceRequest generates a "aws/request.Request" representing the
3402// client's request for the RegisterOnPremisesInstance operation. The "output" return
3403// value will be populated with the request's response once the request complets
3404// successfuly.
3405//
3406// Use "Send" method on the returned Request to send the API call to the service.
3407// the "output" return value is not valid until after Send returns without error.
3408//
3409// See RegisterOnPremisesInstance for more information on using the RegisterOnPremisesInstance
3410// API call, and error handling.
3411//
3412// This method is useful when you want to inject custom logic or configuration
3413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3414//
3415//
3416//    // Example sending a request using the RegisterOnPremisesInstanceRequest method.
3417//    req, resp := client.RegisterOnPremisesInstanceRequest(params)
3418//
3419//    err := req.Send()
3420//    if err == nil { // resp is now filled
3421//        fmt.Println(resp)
3422//    }
3423//
3424// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterOnPremisesInstance
3425func (c *CodeDeploy) RegisterOnPremisesInstanceRequest(input *RegisterOnPremisesInstanceInput) (req *request.Request, output *RegisterOnPremisesInstanceOutput) {
3426	op := &request.Operation{
3427		Name:       opRegisterOnPremisesInstance,
3428		HTTPMethod: "POST",
3429		HTTPPath:   "/",
3430	}
3431
3432	if input == nil {
3433		input = &RegisterOnPremisesInstanceInput{}
3434	}
3435
3436	output = &RegisterOnPremisesInstanceOutput{}
3437	req = c.newRequest(op, input, output)
3438	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
3439	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
3440	return
3441}
3442
3443// RegisterOnPremisesInstance API operation for AWS CodeDeploy.
3444//
3445// Registers an on-premises instance.
3446//
3447// Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the
3448// request. You cannot use both.
3449//
3450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3451// with awserr.Error's Code and Message methods to get detailed information about
3452// the error.
3453//
3454// See the AWS API reference guide for AWS CodeDeploy's
3455// API operation RegisterOnPremisesInstance for usage and error information.
3456//
3457// Returned Error Codes:
3458//   * ErrCodeInstanceNameAlreadyRegisteredException "InstanceNameAlreadyRegisteredException"
3459//   The specified on-premises instance name is already registered.
3460//
3461//   * ErrCodeIamArnRequiredException "IamArnRequiredException"
3462//   No IAM ARN was included in the request. You must use an IAM session ARN or
3463//   IAM user ARN in the request.
3464//
3465//   * ErrCodeIamSessionArnAlreadyRegisteredException "IamSessionArnAlreadyRegisteredException"
3466//   The request included an IAM session ARN that has already been used to register
3467//   a different instance.
3468//
3469//   * ErrCodeIamUserArnAlreadyRegisteredException "IamUserArnAlreadyRegisteredException"
3470//   The specified IAM user ARN is already registered with an on-premises instance.
3471//
3472//   * ErrCodeInstanceNameRequiredException "InstanceNameRequiredException"
3473//   An on-premises instance name was not specified.
3474//
3475//   * ErrCodeIamUserArnRequiredException "IamUserArnRequiredException"
3476//   An IAM user ARN was not specified.
3477//
3478//   * ErrCodeInvalidInstanceNameException "InvalidInstanceNameException"
3479//   The specified on-premises instance name was specified in an invalid format.
3480//
3481//   * ErrCodeInvalidIamSessionArnException "InvalidIamSessionArnException"
3482//   The IAM session ARN was specified in an invalid format.
3483//
3484//   * ErrCodeInvalidIamUserArnException "InvalidIamUserArnException"
3485//   The IAM user ARN was specified in an invalid format.
3486//
3487//   * ErrCodeMultipleIamArnsProvidedException "MultipleIamArnsProvidedException"
3488//   Both an IAM user ARN and an IAM session ARN were included in the request.
3489//   Use only one ARN type.
3490//
3491// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterOnPremisesInstance
3492func (c *CodeDeploy) RegisterOnPremisesInstance(input *RegisterOnPremisesInstanceInput) (*RegisterOnPremisesInstanceOutput, error) {
3493	req, out := c.RegisterOnPremisesInstanceRequest(input)
3494	return out, req.Send()
3495}
3496
3497// RegisterOnPremisesInstanceWithContext is the same as RegisterOnPremisesInstance with the addition of
3498// the ability to pass a context and additional request options.
3499//
3500// See RegisterOnPremisesInstance for details on how to use this API operation.
3501//
3502// The context must be non-nil and will be used for request cancellation. If
3503// the context is nil a panic will occur. In the future the SDK may create
3504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3505// for more information on using Contexts.
3506func (c *CodeDeploy) RegisterOnPremisesInstanceWithContext(ctx aws.Context, input *RegisterOnPremisesInstanceInput, opts ...request.Option) (*RegisterOnPremisesInstanceOutput, error) {
3507	req, out := c.RegisterOnPremisesInstanceRequest(input)
3508	req.SetContext(ctx)
3509	req.ApplyOptions(opts...)
3510	return out, req.Send()
3511}
3512
3513const opRemoveTagsFromOnPremisesInstances = "RemoveTagsFromOnPremisesInstances"
3514
3515// RemoveTagsFromOnPremisesInstancesRequest generates a "aws/request.Request" representing the
3516// client's request for the RemoveTagsFromOnPremisesInstances operation. The "output" return
3517// value will be populated with the request's response once the request complets
3518// successfuly.
3519//
3520// Use "Send" method on the returned Request to send the API call to the service.
3521// the "output" return value is not valid until after Send returns without error.
3522//
3523// See RemoveTagsFromOnPremisesInstances for more information on using the RemoveTagsFromOnPremisesInstances
3524// API call, and error handling.
3525//
3526// This method is useful when you want to inject custom logic or configuration
3527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3528//
3529//
3530//    // Example sending a request using the RemoveTagsFromOnPremisesInstancesRequest method.
3531//    req, resp := client.RemoveTagsFromOnPremisesInstancesRequest(params)
3532//
3533//    err := req.Send()
3534//    if err == nil { // resp is now filled
3535//        fmt.Println(resp)
3536//    }
3537//
3538// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RemoveTagsFromOnPremisesInstances
3539func (c *CodeDeploy) RemoveTagsFromOnPremisesInstancesRequest(input *RemoveTagsFromOnPremisesInstancesInput) (req *request.Request, output *RemoveTagsFromOnPremisesInstancesOutput) {
3540	op := &request.Operation{
3541		Name:       opRemoveTagsFromOnPremisesInstances,
3542		HTTPMethod: "POST",
3543		HTTPPath:   "/",
3544	}
3545
3546	if input == nil {
3547		input = &RemoveTagsFromOnPremisesInstancesInput{}
3548	}
3549
3550	output = &RemoveTagsFromOnPremisesInstancesOutput{}
3551	req = c.newRequest(op, input, output)
3552	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
3553	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
3554	return
3555}
3556
3557// RemoveTagsFromOnPremisesInstances API operation for AWS CodeDeploy.
3558//
3559// Removes one or more tags from one or more on-premises instances.
3560//
3561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3562// with awserr.Error's Code and Message methods to get detailed information about
3563// the error.
3564//
3565// See the AWS API reference guide for AWS CodeDeploy's
3566// API operation RemoveTagsFromOnPremisesInstances for usage and error information.
3567//
3568// Returned Error Codes:
3569//   * ErrCodeInstanceNameRequiredException "InstanceNameRequiredException"
3570//   An on-premises instance name was not specified.
3571//
3572//   * ErrCodeTagRequiredException "TagRequiredException"
3573//   A tag was not specified.
3574//
3575//   * ErrCodeInvalidTagException "InvalidTagException"
3576//   The specified tag was specified in an invalid format.
3577//
3578//   * ErrCodeTagLimitExceededException "TagLimitExceededException"
3579//   The maximum allowed number of tags was exceeded.
3580//
3581//   * ErrCodeInstanceLimitExceededException "InstanceLimitExceededException"
3582//   The maximum number of allowed on-premises instances in a single call was
3583//   exceeded.
3584//
3585//   * ErrCodeInstanceNotRegisteredException "InstanceNotRegisteredException"
3586//   The specified on-premises instance is not registered.
3587//
3588// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RemoveTagsFromOnPremisesInstances
3589func (c *CodeDeploy) RemoveTagsFromOnPremisesInstances(input *RemoveTagsFromOnPremisesInstancesInput) (*RemoveTagsFromOnPremisesInstancesOutput, error) {
3590	req, out := c.RemoveTagsFromOnPremisesInstancesRequest(input)
3591	return out, req.Send()
3592}
3593
3594// RemoveTagsFromOnPremisesInstancesWithContext is the same as RemoveTagsFromOnPremisesInstances with the addition of
3595// the ability to pass a context and additional request options.
3596//
3597// See RemoveTagsFromOnPremisesInstances for details on how to use this API operation.
3598//
3599// The context must be non-nil and will be used for request cancellation. If
3600// the context is nil a panic will occur. In the future the SDK may create
3601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3602// for more information on using Contexts.
3603func (c *CodeDeploy) RemoveTagsFromOnPremisesInstancesWithContext(ctx aws.Context, input *RemoveTagsFromOnPremisesInstancesInput, opts ...request.Option) (*RemoveTagsFromOnPremisesInstancesOutput, error) {
3604	req, out := c.RemoveTagsFromOnPremisesInstancesRequest(input)
3605	req.SetContext(ctx)
3606	req.ApplyOptions(opts...)
3607	return out, req.Send()
3608}
3609
3610const opSkipWaitTimeForInstanceTermination = "SkipWaitTimeForInstanceTermination"
3611
3612// SkipWaitTimeForInstanceTerminationRequest generates a "aws/request.Request" representing the
3613// client's request for the SkipWaitTimeForInstanceTermination operation. The "output" return
3614// value will be populated with the request's response once the request complets
3615// successfuly.
3616//
3617// Use "Send" method on the returned Request to send the API call to the service.
3618// the "output" return value is not valid until after Send returns without error.
3619//
3620// See SkipWaitTimeForInstanceTermination for more information on using the SkipWaitTimeForInstanceTermination
3621// API call, and error handling.
3622//
3623// This method is useful when you want to inject custom logic or configuration
3624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3625//
3626//
3627//    // Example sending a request using the SkipWaitTimeForInstanceTerminationRequest method.
3628//    req, resp := client.SkipWaitTimeForInstanceTerminationRequest(params)
3629//
3630//    err := req.Send()
3631//    if err == nil { // resp is now filled
3632//        fmt.Println(resp)
3633//    }
3634//
3635// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/SkipWaitTimeForInstanceTermination
3636func (c *CodeDeploy) SkipWaitTimeForInstanceTerminationRequest(input *SkipWaitTimeForInstanceTerminationInput) (req *request.Request, output *SkipWaitTimeForInstanceTerminationOutput) {
3637	op := &request.Operation{
3638		Name:       opSkipWaitTimeForInstanceTermination,
3639		HTTPMethod: "POST",
3640		HTTPPath:   "/",
3641	}
3642
3643	if input == nil {
3644		input = &SkipWaitTimeForInstanceTerminationInput{}
3645	}
3646
3647	output = &SkipWaitTimeForInstanceTerminationOutput{}
3648	req = c.newRequest(op, input, output)
3649	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
3650	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
3651	return
3652}
3653
3654// SkipWaitTimeForInstanceTermination API operation for AWS CodeDeploy.
3655//
3656// In a blue/green deployment, overrides any specified wait time and starts
3657// terminating instances immediately after the traffic routing is completed.
3658//
3659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3660// with awserr.Error's Code and Message methods to get detailed information about
3661// the error.
3662//
3663// See the AWS API reference guide for AWS CodeDeploy's
3664// API operation SkipWaitTimeForInstanceTermination for usage and error information.
3665//
3666// Returned Error Codes:
3667//   * ErrCodeDeploymentIdRequiredException "DeploymentIdRequiredException"
3668//   At least one deployment ID must be specified.
3669//
3670//   * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException"
3671//   The deployment does not exist with the applicable IAM user or AWS account.
3672//
3673//   * ErrCodeDeploymentAlreadyCompletedException "DeploymentAlreadyCompletedException"
3674//   The deployment is already complete.
3675//
3676//   * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException"
3677//   At least one of the deployment IDs was specified in an invalid format.
3678//
3679//   * ErrCodeDeploymentNotStartedException "DeploymentNotStartedException"
3680//   The specified deployment has not started.
3681//
3682//   * ErrCodeUnsupportedActionForDeploymentTypeException "UnsupportedActionForDeploymentTypeException"
3683//   A call was submitted that is not supported for the specified deployment type.
3684//
3685// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/SkipWaitTimeForInstanceTermination
3686func (c *CodeDeploy) SkipWaitTimeForInstanceTermination(input *SkipWaitTimeForInstanceTerminationInput) (*SkipWaitTimeForInstanceTerminationOutput, error) {
3687	req, out := c.SkipWaitTimeForInstanceTerminationRequest(input)
3688	return out, req.Send()
3689}
3690
3691// SkipWaitTimeForInstanceTerminationWithContext is the same as SkipWaitTimeForInstanceTermination with the addition of
3692// the ability to pass a context and additional request options.
3693//
3694// See SkipWaitTimeForInstanceTermination for details on how to use this API operation.
3695//
3696// The context must be non-nil and will be used for request cancellation. If
3697// the context is nil a panic will occur. In the future the SDK may create
3698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3699// for more information on using Contexts.
3700func (c *CodeDeploy) SkipWaitTimeForInstanceTerminationWithContext(ctx aws.Context, input *SkipWaitTimeForInstanceTerminationInput, opts ...request.Option) (*SkipWaitTimeForInstanceTerminationOutput, error) {
3701	req, out := c.SkipWaitTimeForInstanceTerminationRequest(input)
3702	req.SetContext(ctx)
3703	req.ApplyOptions(opts...)
3704	return out, req.Send()
3705}
3706
3707const opStopDeployment = "StopDeployment"
3708
3709// StopDeploymentRequest generates a "aws/request.Request" representing the
3710// client's request for the StopDeployment operation. The "output" return
3711// value will be populated with the request's response once the request complets
3712// successfuly.
3713//
3714// Use "Send" method on the returned Request to send the API call to the service.
3715// the "output" return value is not valid until after Send returns without error.
3716//
3717// See StopDeployment for more information on using the StopDeployment
3718// API call, and error handling.
3719//
3720// This method is useful when you want to inject custom logic or configuration
3721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3722//
3723//
3724//    // Example sending a request using the StopDeploymentRequest method.
3725//    req, resp := client.StopDeploymentRequest(params)
3726//
3727//    err := req.Send()
3728//    if err == nil { // resp is now filled
3729//        fmt.Println(resp)
3730//    }
3731//
3732// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/StopDeployment
3733func (c *CodeDeploy) StopDeploymentRequest(input *StopDeploymentInput) (req *request.Request, output *StopDeploymentOutput) {
3734	op := &request.Operation{
3735		Name:       opStopDeployment,
3736		HTTPMethod: "POST",
3737		HTTPPath:   "/",
3738	}
3739
3740	if input == nil {
3741		input = &StopDeploymentInput{}
3742	}
3743
3744	output = &StopDeploymentOutput{}
3745	req = c.newRequest(op, input, output)
3746	return
3747}
3748
3749// StopDeployment API operation for AWS CodeDeploy.
3750//
3751// Attempts to stop an ongoing deployment.
3752//
3753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3754// with awserr.Error's Code and Message methods to get detailed information about
3755// the error.
3756//
3757// See the AWS API reference guide for AWS CodeDeploy's
3758// API operation StopDeployment for usage and error information.
3759//
3760// Returned Error Codes:
3761//   * ErrCodeDeploymentIdRequiredException "DeploymentIdRequiredException"
3762//   At least one deployment ID must be specified.
3763//
3764//   * ErrCodeDeploymentDoesNotExistException "DeploymentDoesNotExistException"
3765//   The deployment does not exist with the applicable IAM user or AWS account.
3766//
3767//   * ErrCodeDeploymentAlreadyCompletedException "DeploymentAlreadyCompletedException"
3768//   The deployment is already complete.
3769//
3770//   * ErrCodeInvalidDeploymentIdException "InvalidDeploymentIdException"
3771//   At least one of the deployment IDs was specified in an invalid format.
3772//
3773// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/StopDeployment
3774func (c *CodeDeploy) StopDeployment(input *StopDeploymentInput) (*StopDeploymentOutput, error) {
3775	req, out := c.StopDeploymentRequest(input)
3776	return out, req.Send()
3777}
3778
3779// StopDeploymentWithContext is the same as StopDeployment with the addition of
3780// the ability to pass a context and additional request options.
3781//
3782// See StopDeployment for details on how to use this API operation.
3783//
3784// The context must be non-nil and will be used for request cancellation. If
3785// the context is nil a panic will occur. In the future the SDK may create
3786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3787// for more information on using Contexts.
3788func (c *CodeDeploy) StopDeploymentWithContext(ctx aws.Context, input *StopDeploymentInput, opts ...request.Option) (*StopDeploymentOutput, error) {
3789	req, out := c.StopDeploymentRequest(input)
3790	req.SetContext(ctx)
3791	req.ApplyOptions(opts...)
3792	return out, req.Send()
3793}
3794
3795const opUpdateApplication = "UpdateApplication"
3796
3797// UpdateApplicationRequest generates a "aws/request.Request" representing the
3798// client's request for the UpdateApplication operation. The "output" return
3799// value will be populated with the request's response once the request complets
3800// successfuly.
3801//
3802// Use "Send" method on the returned Request to send the API call to the service.
3803// the "output" return value is not valid until after Send returns without error.
3804//
3805// See UpdateApplication for more information on using the UpdateApplication
3806// API call, and error handling.
3807//
3808// This method is useful when you want to inject custom logic or configuration
3809// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3810//
3811//
3812//    // Example sending a request using the UpdateApplicationRequest method.
3813//    req, resp := client.UpdateApplicationRequest(params)
3814//
3815//    err := req.Send()
3816//    if err == nil { // resp is now filled
3817//        fmt.Println(resp)
3818//    }
3819//
3820// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateApplication
3821func (c *CodeDeploy) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
3822	op := &request.Operation{
3823		Name:       opUpdateApplication,
3824		HTTPMethod: "POST",
3825		HTTPPath:   "/",
3826	}
3827
3828	if input == nil {
3829		input = &UpdateApplicationInput{}
3830	}
3831
3832	output = &UpdateApplicationOutput{}
3833	req = c.newRequest(op, input, output)
3834	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
3835	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
3836	return
3837}
3838
3839// UpdateApplication API operation for AWS CodeDeploy.
3840//
3841// Changes the name of an application.
3842//
3843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3844// with awserr.Error's Code and Message methods to get detailed information about
3845// the error.
3846//
3847// See the AWS API reference guide for AWS CodeDeploy's
3848// API operation UpdateApplication for usage and error information.
3849//
3850// Returned Error Codes:
3851//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
3852//   The minimum number of required application names was not specified.
3853//
3854//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
3855//   The application name was specified in an invalid format.
3856//
3857//   * ErrCodeApplicationAlreadyExistsException "ApplicationAlreadyExistsException"
3858//   An application with the specified name already exists with the applicable
3859//   IAM user or AWS account.
3860//
3861//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
3862//   The application does not exist with the applicable IAM user or AWS account.
3863//
3864// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateApplication
3865func (c *CodeDeploy) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
3866	req, out := c.UpdateApplicationRequest(input)
3867	return out, req.Send()
3868}
3869
3870// UpdateApplicationWithContext is the same as UpdateApplication with the addition of
3871// the ability to pass a context and additional request options.
3872//
3873// See UpdateApplication for details on how to use this API operation.
3874//
3875// The context must be non-nil and will be used for request cancellation. If
3876// the context is nil a panic will occur. In the future the SDK may create
3877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3878// for more information on using Contexts.
3879func (c *CodeDeploy) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
3880	req, out := c.UpdateApplicationRequest(input)
3881	req.SetContext(ctx)
3882	req.ApplyOptions(opts...)
3883	return out, req.Send()
3884}
3885
3886const opUpdateDeploymentGroup = "UpdateDeploymentGroup"
3887
3888// UpdateDeploymentGroupRequest generates a "aws/request.Request" representing the
3889// client's request for the UpdateDeploymentGroup operation. The "output" return
3890// value will be populated with the request's response once the request complets
3891// successfuly.
3892//
3893// Use "Send" method on the returned Request to send the API call to the service.
3894// the "output" return value is not valid until after Send returns without error.
3895//
3896// See UpdateDeploymentGroup for more information on using the UpdateDeploymentGroup
3897// API call, and error handling.
3898//
3899// This method is useful when you want to inject custom logic or configuration
3900// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3901//
3902//
3903//    // Example sending a request using the UpdateDeploymentGroupRequest method.
3904//    req, resp := client.UpdateDeploymentGroupRequest(params)
3905//
3906//    err := req.Send()
3907//    if err == nil { // resp is now filled
3908//        fmt.Println(resp)
3909//    }
3910//
3911// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroup
3912func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupInput) (req *request.Request, output *UpdateDeploymentGroupOutput) {
3913	op := &request.Operation{
3914		Name:       opUpdateDeploymentGroup,
3915		HTTPMethod: "POST",
3916		HTTPPath:   "/",
3917	}
3918
3919	if input == nil {
3920		input = &UpdateDeploymentGroupInput{}
3921	}
3922
3923	output = &UpdateDeploymentGroupOutput{}
3924	req = c.newRequest(op, input, output)
3925	return
3926}
3927
3928// UpdateDeploymentGroup API operation for AWS CodeDeploy.
3929//
3930// Changes information about a deployment group.
3931//
3932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3933// with awserr.Error's Code and Message methods to get detailed information about
3934// the error.
3935//
3936// See the AWS API reference guide for AWS CodeDeploy's
3937// API operation UpdateDeploymentGroup for usage and error information.
3938//
3939// Returned Error Codes:
3940//   * ErrCodeApplicationNameRequiredException "ApplicationNameRequiredException"
3941//   The minimum number of required application names was not specified.
3942//
3943//   * ErrCodeInvalidApplicationNameException "InvalidApplicationNameException"
3944//   The application name was specified in an invalid format.
3945//
3946//   * ErrCodeApplicationDoesNotExistException "ApplicationDoesNotExistException"
3947//   The application does not exist with the applicable IAM user or AWS account.
3948//
3949//   * ErrCodeInvalidDeploymentGroupNameException "InvalidDeploymentGroupNameException"
3950//   The deployment group name was specified in an invalid format.
3951//
3952//   * ErrCodeDeploymentGroupAlreadyExistsException "DeploymentGroupAlreadyExistsException"
3953//   A deployment group with the specified name already exists with the applicable
3954//   IAM user or AWS account.
3955//
3956//   * ErrCodeDeploymentGroupNameRequiredException "DeploymentGroupNameRequiredException"
3957//   The deployment group name was not specified.
3958//
3959//   * ErrCodeDeploymentGroupDoesNotExistException "DeploymentGroupDoesNotExistException"
3960//   The named deployment group does not exist with the applicable IAM user or
3961//   AWS account.
3962//
3963//   * ErrCodeInvalidEC2TagException "InvalidEC2TagException"
3964//   The tag was specified in an invalid format.
3965//
3966//   * ErrCodeInvalidTagException "InvalidTagException"
3967//   The specified tag was specified in an invalid format.
3968//
3969//   * ErrCodeInvalidAutoScalingGroupException "InvalidAutoScalingGroupException"
3970//   The Auto Scaling group was specified in an invalid format or does not exist.
3971//
3972//   * ErrCodeInvalidDeploymentConfigNameException "InvalidDeploymentConfigNameException"
3973//   The deployment configuration name was specified in an invalid format.
3974//
3975//   * ErrCodeDeploymentConfigDoesNotExistException "DeploymentConfigDoesNotExistException"
3976//   The deployment configuration does not exist with the applicable IAM user
3977//   or AWS account.
3978//
3979//   * ErrCodeInvalidRoleException "InvalidRoleException"
3980//   The service role ARN was specified in an invalid format. Or, if an Auto Scaling
3981//   group was specified, the specified service role does not grant the appropriate
3982//   permissions to Auto Scaling.
3983//
3984//   * ErrCodeLifecycleHookLimitExceededException "LifecycleHookLimitExceededException"
3985//   The limit for lifecycle hooks was exceeded.
3986//
3987//   * ErrCodeInvalidTriggerConfigException "InvalidTriggerConfigException"
3988//   The trigger was specified in an invalid format.
3989//
3990//   * ErrCodeTriggerTargetsLimitExceededException "TriggerTargetsLimitExceededException"
3991//   The maximum allowed number of triggers was exceeded.
3992//
3993//   * ErrCodeInvalidAlarmConfigException "InvalidAlarmConfigException"
3994//   The format of the alarm configuration is invalid. Possible causes include:
3995//
3996//      * The alarm list is null.
3997//
3998//      * The alarm object is null.
3999//
4000//      * The alarm name is empty or null or exceeds the 255 character limit.
4001//
4002//      * Two alarms with the same name have been specified.
4003//
4004//      * The alarm configuration is enabled but the alarm list is empty.
4005//
4006//   * ErrCodeAlarmsLimitExceededException "AlarmsLimitExceededException"
4007//   The maximum number of alarms for a deployment group (10) was exceeded.
4008//
4009//   * ErrCodeInvalidAutoRollbackConfigException "InvalidAutoRollbackConfigException"
4010//   The automatic rollback configuration was specified in an invalid format.
4011//   For example, automatic rollback is enabled but an invalid triggering event
4012//   type or no event types were listed.
4013//
4014//   * ErrCodeInvalidLoadBalancerInfoException "InvalidLoadBalancerInfoException"
4015//   An invalid load balancer name, or no load balancer name, was specified.
4016//
4017//   * ErrCodeInvalidDeploymentStyleException "InvalidDeploymentStyleException"
4018//   An invalid deployment style was specified. Valid deployment types include
4019//   "IN_PLACE" and "BLUE_GREEN". Valid deployment options include "WITH_TRAFFIC_CONTROL"
4020//   and "WITHOUT_TRAFFIC_CONTROL".
4021//
4022//   * ErrCodeInvalidBlueGreenDeploymentConfigurationException "InvalidBlueGreenDeploymentConfigurationException"
4023//   The configuration for the blue/green deployment group was provided in an
4024//   invalid format. For information about deployment configuration format, see
4025//   CreateDeploymentConfig.
4026//
4027//   * ErrCodeInvalidEC2TagCombinationException "InvalidEC2TagCombinationException"
4028//   A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but
4029//   only one of these data types can be used in a single call.
4030//
4031//   * ErrCodeInvalidOnPremisesTagCombinationException "InvalidOnPremisesTagCombinationException"
4032//   A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet,
4033//   but only one of these data types can be used in a single call.
4034//
4035//   * ErrCodeTagSetListLimitExceededException "TagSetListLimitExceededException"
4036//   The number of tag groups included in the tag set list exceeded the maximum
4037//   allowed limit of 3.
4038//
4039// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroup
4040func (c *CodeDeploy) UpdateDeploymentGroup(input *UpdateDeploymentGroupInput) (*UpdateDeploymentGroupOutput, error) {
4041	req, out := c.UpdateDeploymentGroupRequest(input)
4042	return out, req.Send()
4043}
4044
4045// UpdateDeploymentGroupWithContext is the same as UpdateDeploymentGroup with the addition of
4046// the ability to pass a context and additional request options.
4047//
4048// See UpdateDeploymentGroup for details on how to use this API operation.
4049//
4050// The context must be non-nil and will be used for request cancellation. If
4051// the context is nil a panic will occur. In the future the SDK may create
4052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4053// for more information on using Contexts.
4054func (c *CodeDeploy) UpdateDeploymentGroupWithContext(ctx aws.Context, input *UpdateDeploymentGroupInput, opts ...request.Option) (*UpdateDeploymentGroupOutput, error) {
4055	req, out := c.UpdateDeploymentGroupRequest(input)
4056	req.SetContext(ctx)
4057	req.ApplyOptions(opts...)
4058	return out, req.Send()
4059}
4060
4061// Represents the input of, and adds tags to, an on-premises instance operation.
4062// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/AddTagsToOnPremisesInstancesInput
4063type AddTagsToOnPremisesInstancesInput struct {
4064	_ struct{} `type:"structure"`
4065
4066	// The names of the on-premises instances to which to add tags.
4067	//
4068	// InstanceNames is a required field
4069	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
4070
4071	// The tag key-value pairs to add to the on-premises instances.
4072	//
4073	// Keys and values are both required. Keys cannot be null or empty strings.
4074	// Value-only tags are not allowed.
4075	//
4076	// Tags is a required field
4077	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
4078}
4079
4080// String returns the string representation
4081func (s AddTagsToOnPremisesInstancesInput) String() string {
4082	return awsutil.Prettify(s)
4083}
4084
4085// GoString returns the string representation
4086func (s AddTagsToOnPremisesInstancesInput) GoString() string {
4087	return s.String()
4088}
4089
4090// Validate inspects the fields of the type to determine if they are valid.
4091func (s *AddTagsToOnPremisesInstancesInput) Validate() error {
4092	invalidParams := request.ErrInvalidParams{Context: "AddTagsToOnPremisesInstancesInput"}
4093	if s.InstanceNames == nil {
4094		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
4095	}
4096	if s.Tags == nil {
4097		invalidParams.Add(request.NewErrParamRequired("Tags"))
4098	}
4099
4100	if invalidParams.Len() > 0 {
4101		return invalidParams
4102	}
4103	return nil
4104}
4105
4106// SetInstanceNames sets the InstanceNames field's value.
4107func (s *AddTagsToOnPremisesInstancesInput) SetInstanceNames(v []*string) *AddTagsToOnPremisesInstancesInput {
4108	s.InstanceNames = v
4109	return s
4110}
4111
4112// SetTags sets the Tags field's value.
4113func (s *AddTagsToOnPremisesInstancesInput) SetTags(v []*Tag) *AddTagsToOnPremisesInstancesInput {
4114	s.Tags = v
4115	return s
4116}
4117
4118// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/AddTagsToOnPremisesInstancesOutput
4119type AddTagsToOnPremisesInstancesOutput struct {
4120	_ struct{} `type:"structure"`
4121}
4122
4123// String returns the string representation
4124func (s AddTagsToOnPremisesInstancesOutput) String() string {
4125	return awsutil.Prettify(s)
4126}
4127
4128// GoString returns the string representation
4129func (s AddTagsToOnPremisesInstancesOutput) GoString() string {
4130	return s.String()
4131}
4132
4133// Information about an alarm.
4134// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/Alarm
4135type Alarm struct {
4136	_ struct{} `type:"structure"`
4137
4138	// The name of the alarm. Maximum length is 255 characters. Each alarm name
4139	// can be used only once in a list of alarms.
4140	Name *string `locationName:"name" type:"string"`
4141}
4142
4143// String returns the string representation
4144func (s Alarm) String() string {
4145	return awsutil.Prettify(s)
4146}
4147
4148// GoString returns the string representation
4149func (s Alarm) GoString() string {
4150	return s.String()
4151}
4152
4153// SetName sets the Name field's value.
4154func (s *Alarm) SetName(v string) *Alarm {
4155	s.Name = &v
4156	return s
4157}
4158
4159// Information about alarms associated with the deployment group.
4160// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/AlarmConfiguration
4161type AlarmConfiguration struct {
4162	_ struct{} `type:"structure"`
4163
4164	// A list of alarms configured for the deployment group. A maximum of 10 alarms
4165	// can be added to a deployment group.
4166	Alarms []*Alarm `locationName:"alarms" type:"list"`
4167
4168	// Indicates whether the alarm configuration is enabled.
4169	Enabled *bool `locationName:"enabled" type:"boolean"`
4170
4171	// Indicates whether a deployment should continue if information about the current
4172	// state of alarms cannot be retrieved from Amazon CloudWatch. The default value
4173	// is false.
4174	//
4175	//    * true: The deployment will proceed even if alarm status information can't
4176	//    be retrieved from Amazon CloudWatch.
4177	//
4178	//    * false: The deployment will stop if alarm status information can't be
4179	//    retrieved from Amazon CloudWatch.
4180	IgnorePollAlarmFailure *bool `locationName:"ignorePollAlarmFailure" type:"boolean"`
4181}
4182
4183// String returns the string representation
4184func (s AlarmConfiguration) String() string {
4185	return awsutil.Prettify(s)
4186}
4187
4188// GoString returns the string representation
4189func (s AlarmConfiguration) GoString() string {
4190	return s.String()
4191}
4192
4193// SetAlarms sets the Alarms field's value.
4194func (s *AlarmConfiguration) SetAlarms(v []*Alarm) *AlarmConfiguration {
4195	s.Alarms = v
4196	return s
4197}
4198
4199// SetEnabled sets the Enabled field's value.
4200func (s *AlarmConfiguration) SetEnabled(v bool) *AlarmConfiguration {
4201	s.Enabled = &v
4202	return s
4203}
4204
4205// SetIgnorePollAlarmFailure sets the IgnorePollAlarmFailure field's value.
4206func (s *AlarmConfiguration) SetIgnorePollAlarmFailure(v bool) *AlarmConfiguration {
4207	s.IgnorePollAlarmFailure = &v
4208	return s
4209}
4210
4211// Information about an application.
4212// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ApplicationInfo
4213type ApplicationInfo struct {
4214	_ struct{} `type:"structure"`
4215
4216	// The application ID.
4217	ApplicationId *string `locationName:"applicationId" type:"string"`
4218
4219	// The application name.
4220	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
4221
4222	// The time at which the application was created.
4223	CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"unix"`
4224
4225	// The name for a connection to a GitHub account.
4226	GitHubAccountName *string `locationName:"gitHubAccountName" type:"string"`
4227
4228	// True if the user has authenticated with GitHub for the specified application;
4229	// otherwise, false.
4230	LinkedToGitHub *bool `locationName:"linkedToGitHub" type:"boolean"`
4231}
4232
4233// String returns the string representation
4234func (s ApplicationInfo) String() string {
4235	return awsutil.Prettify(s)
4236}
4237
4238// GoString returns the string representation
4239func (s ApplicationInfo) GoString() string {
4240	return s.String()
4241}
4242
4243// SetApplicationId sets the ApplicationId field's value.
4244func (s *ApplicationInfo) SetApplicationId(v string) *ApplicationInfo {
4245	s.ApplicationId = &v
4246	return s
4247}
4248
4249// SetApplicationName sets the ApplicationName field's value.
4250func (s *ApplicationInfo) SetApplicationName(v string) *ApplicationInfo {
4251	s.ApplicationName = &v
4252	return s
4253}
4254
4255// SetCreateTime sets the CreateTime field's value.
4256func (s *ApplicationInfo) SetCreateTime(v time.Time) *ApplicationInfo {
4257	s.CreateTime = &v
4258	return s
4259}
4260
4261// SetGitHubAccountName sets the GitHubAccountName field's value.
4262func (s *ApplicationInfo) SetGitHubAccountName(v string) *ApplicationInfo {
4263	s.GitHubAccountName = &v
4264	return s
4265}
4266
4267// SetLinkedToGitHub sets the LinkedToGitHub field's value.
4268func (s *ApplicationInfo) SetLinkedToGitHub(v bool) *ApplicationInfo {
4269	s.LinkedToGitHub = &v
4270	return s
4271}
4272
4273// Information about a configuration for automatically rolling back to a previous
4274// version of an application revision when a deployment doesn't complete successfully.
4275// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/AutoRollbackConfiguration
4276type AutoRollbackConfiguration struct {
4277	_ struct{} `type:"structure"`
4278
4279	// Indicates whether a defined automatic rollback configuration is currently
4280	// enabled.
4281	Enabled *bool `locationName:"enabled" type:"boolean"`
4282
4283	// The event type or types that trigger a rollback.
4284	Events []*string `locationName:"events" type:"list"`
4285}
4286
4287// String returns the string representation
4288func (s AutoRollbackConfiguration) String() string {
4289	return awsutil.Prettify(s)
4290}
4291
4292// GoString returns the string representation
4293func (s AutoRollbackConfiguration) GoString() string {
4294	return s.String()
4295}
4296
4297// SetEnabled sets the Enabled field's value.
4298func (s *AutoRollbackConfiguration) SetEnabled(v bool) *AutoRollbackConfiguration {
4299	s.Enabled = &v
4300	return s
4301}
4302
4303// SetEvents sets the Events field's value.
4304func (s *AutoRollbackConfiguration) SetEvents(v []*string) *AutoRollbackConfiguration {
4305	s.Events = v
4306	return s
4307}
4308
4309// Information about an Auto Scaling group.
4310// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/AutoScalingGroup
4311type AutoScalingGroup struct {
4312	_ struct{} `type:"structure"`
4313
4314	// An Auto Scaling lifecycle event hook name.
4315	Hook *string `locationName:"hook" type:"string"`
4316
4317	// The Auto Scaling group name.
4318	Name *string `locationName:"name" type:"string"`
4319}
4320
4321// String returns the string representation
4322func (s AutoScalingGroup) String() string {
4323	return awsutil.Prettify(s)
4324}
4325
4326// GoString returns the string representation
4327func (s AutoScalingGroup) GoString() string {
4328	return s.String()
4329}
4330
4331// SetHook sets the Hook field's value.
4332func (s *AutoScalingGroup) SetHook(v string) *AutoScalingGroup {
4333	s.Hook = &v
4334	return s
4335}
4336
4337// SetName sets the Name field's value.
4338func (s *AutoScalingGroup) SetName(v string) *AutoScalingGroup {
4339	s.Name = &v
4340	return s
4341}
4342
4343// Represents the input of a BatchGetApplicationRevisions operation.
4344// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetApplicationRevisionsInput
4345type BatchGetApplicationRevisionsInput struct {
4346	_ struct{} `type:"structure"`
4347
4348	// The name of an AWS CodeDeploy application about which to get revision information.
4349	//
4350	// ApplicationName is a required field
4351	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
4352
4353	// Information to get about the application revisions, including type and location.
4354	//
4355	// Revisions is a required field
4356	Revisions []*RevisionLocation `locationName:"revisions" type:"list" required:"true"`
4357}
4358
4359// String returns the string representation
4360func (s BatchGetApplicationRevisionsInput) String() string {
4361	return awsutil.Prettify(s)
4362}
4363
4364// GoString returns the string representation
4365func (s BatchGetApplicationRevisionsInput) GoString() string {
4366	return s.String()
4367}
4368
4369// Validate inspects the fields of the type to determine if they are valid.
4370func (s *BatchGetApplicationRevisionsInput) Validate() error {
4371	invalidParams := request.ErrInvalidParams{Context: "BatchGetApplicationRevisionsInput"}
4372	if s.ApplicationName == nil {
4373		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
4374	}
4375	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
4376		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
4377	}
4378	if s.Revisions == nil {
4379		invalidParams.Add(request.NewErrParamRequired("Revisions"))
4380	}
4381
4382	if invalidParams.Len() > 0 {
4383		return invalidParams
4384	}
4385	return nil
4386}
4387
4388// SetApplicationName sets the ApplicationName field's value.
4389func (s *BatchGetApplicationRevisionsInput) SetApplicationName(v string) *BatchGetApplicationRevisionsInput {
4390	s.ApplicationName = &v
4391	return s
4392}
4393
4394// SetRevisions sets the Revisions field's value.
4395func (s *BatchGetApplicationRevisionsInput) SetRevisions(v []*RevisionLocation) *BatchGetApplicationRevisionsInput {
4396	s.Revisions = v
4397	return s
4398}
4399
4400// Represents the output of a BatchGetApplicationRevisions operation.
4401// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetApplicationRevisionsOutput
4402type BatchGetApplicationRevisionsOutput struct {
4403	_ struct{} `type:"structure"`
4404
4405	// The name of the application that corresponds to the revisions.
4406	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
4407
4408	// Information about errors that may have occurred during the API call.
4409	ErrorMessage *string `locationName:"errorMessage" type:"string"`
4410
4411	// Additional information about the revisions, including the type and location.
4412	Revisions []*RevisionInfo `locationName:"revisions" type:"list"`
4413}
4414
4415// String returns the string representation
4416func (s BatchGetApplicationRevisionsOutput) String() string {
4417	return awsutil.Prettify(s)
4418}
4419
4420// GoString returns the string representation
4421func (s BatchGetApplicationRevisionsOutput) GoString() string {
4422	return s.String()
4423}
4424
4425// SetApplicationName sets the ApplicationName field's value.
4426func (s *BatchGetApplicationRevisionsOutput) SetApplicationName(v string) *BatchGetApplicationRevisionsOutput {
4427	s.ApplicationName = &v
4428	return s
4429}
4430
4431// SetErrorMessage sets the ErrorMessage field's value.
4432func (s *BatchGetApplicationRevisionsOutput) SetErrorMessage(v string) *BatchGetApplicationRevisionsOutput {
4433	s.ErrorMessage = &v
4434	return s
4435}
4436
4437// SetRevisions sets the Revisions field's value.
4438func (s *BatchGetApplicationRevisionsOutput) SetRevisions(v []*RevisionInfo) *BatchGetApplicationRevisionsOutput {
4439	s.Revisions = v
4440	return s
4441}
4442
4443// Represents the input of a BatchGetApplications operation.
4444// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetApplicationsInput
4445type BatchGetApplicationsInput struct {
4446	_ struct{} `type:"structure"`
4447
4448	// A list of application names separated by spaces.
4449	ApplicationNames []*string `locationName:"applicationNames" type:"list"`
4450}
4451
4452// String returns the string representation
4453func (s BatchGetApplicationsInput) String() string {
4454	return awsutil.Prettify(s)
4455}
4456
4457// GoString returns the string representation
4458func (s BatchGetApplicationsInput) GoString() string {
4459	return s.String()
4460}
4461
4462// SetApplicationNames sets the ApplicationNames field's value.
4463func (s *BatchGetApplicationsInput) SetApplicationNames(v []*string) *BatchGetApplicationsInput {
4464	s.ApplicationNames = v
4465	return s
4466}
4467
4468// Represents the output of a BatchGetApplications operation.
4469// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetApplicationsOutput
4470type BatchGetApplicationsOutput struct {
4471	_ struct{} `type:"structure"`
4472
4473	// Information about the applications.
4474	ApplicationsInfo []*ApplicationInfo `locationName:"applicationsInfo" type:"list"`
4475}
4476
4477// String returns the string representation
4478func (s BatchGetApplicationsOutput) String() string {
4479	return awsutil.Prettify(s)
4480}
4481
4482// GoString returns the string representation
4483func (s BatchGetApplicationsOutput) GoString() string {
4484	return s.String()
4485}
4486
4487// SetApplicationsInfo sets the ApplicationsInfo field's value.
4488func (s *BatchGetApplicationsOutput) SetApplicationsInfo(v []*ApplicationInfo) *BatchGetApplicationsOutput {
4489	s.ApplicationsInfo = v
4490	return s
4491}
4492
4493// Represents the input of a BatchGetDeploymentGroups operation.
4494// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentGroupsInput
4495type BatchGetDeploymentGroupsInput struct {
4496	_ struct{} `type:"structure"`
4497
4498	// The name of an AWS CodeDeploy application associated with the applicable
4499	// IAM user or AWS account.
4500	//
4501	// ApplicationName is a required field
4502	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
4503
4504	// The deployment groups' names.
4505	//
4506	// DeploymentGroupNames is a required field
4507	DeploymentGroupNames []*string `locationName:"deploymentGroupNames" type:"list" required:"true"`
4508}
4509
4510// String returns the string representation
4511func (s BatchGetDeploymentGroupsInput) String() string {
4512	return awsutil.Prettify(s)
4513}
4514
4515// GoString returns the string representation
4516func (s BatchGetDeploymentGroupsInput) GoString() string {
4517	return s.String()
4518}
4519
4520// Validate inspects the fields of the type to determine if they are valid.
4521func (s *BatchGetDeploymentGroupsInput) Validate() error {
4522	invalidParams := request.ErrInvalidParams{Context: "BatchGetDeploymentGroupsInput"}
4523	if s.ApplicationName == nil {
4524		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
4525	}
4526	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
4527		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
4528	}
4529	if s.DeploymentGroupNames == nil {
4530		invalidParams.Add(request.NewErrParamRequired("DeploymentGroupNames"))
4531	}
4532
4533	if invalidParams.Len() > 0 {
4534		return invalidParams
4535	}
4536	return nil
4537}
4538
4539// SetApplicationName sets the ApplicationName field's value.
4540func (s *BatchGetDeploymentGroupsInput) SetApplicationName(v string) *BatchGetDeploymentGroupsInput {
4541	s.ApplicationName = &v
4542	return s
4543}
4544
4545// SetDeploymentGroupNames sets the DeploymentGroupNames field's value.
4546func (s *BatchGetDeploymentGroupsInput) SetDeploymentGroupNames(v []*string) *BatchGetDeploymentGroupsInput {
4547	s.DeploymentGroupNames = v
4548	return s
4549}
4550
4551// Represents the output of a BatchGetDeploymentGroups operation.
4552// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentGroupsOutput
4553type BatchGetDeploymentGroupsOutput struct {
4554	_ struct{} `type:"structure"`
4555
4556	// Information about the deployment groups.
4557	DeploymentGroupsInfo []*DeploymentGroupInfo `locationName:"deploymentGroupsInfo" type:"list"`
4558
4559	// Information about errors that may have occurred during the API call.
4560	ErrorMessage *string `locationName:"errorMessage" type:"string"`
4561}
4562
4563// String returns the string representation
4564func (s BatchGetDeploymentGroupsOutput) String() string {
4565	return awsutil.Prettify(s)
4566}
4567
4568// GoString returns the string representation
4569func (s BatchGetDeploymentGroupsOutput) GoString() string {
4570	return s.String()
4571}
4572
4573// SetDeploymentGroupsInfo sets the DeploymentGroupsInfo field's value.
4574func (s *BatchGetDeploymentGroupsOutput) SetDeploymentGroupsInfo(v []*DeploymentGroupInfo) *BatchGetDeploymentGroupsOutput {
4575	s.DeploymentGroupsInfo = v
4576	return s
4577}
4578
4579// SetErrorMessage sets the ErrorMessage field's value.
4580func (s *BatchGetDeploymentGroupsOutput) SetErrorMessage(v string) *BatchGetDeploymentGroupsOutput {
4581	s.ErrorMessage = &v
4582	return s
4583}
4584
4585// Represents the input of a BatchGetDeploymentInstances operation.
4586// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentInstancesInput
4587type BatchGetDeploymentInstancesInput struct {
4588	_ struct{} `type:"structure"`
4589
4590	// The unique ID of a deployment.
4591	//
4592	// DeploymentId is a required field
4593	DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"`
4594
4595	// The unique IDs of instances in the deployment group.
4596	//
4597	// InstanceIds is a required field
4598	InstanceIds []*string `locationName:"instanceIds" type:"list" required:"true"`
4599}
4600
4601// String returns the string representation
4602func (s BatchGetDeploymentInstancesInput) String() string {
4603	return awsutil.Prettify(s)
4604}
4605
4606// GoString returns the string representation
4607func (s BatchGetDeploymentInstancesInput) GoString() string {
4608	return s.String()
4609}
4610
4611// Validate inspects the fields of the type to determine if they are valid.
4612func (s *BatchGetDeploymentInstancesInput) Validate() error {
4613	invalidParams := request.ErrInvalidParams{Context: "BatchGetDeploymentInstancesInput"}
4614	if s.DeploymentId == nil {
4615		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
4616	}
4617	if s.InstanceIds == nil {
4618		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
4619	}
4620
4621	if invalidParams.Len() > 0 {
4622		return invalidParams
4623	}
4624	return nil
4625}
4626
4627// SetDeploymentId sets the DeploymentId field's value.
4628func (s *BatchGetDeploymentInstancesInput) SetDeploymentId(v string) *BatchGetDeploymentInstancesInput {
4629	s.DeploymentId = &v
4630	return s
4631}
4632
4633// SetInstanceIds sets the InstanceIds field's value.
4634func (s *BatchGetDeploymentInstancesInput) SetInstanceIds(v []*string) *BatchGetDeploymentInstancesInput {
4635	s.InstanceIds = v
4636	return s
4637}
4638
4639// Represents the output of a BatchGetDeploymentInstances operation.
4640// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentInstancesOutput
4641type BatchGetDeploymentInstancesOutput struct {
4642	_ struct{} `type:"structure"`
4643
4644	// Information about errors that may have occurred during the API call.
4645	ErrorMessage *string `locationName:"errorMessage" type:"string"`
4646
4647	// Information about the instance.
4648	InstancesSummary []*InstanceSummary `locationName:"instancesSummary" type:"list"`
4649}
4650
4651// String returns the string representation
4652func (s BatchGetDeploymentInstancesOutput) String() string {
4653	return awsutil.Prettify(s)
4654}
4655
4656// GoString returns the string representation
4657func (s BatchGetDeploymentInstancesOutput) GoString() string {
4658	return s.String()
4659}
4660
4661// SetErrorMessage sets the ErrorMessage field's value.
4662func (s *BatchGetDeploymentInstancesOutput) SetErrorMessage(v string) *BatchGetDeploymentInstancesOutput {
4663	s.ErrorMessage = &v
4664	return s
4665}
4666
4667// SetInstancesSummary sets the InstancesSummary field's value.
4668func (s *BatchGetDeploymentInstancesOutput) SetInstancesSummary(v []*InstanceSummary) *BatchGetDeploymentInstancesOutput {
4669	s.InstancesSummary = v
4670	return s
4671}
4672
4673// Represents the input of a BatchGetDeployments operation.
4674// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentsInput
4675type BatchGetDeploymentsInput struct {
4676	_ struct{} `type:"structure"`
4677
4678	// A list of deployment IDs, separated by spaces.
4679	DeploymentIds []*string `locationName:"deploymentIds" type:"list"`
4680}
4681
4682// String returns the string representation
4683func (s BatchGetDeploymentsInput) String() string {
4684	return awsutil.Prettify(s)
4685}
4686
4687// GoString returns the string representation
4688func (s BatchGetDeploymentsInput) GoString() string {
4689	return s.String()
4690}
4691
4692// SetDeploymentIds sets the DeploymentIds field's value.
4693func (s *BatchGetDeploymentsInput) SetDeploymentIds(v []*string) *BatchGetDeploymentsInput {
4694	s.DeploymentIds = v
4695	return s
4696}
4697
4698// Represents the output of a BatchGetDeployments operation.
4699// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentsOutput
4700type BatchGetDeploymentsOutput struct {
4701	_ struct{} `type:"structure"`
4702
4703	// Information about the deployments.
4704	DeploymentsInfo []*DeploymentInfo `locationName:"deploymentsInfo" type:"list"`
4705}
4706
4707// String returns the string representation
4708func (s BatchGetDeploymentsOutput) String() string {
4709	return awsutil.Prettify(s)
4710}
4711
4712// GoString returns the string representation
4713func (s BatchGetDeploymentsOutput) GoString() string {
4714	return s.String()
4715}
4716
4717// SetDeploymentsInfo sets the DeploymentsInfo field's value.
4718func (s *BatchGetDeploymentsOutput) SetDeploymentsInfo(v []*DeploymentInfo) *BatchGetDeploymentsOutput {
4719	s.DeploymentsInfo = v
4720	return s
4721}
4722
4723// Represents the input of a BatchGetOnPremisesInstances operation.
4724// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetOnPremisesInstancesInput
4725type BatchGetOnPremisesInstancesInput struct {
4726	_ struct{} `type:"structure"`
4727
4728	// The names of the on-premises instances about which to get information.
4729	InstanceNames []*string `locationName:"instanceNames" type:"list"`
4730}
4731
4732// String returns the string representation
4733func (s BatchGetOnPremisesInstancesInput) String() string {
4734	return awsutil.Prettify(s)
4735}
4736
4737// GoString returns the string representation
4738func (s BatchGetOnPremisesInstancesInput) GoString() string {
4739	return s.String()
4740}
4741
4742// SetInstanceNames sets the InstanceNames field's value.
4743func (s *BatchGetOnPremisesInstancesInput) SetInstanceNames(v []*string) *BatchGetOnPremisesInstancesInput {
4744	s.InstanceNames = v
4745	return s
4746}
4747
4748// Represents the output of a BatchGetOnPremisesInstances operation.
4749// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetOnPremisesInstancesOutput
4750type BatchGetOnPremisesInstancesOutput struct {
4751	_ struct{} `type:"structure"`
4752
4753	// Information about the on-premises instances.
4754	InstanceInfos []*InstanceInfo `locationName:"instanceInfos" type:"list"`
4755}
4756
4757// String returns the string representation
4758func (s BatchGetOnPremisesInstancesOutput) String() string {
4759	return awsutil.Prettify(s)
4760}
4761
4762// GoString returns the string representation
4763func (s BatchGetOnPremisesInstancesOutput) GoString() string {
4764	return s.String()
4765}
4766
4767// SetInstanceInfos sets the InstanceInfos field's value.
4768func (s *BatchGetOnPremisesInstancesOutput) SetInstanceInfos(v []*InstanceInfo) *BatchGetOnPremisesInstancesOutput {
4769	s.InstanceInfos = v
4770	return s
4771}
4772
4773// Information about blue/green deployment options for a deployment group.
4774// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BlueGreenDeploymentConfiguration
4775type BlueGreenDeploymentConfiguration struct {
4776	_ struct{} `type:"structure"`
4777
4778	// Information about the action to take when newly provisioned instances are
4779	// ready to receive traffic in a blue/green deployment.
4780	DeploymentReadyOption *DeploymentReadyOption `locationName:"deploymentReadyOption" type:"structure"`
4781
4782	// Information about how instances are provisioned for a replacement environment
4783	// in a blue/green deployment.
4784	GreenFleetProvisioningOption *GreenFleetProvisioningOption `locationName:"greenFleetProvisioningOption" type:"structure"`
4785
4786	// Information about whether to terminate instances in the original fleet during
4787	// a blue/green deployment.
4788	TerminateBlueInstancesOnDeploymentSuccess *BlueInstanceTerminationOption `locationName:"terminateBlueInstancesOnDeploymentSuccess" type:"structure"`
4789}
4790
4791// String returns the string representation
4792func (s BlueGreenDeploymentConfiguration) String() string {
4793	return awsutil.Prettify(s)
4794}
4795
4796// GoString returns the string representation
4797func (s BlueGreenDeploymentConfiguration) GoString() string {
4798	return s.String()
4799}
4800
4801// SetDeploymentReadyOption sets the DeploymentReadyOption field's value.
4802func (s *BlueGreenDeploymentConfiguration) SetDeploymentReadyOption(v *DeploymentReadyOption) *BlueGreenDeploymentConfiguration {
4803	s.DeploymentReadyOption = v
4804	return s
4805}
4806
4807// SetGreenFleetProvisioningOption sets the GreenFleetProvisioningOption field's value.
4808func (s *BlueGreenDeploymentConfiguration) SetGreenFleetProvisioningOption(v *GreenFleetProvisioningOption) *BlueGreenDeploymentConfiguration {
4809	s.GreenFleetProvisioningOption = v
4810	return s
4811}
4812
4813// SetTerminateBlueInstancesOnDeploymentSuccess sets the TerminateBlueInstancesOnDeploymentSuccess field's value.
4814func (s *BlueGreenDeploymentConfiguration) SetTerminateBlueInstancesOnDeploymentSuccess(v *BlueInstanceTerminationOption) *BlueGreenDeploymentConfiguration {
4815	s.TerminateBlueInstancesOnDeploymentSuccess = v
4816	return s
4817}
4818
4819// Information about whether instances in the original environment are terminated
4820// when a blue/green deployment is successful.
4821// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BlueInstanceTerminationOption
4822type BlueInstanceTerminationOption struct {
4823	_ struct{} `type:"structure"`
4824
4825	// The action to take on instances in the original environment after a successful
4826	// blue/green deployment.
4827	//
4828	//    * TERMINATE: Instances are terminated after a specified wait time.
4829	//
4830	//    * KEEP_ALIVE: Instances are left running after they are deregistered from
4831	//    the load balancer and removed from the deployment group.
4832	Action *string `locationName:"action" type:"string" enum:"InstanceAction"`
4833
4834	// The number of minutes to wait after a successful blue/green deployment before
4835	// terminating instances from the original environment.
4836	TerminationWaitTimeInMinutes *int64 `locationName:"terminationWaitTimeInMinutes" type:"integer"`
4837}
4838
4839// String returns the string representation
4840func (s BlueInstanceTerminationOption) String() string {
4841	return awsutil.Prettify(s)
4842}
4843
4844// GoString returns the string representation
4845func (s BlueInstanceTerminationOption) GoString() string {
4846	return s.String()
4847}
4848
4849// SetAction sets the Action field's value.
4850func (s *BlueInstanceTerminationOption) SetAction(v string) *BlueInstanceTerminationOption {
4851	s.Action = &v
4852	return s
4853}
4854
4855// SetTerminationWaitTimeInMinutes sets the TerminationWaitTimeInMinutes field's value.
4856func (s *BlueInstanceTerminationOption) SetTerminationWaitTimeInMinutes(v int64) *BlueInstanceTerminationOption {
4857	s.TerminationWaitTimeInMinutes = &v
4858	return s
4859}
4860
4861// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ContinueDeploymentInput
4862type ContinueDeploymentInput struct {
4863	_ struct{} `type:"structure"`
4864
4865	// The deployment ID of the blue/green deployment for which you want to start
4866	// rerouting traffic to the replacement environment.
4867	DeploymentId *string `locationName:"deploymentId" type:"string"`
4868}
4869
4870// String returns the string representation
4871func (s ContinueDeploymentInput) String() string {
4872	return awsutil.Prettify(s)
4873}
4874
4875// GoString returns the string representation
4876func (s ContinueDeploymentInput) GoString() string {
4877	return s.String()
4878}
4879
4880// SetDeploymentId sets the DeploymentId field's value.
4881func (s *ContinueDeploymentInput) SetDeploymentId(v string) *ContinueDeploymentInput {
4882	s.DeploymentId = &v
4883	return s
4884}
4885
4886// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ContinueDeploymentOutput
4887type ContinueDeploymentOutput struct {
4888	_ struct{} `type:"structure"`
4889}
4890
4891// String returns the string representation
4892func (s ContinueDeploymentOutput) String() string {
4893	return awsutil.Prettify(s)
4894}
4895
4896// GoString returns the string representation
4897func (s ContinueDeploymentOutput) GoString() string {
4898	return s.String()
4899}
4900
4901// Represents the input of a CreateApplication operation.
4902// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateApplicationInput
4903type CreateApplicationInput struct {
4904	_ struct{} `type:"structure"`
4905
4906	// The name of the application. This name must be unique with the applicable
4907	// IAM user or AWS account.
4908	//
4909	// ApplicationName is a required field
4910	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
4911}
4912
4913// String returns the string representation
4914func (s CreateApplicationInput) String() string {
4915	return awsutil.Prettify(s)
4916}
4917
4918// GoString returns the string representation
4919func (s CreateApplicationInput) GoString() string {
4920	return s.String()
4921}
4922
4923// Validate inspects the fields of the type to determine if they are valid.
4924func (s *CreateApplicationInput) Validate() error {
4925	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
4926	if s.ApplicationName == nil {
4927		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
4928	}
4929	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
4930		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
4931	}
4932
4933	if invalidParams.Len() > 0 {
4934		return invalidParams
4935	}
4936	return nil
4937}
4938
4939// SetApplicationName sets the ApplicationName field's value.
4940func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput {
4941	s.ApplicationName = &v
4942	return s
4943}
4944
4945// Represents the output of a CreateApplication operation.
4946// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateApplicationOutput
4947type CreateApplicationOutput struct {
4948	_ struct{} `type:"structure"`
4949
4950	// A unique application ID.
4951	ApplicationId *string `locationName:"applicationId" type:"string"`
4952}
4953
4954// String returns the string representation
4955func (s CreateApplicationOutput) String() string {
4956	return awsutil.Prettify(s)
4957}
4958
4959// GoString returns the string representation
4960func (s CreateApplicationOutput) GoString() string {
4961	return s.String()
4962}
4963
4964// SetApplicationId sets the ApplicationId field's value.
4965func (s *CreateApplicationOutput) SetApplicationId(v string) *CreateApplicationOutput {
4966	s.ApplicationId = &v
4967	return s
4968}
4969
4970// Represents the input of a CreateDeploymentConfig operation.
4971// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentConfigInput
4972type CreateDeploymentConfigInput struct {
4973	_ struct{} `type:"structure"`
4974
4975	// The name of the deployment configuration to create.
4976	//
4977	// DeploymentConfigName is a required field
4978	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string" required:"true"`
4979
4980	// The minimum number of healthy instances that should be available at any time
4981	// during the deployment. There are two parameters expected in the input: type
4982	// and value.
4983	//
4984	// The type parameter takes either of the following values:
4985	//
4986	//    * HOST_COUNT: The value parameter represents the minimum number of healthy
4987	//    instances as an absolute value.
4988	//
4989	//    * FLEET_PERCENT: The value parameter represents the minimum number of
4990	//    healthy instances as a percentage of the total number of instances in
4991	//    the deployment. If you specify FLEET_PERCENT, at the start of the deployment,
4992	//    AWS CodeDeploy converts the percentage to the equivalent number of instance
4993	//    and rounds up fractional instances.
4994	//
4995	// The value parameter takes an integer.
4996	//
4997	// For example, to set a minimum of 95% healthy instance, specify a type of
4998	// FLEET_PERCENT and a value of 95.
4999	//
5000	// MinimumHealthyHosts is a required field
5001	MinimumHealthyHosts *MinimumHealthyHosts `locationName:"minimumHealthyHosts" type:"structure" required:"true"`
5002}
5003
5004// String returns the string representation
5005func (s CreateDeploymentConfigInput) String() string {
5006	return awsutil.Prettify(s)
5007}
5008
5009// GoString returns the string representation
5010func (s CreateDeploymentConfigInput) GoString() string {
5011	return s.String()
5012}
5013
5014// Validate inspects the fields of the type to determine if they are valid.
5015func (s *CreateDeploymentConfigInput) Validate() error {
5016	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentConfigInput"}
5017	if s.DeploymentConfigName == nil {
5018		invalidParams.Add(request.NewErrParamRequired("DeploymentConfigName"))
5019	}
5020	if s.DeploymentConfigName != nil && len(*s.DeploymentConfigName) < 1 {
5021		invalidParams.Add(request.NewErrParamMinLen("DeploymentConfigName", 1))
5022	}
5023	if s.MinimumHealthyHosts == nil {
5024		invalidParams.Add(request.NewErrParamRequired("MinimumHealthyHosts"))
5025	}
5026
5027	if invalidParams.Len() > 0 {
5028		return invalidParams
5029	}
5030	return nil
5031}
5032
5033// SetDeploymentConfigName sets the DeploymentConfigName field's value.
5034func (s *CreateDeploymentConfigInput) SetDeploymentConfigName(v string) *CreateDeploymentConfigInput {
5035	s.DeploymentConfigName = &v
5036	return s
5037}
5038
5039// SetMinimumHealthyHosts sets the MinimumHealthyHosts field's value.
5040func (s *CreateDeploymentConfigInput) SetMinimumHealthyHosts(v *MinimumHealthyHosts) *CreateDeploymentConfigInput {
5041	s.MinimumHealthyHosts = v
5042	return s
5043}
5044
5045// Represents the output of a CreateDeploymentConfig operation.
5046// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentConfigOutput
5047type CreateDeploymentConfigOutput struct {
5048	_ struct{} `type:"structure"`
5049
5050	// A unique deployment configuration ID.
5051	DeploymentConfigId *string `locationName:"deploymentConfigId" type:"string"`
5052}
5053
5054// String returns the string representation
5055func (s CreateDeploymentConfigOutput) String() string {
5056	return awsutil.Prettify(s)
5057}
5058
5059// GoString returns the string representation
5060func (s CreateDeploymentConfigOutput) GoString() string {
5061	return s.String()
5062}
5063
5064// SetDeploymentConfigId sets the DeploymentConfigId field's value.
5065func (s *CreateDeploymentConfigOutput) SetDeploymentConfigId(v string) *CreateDeploymentConfigOutput {
5066	s.DeploymentConfigId = &v
5067	return s
5068}
5069
5070// Represents the input of a CreateDeploymentGroup operation.
5071// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentGroupInput
5072type CreateDeploymentGroupInput struct {
5073	_ struct{} `type:"structure"`
5074
5075	// Information to add about Amazon CloudWatch alarms when the deployment group
5076	// is created.
5077	AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"`
5078
5079	// The name of an AWS CodeDeploy application associated with the applicable
5080	// IAM user or AWS account.
5081	//
5082	// ApplicationName is a required field
5083	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
5084
5085	// Configuration information for an automatic rollback that is added when a
5086	// deployment group is created.
5087	AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"`
5088
5089	// A list of associated Auto Scaling groups.
5090	AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"`
5091
5092	// Information about blue/green deployment options for a deployment group.
5093	BlueGreenDeploymentConfiguration *BlueGreenDeploymentConfiguration `locationName:"blueGreenDeploymentConfiguration" type:"structure"`
5094
5095	// If specified, the deployment configuration name can be either one of the
5096	// predefined configurations provided with AWS CodeDeploy or a custom deployment
5097	// configuration that you create by calling the create deployment configuration
5098	// operation.
5099	//
5100	// CodeDeployDefault.OneAtATime is the default deployment configuration. It
5101	// is used if a configuration isn't specified for the deployment or the deployment
5102	// group.
5103	//
5104	// For more information about the predefined deployment configurations in AWS
5105	// CodeDeploy, see Working with Deployment Groups in AWS CodeDeploy (http://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html)
5106	// in the AWS CodeDeploy User Guide.
5107	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"`
5108
5109	// The name of a new deployment group for the specified application.
5110	//
5111	// DeploymentGroupName is a required field
5112	DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string" required:"true"`
5113
5114	// Information about the type of deployment, in-place or blue/green, that you
5115	// want to run and whether to route deployment traffic behind a load balancer.
5116	DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"`
5117
5118	// The Amazon EC2 tags on which to filter. The deployment group will include
5119	// EC2 instances with any of the specified tags. Cannot be used in the same
5120	// call as ec2TagSet.
5121	Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"`
5122
5123	// Information about groups of tags applied to EC2 instances. The deployment
5124	// group will include only EC2 instances identified by all the tag groups. Cannot
5125	// be used in the same call as ec2TagFilters.
5126	Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"`
5127
5128	// Information about the load balancer used in a deployment.
5129	LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"`
5130
5131	// The on-premises instance tags on which to filter. The deployment group will
5132	// include on-premises instances with any of the specified tags. Cannot be used
5133	// in the same call as OnPremisesTagSet.
5134	OnPremisesInstanceTagFilters []*TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"`
5135
5136	// Information about groups of tags applied to on-premises instances. The deployment
5137	// group will include only on-premises instances identified by all the tag groups.
5138	// Cannot be used in the same call as onPremisesInstanceTagFilters.
5139	OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"`
5140
5141	// A service role ARN that allows AWS CodeDeploy to act on the user's behalf
5142	// when interacting with AWS services.
5143	//
5144	// ServiceRoleArn is a required field
5145	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string" required:"true"`
5146
5147	// Information about triggers to create when the deployment group is created.
5148	// For examples, see Create a Trigger for an AWS CodeDeploy Event (http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-sns.html)
5149	// in the AWS CodeDeploy User Guide.
5150	TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"`
5151}
5152
5153// String returns the string representation
5154func (s CreateDeploymentGroupInput) String() string {
5155	return awsutil.Prettify(s)
5156}
5157
5158// GoString returns the string representation
5159func (s CreateDeploymentGroupInput) GoString() string {
5160	return s.String()
5161}
5162
5163// Validate inspects the fields of the type to determine if they are valid.
5164func (s *CreateDeploymentGroupInput) Validate() error {
5165	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentGroupInput"}
5166	if s.ApplicationName == nil {
5167		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5168	}
5169	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5170		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5171	}
5172	if s.DeploymentConfigName != nil && len(*s.DeploymentConfigName) < 1 {
5173		invalidParams.Add(request.NewErrParamMinLen("DeploymentConfigName", 1))
5174	}
5175	if s.DeploymentGroupName == nil {
5176		invalidParams.Add(request.NewErrParamRequired("DeploymentGroupName"))
5177	}
5178	if s.DeploymentGroupName != nil && len(*s.DeploymentGroupName) < 1 {
5179		invalidParams.Add(request.NewErrParamMinLen("DeploymentGroupName", 1))
5180	}
5181	if s.ServiceRoleArn == nil {
5182		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
5183	}
5184
5185	if invalidParams.Len() > 0 {
5186		return invalidParams
5187	}
5188	return nil
5189}
5190
5191// SetAlarmConfiguration sets the AlarmConfiguration field's value.
5192func (s *CreateDeploymentGroupInput) SetAlarmConfiguration(v *AlarmConfiguration) *CreateDeploymentGroupInput {
5193	s.AlarmConfiguration = v
5194	return s
5195}
5196
5197// SetApplicationName sets the ApplicationName field's value.
5198func (s *CreateDeploymentGroupInput) SetApplicationName(v string) *CreateDeploymentGroupInput {
5199	s.ApplicationName = &v
5200	return s
5201}
5202
5203// SetAutoRollbackConfiguration sets the AutoRollbackConfiguration field's value.
5204func (s *CreateDeploymentGroupInput) SetAutoRollbackConfiguration(v *AutoRollbackConfiguration) *CreateDeploymentGroupInput {
5205	s.AutoRollbackConfiguration = v
5206	return s
5207}
5208
5209// SetAutoScalingGroups sets the AutoScalingGroups field's value.
5210func (s *CreateDeploymentGroupInput) SetAutoScalingGroups(v []*string) *CreateDeploymentGroupInput {
5211	s.AutoScalingGroups = v
5212	return s
5213}
5214
5215// SetBlueGreenDeploymentConfiguration sets the BlueGreenDeploymentConfiguration field's value.
5216func (s *CreateDeploymentGroupInput) SetBlueGreenDeploymentConfiguration(v *BlueGreenDeploymentConfiguration) *CreateDeploymentGroupInput {
5217	s.BlueGreenDeploymentConfiguration = v
5218	return s
5219}
5220
5221// SetDeploymentConfigName sets the DeploymentConfigName field's value.
5222func (s *CreateDeploymentGroupInput) SetDeploymentConfigName(v string) *CreateDeploymentGroupInput {
5223	s.DeploymentConfigName = &v
5224	return s
5225}
5226
5227// SetDeploymentGroupName sets the DeploymentGroupName field's value.
5228func (s *CreateDeploymentGroupInput) SetDeploymentGroupName(v string) *CreateDeploymentGroupInput {
5229	s.DeploymentGroupName = &v
5230	return s
5231}
5232
5233// SetDeploymentStyle sets the DeploymentStyle field's value.
5234func (s *CreateDeploymentGroupInput) SetDeploymentStyle(v *DeploymentStyle) *CreateDeploymentGroupInput {
5235	s.DeploymentStyle = v
5236	return s
5237}
5238
5239// SetEc2TagFilters sets the Ec2TagFilters field's value.
5240func (s *CreateDeploymentGroupInput) SetEc2TagFilters(v []*EC2TagFilter) *CreateDeploymentGroupInput {
5241	s.Ec2TagFilters = v
5242	return s
5243}
5244
5245// SetEc2TagSet sets the Ec2TagSet field's value.
5246func (s *CreateDeploymentGroupInput) SetEc2TagSet(v *EC2TagSet) *CreateDeploymentGroupInput {
5247	s.Ec2TagSet = v
5248	return s
5249}
5250
5251// SetLoadBalancerInfo sets the LoadBalancerInfo field's value.
5252func (s *CreateDeploymentGroupInput) SetLoadBalancerInfo(v *LoadBalancerInfo) *CreateDeploymentGroupInput {
5253	s.LoadBalancerInfo = v
5254	return s
5255}
5256
5257// SetOnPremisesInstanceTagFilters sets the OnPremisesInstanceTagFilters field's value.
5258func (s *CreateDeploymentGroupInput) SetOnPremisesInstanceTagFilters(v []*TagFilter) *CreateDeploymentGroupInput {
5259	s.OnPremisesInstanceTagFilters = v
5260	return s
5261}
5262
5263// SetOnPremisesTagSet sets the OnPremisesTagSet field's value.
5264func (s *CreateDeploymentGroupInput) SetOnPremisesTagSet(v *OnPremisesTagSet) *CreateDeploymentGroupInput {
5265	s.OnPremisesTagSet = v
5266	return s
5267}
5268
5269// SetServiceRoleArn sets the ServiceRoleArn field's value.
5270func (s *CreateDeploymentGroupInput) SetServiceRoleArn(v string) *CreateDeploymentGroupInput {
5271	s.ServiceRoleArn = &v
5272	return s
5273}
5274
5275// SetTriggerConfigurations sets the TriggerConfigurations field's value.
5276func (s *CreateDeploymentGroupInput) SetTriggerConfigurations(v []*TriggerConfig) *CreateDeploymentGroupInput {
5277	s.TriggerConfigurations = v
5278	return s
5279}
5280
5281// Represents the output of a CreateDeploymentGroup operation.
5282// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentGroupOutput
5283type CreateDeploymentGroupOutput struct {
5284	_ struct{} `type:"structure"`
5285
5286	// A unique deployment group ID.
5287	DeploymentGroupId *string `locationName:"deploymentGroupId" type:"string"`
5288}
5289
5290// String returns the string representation
5291func (s CreateDeploymentGroupOutput) String() string {
5292	return awsutil.Prettify(s)
5293}
5294
5295// GoString returns the string representation
5296func (s CreateDeploymentGroupOutput) GoString() string {
5297	return s.String()
5298}
5299
5300// SetDeploymentGroupId sets the DeploymentGroupId field's value.
5301func (s *CreateDeploymentGroupOutput) SetDeploymentGroupId(v string) *CreateDeploymentGroupOutput {
5302	s.DeploymentGroupId = &v
5303	return s
5304}
5305
5306// Represents the input of a CreateDeployment operation.
5307// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentInput
5308type CreateDeploymentInput struct {
5309	_ struct{} `type:"structure"`
5310
5311	// The name of an AWS CodeDeploy application associated with the applicable
5312	// IAM user or AWS account.
5313	//
5314	// ApplicationName is a required field
5315	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
5316
5317	// Configuration information for an automatic rollback that is added when a
5318	// deployment is created.
5319	AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"`
5320
5321	// The name of a deployment configuration associated with the applicable IAM
5322	// user or AWS account.
5323	//
5324	// If not specified, the value configured in the deployment group will be used
5325	// as the default. If the deployment group does not have a deployment configuration
5326	// associated with it, then CodeDeployDefault.OneAtATime will be used by default.
5327	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"`
5328
5329	// The name of the deployment group.
5330	DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string"`
5331
5332	// A comment about the deployment.
5333	Description *string `locationName:"description" type:"string"`
5334
5335	// Information about how AWS CodeDeploy handles files that already exist in
5336	// a deployment target location but weren't part of the previous successful
5337	// deployment.
5338	//
5339	// The fileExistsBehavior parameter takes any of the following values:
5340	//
5341	//    * DISALLOW: The deployment fails. This is also the default behavior if
5342	//    no option is specified.
5343	//
5344	//    * OVERWRITE: The version of the file from the application revision currently
5345	//    being deployed replaces the version already on the instance.
5346	//
5347	//    * RETAIN: The version of the file already on the instance is kept and
5348	//    used as part of the new deployment.
5349	FileExistsBehavior *string `locationName:"fileExistsBehavior" type:"string" enum:"FileExistsBehavior"`
5350
5351	// If set to true, then if the deployment causes the ApplicationStop deployment
5352	// lifecycle event to an instance to fail, the deployment to that instance will
5353	// not be considered to have failed at that point and will continue on to the
5354	// BeforeInstall deployment lifecycle event.
5355	//
5356	// If set to false or not specified, then if the deployment causes the ApplicationStop
5357	// deployment lifecycle event to fail to an instance, the deployment to that
5358	// instance will stop, and the deployment to that instance will be considered
5359	// to have failed.
5360	IgnoreApplicationStopFailures *bool `locationName:"ignoreApplicationStopFailures" type:"boolean"`
5361
5362	// The type and location of the revision to deploy.
5363	Revision *RevisionLocation `locationName:"revision" type:"structure"`
5364
5365	// Information about the instances that will belong to the replacement environment
5366	// in a blue/green deployment.
5367	TargetInstances *TargetInstances `locationName:"targetInstances" type:"structure"`
5368
5369	// Indicates whether to deploy to all instances or only to instances that are
5370	// not running the latest application revision.
5371	UpdateOutdatedInstancesOnly *bool `locationName:"updateOutdatedInstancesOnly" type:"boolean"`
5372}
5373
5374// String returns the string representation
5375func (s CreateDeploymentInput) String() string {
5376	return awsutil.Prettify(s)
5377}
5378
5379// GoString returns the string representation
5380func (s CreateDeploymentInput) GoString() string {
5381	return s.String()
5382}
5383
5384// Validate inspects the fields of the type to determine if they are valid.
5385func (s *CreateDeploymentInput) Validate() error {
5386	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
5387	if s.ApplicationName == nil {
5388		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5389	}
5390	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5391		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5392	}
5393	if s.DeploymentConfigName != nil && len(*s.DeploymentConfigName) < 1 {
5394		invalidParams.Add(request.NewErrParamMinLen("DeploymentConfigName", 1))
5395	}
5396	if s.DeploymentGroupName != nil && len(*s.DeploymentGroupName) < 1 {
5397		invalidParams.Add(request.NewErrParamMinLen("DeploymentGroupName", 1))
5398	}
5399
5400	if invalidParams.Len() > 0 {
5401		return invalidParams
5402	}
5403	return nil
5404}
5405
5406// SetApplicationName sets the ApplicationName field's value.
5407func (s *CreateDeploymentInput) SetApplicationName(v string) *CreateDeploymentInput {
5408	s.ApplicationName = &v
5409	return s
5410}
5411
5412// SetAutoRollbackConfiguration sets the AutoRollbackConfiguration field's value.
5413func (s *CreateDeploymentInput) SetAutoRollbackConfiguration(v *AutoRollbackConfiguration) *CreateDeploymentInput {
5414	s.AutoRollbackConfiguration = v
5415	return s
5416}
5417
5418// SetDeploymentConfigName sets the DeploymentConfigName field's value.
5419func (s *CreateDeploymentInput) SetDeploymentConfigName(v string) *CreateDeploymentInput {
5420	s.DeploymentConfigName = &v
5421	return s
5422}
5423
5424// SetDeploymentGroupName sets the DeploymentGroupName field's value.
5425func (s *CreateDeploymentInput) SetDeploymentGroupName(v string) *CreateDeploymentInput {
5426	s.DeploymentGroupName = &v
5427	return s
5428}
5429
5430// SetDescription sets the Description field's value.
5431func (s *CreateDeploymentInput) SetDescription(v string) *CreateDeploymentInput {
5432	s.Description = &v
5433	return s
5434}
5435
5436// SetFileExistsBehavior sets the FileExistsBehavior field's value.
5437func (s *CreateDeploymentInput) SetFileExistsBehavior(v string) *CreateDeploymentInput {
5438	s.FileExistsBehavior = &v
5439	return s
5440}
5441
5442// SetIgnoreApplicationStopFailures sets the IgnoreApplicationStopFailures field's value.
5443func (s *CreateDeploymentInput) SetIgnoreApplicationStopFailures(v bool) *CreateDeploymentInput {
5444	s.IgnoreApplicationStopFailures = &v
5445	return s
5446}
5447
5448// SetRevision sets the Revision field's value.
5449func (s *CreateDeploymentInput) SetRevision(v *RevisionLocation) *CreateDeploymentInput {
5450	s.Revision = v
5451	return s
5452}
5453
5454// SetTargetInstances sets the TargetInstances field's value.
5455func (s *CreateDeploymentInput) SetTargetInstances(v *TargetInstances) *CreateDeploymentInput {
5456	s.TargetInstances = v
5457	return s
5458}
5459
5460// SetUpdateOutdatedInstancesOnly sets the UpdateOutdatedInstancesOnly field's value.
5461func (s *CreateDeploymentInput) SetUpdateOutdatedInstancesOnly(v bool) *CreateDeploymentInput {
5462	s.UpdateOutdatedInstancesOnly = &v
5463	return s
5464}
5465
5466// Represents the output of a CreateDeployment operation.
5467// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentOutput
5468type CreateDeploymentOutput struct {
5469	_ struct{} `type:"structure"`
5470
5471	// A unique deployment ID.
5472	DeploymentId *string `locationName:"deploymentId" type:"string"`
5473}
5474
5475// String returns the string representation
5476func (s CreateDeploymentOutput) String() string {
5477	return awsutil.Prettify(s)
5478}
5479
5480// GoString returns the string representation
5481func (s CreateDeploymentOutput) GoString() string {
5482	return s.String()
5483}
5484
5485// SetDeploymentId sets the DeploymentId field's value.
5486func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
5487	s.DeploymentId = &v
5488	return s
5489}
5490
5491// Represents the input of a DeleteApplication operation.
5492// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteApplicationInput
5493type DeleteApplicationInput struct {
5494	_ struct{} `type:"structure"`
5495
5496	// The name of an AWS CodeDeploy application associated with the applicable
5497	// IAM user or AWS account.
5498	//
5499	// ApplicationName is a required field
5500	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
5501}
5502
5503// String returns the string representation
5504func (s DeleteApplicationInput) String() string {
5505	return awsutil.Prettify(s)
5506}
5507
5508// GoString returns the string representation
5509func (s DeleteApplicationInput) GoString() string {
5510	return s.String()
5511}
5512
5513// Validate inspects the fields of the type to determine if they are valid.
5514func (s *DeleteApplicationInput) Validate() error {
5515	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
5516	if s.ApplicationName == nil {
5517		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5518	}
5519	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5520		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5521	}
5522
5523	if invalidParams.Len() > 0 {
5524		return invalidParams
5525	}
5526	return nil
5527}
5528
5529// SetApplicationName sets the ApplicationName field's value.
5530func (s *DeleteApplicationInput) SetApplicationName(v string) *DeleteApplicationInput {
5531	s.ApplicationName = &v
5532	return s
5533}
5534
5535// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteApplicationOutput
5536type DeleteApplicationOutput struct {
5537	_ struct{} `type:"structure"`
5538}
5539
5540// String returns the string representation
5541func (s DeleteApplicationOutput) String() string {
5542	return awsutil.Prettify(s)
5543}
5544
5545// GoString returns the string representation
5546func (s DeleteApplicationOutput) GoString() string {
5547	return s.String()
5548}
5549
5550// Represents the input of a DeleteDeploymentConfig operation.
5551// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentConfigInput
5552type DeleteDeploymentConfigInput struct {
5553	_ struct{} `type:"structure"`
5554
5555	// The name of a deployment configuration associated with the applicable IAM
5556	// user or AWS account.
5557	//
5558	// DeploymentConfigName is a required field
5559	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string" required:"true"`
5560}
5561
5562// String returns the string representation
5563func (s DeleteDeploymentConfigInput) String() string {
5564	return awsutil.Prettify(s)
5565}
5566
5567// GoString returns the string representation
5568func (s DeleteDeploymentConfigInput) GoString() string {
5569	return s.String()
5570}
5571
5572// Validate inspects the fields of the type to determine if they are valid.
5573func (s *DeleteDeploymentConfigInput) Validate() error {
5574	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentConfigInput"}
5575	if s.DeploymentConfigName == nil {
5576		invalidParams.Add(request.NewErrParamRequired("DeploymentConfigName"))
5577	}
5578	if s.DeploymentConfigName != nil && len(*s.DeploymentConfigName) < 1 {
5579		invalidParams.Add(request.NewErrParamMinLen("DeploymentConfigName", 1))
5580	}
5581
5582	if invalidParams.Len() > 0 {
5583		return invalidParams
5584	}
5585	return nil
5586}
5587
5588// SetDeploymentConfigName sets the DeploymentConfigName field's value.
5589func (s *DeleteDeploymentConfigInput) SetDeploymentConfigName(v string) *DeleteDeploymentConfigInput {
5590	s.DeploymentConfigName = &v
5591	return s
5592}
5593
5594// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentConfigOutput
5595type DeleteDeploymentConfigOutput struct {
5596	_ struct{} `type:"structure"`
5597}
5598
5599// String returns the string representation
5600func (s DeleteDeploymentConfigOutput) String() string {
5601	return awsutil.Prettify(s)
5602}
5603
5604// GoString returns the string representation
5605func (s DeleteDeploymentConfigOutput) GoString() string {
5606	return s.String()
5607}
5608
5609// Represents the input of a DeleteDeploymentGroup operation.
5610// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentGroupInput
5611type DeleteDeploymentGroupInput struct {
5612	_ struct{} `type:"structure"`
5613
5614	// The name of an AWS CodeDeploy application associated with the applicable
5615	// IAM user or AWS account.
5616	//
5617	// ApplicationName is a required field
5618	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
5619
5620	// The name of an existing deployment group for the specified application.
5621	//
5622	// DeploymentGroupName is a required field
5623	DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string" required:"true"`
5624}
5625
5626// String returns the string representation
5627func (s DeleteDeploymentGroupInput) String() string {
5628	return awsutil.Prettify(s)
5629}
5630
5631// GoString returns the string representation
5632func (s DeleteDeploymentGroupInput) GoString() string {
5633	return s.String()
5634}
5635
5636// Validate inspects the fields of the type to determine if they are valid.
5637func (s *DeleteDeploymentGroupInput) Validate() error {
5638	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentGroupInput"}
5639	if s.ApplicationName == nil {
5640		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5641	}
5642	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5643		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5644	}
5645	if s.DeploymentGroupName == nil {
5646		invalidParams.Add(request.NewErrParamRequired("DeploymentGroupName"))
5647	}
5648	if s.DeploymentGroupName != nil && len(*s.DeploymentGroupName) < 1 {
5649		invalidParams.Add(request.NewErrParamMinLen("DeploymentGroupName", 1))
5650	}
5651
5652	if invalidParams.Len() > 0 {
5653		return invalidParams
5654	}
5655	return nil
5656}
5657
5658// SetApplicationName sets the ApplicationName field's value.
5659func (s *DeleteDeploymentGroupInput) SetApplicationName(v string) *DeleteDeploymentGroupInput {
5660	s.ApplicationName = &v
5661	return s
5662}
5663
5664// SetDeploymentGroupName sets the DeploymentGroupName field's value.
5665func (s *DeleteDeploymentGroupInput) SetDeploymentGroupName(v string) *DeleteDeploymentGroupInput {
5666	s.DeploymentGroupName = &v
5667	return s
5668}
5669
5670// Represents the output of a DeleteDeploymentGroup operation.
5671// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentGroupOutput
5672type DeleteDeploymentGroupOutput struct {
5673	_ struct{} `type:"structure"`
5674
5675	// If the output contains no data, and the corresponding deployment group contained
5676	// at least one Auto Scaling group, AWS CodeDeploy successfully removed all
5677	// corresponding Auto Scaling lifecycle event hooks from the Amazon EC2 instances
5678	// in the Auto Scaling group. If the output contains data, AWS CodeDeploy could
5679	// not remove some Auto Scaling lifecycle event hooks from the Amazon EC2 instances
5680	// in the Auto Scaling group.
5681	HooksNotCleanedUp []*AutoScalingGroup `locationName:"hooksNotCleanedUp" type:"list"`
5682}
5683
5684// String returns the string representation
5685func (s DeleteDeploymentGroupOutput) String() string {
5686	return awsutil.Prettify(s)
5687}
5688
5689// GoString returns the string representation
5690func (s DeleteDeploymentGroupOutput) GoString() string {
5691	return s.String()
5692}
5693
5694// SetHooksNotCleanedUp sets the HooksNotCleanedUp field's value.
5695func (s *DeleteDeploymentGroupOutput) SetHooksNotCleanedUp(v []*AutoScalingGroup) *DeleteDeploymentGroupOutput {
5696	s.HooksNotCleanedUp = v
5697	return s
5698}
5699
5700// Information about a deployment configuration.
5701// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentConfigInfo
5702type DeploymentConfigInfo struct {
5703	_ struct{} `type:"structure"`
5704
5705	// The time at which the deployment configuration was created.
5706	CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"unix"`
5707
5708	// The deployment configuration ID.
5709	DeploymentConfigId *string `locationName:"deploymentConfigId" type:"string"`
5710
5711	// The deployment configuration name.
5712	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"`
5713
5714	// Information about the number or percentage of minimum healthy instance.
5715	MinimumHealthyHosts *MinimumHealthyHosts `locationName:"minimumHealthyHosts" type:"structure"`
5716}
5717
5718// String returns the string representation
5719func (s DeploymentConfigInfo) String() string {
5720	return awsutil.Prettify(s)
5721}
5722
5723// GoString returns the string representation
5724func (s DeploymentConfigInfo) GoString() string {
5725	return s.String()
5726}
5727
5728// SetCreateTime sets the CreateTime field's value.
5729func (s *DeploymentConfigInfo) SetCreateTime(v time.Time) *DeploymentConfigInfo {
5730	s.CreateTime = &v
5731	return s
5732}
5733
5734// SetDeploymentConfigId sets the DeploymentConfigId field's value.
5735func (s *DeploymentConfigInfo) SetDeploymentConfigId(v string) *DeploymentConfigInfo {
5736	s.DeploymentConfigId = &v
5737	return s
5738}
5739
5740// SetDeploymentConfigName sets the DeploymentConfigName field's value.
5741func (s *DeploymentConfigInfo) SetDeploymentConfigName(v string) *DeploymentConfigInfo {
5742	s.DeploymentConfigName = &v
5743	return s
5744}
5745
5746// SetMinimumHealthyHosts sets the MinimumHealthyHosts field's value.
5747func (s *DeploymentConfigInfo) SetMinimumHealthyHosts(v *MinimumHealthyHosts) *DeploymentConfigInfo {
5748	s.MinimumHealthyHosts = v
5749	return s
5750}
5751
5752// Information about a deployment group.
5753// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentGroupInfo
5754type DeploymentGroupInfo struct {
5755	_ struct{} `type:"structure"`
5756
5757	// A list of alarms associated with the deployment group.
5758	AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"`
5759
5760	// The application name.
5761	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
5762
5763	// Information about the automatic rollback configuration associated with the
5764	// deployment group.
5765	AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"`
5766
5767	// A list of associated Auto Scaling groups.
5768	AutoScalingGroups []*AutoScalingGroup `locationName:"autoScalingGroups" type:"list"`
5769
5770	// Information about blue/green deployment options for a deployment group.
5771	BlueGreenDeploymentConfiguration *BlueGreenDeploymentConfiguration `locationName:"blueGreenDeploymentConfiguration" type:"structure"`
5772
5773	// The deployment configuration name.
5774	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"`
5775
5776	// The deployment group ID.
5777	DeploymentGroupId *string `locationName:"deploymentGroupId" type:"string"`
5778
5779	// The deployment group name.
5780	DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string"`
5781
5782	// Information about the type of deployment, either in-place or blue/green,
5783	// you want to run and whether to route deployment traffic behind a load balancer.
5784	DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"`
5785
5786	// The Amazon EC2 tags on which to filter. The deployment group includes EC2
5787	// instances with any of the specified tags.
5788	Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"`
5789
5790	// Information about groups of tags applied to an EC2 instance. The deployment
5791	// group includes only EC2 instances identified by all the tag groups. Cannot
5792	// be used in the same call as ec2TagFilters.
5793	Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"`
5794
5795	// Information about the most recent attempted deployment to the deployment
5796	// group.
5797	LastAttemptedDeployment *LastDeploymentInfo `locationName:"lastAttemptedDeployment" type:"structure"`
5798
5799	// Information about the most recent successful deployment to the deployment
5800	// group.
5801	LastSuccessfulDeployment *LastDeploymentInfo `locationName:"lastSuccessfulDeployment" type:"structure"`
5802
5803	// Information about the load balancer to use in a deployment.
5804	LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"`
5805
5806	// The on-premises instance tags on which to filter. The deployment group includes
5807	// on-premises instances with any of the specified tags.
5808	OnPremisesInstanceTagFilters []*TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"`
5809
5810	// Information about groups of tags applied to an on-premises instance. The
5811	// deployment group includes only on-premises instances identified by all the
5812	// tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.
5813	OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"`
5814
5815	// A service role ARN.
5816	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
5817
5818	// Information about the deployment group's target revision, including type
5819	// and location.
5820	TargetRevision *RevisionLocation `locationName:"targetRevision" type:"structure"`
5821
5822	// Information about triggers associated with the deployment group.
5823	TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"`
5824}
5825
5826// String returns the string representation
5827func (s DeploymentGroupInfo) String() string {
5828	return awsutil.Prettify(s)
5829}
5830
5831// GoString returns the string representation
5832func (s DeploymentGroupInfo) GoString() string {
5833	return s.String()
5834}
5835
5836// SetAlarmConfiguration sets the AlarmConfiguration field's value.
5837func (s *DeploymentGroupInfo) SetAlarmConfiguration(v *AlarmConfiguration) *DeploymentGroupInfo {
5838	s.AlarmConfiguration = v
5839	return s
5840}
5841
5842// SetApplicationName sets the ApplicationName field's value.
5843func (s *DeploymentGroupInfo) SetApplicationName(v string) *DeploymentGroupInfo {
5844	s.ApplicationName = &v
5845	return s
5846}
5847
5848// SetAutoRollbackConfiguration sets the AutoRollbackConfiguration field's value.
5849func (s *DeploymentGroupInfo) SetAutoRollbackConfiguration(v *AutoRollbackConfiguration) *DeploymentGroupInfo {
5850	s.AutoRollbackConfiguration = v
5851	return s
5852}
5853
5854// SetAutoScalingGroups sets the AutoScalingGroups field's value.
5855func (s *DeploymentGroupInfo) SetAutoScalingGroups(v []*AutoScalingGroup) *DeploymentGroupInfo {
5856	s.AutoScalingGroups = v
5857	return s
5858}
5859
5860// SetBlueGreenDeploymentConfiguration sets the BlueGreenDeploymentConfiguration field's value.
5861func (s *DeploymentGroupInfo) SetBlueGreenDeploymentConfiguration(v *BlueGreenDeploymentConfiguration) *DeploymentGroupInfo {
5862	s.BlueGreenDeploymentConfiguration = v
5863	return s
5864}
5865
5866// SetDeploymentConfigName sets the DeploymentConfigName field's value.
5867func (s *DeploymentGroupInfo) SetDeploymentConfigName(v string) *DeploymentGroupInfo {
5868	s.DeploymentConfigName = &v
5869	return s
5870}
5871
5872// SetDeploymentGroupId sets the DeploymentGroupId field's value.
5873func (s *DeploymentGroupInfo) SetDeploymentGroupId(v string) *DeploymentGroupInfo {
5874	s.DeploymentGroupId = &v
5875	return s
5876}
5877
5878// SetDeploymentGroupName sets the DeploymentGroupName field's value.
5879func (s *DeploymentGroupInfo) SetDeploymentGroupName(v string) *DeploymentGroupInfo {
5880	s.DeploymentGroupName = &v
5881	return s
5882}
5883
5884// SetDeploymentStyle sets the DeploymentStyle field's value.
5885func (s *DeploymentGroupInfo) SetDeploymentStyle(v *DeploymentStyle) *DeploymentGroupInfo {
5886	s.DeploymentStyle = v
5887	return s
5888}
5889
5890// SetEc2TagFilters sets the Ec2TagFilters field's value.
5891func (s *DeploymentGroupInfo) SetEc2TagFilters(v []*EC2TagFilter) *DeploymentGroupInfo {
5892	s.Ec2TagFilters = v
5893	return s
5894}
5895
5896// SetEc2TagSet sets the Ec2TagSet field's value.
5897func (s *DeploymentGroupInfo) SetEc2TagSet(v *EC2TagSet) *DeploymentGroupInfo {
5898	s.Ec2TagSet = v
5899	return s
5900}
5901
5902// SetLastAttemptedDeployment sets the LastAttemptedDeployment field's value.
5903func (s *DeploymentGroupInfo) SetLastAttemptedDeployment(v *LastDeploymentInfo) *DeploymentGroupInfo {
5904	s.LastAttemptedDeployment = v
5905	return s
5906}
5907
5908// SetLastSuccessfulDeployment sets the LastSuccessfulDeployment field's value.
5909func (s *DeploymentGroupInfo) SetLastSuccessfulDeployment(v *LastDeploymentInfo) *DeploymentGroupInfo {
5910	s.LastSuccessfulDeployment = v
5911	return s
5912}
5913
5914// SetLoadBalancerInfo sets the LoadBalancerInfo field's value.
5915func (s *DeploymentGroupInfo) SetLoadBalancerInfo(v *LoadBalancerInfo) *DeploymentGroupInfo {
5916	s.LoadBalancerInfo = v
5917	return s
5918}
5919
5920// SetOnPremisesInstanceTagFilters sets the OnPremisesInstanceTagFilters field's value.
5921func (s *DeploymentGroupInfo) SetOnPremisesInstanceTagFilters(v []*TagFilter) *DeploymentGroupInfo {
5922	s.OnPremisesInstanceTagFilters = v
5923	return s
5924}
5925
5926// SetOnPremisesTagSet sets the OnPremisesTagSet field's value.
5927func (s *DeploymentGroupInfo) SetOnPremisesTagSet(v *OnPremisesTagSet) *DeploymentGroupInfo {
5928	s.OnPremisesTagSet = v
5929	return s
5930}
5931
5932// SetServiceRoleArn sets the ServiceRoleArn field's value.
5933func (s *DeploymentGroupInfo) SetServiceRoleArn(v string) *DeploymentGroupInfo {
5934	s.ServiceRoleArn = &v
5935	return s
5936}
5937
5938// SetTargetRevision sets the TargetRevision field's value.
5939func (s *DeploymentGroupInfo) SetTargetRevision(v *RevisionLocation) *DeploymentGroupInfo {
5940	s.TargetRevision = v
5941	return s
5942}
5943
5944// SetTriggerConfigurations sets the TriggerConfigurations field's value.
5945func (s *DeploymentGroupInfo) SetTriggerConfigurations(v []*TriggerConfig) *DeploymentGroupInfo {
5946	s.TriggerConfigurations = v
5947	return s
5948}
5949
5950// Information about a deployment.
5951// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentInfo
5952type DeploymentInfo struct {
5953	_ struct{} `type:"structure"`
5954
5955	// Provides information about the results of a deployment, such as whether instances
5956	// in the original environment in a blue/green deployment were not terminated.
5957	AdditionalDeploymentStatusInfo *string `locationName:"additionalDeploymentStatusInfo" type:"string"`
5958
5959	// The application name.
5960	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
5961
5962	// Information about the automatic rollback configuration associated with the
5963	// deployment.
5964	AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"`
5965
5966	// Information about blue/green deployment options for this deployment.
5967	BlueGreenDeploymentConfiguration *BlueGreenDeploymentConfiguration `locationName:"blueGreenDeploymentConfiguration" type:"structure"`
5968
5969	// A timestamp indicating when the deployment was complete.
5970	CompleteTime *time.Time `locationName:"completeTime" type:"timestamp" timestampFormat:"unix"`
5971
5972	// A timestamp indicating when the deployment was created.
5973	CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"unix"`
5974
5975	// The means by which the deployment was created:
5976	//
5977	//    * user: A user created the deployment.
5978	//
5979	//    * autoscaling: Auto Scaling created the deployment.
5980	//
5981	//    * codeDeployRollback: A rollback process created the deployment.
5982	Creator *string `locationName:"creator" type:"string" enum:"DeploymentCreator"`
5983
5984	// The deployment configuration name.
5985	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"`
5986
5987	// The deployment group name.
5988	DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string"`
5989
5990	// The deployment ID.
5991	DeploymentId *string `locationName:"deploymentId" type:"string"`
5992
5993	// A summary of the deployment status of the instances in the deployment.
5994	DeploymentOverview *DeploymentOverview `locationName:"deploymentOverview" type:"structure"`
5995
5996	// Information about the type of deployment, either in-place or blue/green,
5997	// you want to run and whether to route deployment traffic behind a load balancer.
5998	DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"`
5999
6000	// A comment about the deployment.
6001	Description *string `locationName:"description" type:"string"`
6002
6003	// Information about any error associated with this deployment.
6004	ErrorInformation *ErrorInformation `locationName:"errorInformation" type:"structure"`
6005
6006	// Information about how AWS CodeDeploy handles files that already exist in
6007	// a deployment target location but weren't part of the previous successful
6008	// deployment.
6009	//
6010	//    * DISALLOW: The deployment fails. This is also the default behavior if
6011	//    no option is specified.
6012	//
6013	//    * OVERWRITE: The version of the file from the application revision currently
6014	//    being deployed replaces the version already on the instance.
6015	//
6016	//    * RETAIN: The version of the file already on the instance is kept and
6017	//    used as part of the new deployment.
6018	FileExistsBehavior *string `locationName:"fileExistsBehavior" type:"string" enum:"FileExistsBehavior"`
6019
6020	// If true, then if the deployment causes the ApplicationStop deployment lifecycle
6021	// event to an instance to fail, the deployment to that instance will not be
6022	// considered to have failed at that point and will continue on to the BeforeInstall
6023	// deployment lifecycle event.
6024	//
6025	// If false or not specified, then if the deployment causes the ApplicationStop
6026	// deployment lifecycle event to an instance to fail, the deployment to that
6027	// instance will stop, and the deployment to that instance will be considered
6028	// to have failed.
6029	IgnoreApplicationStopFailures *bool `locationName:"ignoreApplicationStopFailures" type:"boolean"`
6030
6031	// Indicates whether the wait period set for the termination of instances in
6032	// the original environment has started. Status is 'false' if the KEEP_ALIVE
6033	// option is specified; otherwise, 'true' as soon as the termination wait period
6034	// starts.
6035	InstanceTerminationWaitTimeStarted *bool `locationName:"instanceTerminationWaitTimeStarted" type:"boolean"`
6036
6037	// Information about the load balancer used in the deployment.
6038	LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"`
6039
6040	// Information about the application revision that was deployed to the deployment
6041	// group before the most recent successful deployment.
6042	PreviousRevision *RevisionLocation `locationName:"previousRevision" type:"structure"`
6043
6044	// Information about the location of stored application artifacts and the service
6045	// from which to retrieve them.
6046	Revision *RevisionLocation `locationName:"revision" type:"structure"`
6047
6048	// Information about a deployment rollback.
6049	RollbackInfo *RollbackInfo `locationName:"rollbackInfo" type:"structure"`
6050
6051	// A timestamp indicating when the deployment was deployed to the deployment
6052	// group.
6053	//
6054	// In some cases, the reported value of the start time may be later than the
6055	// complete time. This is due to differences in the clock settings of back-end
6056	// servers that participate in the deployment process.
6057	StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"unix"`
6058
6059	// The current state of the deployment as a whole.
6060	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
6061
6062	// Information about the instances that belong to the replacement environment
6063	// in a blue/green deployment.
6064	TargetInstances *TargetInstances `locationName:"targetInstances" type:"structure"`
6065
6066	// Indicates whether only instances that are not running the latest application
6067	// revision are to be deployed to.
6068	UpdateOutdatedInstancesOnly *bool `locationName:"updateOutdatedInstancesOnly" type:"boolean"`
6069}
6070
6071// String returns the string representation
6072func (s DeploymentInfo) String() string {
6073	return awsutil.Prettify(s)
6074}
6075
6076// GoString returns the string representation
6077func (s DeploymentInfo) GoString() string {
6078	return s.String()
6079}
6080
6081// SetAdditionalDeploymentStatusInfo sets the AdditionalDeploymentStatusInfo field's value.
6082func (s *DeploymentInfo) SetAdditionalDeploymentStatusInfo(v string) *DeploymentInfo {
6083	s.AdditionalDeploymentStatusInfo = &v
6084	return s
6085}
6086
6087// SetApplicationName sets the ApplicationName field's value.
6088func (s *DeploymentInfo) SetApplicationName(v string) *DeploymentInfo {
6089	s.ApplicationName = &v
6090	return s
6091}
6092
6093// SetAutoRollbackConfiguration sets the AutoRollbackConfiguration field's value.
6094func (s *DeploymentInfo) SetAutoRollbackConfiguration(v *AutoRollbackConfiguration) *DeploymentInfo {
6095	s.AutoRollbackConfiguration = v
6096	return s
6097}
6098
6099// SetBlueGreenDeploymentConfiguration sets the BlueGreenDeploymentConfiguration field's value.
6100func (s *DeploymentInfo) SetBlueGreenDeploymentConfiguration(v *BlueGreenDeploymentConfiguration) *DeploymentInfo {
6101	s.BlueGreenDeploymentConfiguration = v
6102	return s
6103}
6104
6105// SetCompleteTime sets the CompleteTime field's value.
6106func (s *DeploymentInfo) SetCompleteTime(v time.Time) *DeploymentInfo {
6107	s.CompleteTime = &v
6108	return s
6109}
6110
6111// SetCreateTime sets the CreateTime field's value.
6112func (s *DeploymentInfo) SetCreateTime(v time.Time) *DeploymentInfo {
6113	s.CreateTime = &v
6114	return s
6115}
6116
6117// SetCreator sets the Creator field's value.
6118func (s *DeploymentInfo) SetCreator(v string) *DeploymentInfo {
6119	s.Creator = &v
6120	return s
6121}
6122
6123// SetDeploymentConfigName sets the DeploymentConfigName field's value.
6124func (s *DeploymentInfo) SetDeploymentConfigName(v string) *DeploymentInfo {
6125	s.DeploymentConfigName = &v
6126	return s
6127}
6128
6129// SetDeploymentGroupName sets the DeploymentGroupName field's value.
6130func (s *DeploymentInfo) SetDeploymentGroupName(v string) *DeploymentInfo {
6131	s.DeploymentGroupName = &v
6132	return s
6133}
6134
6135// SetDeploymentId sets the DeploymentId field's value.
6136func (s *DeploymentInfo) SetDeploymentId(v string) *DeploymentInfo {
6137	s.DeploymentId = &v
6138	return s
6139}
6140
6141// SetDeploymentOverview sets the DeploymentOverview field's value.
6142func (s *DeploymentInfo) SetDeploymentOverview(v *DeploymentOverview) *DeploymentInfo {
6143	s.DeploymentOverview = v
6144	return s
6145}
6146
6147// SetDeploymentStyle sets the DeploymentStyle field's value.
6148func (s *DeploymentInfo) SetDeploymentStyle(v *DeploymentStyle) *DeploymentInfo {
6149	s.DeploymentStyle = v
6150	return s
6151}
6152
6153// SetDescription sets the Description field's value.
6154func (s *DeploymentInfo) SetDescription(v string) *DeploymentInfo {
6155	s.Description = &v
6156	return s
6157}
6158
6159// SetErrorInformation sets the ErrorInformation field's value.
6160func (s *DeploymentInfo) SetErrorInformation(v *ErrorInformation) *DeploymentInfo {
6161	s.ErrorInformation = v
6162	return s
6163}
6164
6165// SetFileExistsBehavior sets the FileExistsBehavior field's value.
6166func (s *DeploymentInfo) SetFileExistsBehavior(v string) *DeploymentInfo {
6167	s.FileExistsBehavior = &v
6168	return s
6169}
6170
6171// SetIgnoreApplicationStopFailures sets the IgnoreApplicationStopFailures field's value.
6172func (s *DeploymentInfo) SetIgnoreApplicationStopFailures(v bool) *DeploymentInfo {
6173	s.IgnoreApplicationStopFailures = &v
6174	return s
6175}
6176
6177// SetInstanceTerminationWaitTimeStarted sets the InstanceTerminationWaitTimeStarted field's value.
6178func (s *DeploymentInfo) SetInstanceTerminationWaitTimeStarted(v bool) *DeploymentInfo {
6179	s.InstanceTerminationWaitTimeStarted = &v
6180	return s
6181}
6182
6183// SetLoadBalancerInfo sets the LoadBalancerInfo field's value.
6184func (s *DeploymentInfo) SetLoadBalancerInfo(v *LoadBalancerInfo) *DeploymentInfo {
6185	s.LoadBalancerInfo = v
6186	return s
6187}
6188
6189// SetPreviousRevision sets the PreviousRevision field's value.
6190func (s *DeploymentInfo) SetPreviousRevision(v *RevisionLocation) *DeploymentInfo {
6191	s.PreviousRevision = v
6192	return s
6193}
6194
6195// SetRevision sets the Revision field's value.
6196func (s *DeploymentInfo) SetRevision(v *RevisionLocation) *DeploymentInfo {
6197	s.Revision = v
6198	return s
6199}
6200
6201// SetRollbackInfo sets the RollbackInfo field's value.
6202func (s *DeploymentInfo) SetRollbackInfo(v *RollbackInfo) *DeploymentInfo {
6203	s.RollbackInfo = v
6204	return s
6205}
6206
6207// SetStartTime sets the StartTime field's value.
6208func (s *DeploymentInfo) SetStartTime(v time.Time) *DeploymentInfo {
6209	s.StartTime = &v
6210	return s
6211}
6212
6213// SetStatus sets the Status field's value.
6214func (s *DeploymentInfo) SetStatus(v string) *DeploymentInfo {
6215	s.Status = &v
6216	return s
6217}
6218
6219// SetTargetInstances sets the TargetInstances field's value.
6220func (s *DeploymentInfo) SetTargetInstances(v *TargetInstances) *DeploymentInfo {
6221	s.TargetInstances = v
6222	return s
6223}
6224
6225// SetUpdateOutdatedInstancesOnly sets the UpdateOutdatedInstancesOnly field's value.
6226func (s *DeploymentInfo) SetUpdateOutdatedInstancesOnly(v bool) *DeploymentInfo {
6227	s.UpdateOutdatedInstancesOnly = &v
6228	return s
6229}
6230
6231// Information about the deployment status of the instances in the deployment.
6232// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentOverview
6233type DeploymentOverview struct {
6234	_ struct{} `type:"structure"`
6235
6236	// The number of instances in the deployment in a failed state.
6237	Failed *int64 `type:"long"`
6238
6239	// The number of instances in which the deployment is in progress.
6240	InProgress *int64 `type:"long"`
6241
6242	// The number of instances in the deployment in a pending state.
6243	Pending *int64 `type:"long"`
6244
6245	// The number of instances in a replacement environment ready to receive traffic
6246	// in a blue/green deployment.
6247	Ready *int64 `type:"long"`
6248
6249	// The number of instances in the deployment in a skipped state.
6250	Skipped *int64 `type:"long"`
6251
6252	// The number of instances in the deployment to which revisions have been successfully
6253	// deployed.
6254	Succeeded *int64 `type:"long"`
6255}
6256
6257// String returns the string representation
6258func (s DeploymentOverview) String() string {
6259	return awsutil.Prettify(s)
6260}
6261
6262// GoString returns the string representation
6263func (s DeploymentOverview) GoString() string {
6264	return s.String()
6265}
6266
6267// SetFailed sets the Failed field's value.
6268func (s *DeploymentOverview) SetFailed(v int64) *DeploymentOverview {
6269	s.Failed = &v
6270	return s
6271}
6272
6273// SetInProgress sets the InProgress field's value.
6274func (s *DeploymentOverview) SetInProgress(v int64) *DeploymentOverview {
6275	s.InProgress = &v
6276	return s
6277}
6278
6279// SetPending sets the Pending field's value.
6280func (s *DeploymentOverview) SetPending(v int64) *DeploymentOverview {
6281	s.Pending = &v
6282	return s
6283}
6284
6285// SetReady sets the Ready field's value.
6286func (s *DeploymentOverview) SetReady(v int64) *DeploymentOverview {
6287	s.Ready = &v
6288	return s
6289}
6290
6291// SetSkipped sets the Skipped field's value.
6292func (s *DeploymentOverview) SetSkipped(v int64) *DeploymentOverview {
6293	s.Skipped = &v
6294	return s
6295}
6296
6297// SetSucceeded sets the Succeeded field's value.
6298func (s *DeploymentOverview) SetSucceeded(v int64) *DeploymentOverview {
6299	s.Succeeded = &v
6300	return s
6301}
6302
6303// Information about how traffic is rerouted to instances in a replacement environment
6304// in a blue/green deployment.
6305// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentReadyOption
6306type DeploymentReadyOption struct {
6307	_ struct{} `type:"structure"`
6308
6309	// Information about when to reroute traffic from an original environment to
6310	// a replacement environment in a blue/green deployment.
6311	//
6312	//    * CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately
6313	//    after the new application revision is installed on the instances in the
6314	//    replacement environment.
6315	//
6316	//    * STOP_DEPLOYMENT: Do not register new instances with load balancer unless
6317	//    traffic is rerouted manually. If traffic is not rerouted manually before
6318	//    the end of the specified wait period, the deployment status is changed
6319	//    to Stopped.
6320	ActionOnTimeout *string `locationName:"actionOnTimeout" type:"string" enum:"DeploymentReadyAction"`
6321
6322	// The number of minutes to wait before the status of a blue/green deployment
6323	// changed to Stopped if rerouting is not started manually. Applies only to
6324	// the STOP_DEPLOYMENT option for actionOnTimeout
6325	WaitTimeInMinutes *int64 `locationName:"waitTimeInMinutes" type:"integer"`
6326}
6327
6328// String returns the string representation
6329func (s DeploymentReadyOption) String() string {
6330	return awsutil.Prettify(s)
6331}
6332
6333// GoString returns the string representation
6334func (s DeploymentReadyOption) GoString() string {
6335	return s.String()
6336}
6337
6338// SetActionOnTimeout sets the ActionOnTimeout field's value.
6339func (s *DeploymentReadyOption) SetActionOnTimeout(v string) *DeploymentReadyOption {
6340	s.ActionOnTimeout = &v
6341	return s
6342}
6343
6344// SetWaitTimeInMinutes sets the WaitTimeInMinutes field's value.
6345func (s *DeploymentReadyOption) SetWaitTimeInMinutes(v int64) *DeploymentReadyOption {
6346	s.WaitTimeInMinutes = &v
6347	return s
6348}
6349
6350// Information about the type of deployment, either in-place or blue/green,
6351// you want to run and whether to route deployment traffic behind a load balancer.
6352// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentStyle
6353type DeploymentStyle struct {
6354	_ struct{} `type:"structure"`
6355
6356	// Indicates whether to route deployment traffic behind a load balancer.
6357	DeploymentOption *string `locationName:"deploymentOption" type:"string" enum:"DeploymentOption"`
6358
6359	// Indicates whether to run an in-place deployment or a blue/green deployment.
6360	DeploymentType *string `locationName:"deploymentType" type:"string" enum:"DeploymentType"`
6361}
6362
6363// String returns the string representation
6364func (s DeploymentStyle) String() string {
6365	return awsutil.Prettify(s)
6366}
6367
6368// GoString returns the string representation
6369func (s DeploymentStyle) GoString() string {
6370	return s.String()
6371}
6372
6373// SetDeploymentOption sets the DeploymentOption field's value.
6374func (s *DeploymentStyle) SetDeploymentOption(v string) *DeploymentStyle {
6375	s.DeploymentOption = &v
6376	return s
6377}
6378
6379// SetDeploymentType sets the DeploymentType field's value.
6380func (s *DeploymentStyle) SetDeploymentType(v string) *DeploymentStyle {
6381	s.DeploymentType = &v
6382	return s
6383}
6384
6385// Represents the input of a DeregisterOnPremisesInstance operation.
6386// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeregisterOnPremisesInstanceInput
6387type DeregisterOnPremisesInstanceInput struct {
6388	_ struct{} `type:"structure"`
6389
6390	// The name of the on-premises instance to deregister.
6391	//
6392	// InstanceName is a required field
6393	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
6394}
6395
6396// String returns the string representation
6397func (s DeregisterOnPremisesInstanceInput) String() string {
6398	return awsutil.Prettify(s)
6399}
6400
6401// GoString returns the string representation
6402func (s DeregisterOnPremisesInstanceInput) GoString() string {
6403	return s.String()
6404}
6405
6406// Validate inspects the fields of the type to determine if they are valid.
6407func (s *DeregisterOnPremisesInstanceInput) Validate() error {
6408	invalidParams := request.ErrInvalidParams{Context: "DeregisterOnPremisesInstanceInput"}
6409	if s.InstanceName == nil {
6410		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
6411	}
6412
6413	if invalidParams.Len() > 0 {
6414		return invalidParams
6415	}
6416	return nil
6417}
6418
6419// SetInstanceName sets the InstanceName field's value.
6420func (s *DeregisterOnPremisesInstanceInput) SetInstanceName(v string) *DeregisterOnPremisesInstanceInput {
6421	s.InstanceName = &v
6422	return s
6423}
6424
6425// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeregisterOnPremisesInstanceOutput
6426type DeregisterOnPremisesInstanceOutput struct {
6427	_ struct{} `type:"structure"`
6428}
6429
6430// String returns the string representation
6431func (s DeregisterOnPremisesInstanceOutput) String() string {
6432	return awsutil.Prettify(s)
6433}
6434
6435// GoString returns the string representation
6436func (s DeregisterOnPremisesInstanceOutput) GoString() string {
6437	return s.String()
6438}
6439
6440// Diagnostic information about executable scripts that are part of a deployment.
6441// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/Diagnostics
6442type Diagnostics struct {
6443	_ struct{} `type:"structure"`
6444
6445	// The associated error code:
6446	//
6447	//    * Success: The specified script ran.
6448	//
6449	//    * ScriptMissing: The specified script was not found in the specified location.
6450	//
6451	//    * ScriptNotExecutable: The specified script is not a recognized executable
6452	//    file type.
6453	//
6454	//    * ScriptTimedOut: The specified script did not finish running in the specified
6455	//    time period.
6456	//
6457	//    * ScriptFailed: The specified script failed to run as expected.
6458	//
6459	//    * UnknownError: The specified script did not run for an unknown reason.
6460	ErrorCode *string `locationName:"errorCode" type:"string" enum:"LifecycleErrorCode"`
6461
6462	// The last portion of the diagnostic log.
6463	//
6464	// If available, AWS CodeDeploy returns up to the last 4 KB of the diagnostic
6465	// log.
6466	LogTail *string `locationName:"logTail" type:"string"`
6467
6468	// The message associated with the error.
6469	Message *string `locationName:"message" type:"string"`
6470
6471	// The name of the script.
6472	ScriptName *string `locationName:"scriptName" type:"string"`
6473}
6474
6475// String returns the string representation
6476func (s Diagnostics) String() string {
6477	return awsutil.Prettify(s)
6478}
6479
6480// GoString returns the string representation
6481func (s Diagnostics) GoString() string {
6482	return s.String()
6483}
6484
6485// SetErrorCode sets the ErrorCode field's value.
6486func (s *Diagnostics) SetErrorCode(v string) *Diagnostics {
6487	s.ErrorCode = &v
6488	return s
6489}
6490
6491// SetLogTail sets the LogTail field's value.
6492func (s *Diagnostics) SetLogTail(v string) *Diagnostics {
6493	s.LogTail = &v
6494	return s
6495}
6496
6497// SetMessage sets the Message field's value.
6498func (s *Diagnostics) SetMessage(v string) *Diagnostics {
6499	s.Message = &v
6500	return s
6501}
6502
6503// SetScriptName sets the ScriptName field's value.
6504func (s *Diagnostics) SetScriptName(v string) *Diagnostics {
6505	s.ScriptName = &v
6506	return s
6507}
6508
6509// Information about an EC2 tag filter.
6510// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/EC2TagFilter
6511type EC2TagFilter struct {
6512	_ struct{} `type:"structure"`
6513
6514	// The tag filter key.
6515	Key *string `type:"string"`
6516
6517	// The tag filter type:
6518	//
6519	//    * KEY_ONLY: Key only.
6520	//
6521	//    * VALUE_ONLY: Value only.
6522	//
6523	//    * KEY_AND_VALUE: Key and value.
6524	Type *string `type:"string" enum:"EC2TagFilterType"`
6525
6526	// The tag filter value.
6527	Value *string `type:"string"`
6528}
6529
6530// String returns the string representation
6531func (s EC2TagFilter) String() string {
6532	return awsutil.Prettify(s)
6533}
6534
6535// GoString returns the string representation
6536func (s EC2TagFilter) GoString() string {
6537	return s.String()
6538}
6539
6540// SetKey sets the Key field's value.
6541func (s *EC2TagFilter) SetKey(v string) *EC2TagFilter {
6542	s.Key = &v
6543	return s
6544}
6545
6546// SetType sets the Type field's value.
6547func (s *EC2TagFilter) SetType(v string) *EC2TagFilter {
6548	s.Type = &v
6549	return s
6550}
6551
6552// SetValue sets the Value field's value.
6553func (s *EC2TagFilter) SetValue(v string) *EC2TagFilter {
6554	s.Value = &v
6555	return s
6556}
6557
6558// Information about groups of EC2 instance tags.
6559// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/EC2TagSet
6560type EC2TagSet struct {
6561	_ struct{} `type:"structure"`
6562
6563	// A list containing other lists of EC2 instance tag groups. In order for an
6564	// instance to be included in the deployment group, it must be identified by
6565	// all the tag groups in the list.
6566	Ec2TagSetList [][]*EC2TagFilter `locationName:"ec2TagSetList" type:"list"`
6567}
6568
6569// String returns the string representation
6570func (s EC2TagSet) String() string {
6571	return awsutil.Prettify(s)
6572}
6573
6574// GoString returns the string representation
6575func (s EC2TagSet) GoString() string {
6576	return s.String()
6577}
6578
6579// SetEc2TagSetList sets the Ec2TagSetList field's value.
6580func (s *EC2TagSet) SetEc2TagSetList(v [][]*EC2TagFilter) *EC2TagSet {
6581	s.Ec2TagSetList = v
6582	return s
6583}
6584
6585// Information about a load balancer in Elastic Load Balancing to use in a deployment.
6586// Instances are registered directly with a load balancer, and traffic is routed
6587// to the load balancer.
6588// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ELBInfo
6589type ELBInfo struct {
6590	_ struct{} `type:"structure"`
6591
6592	// For blue/green deployments, the name of the load balancer that will be used
6593	// to route traffic from original instances to replacement instances in a blue/green
6594	// deployment. For in-place deployments, the name of the load balancer that
6595	// instances are deregistered from, so they are not serving traffic during a
6596	// deployment, and then re-registered with after the deployment completes.
6597	Name *string `locationName:"name" type:"string"`
6598}
6599
6600// String returns the string representation
6601func (s ELBInfo) String() string {
6602	return awsutil.Prettify(s)
6603}
6604
6605// GoString returns the string representation
6606func (s ELBInfo) GoString() string {
6607	return s.String()
6608}
6609
6610// SetName sets the Name field's value.
6611func (s *ELBInfo) SetName(v string) *ELBInfo {
6612	s.Name = &v
6613	return s
6614}
6615
6616// Information about a deployment error.
6617// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ErrorInformation
6618type ErrorInformation struct {
6619	_ struct{} `type:"structure"`
6620
6621	// For information about additional error codes, see Error Codes for AWS CodeDeploy
6622	// (http://docs.aws.amazon.com/codedeploy/latest/userguide/error-codes.html)
6623	// in the AWS CodeDeploy User Guide (http://docs.aws.amazon.com/codedeploy/latest/userguide).
6624	//
6625	// The error code:
6626	//
6627	//    * APPLICATION_MISSING: The application was missing. This error code will
6628	//    most likely be raised if the application is deleted after the deployment
6629	//    is created but before it is started.
6630	//
6631	//    * DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error
6632	//    code will most likely be raised if the deployment group is deleted after
6633	//    the deployment is created but before it is started.
6634	//
6635	//    * HEALTH_CONSTRAINTS: The deployment failed on too many instances to be
6636	//    successfully deployed within the instance health constraints specified.
6637	//
6638	//    * HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed
6639	//    within the instance health constraints specified.
6640	//
6641	//    * IAM_ROLE_MISSING: The service role cannot be accessed.
6642	//
6643	//    * IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions.
6644	//
6645	//    * INTERNAL_ERROR: There was an internal error.
6646	//
6647	//    * NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the Amazon
6648	//    EC2 service.
6649	//
6650	//    * NO_INSTANCES: No instance were specified, or no instance can be found.
6651	//
6652	//    * OVER_MAX_INSTANCES: The maximum number of instance was exceeded.
6653	//
6654	//    * THROTTLED: The operation was throttled because the calling account exceeded
6655	//    the throttling limits of one or more AWS services.
6656	//
6657	//    * TIMEOUT: The deployment has timed out.
6658	//
6659	//    * REVISION_MISSING: The revision ID was missing. This error code will
6660	//    most likely be raised if the revision is deleted after the deployment
6661	//    is created but before it is started.
6662	Code *string `locationName:"code" type:"string" enum:"ErrorCode"`
6663
6664	// An accompanying error message.
6665	Message *string `locationName:"message" type:"string"`
6666}
6667
6668// String returns the string representation
6669func (s ErrorInformation) String() string {
6670	return awsutil.Prettify(s)
6671}
6672
6673// GoString returns the string representation
6674func (s ErrorInformation) GoString() string {
6675	return s.String()
6676}
6677
6678// SetCode sets the Code field's value.
6679func (s *ErrorInformation) SetCode(v string) *ErrorInformation {
6680	s.Code = &v
6681	return s
6682}
6683
6684// SetMessage sets the Message field's value.
6685func (s *ErrorInformation) SetMessage(v string) *ErrorInformation {
6686	s.Message = &v
6687	return s
6688}
6689
6690// Information about an application revision.
6691// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GenericRevisionInfo
6692type GenericRevisionInfo struct {
6693	_ struct{} `type:"structure"`
6694
6695	// The deployment groups for which this is the current target revision.
6696	DeploymentGroups []*string `locationName:"deploymentGroups" type:"list"`
6697
6698	// A comment about the revision.
6699	Description *string `locationName:"description" type:"string"`
6700
6701	// When the revision was first used by AWS CodeDeploy.
6702	FirstUsedTime *time.Time `locationName:"firstUsedTime" type:"timestamp" timestampFormat:"unix"`
6703
6704	// When the revision was last used by AWS CodeDeploy.
6705	LastUsedTime *time.Time `locationName:"lastUsedTime" type:"timestamp" timestampFormat:"unix"`
6706
6707	// When the revision was registered with AWS CodeDeploy.
6708	RegisterTime *time.Time `locationName:"registerTime" type:"timestamp" timestampFormat:"unix"`
6709}
6710
6711// String returns the string representation
6712func (s GenericRevisionInfo) String() string {
6713	return awsutil.Prettify(s)
6714}
6715
6716// GoString returns the string representation
6717func (s GenericRevisionInfo) GoString() string {
6718	return s.String()
6719}
6720
6721// SetDeploymentGroups sets the DeploymentGroups field's value.
6722func (s *GenericRevisionInfo) SetDeploymentGroups(v []*string) *GenericRevisionInfo {
6723	s.DeploymentGroups = v
6724	return s
6725}
6726
6727// SetDescription sets the Description field's value.
6728func (s *GenericRevisionInfo) SetDescription(v string) *GenericRevisionInfo {
6729	s.Description = &v
6730	return s
6731}
6732
6733// SetFirstUsedTime sets the FirstUsedTime field's value.
6734func (s *GenericRevisionInfo) SetFirstUsedTime(v time.Time) *GenericRevisionInfo {
6735	s.FirstUsedTime = &v
6736	return s
6737}
6738
6739// SetLastUsedTime sets the LastUsedTime field's value.
6740func (s *GenericRevisionInfo) SetLastUsedTime(v time.Time) *GenericRevisionInfo {
6741	s.LastUsedTime = &v
6742	return s
6743}
6744
6745// SetRegisterTime sets the RegisterTime field's value.
6746func (s *GenericRevisionInfo) SetRegisterTime(v time.Time) *GenericRevisionInfo {
6747	s.RegisterTime = &v
6748	return s
6749}
6750
6751// Represents the input of a GetApplication operation.
6752// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplicationInput
6753type GetApplicationInput struct {
6754	_ struct{} `type:"structure"`
6755
6756	// The name of an AWS CodeDeploy application associated with the applicable
6757	// IAM user or AWS account.
6758	//
6759	// ApplicationName is a required field
6760	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
6761}
6762
6763// String returns the string representation
6764func (s GetApplicationInput) String() string {
6765	return awsutil.Prettify(s)
6766}
6767
6768// GoString returns the string representation
6769func (s GetApplicationInput) GoString() string {
6770	return s.String()
6771}
6772
6773// Validate inspects the fields of the type to determine if they are valid.
6774func (s *GetApplicationInput) Validate() error {
6775	invalidParams := request.ErrInvalidParams{Context: "GetApplicationInput"}
6776	if s.ApplicationName == nil {
6777		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6778	}
6779	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6780		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6781	}
6782
6783	if invalidParams.Len() > 0 {
6784		return invalidParams
6785	}
6786	return nil
6787}
6788
6789// SetApplicationName sets the ApplicationName field's value.
6790func (s *GetApplicationInput) SetApplicationName(v string) *GetApplicationInput {
6791	s.ApplicationName = &v
6792	return s
6793}
6794
6795// Represents the output of a GetApplication operation.
6796// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplicationOutput
6797type GetApplicationOutput struct {
6798	_ struct{} `type:"structure"`
6799
6800	// Information about the application.
6801	Application *ApplicationInfo `locationName:"application" type:"structure"`
6802}
6803
6804// String returns the string representation
6805func (s GetApplicationOutput) String() string {
6806	return awsutil.Prettify(s)
6807}
6808
6809// GoString returns the string representation
6810func (s GetApplicationOutput) GoString() string {
6811	return s.String()
6812}
6813
6814// SetApplication sets the Application field's value.
6815func (s *GetApplicationOutput) SetApplication(v *ApplicationInfo) *GetApplicationOutput {
6816	s.Application = v
6817	return s
6818}
6819
6820// Represents the input of a GetApplicationRevision operation.
6821// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplicationRevisionInput
6822type GetApplicationRevisionInput struct {
6823	_ struct{} `type:"structure"`
6824
6825	// The name of the application that corresponds to the revision.
6826	//
6827	// ApplicationName is a required field
6828	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
6829
6830	// Information about the application revision to get, including type and location.
6831	//
6832	// Revision is a required field
6833	Revision *RevisionLocation `locationName:"revision" type:"structure" required:"true"`
6834}
6835
6836// String returns the string representation
6837func (s GetApplicationRevisionInput) String() string {
6838	return awsutil.Prettify(s)
6839}
6840
6841// GoString returns the string representation
6842func (s GetApplicationRevisionInput) GoString() string {
6843	return s.String()
6844}
6845
6846// Validate inspects the fields of the type to determine if they are valid.
6847func (s *GetApplicationRevisionInput) Validate() error {
6848	invalidParams := request.ErrInvalidParams{Context: "GetApplicationRevisionInput"}
6849	if s.ApplicationName == nil {
6850		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6851	}
6852	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6853		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6854	}
6855	if s.Revision == nil {
6856		invalidParams.Add(request.NewErrParamRequired("Revision"))
6857	}
6858
6859	if invalidParams.Len() > 0 {
6860		return invalidParams
6861	}
6862	return nil
6863}
6864
6865// SetApplicationName sets the ApplicationName field's value.
6866func (s *GetApplicationRevisionInput) SetApplicationName(v string) *GetApplicationRevisionInput {
6867	s.ApplicationName = &v
6868	return s
6869}
6870
6871// SetRevision sets the Revision field's value.
6872func (s *GetApplicationRevisionInput) SetRevision(v *RevisionLocation) *GetApplicationRevisionInput {
6873	s.Revision = v
6874	return s
6875}
6876
6877// Represents the output of a GetApplicationRevision operation.
6878// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetApplicationRevisionOutput
6879type GetApplicationRevisionOutput struct {
6880	_ struct{} `type:"structure"`
6881
6882	// The name of the application that corresponds to the revision.
6883	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
6884
6885	// Additional information about the revision, including type and location.
6886	Revision *RevisionLocation `locationName:"revision" type:"structure"`
6887
6888	// General information about the revision.
6889	RevisionInfo *GenericRevisionInfo `locationName:"revisionInfo" type:"structure"`
6890}
6891
6892// String returns the string representation
6893func (s GetApplicationRevisionOutput) String() string {
6894	return awsutil.Prettify(s)
6895}
6896
6897// GoString returns the string representation
6898func (s GetApplicationRevisionOutput) GoString() string {
6899	return s.String()
6900}
6901
6902// SetApplicationName sets the ApplicationName field's value.
6903func (s *GetApplicationRevisionOutput) SetApplicationName(v string) *GetApplicationRevisionOutput {
6904	s.ApplicationName = &v
6905	return s
6906}
6907
6908// SetRevision sets the Revision field's value.
6909func (s *GetApplicationRevisionOutput) SetRevision(v *RevisionLocation) *GetApplicationRevisionOutput {
6910	s.Revision = v
6911	return s
6912}
6913
6914// SetRevisionInfo sets the RevisionInfo field's value.
6915func (s *GetApplicationRevisionOutput) SetRevisionInfo(v *GenericRevisionInfo) *GetApplicationRevisionOutput {
6916	s.RevisionInfo = v
6917	return s
6918}
6919
6920// Represents the input of a GetDeploymentConfig operation.
6921// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentConfigInput
6922type GetDeploymentConfigInput struct {
6923	_ struct{} `type:"structure"`
6924
6925	// The name of a deployment configuration associated with the applicable IAM
6926	// user or AWS account.
6927	//
6928	// DeploymentConfigName is a required field
6929	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string" required:"true"`
6930}
6931
6932// String returns the string representation
6933func (s GetDeploymentConfigInput) String() string {
6934	return awsutil.Prettify(s)
6935}
6936
6937// GoString returns the string representation
6938func (s GetDeploymentConfigInput) GoString() string {
6939	return s.String()
6940}
6941
6942// Validate inspects the fields of the type to determine if they are valid.
6943func (s *GetDeploymentConfigInput) Validate() error {
6944	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentConfigInput"}
6945	if s.DeploymentConfigName == nil {
6946		invalidParams.Add(request.NewErrParamRequired("DeploymentConfigName"))
6947	}
6948	if s.DeploymentConfigName != nil && len(*s.DeploymentConfigName) < 1 {
6949		invalidParams.Add(request.NewErrParamMinLen("DeploymentConfigName", 1))
6950	}
6951
6952	if invalidParams.Len() > 0 {
6953		return invalidParams
6954	}
6955	return nil
6956}
6957
6958// SetDeploymentConfigName sets the DeploymentConfigName field's value.
6959func (s *GetDeploymentConfigInput) SetDeploymentConfigName(v string) *GetDeploymentConfigInput {
6960	s.DeploymentConfigName = &v
6961	return s
6962}
6963
6964// Represents the output of a GetDeploymentConfig operation.
6965// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentConfigOutput
6966type GetDeploymentConfigOutput struct {
6967	_ struct{} `type:"structure"`
6968
6969	// Information about the deployment configuration.
6970	DeploymentConfigInfo *DeploymentConfigInfo `locationName:"deploymentConfigInfo" type:"structure"`
6971}
6972
6973// String returns the string representation
6974func (s GetDeploymentConfigOutput) String() string {
6975	return awsutil.Prettify(s)
6976}
6977
6978// GoString returns the string representation
6979func (s GetDeploymentConfigOutput) GoString() string {
6980	return s.String()
6981}
6982
6983// SetDeploymentConfigInfo sets the DeploymentConfigInfo field's value.
6984func (s *GetDeploymentConfigOutput) SetDeploymentConfigInfo(v *DeploymentConfigInfo) *GetDeploymentConfigOutput {
6985	s.DeploymentConfigInfo = v
6986	return s
6987}
6988
6989// Represents the input of a GetDeploymentGroup operation.
6990// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentGroupInput
6991type GetDeploymentGroupInput struct {
6992	_ struct{} `type:"structure"`
6993
6994	// The name of an AWS CodeDeploy application associated with the applicable
6995	// IAM user or AWS account.
6996	//
6997	// ApplicationName is a required field
6998	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
6999
7000	// The name of an existing deployment group for the specified application.
7001	//
7002	// DeploymentGroupName is a required field
7003	DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string" required:"true"`
7004}
7005
7006// String returns the string representation
7007func (s GetDeploymentGroupInput) String() string {
7008	return awsutil.Prettify(s)
7009}
7010
7011// GoString returns the string representation
7012func (s GetDeploymentGroupInput) GoString() string {
7013	return s.String()
7014}
7015
7016// Validate inspects the fields of the type to determine if they are valid.
7017func (s *GetDeploymentGroupInput) Validate() error {
7018	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentGroupInput"}
7019	if s.ApplicationName == nil {
7020		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
7021	}
7022	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7023		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7024	}
7025	if s.DeploymentGroupName == nil {
7026		invalidParams.Add(request.NewErrParamRequired("DeploymentGroupName"))
7027	}
7028	if s.DeploymentGroupName != nil && len(*s.DeploymentGroupName) < 1 {
7029		invalidParams.Add(request.NewErrParamMinLen("DeploymentGroupName", 1))
7030	}
7031
7032	if invalidParams.Len() > 0 {
7033		return invalidParams
7034	}
7035	return nil
7036}
7037
7038// SetApplicationName sets the ApplicationName field's value.
7039func (s *GetDeploymentGroupInput) SetApplicationName(v string) *GetDeploymentGroupInput {
7040	s.ApplicationName = &v
7041	return s
7042}
7043
7044// SetDeploymentGroupName sets the DeploymentGroupName field's value.
7045func (s *GetDeploymentGroupInput) SetDeploymentGroupName(v string) *GetDeploymentGroupInput {
7046	s.DeploymentGroupName = &v
7047	return s
7048}
7049
7050// Represents the output of a GetDeploymentGroup operation.
7051// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentGroupOutput
7052type GetDeploymentGroupOutput struct {
7053	_ struct{} `type:"structure"`
7054
7055	// Information about the deployment group.
7056	DeploymentGroupInfo *DeploymentGroupInfo `locationName:"deploymentGroupInfo" type:"structure"`
7057}
7058
7059// String returns the string representation
7060func (s GetDeploymentGroupOutput) String() string {
7061	return awsutil.Prettify(s)
7062}
7063
7064// GoString returns the string representation
7065func (s GetDeploymentGroupOutput) GoString() string {
7066	return s.String()
7067}
7068
7069// SetDeploymentGroupInfo sets the DeploymentGroupInfo field's value.
7070func (s *GetDeploymentGroupOutput) SetDeploymentGroupInfo(v *DeploymentGroupInfo) *GetDeploymentGroupOutput {
7071	s.DeploymentGroupInfo = v
7072	return s
7073}
7074
7075// Represents the input of a GetDeployment operation.
7076// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentInput
7077type GetDeploymentInput struct {
7078	_ struct{} `type:"structure"`
7079
7080	// A deployment ID associated with the applicable IAM user or AWS account.
7081	//
7082	// DeploymentId is a required field
7083	DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"`
7084}
7085
7086// String returns the string representation
7087func (s GetDeploymentInput) String() string {
7088	return awsutil.Prettify(s)
7089}
7090
7091// GoString returns the string representation
7092func (s GetDeploymentInput) GoString() string {
7093	return s.String()
7094}
7095
7096// Validate inspects the fields of the type to determine if they are valid.
7097func (s *GetDeploymentInput) Validate() error {
7098	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
7099	if s.DeploymentId == nil {
7100		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
7101	}
7102
7103	if invalidParams.Len() > 0 {
7104		return invalidParams
7105	}
7106	return nil
7107}
7108
7109// SetDeploymentId sets the DeploymentId field's value.
7110func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput {
7111	s.DeploymentId = &v
7112	return s
7113}
7114
7115// Represents the input of a GetDeploymentInstance operation.
7116// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentInstanceInput
7117type GetDeploymentInstanceInput struct {
7118	_ struct{} `type:"structure"`
7119
7120	// The unique ID of a deployment.
7121	//
7122	// DeploymentId is a required field
7123	DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"`
7124
7125	// The unique ID of an instance in the deployment group.
7126	//
7127	// InstanceId is a required field
7128	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
7129}
7130
7131// String returns the string representation
7132func (s GetDeploymentInstanceInput) String() string {
7133	return awsutil.Prettify(s)
7134}
7135
7136// GoString returns the string representation
7137func (s GetDeploymentInstanceInput) GoString() string {
7138	return s.String()
7139}
7140
7141// Validate inspects the fields of the type to determine if they are valid.
7142func (s *GetDeploymentInstanceInput) Validate() error {
7143	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInstanceInput"}
7144	if s.DeploymentId == nil {
7145		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
7146	}
7147	if s.InstanceId == nil {
7148		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7149	}
7150
7151	if invalidParams.Len() > 0 {
7152		return invalidParams
7153	}
7154	return nil
7155}
7156
7157// SetDeploymentId sets the DeploymentId field's value.
7158func (s *GetDeploymentInstanceInput) SetDeploymentId(v string) *GetDeploymentInstanceInput {
7159	s.DeploymentId = &v
7160	return s
7161}
7162
7163// SetInstanceId sets the InstanceId field's value.
7164func (s *GetDeploymentInstanceInput) SetInstanceId(v string) *GetDeploymentInstanceInput {
7165	s.InstanceId = &v
7166	return s
7167}
7168
7169// Represents the output of a GetDeploymentInstance operation.
7170// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentInstanceOutput
7171type GetDeploymentInstanceOutput struct {
7172	_ struct{} `type:"structure"`
7173
7174	// Information about the instance.
7175	InstanceSummary *InstanceSummary `locationName:"instanceSummary" type:"structure"`
7176}
7177
7178// String returns the string representation
7179func (s GetDeploymentInstanceOutput) String() string {
7180	return awsutil.Prettify(s)
7181}
7182
7183// GoString returns the string representation
7184func (s GetDeploymentInstanceOutput) GoString() string {
7185	return s.String()
7186}
7187
7188// SetInstanceSummary sets the InstanceSummary field's value.
7189func (s *GetDeploymentInstanceOutput) SetInstanceSummary(v *InstanceSummary) *GetDeploymentInstanceOutput {
7190	s.InstanceSummary = v
7191	return s
7192}
7193
7194// Represents the output of a GetDeployment operation.
7195// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentOutput
7196type GetDeploymentOutput struct {
7197	_ struct{} `type:"structure"`
7198
7199	// Information about the deployment.
7200	DeploymentInfo *DeploymentInfo `locationName:"deploymentInfo" type:"structure"`
7201}
7202
7203// String returns the string representation
7204func (s GetDeploymentOutput) String() string {
7205	return awsutil.Prettify(s)
7206}
7207
7208// GoString returns the string representation
7209func (s GetDeploymentOutput) GoString() string {
7210	return s.String()
7211}
7212
7213// SetDeploymentInfo sets the DeploymentInfo field's value.
7214func (s *GetDeploymentOutput) SetDeploymentInfo(v *DeploymentInfo) *GetDeploymentOutput {
7215	s.DeploymentInfo = v
7216	return s
7217}
7218
7219// Represents the input of a GetOnPremisesInstance operation.
7220// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetOnPremisesInstanceInput
7221type GetOnPremisesInstanceInput struct {
7222	_ struct{} `type:"structure"`
7223
7224	// The name of the on-premises instance about which to get information.
7225	//
7226	// InstanceName is a required field
7227	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
7228}
7229
7230// String returns the string representation
7231func (s GetOnPremisesInstanceInput) String() string {
7232	return awsutil.Prettify(s)
7233}
7234
7235// GoString returns the string representation
7236func (s GetOnPremisesInstanceInput) GoString() string {
7237	return s.String()
7238}
7239
7240// Validate inspects the fields of the type to determine if they are valid.
7241func (s *GetOnPremisesInstanceInput) Validate() error {
7242	invalidParams := request.ErrInvalidParams{Context: "GetOnPremisesInstanceInput"}
7243	if s.InstanceName == nil {
7244		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
7245	}
7246
7247	if invalidParams.Len() > 0 {
7248		return invalidParams
7249	}
7250	return nil
7251}
7252
7253// SetInstanceName sets the InstanceName field's value.
7254func (s *GetOnPremisesInstanceInput) SetInstanceName(v string) *GetOnPremisesInstanceInput {
7255	s.InstanceName = &v
7256	return s
7257}
7258
7259// Represents the output of a GetOnPremisesInstance operation.
7260// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetOnPremisesInstanceOutput
7261type GetOnPremisesInstanceOutput struct {
7262	_ struct{} `type:"structure"`
7263
7264	// Information about the on-premises instance.
7265	InstanceInfo *InstanceInfo `locationName:"instanceInfo" type:"structure"`
7266}
7267
7268// String returns the string representation
7269func (s GetOnPremisesInstanceOutput) String() string {
7270	return awsutil.Prettify(s)
7271}
7272
7273// GoString returns the string representation
7274func (s GetOnPremisesInstanceOutput) GoString() string {
7275	return s.String()
7276}
7277
7278// SetInstanceInfo sets the InstanceInfo field's value.
7279func (s *GetOnPremisesInstanceOutput) SetInstanceInfo(v *InstanceInfo) *GetOnPremisesInstanceOutput {
7280	s.InstanceInfo = v
7281	return s
7282}
7283
7284// Information about the location of application artifacts stored in GitHub.
7285// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GitHubLocation
7286type GitHubLocation struct {
7287	_ struct{} `type:"structure"`
7288
7289	// The SHA1 commit ID of the GitHub commit that represents the bundled artifacts
7290	// for the application revision.
7291	CommitId *string `locationName:"commitId" type:"string"`
7292
7293	// The GitHub account and repository pair that stores a reference to the commit
7294	// that represents the bundled artifacts for the application revision.
7295	//
7296	// Specified as account/repository.
7297	Repository *string `locationName:"repository" type:"string"`
7298}
7299
7300// String returns the string representation
7301func (s GitHubLocation) String() string {
7302	return awsutil.Prettify(s)
7303}
7304
7305// GoString returns the string representation
7306func (s GitHubLocation) GoString() string {
7307	return s.String()
7308}
7309
7310// SetCommitId sets the CommitId field's value.
7311func (s *GitHubLocation) SetCommitId(v string) *GitHubLocation {
7312	s.CommitId = &v
7313	return s
7314}
7315
7316// SetRepository sets the Repository field's value.
7317func (s *GitHubLocation) SetRepository(v string) *GitHubLocation {
7318	s.Repository = &v
7319	return s
7320}
7321
7322// Information about the instances that belong to the replacement environment
7323// in a blue/green deployment.
7324// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GreenFleetProvisioningOption
7325type GreenFleetProvisioningOption struct {
7326	_ struct{} `type:"structure"`
7327
7328	// The method used to add instances to a replacement environment.
7329	//
7330	//    * DISCOVER_EXISTING: Use instances that already exist or will be created
7331	//    manually.
7332	//
7333	//    * COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling
7334	//    group to define and create instances in a new Auto Scaling group.
7335	Action *string `locationName:"action" type:"string" enum:"GreenFleetProvisioningAction"`
7336}
7337
7338// String returns the string representation
7339func (s GreenFleetProvisioningOption) String() string {
7340	return awsutil.Prettify(s)
7341}
7342
7343// GoString returns the string representation
7344func (s GreenFleetProvisioningOption) GoString() string {
7345	return s.String()
7346}
7347
7348// SetAction sets the Action field's value.
7349func (s *GreenFleetProvisioningOption) SetAction(v string) *GreenFleetProvisioningOption {
7350	s.Action = &v
7351	return s
7352}
7353
7354// Information about an on-premises instance.
7355// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/InstanceInfo
7356type InstanceInfo struct {
7357	_ struct{} `type:"structure"`
7358
7359	// If the on-premises instance was deregistered, the time at which the on-premises
7360	// instance was deregistered.
7361	DeregisterTime *time.Time `locationName:"deregisterTime" type:"timestamp" timestampFormat:"unix"`
7362
7363	// The ARN of the IAM session associated with the on-premises instance.
7364	IamSessionArn *string `locationName:"iamSessionArn" type:"string"`
7365
7366	// The IAM user ARN associated with the on-premises instance.
7367	IamUserArn *string `locationName:"iamUserArn" type:"string"`
7368
7369	// The ARN of the on-premises instance.
7370	InstanceArn *string `locationName:"instanceArn" type:"string"`
7371
7372	// The name of the on-premises instance.
7373	InstanceName *string `locationName:"instanceName" type:"string"`
7374
7375	// The time at which the on-premises instance was registered.
7376	RegisterTime *time.Time `locationName:"registerTime" type:"timestamp" timestampFormat:"unix"`
7377
7378	// The tags currently associated with the on-premises instance.
7379	Tags []*Tag `locationName:"tags" type:"list"`
7380}
7381
7382// String returns the string representation
7383func (s InstanceInfo) String() string {
7384	return awsutil.Prettify(s)
7385}
7386
7387// GoString returns the string representation
7388func (s InstanceInfo) GoString() string {
7389	return s.String()
7390}
7391
7392// SetDeregisterTime sets the DeregisterTime field's value.
7393func (s *InstanceInfo) SetDeregisterTime(v time.Time) *InstanceInfo {
7394	s.DeregisterTime = &v
7395	return s
7396}
7397
7398// SetIamSessionArn sets the IamSessionArn field's value.
7399func (s *InstanceInfo) SetIamSessionArn(v string) *InstanceInfo {
7400	s.IamSessionArn = &v
7401	return s
7402}
7403
7404// SetIamUserArn sets the IamUserArn field's value.
7405func (s *InstanceInfo) SetIamUserArn(v string) *InstanceInfo {
7406	s.IamUserArn = &v
7407	return s
7408}
7409
7410// SetInstanceArn sets the InstanceArn field's value.
7411func (s *InstanceInfo) SetInstanceArn(v string) *InstanceInfo {
7412	s.InstanceArn = &v
7413	return s
7414}
7415
7416// SetInstanceName sets the InstanceName field's value.
7417func (s *InstanceInfo) SetInstanceName(v string) *InstanceInfo {
7418	s.InstanceName = &v
7419	return s
7420}
7421
7422// SetRegisterTime sets the RegisterTime field's value.
7423func (s *InstanceInfo) SetRegisterTime(v time.Time) *InstanceInfo {
7424	s.RegisterTime = &v
7425	return s
7426}
7427
7428// SetTags sets the Tags field's value.
7429func (s *InstanceInfo) SetTags(v []*Tag) *InstanceInfo {
7430	s.Tags = v
7431	return s
7432}
7433
7434// Information about an instance in a deployment.
7435// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/InstanceSummary
7436type InstanceSummary struct {
7437	_ struct{} `type:"structure"`
7438
7439	// The deployment ID.
7440	DeploymentId *string `locationName:"deploymentId" type:"string"`
7441
7442	// The instance ID.
7443	InstanceId *string `locationName:"instanceId" type:"string"`
7444
7445	// Information about which environment an instance belongs to in a blue/green
7446	// deployment.
7447	//
7448	//    * BLUE: The instance is part of the original environment.
7449	//
7450	//    * GREEN: The instance is part of the replacement environment.
7451	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
7452
7453	// A timestamp indicating when the instance information was last updated.
7454	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" timestampFormat:"unix"`
7455
7456	// A list of lifecycle events for this instance.
7457	LifecycleEvents []*LifecycleEvent `locationName:"lifecycleEvents" type:"list"`
7458
7459	// The deployment status for this instance:
7460	//
7461	//    * Pending: The deployment is pending for this instance.
7462	//
7463	//    * In Progress: The deployment is in progress for this instance.
7464	//
7465	//    * Succeeded: The deployment has succeeded for this instance.
7466	//
7467	//    * Failed: The deployment has failed for this instance.
7468	//
7469	//    * Skipped: The deployment has been skipped for this instance.
7470	//
7471	//    * Unknown: The deployment status is unknown for this instance.
7472	Status *string `locationName:"status" type:"string" enum:"InstanceStatus"`
7473}
7474
7475// String returns the string representation
7476func (s InstanceSummary) String() string {
7477	return awsutil.Prettify(s)
7478}
7479
7480// GoString returns the string representation
7481func (s InstanceSummary) GoString() string {
7482	return s.String()
7483}
7484
7485// SetDeploymentId sets the DeploymentId field's value.
7486func (s *InstanceSummary) SetDeploymentId(v string) *InstanceSummary {
7487	s.DeploymentId = &v
7488	return s
7489}
7490
7491// SetInstanceId sets the InstanceId field's value.
7492func (s *InstanceSummary) SetInstanceId(v string) *InstanceSummary {
7493	s.InstanceId = &v
7494	return s
7495}
7496
7497// SetInstanceType sets the InstanceType field's value.
7498func (s *InstanceSummary) SetInstanceType(v string) *InstanceSummary {
7499	s.InstanceType = &v
7500	return s
7501}
7502
7503// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7504func (s *InstanceSummary) SetLastUpdatedAt(v time.Time) *InstanceSummary {
7505	s.LastUpdatedAt = &v
7506	return s
7507}
7508
7509// SetLifecycleEvents sets the LifecycleEvents field's value.
7510func (s *InstanceSummary) SetLifecycleEvents(v []*LifecycleEvent) *InstanceSummary {
7511	s.LifecycleEvents = v
7512	return s
7513}
7514
7515// SetStatus sets the Status field's value.
7516func (s *InstanceSummary) SetStatus(v string) *InstanceSummary {
7517	s.Status = &v
7518	return s
7519}
7520
7521// Information about the most recent attempted or successful deployment to a
7522// deployment group.
7523// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/LastDeploymentInfo
7524type LastDeploymentInfo struct {
7525	_ struct{} `type:"structure"`
7526
7527	// A timestamp indicating when the most recent deployment to the deployment
7528	// group started.
7529	CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"unix"`
7530
7531	// The deployment ID.
7532	DeploymentId *string `locationName:"deploymentId" type:"string"`
7533
7534	// A timestamp indicating when the most recent deployment to the deployment
7535	// group completed.
7536	EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"unix"`
7537
7538	// The status of the most recent deployment.
7539	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
7540}
7541
7542// String returns the string representation
7543func (s LastDeploymentInfo) String() string {
7544	return awsutil.Prettify(s)
7545}
7546
7547// GoString returns the string representation
7548func (s LastDeploymentInfo) GoString() string {
7549	return s.String()
7550}
7551
7552// SetCreateTime sets the CreateTime field's value.
7553func (s *LastDeploymentInfo) SetCreateTime(v time.Time) *LastDeploymentInfo {
7554	s.CreateTime = &v
7555	return s
7556}
7557
7558// SetDeploymentId sets the DeploymentId field's value.
7559func (s *LastDeploymentInfo) SetDeploymentId(v string) *LastDeploymentInfo {
7560	s.DeploymentId = &v
7561	return s
7562}
7563
7564// SetEndTime sets the EndTime field's value.
7565func (s *LastDeploymentInfo) SetEndTime(v time.Time) *LastDeploymentInfo {
7566	s.EndTime = &v
7567	return s
7568}
7569
7570// SetStatus sets the Status field's value.
7571func (s *LastDeploymentInfo) SetStatus(v string) *LastDeploymentInfo {
7572	s.Status = &v
7573	return s
7574}
7575
7576// Information about a deployment lifecycle event.
7577// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/LifecycleEvent
7578type LifecycleEvent struct {
7579	_ struct{} `type:"structure"`
7580
7581	// Diagnostic information about the deployment lifecycle event.
7582	Diagnostics *Diagnostics `locationName:"diagnostics" type:"structure"`
7583
7584	// A timestamp indicating when the deployment lifecycle event ended.
7585	EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"unix"`
7586
7587	// The deployment lifecycle event name, such as ApplicationStop, BeforeInstall,
7588	// AfterInstall, ApplicationStart, or ValidateService.
7589	LifecycleEventName *string `locationName:"lifecycleEventName" type:"string"`
7590
7591	// A timestamp indicating when the deployment lifecycle event started.
7592	StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"unix"`
7593
7594	// The deployment lifecycle event status:
7595	//
7596	//    * Pending: The deployment lifecycle event is pending.
7597	//
7598	//    * InProgress: The deployment lifecycle event is in progress.
7599	//
7600	//    * Succeeded: The deployment lifecycle event ran successfully.
7601	//
7602	//    * Failed: The deployment lifecycle event has failed.
7603	//
7604	//    * Skipped: The deployment lifecycle event has been skipped.
7605	//
7606	//    * Unknown: The deployment lifecycle event is unknown.
7607	Status *string `locationName:"status" type:"string" enum:"LifecycleEventStatus"`
7608}
7609
7610// String returns the string representation
7611func (s LifecycleEvent) String() string {
7612	return awsutil.Prettify(s)
7613}
7614
7615// GoString returns the string representation
7616func (s LifecycleEvent) GoString() string {
7617	return s.String()
7618}
7619
7620// SetDiagnostics sets the Diagnostics field's value.
7621func (s *LifecycleEvent) SetDiagnostics(v *Diagnostics) *LifecycleEvent {
7622	s.Diagnostics = v
7623	return s
7624}
7625
7626// SetEndTime sets the EndTime field's value.
7627func (s *LifecycleEvent) SetEndTime(v time.Time) *LifecycleEvent {
7628	s.EndTime = &v
7629	return s
7630}
7631
7632// SetLifecycleEventName sets the LifecycleEventName field's value.
7633func (s *LifecycleEvent) SetLifecycleEventName(v string) *LifecycleEvent {
7634	s.LifecycleEventName = &v
7635	return s
7636}
7637
7638// SetStartTime sets the StartTime field's value.
7639func (s *LifecycleEvent) SetStartTime(v time.Time) *LifecycleEvent {
7640	s.StartTime = &v
7641	return s
7642}
7643
7644// SetStatus sets the Status field's value.
7645func (s *LifecycleEvent) SetStatus(v string) *LifecycleEvent {
7646	s.Status = &v
7647	return s
7648}
7649
7650// Represents the input of a ListApplicationRevisions operation.
7651// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListApplicationRevisionsInput
7652type ListApplicationRevisionsInput struct {
7653	_ struct{} `type:"structure"`
7654
7655	// The name of an AWS CodeDeploy application associated with the applicable
7656	// IAM user or AWS account.
7657	//
7658	// ApplicationName is a required field
7659	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
7660
7661	// Whether to list revisions based on whether the revision is the target revision
7662	// of an deployment group:
7663	//
7664	//    * include: List revisions that are target revisions of a deployment group.
7665	//
7666	//    * exclude: Do not list revisions that are target revisions of a deployment
7667	//    group.
7668	//
7669	//    * ignore: List all revisions.
7670	Deployed *string `locationName:"deployed" type:"string" enum:"ListStateFilterAction"`
7671
7672	// An identifier returned from the previous list application revisions call.
7673	// It can be used to return the next set of applications in the list.
7674	NextToken *string `locationName:"nextToken" type:"string"`
7675
7676	// An Amazon S3 bucket name to limit the search for revisions.
7677	//
7678	// If set to null, all of the user's buckets will be searched.
7679	S3Bucket *string `locationName:"s3Bucket" type:"string"`
7680
7681	// A key prefix for the set of Amazon S3 objects to limit the search for revisions.
7682	S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"`
7683
7684	// The column name to use to sort the list results:
7685	//
7686	//    * registerTime: Sort by the time the revisions were registered with AWS
7687	//    CodeDeploy.
7688	//
7689	//    * firstUsedTime: Sort by the time the revisions were first used in a deployment.
7690	//
7691	//    * lastUsedTime: Sort by the time the revisions were last used in a deployment.
7692	//
7693	// If not specified or set to null, the results will be returned in an arbitrary
7694	// order.
7695	SortBy *string `locationName:"sortBy" type:"string" enum:"ApplicationRevisionSortBy"`
7696
7697	// The order in which to sort the list results:
7698	//
7699	//    * ascending: ascending order.
7700	//
7701	//    * descending: descending order.
7702	//
7703	// If not specified, the results will be sorted in ascending order.
7704	//
7705	// If set to null, the results will be sorted in an arbitrary order.
7706	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"`
7707}
7708
7709// String returns the string representation
7710func (s ListApplicationRevisionsInput) String() string {
7711	return awsutil.Prettify(s)
7712}
7713
7714// GoString returns the string representation
7715func (s ListApplicationRevisionsInput) GoString() string {
7716	return s.String()
7717}
7718
7719// Validate inspects the fields of the type to determine if they are valid.
7720func (s *ListApplicationRevisionsInput) Validate() error {
7721	invalidParams := request.ErrInvalidParams{Context: "ListApplicationRevisionsInput"}
7722	if s.ApplicationName == nil {
7723		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
7724	}
7725	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7726		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7727	}
7728
7729	if invalidParams.Len() > 0 {
7730		return invalidParams
7731	}
7732	return nil
7733}
7734
7735// SetApplicationName sets the ApplicationName field's value.
7736func (s *ListApplicationRevisionsInput) SetApplicationName(v string) *ListApplicationRevisionsInput {
7737	s.ApplicationName = &v
7738	return s
7739}
7740
7741// SetDeployed sets the Deployed field's value.
7742func (s *ListApplicationRevisionsInput) SetDeployed(v string) *ListApplicationRevisionsInput {
7743	s.Deployed = &v
7744	return s
7745}
7746
7747// SetNextToken sets the NextToken field's value.
7748func (s *ListApplicationRevisionsInput) SetNextToken(v string) *ListApplicationRevisionsInput {
7749	s.NextToken = &v
7750	return s
7751}
7752
7753// SetS3Bucket sets the S3Bucket field's value.
7754func (s *ListApplicationRevisionsInput) SetS3Bucket(v string) *ListApplicationRevisionsInput {
7755	s.S3Bucket = &v
7756	return s
7757}
7758
7759// SetS3KeyPrefix sets the S3KeyPrefix field's value.
7760func (s *ListApplicationRevisionsInput) SetS3KeyPrefix(v string) *ListApplicationRevisionsInput {
7761	s.S3KeyPrefix = &v
7762	return s
7763}
7764
7765// SetSortBy sets the SortBy field's value.
7766func (s *ListApplicationRevisionsInput) SetSortBy(v string) *ListApplicationRevisionsInput {
7767	s.SortBy = &v
7768	return s
7769}
7770
7771// SetSortOrder sets the SortOrder field's value.
7772func (s *ListApplicationRevisionsInput) SetSortOrder(v string) *ListApplicationRevisionsInput {
7773	s.SortOrder = &v
7774	return s
7775}
7776
7777// Represents the output of a ListApplicationRevisions operation.
7778// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListApplicationRevisionsOutput
7779type ListApplicationRevisionsOutput struct {
7780	_ struct{} `type:"structure"`
7781
7782	// If a large amount of information is returned, an identifier will also be
7783	// returned. It can be used in a subsequent list application revisions call
7784	// to return the next set of application revisions in the list.
7785	NextToken *string `locationName:"nextToken" type:"string"`
7786
7787	// A list of locations that contain the matching revisions.
7788	Revisions []*RevisionLocation `locationName:"revisions" type:"list"`
7789}
7790
7791// String returns the string representation
7792func (s ListApplicationRevisionsOutput) String() string {
7793	return awsutil.Prettify(s)
7794}
7795
7796// GoString returns the string representation
7797func (s ListApplicationRevisionsOutput) GoString() string {
7798	return s.String()
7799}
7800
7801// SetNextToken sets the NextToken field's value.
7802func (s *ListApplicationRevisionsOutput) SetNextToken(v string) *ListApplicationRevisionsOutput {
7803	s.NextToken = &v
7804	return s
7805}
7806
7807// SetRevisions sets the Revisions field's value.
7808func (s *ListApplicationRevisionsOutput) SetRevisions(v []*RevisionLocation) *ListApplicationRevisionsOutput {
7809	s.Revisions = v
7810	return s
7811}
7812
7813// Represents the input of a ListApplications operation.
7814// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListApplicationsInput
7815type ListApplicationsInput struct {
7816	_ struct{} `type:"structure"`
7817
7818	// An identifier returned from the previous list applications call. It can be
7819	// used to return the next set of applications in the list.
7820	NextToken *string `locationName:"nextToken" type:"string"`
7821}
7822
7823// String returns the string representation
7824func (s ListApplicationsInput) String() string {
7825	return awsutil.Prettify(s)
7826}
7827
7828// GoString returns the string representation
7829func (s ListApplicationsInput) GoString() string {
7830	return s.String()
7831}
7832
7833// SetNextToken sets the NextToken field's value.
7834func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
7835	s.NextToken = &v
7836	return s
7837}
7838
7839// Represents the output of a ListApplications operation.
7840// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListApplicationsOutput
7841type ListApplicationsOutput struct {
7842	_ struct{} `type:"structure"`
7843
7844	// A list of application names.
7845	Applications []*string `locationName:"applications" type:"list"`
7846
7847	// If a large amount of information is returned, an identifier is also returned.
7848	// It can be used in a subsequent list applications call to return the next
7849	// set of applications, will also be returned. in the list.
7850	NextToken *string `locationName:"nextToken" type:"string"`
7851}
7852
7853// String returns the string representation
7854func (s ListApplicationsOutput) String() string {
7855	return awsutil.Prettify(s)
7856}
7857
7858// GoString returns the string representation
7859func (s ListApplicationsOutput) GoString() string {
7860	return s.String()
7861}
7862
7863// SetApplications sets the Applications field's value.
7864func (s *ListApplicationsOutput) SetApplications(v []*string) *ListApplicationsOutput {
7865	s.Applications = v
7866	return s
7867}
7868
7869// SetNextToken sets the NextToken field's value.
7870func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
7871	s.NextToken = &v
7872	return s
7873}
7874
7875// Represents the input of a ListDeploymentConfigs operation.
7876// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentConfigsInput
7877type ListDeploymentConfigsInput struct {
7878	_ struct{} `type:"structure"`
7879
7880	// An identifier returned from the previous list deployment configurations call.
7881	// It can be used to return the next set of deployment configurations in the
7882	// list.
7883	NextToken *string `locationName:"nextToken" type:"string"`
7884}
7885
7886// String returns the string representation
7887func (s ListDeploymentConfigsInput) String() string {
7888	return awsutil.Prettify(s)
7889}
7890
7891// GoString returns the string representation
7892func (s ListDeploymentConfigsInput) GoString() string {
7893	return s.String()
7894}
7895
7896// SetNextToken sets the NextToken field's value.
7897func (s *ListDeploymentConfigsInput) SetNextToken(v string) *ListDeploymentConfigsInput {
7898	s.NextToken = &v
7899	return s
7900}
7901
7902// Represents the output of a ListDeploymentConfigs operation.
7903// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentConfigsOutput
7904type ListDeploymentConfigsOutput struct {
7905	_ struct{} `type:"structure"`
7906
7907	// A list of deployment configurations, including built-in configurations such
7908	// as CodeDeployDefault.OneAtATime.
7909	DeploymentConfigsList []*string `locationName:"deploymentConfigsList" type:"list"`
7910
7911	// If a large amount of information is returned, an identifier is also returned.
7912	// It can be used in a subsequent list deployment configurations call to return
7913	// the next set of deployment configurations in the list.
7914	NextToken *string `locationName:"nextToken" type:"string"`
7915}
7916
7917// String returns the string representation
7918func (s ListDeploymentConfigsOutput) String() string {
7919	return awsutil.Prettify(s)
7920}
7921
7922// GoString returns the string representation
7923func (s ListDeploymentConfigsOutput) GoString() string {
7924	return s.String()
7925}
7926
7927// SetDeploymentConfigsList sets the DeploymentConfigsList field's value.
7928func (s *ListDeploymentConfigsOutput) SetDeploymentConfigsList(v []*string) *ListDeploymentConfigsOutput {
7929	s.DeploymentConfigsList = v
7930	return s
7931}
7932
7933// SetNextToken sets the NextToken field's value.
7934func (s *ListDeploymentConfigsOutput) SetNextToken(v string) *ListDeploymentConfigsOutput {
7935	s.NextToken = &v
7936	return s
7937}
7938
7939// Represents the input of a ListDeploymentGroups operation.
7940// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentGroupsInput
7941type ListDeploymentGroupsInput struct {
7942	_ struct{} `type:"structure"`
7943
7944	// The name of an AWS CodeDeploy application associated with the applicable
7945	// IAM user or AWS account.
7946	//
7947	// ApplicationName is a required field
7948	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
7949
7950	// An identifier returned from the previous list deployment groups call. It
7951	// can be used to return the next set of deployment groups in the list.
7952	NextToken *string `locationName:"nextToken" type:"string"`
7953}
7954
7955// String returns the string representation
7956func (s ListDeploymentGroupsInput) String() string {
7957	return awsutil.Prettify(s)
7958}
7959
7960// GoString returns the string representation
7961func (s ListDeploymentGroupsInput) GoString() string {
7962	return s.String()
7963}
7964
7965// Validate inspects the fields of the type to determine if they are valid.
7966func (s *ListDeploymentGroupsInput) Validate() error {
7967	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentGroupsInput"}
7968	if s.ApplicationName == nil {
7969		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
7970	}
7971	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7972		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7973	}
7974
7975	if invalidParams.Len() > 0 {
7976		return invalidParams
7977	}
7978	return nil
7979}
7980
7981// SetApplicationName sets the ApplicationName field's value.
7982func (s *ListDeploymentGroupsInput) SetApplicationName(v string) *ListDeploymentGroupsInput {
7983	s.ApplicationName = &v
7984	return s
7985}
7986
7987// SetNextToken sets the NextToken field's value.
7988func (s *ListDeploymentGroupsInput) SetNextToken(v string) *ListDeploymentGroupsInput {
7989	s.NextToken = &v
7990	return s
7991}
7992
7993// Represents the output of a ListDeploymentGroups operation.
7994// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentGroupsOutput
7995type ListDeploymentGroupsOutput struct {
7996	_ struct{} `type:"structure"`
7997
7998	// The application name.
7999	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
8000
8001	// A list of corresponding deployment group names.
8002	DeploymentGroups []*string `locationName:"deploymentGroups" type:"list"`
8003
8004	// If a large amount of information is returned, an identifier is also returned.
8005	// It can be used in a subsequent list deployment groups call to return the
8006	// next set of deployment groups in the list.
8007	NextToken *string `locationName:"nextToken" type:"string"`
8008}
8009
8010// String returns the string representation
8011func (s ListDeploymentGroupsOutput) String() string {
8012	return awsutil.Prettify(s)
8013}
8014
8015// GoString returns the string representation
8016func (s ListDeploymentGroupsOutput) GoString() string {
8017	return s.String()
8018}
8019
8020// SetApplicationName sets the ApplicationName field's value.
8021func (s *ListDeploymentGroupsOutput) SetApplicationName(v string) *ListDeploymentGroupsOutput {
8022	s.ApplicationName = &v
8023	return s
8024}
8025
8026// SetDeploymentGroups sets the DeploymentGroups field's value.
8027func (s *ListDeploymentGroupsOutput) SetDeploymentGroups(v []*string) *ListDeploymentGroupsOutput {
8028	s.DeploymentGroups = v
8029	return s
8030}
8031
8032// SetNextToken sets the NextToken field's value.
8033func (s *ListDeploymentGroupsOutput) SetNextToken(v string) *ListDeploymentGroupsOutput {
8034	s.NextToken = &v
8035	return s
8036}
8037
8038// Represents the input of a ListDeploymentInstances operation.
8039// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentInstancesInput
8040type ListDeploymentInstancesInput struct {
8041	_ struct{} `type:"structure"`
8042
8043	// The unique ID of a deployment.
8044	//
8045	// DeploymentId is a required field
8046	DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"`
8047
8048	// A subset of instances to list by status:
8049	//
8050	//    * Pending: Include those instance with pending deployments.
8051	//
8052	//    * InProgress: Include those instance where deployments are still in progress.
8053	//
8054	//    * Succeeded: Include those instances with successful deployments.
8055	//
8056	//    * Failed: Include those instance with failed deployments.
8057	//
8058	//    * Skipped: Include those instance with skipped deployments.
8059	//
8060	//    * Unknown: Include those instance with deployments in an unknown state.
8061	InstanceStatusFilter []*string `locationName:"instanceStatusFilter" type:"list"`
8062
8063	// The set of instances in a blue/green deployment, either those in the original
8064	// environment ("BLUE") or those in the replacement environment ("GREEN"), for
8065	// which you want to view instance information.
8066	InstanceTypeFilter []*string `locationName:"instanceTypeFilter" type:"list"`
8067
8068	// An identifier returned from the previous list deployment instances call.
8069	// It can be used to return the next set of deployment instances in the list.
8070	NextToken *string `locationName:"nextToken" type:"string"`
8071}
8072
8073// String returns the string representation
8074func (s ListDeploymentInstancesInput) String() string {
8075	return awsutil.Prettify(s)
8076}
8077
8078// GoString returns the string representation
8079func (s ListDeploymentInstancesInput) GoString() string {
8080	return s.String()
8081}
8082
8083// Validate inspects the fields of the type to determine if they are valid.
8084func (s *ListDeploymentInstancesInput) Validate() error {
8085	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentInstancesInput"}
8086	if s.DeploymentId == nil {
8087		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
8088	}
8089
8090	if invalidParams.Len() > 0 {
8091		return invalidParams
8092	}
8093	return nil
8094}
8095
8096// SetDeploymentId sets the DeploymentId field's value.
8097func (s *ListDeploymentInstancesInput) SetDeploymentId(v string) *ListDeploymentInstancesInput {
8098	s.DeploymentId = &v
8099	return s
8100}
8101
8102// SetInstanceStatusFilter sets the InstanceStatusFilter field's value.
8103func (s *ListDeploymentInstancesInput) SetInstanceStatusFilter(v []*string) *ListDeploymentInstancesInput {
8104	s.InstanceStatusFilter = v
8105	return s
8106}
8107
8108// SetInstanceTypeFilter sets the InstanceTypeFilter field's value.
8109func (s *ListDeploymentInstancesInput) SetInstanceTypeFilter(v []*string) *ListDeploymentInstancesInput {
8110	s.InstanceTypeFilter = v
8111	return s
8112}
8113
8114// SetNextToken sets the NextToken field's value.
8115func (s *ListDeploymentInstancesInput) SetNextToken(v string) *ListDeploymentInstancesInput {
8116	s.NextToken = &v
8117	return s
8118}
8119
8120// Represents the output of a ListDeploymentInstances operation.
8121// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentInstancesOutput
8122type ListDeploymentInstancesOutput struct {
8123	_ struct{} `type:"structure"`
8124
8125	// A list of instance IDs.
8126	InstancesList []*string `locationName:"instancesList" type:"list"`
8127
8128	// If a large amount of information is returned, an identifier is also returned.
8129	// It can be used in a subsequent list deployment instances call to return the
8130	// next set of deployment instances in the list.
8131	NextToken *string `locationName:"nextToken" type:"string"`
8132}
8133
8134// String returns the string representation
8135func (s ListDeploymentInstancesOutput) String() string {
8136	return awsutil.Prettify(s)
8137}
8138
8139// GoString returns the string representation
8140func (s ListDeploymentInstancesOutput) GoString() string {
8141	return s.String()
8142}
8143
8144// SetInstancesList sets the InstancesList field's value.
8145func (s *ListDeploymentInstancesOutput) SetInstancesList(v []*string) *ListDeploymentInstancesOutput {
8146	s.InstancesList = v
8147	return s
8148}
8149
8150// SetNextToken sets the NextToken field's value.
8151func (s *ListDeploymentInstancesOutput) SetNextToken(v string) *ListDeploymentInstancesOutput {
8152	s.NextToken = &v
8153	return s
8154}
8155
8156// Represents the input of a ListDeployments operation.
8157// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentsInput
8158type ListDeploymentsInput struct {
8159	_ struct{} `type:"structure"`
8160
8161	// The name of an AWS CodeDeploy application associated with the applicable
8162	// IAM user or AWS account.
8163	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
8164
8165	// A time range (start and end) for returning a subset of the list of deployments.
8166	CreateTimeRange *TimeRange `locationName:"createTimeRange" type:"structure"`
8167
8168	// The name of an existing deployment group for the specified application.
8169	DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string"`
8170
8171	// A subset of deployments to list by status:
8172	//
8173	//    * Created: Include created deployments in the resulting list.
8174	//
8175	//    * Queued: Include queued deployments in the resulting list.
8176	//
8177	//    * In Progress: Include in-progress deployments in the resulting list.
8178	//
8179	//    * Succeeded: Include successful deployments in the resulting list.
8180	//
8181	//    * Failed: Include failed deployments in the resulting list.
8182	//
8183	//    * Stopped: Include stopped deployments in the resulting list.
8184	IncludeOnlyStatuses []*string `locationName:"includeOnlyStatuses" type:"list"`
8185
8186	// An identifier returned from the previous list deployments call. It can be
8187	// used to return the next set of deployments in the list.
8188	NextToken *string `locationName:"nextToken" type:"string"`
8189}
8190
8191// String returns the string representation
8192func (s ListDeploymentsInput) String() string {
8193	return awsutil.Prettify(s)
8194}
8195
8196// GoString returns the string representation
8197func (s ListDeploymentsInput) GoString() string {
8198	return s.String()
8199}
8200
8201// Validate inspects the fields of the type to determine if they are valid.
8202func (s *ListDeploymentsInput) Validate() error {
8203	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"}
8204	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
8205		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
8206	}
8207	if s.DeploymentGroupName != nil && len(*s.DeploymentGroupName) < 1 {
8208		invalidParams.Add(request.NewErrParamMinLen("DeploymentGroupName", 1))
8209	}
8210
8211	if invalidParams.Len() > 0 {
8212		return invalidParams
8213	}
8214	return nil
8215}
8216
8217// SetApplicationName sets the ApplicationName field's value.
8218func (s *ListDeploymentsInput) SetApplicationName(v string) *ListDeploymentsInput {
8219	s.ApplicationName = &v
8220	return s
8221}
8222
8223// SetCreateTimeRange sets the CreateTimeRange field's value.
8224func (s *ListDeploymentsInput) SetCreateTimeRange(v *TimeRange) *ListDeploymentsInput {
8225	s.CreateTimeRange = v
8226	return s
8227}
8228
8229// SetDeploymentGroupName sets the DeploymentGroupName field's value.
8230func (s *ListDeploymentsInput) SetDeploymentGroupName(v string) *ListDeploymentsInput {
8231	s.DeploymentGroupName = &v
8232	return s
8233}
8234
8235// SetIncludeOnlyStatuses sets the IncludeOnlyStatuses field's value.
8236func (s *ListDeploymentsInput) SetIncludeOnlyStatuses(v []*string) *ListDeploymentsInput {
8237	s.IncludeOnlyStatuses = v
8238	return s
8239}
8240
8241// SetNextToken sets the NextToken field's value.
8242func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput {
8243	s.NextToken = &v
8244	return s
8245}
8246
8247// Represents the output of a ListDeployments operation.
8248// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentsOutput
8249type ListDeploymentsOutput struct {
8250	_ struct{} `type:"structure"`
8251
8252	// A list of deployment IDs.
8253	Deployments []*string `locationName:"deployments" type:"list"`
8254
8255	// If a large amount of information is returned, an identifier is also returned.
8256	// It can be used in a subsequent list deployments call to return the next set
8257	// of deployments in the list.
8258	NextToken *string `locationName:"nextToken" type:"string"`
8259}
8260
8261// String returns the string representation
8262func (s ListDeploymentsOutput) String() string {
8263	return awsutil.Prettify(s)
8264}
8265
8266// GoString returns the string representation
8267func (s ListDeploymentsOutput) GoString() string {
8268	return s.String()
8269}
8270
8271// SetDeployments sets the Deployments field's value.
8272func (s *ListDeploymentsOutput) SetDeployments(v []*string) *ListDeploymentsOutput {
8273	s.Deployments = v
8274	return s
8275}
8276
8277// SetNextToken sets the NextToken field's value.
8278func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput {
8279	s.NextToken = &v
8280	return s
8281}
8282
8283// Represents the input of a ListGitHubAccountTokenNames operation.
8284// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListGitHubAccountTokenNamesInput
8285type ListGitHubAccountTokenNamesInput struct {
8286	_ struct{} `type:"structure"`
8287
8288	// An identifier returned from the previous ListGitHubAccountTokenNames call.
8289	// It can be used to return the next set of names in the list.
8290	NextToken *string `locationName:"nextToken" type:"string"`
8291}
8292
8293// String returns the string representation
8294func (s ListGitHubAccountTokenNamesInput) String() string {
8295	return awsutil.Prettify(s)
8296}
8297
8298// GoString returns the string representation
8299func (s ListGitHubAccountTokenNamesInput) GoString() string {
8300	return s.String()
8301}
8302
8303// SetNextToken sets the NextToken field's value.
8304func (s *ListGitHubAccountTokenNamesInput) SetNextToken(v string) *ListGitHubAccountTokenNamesInput {
8305	s.NextToken = &v
8306	return s
8307}
8308
8309// Represents the output of a ListGitHubAccountTokenNames operation.
8310// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListGitHubAccountTokenNamesOutput
8311type ListGitHubAccountTokenNamesOutput struct {
8312	_ struct{} `type:"structure"`
8313
8314	// If a large amount of information is returned, an identifier is also returned.
8315	// It can be used in a subsequent ListGitHubAccountTokenNames call to return
8316	// the next set of names in the list.
8317	NextToken *string `locationName:"nextToken" type:"string"`
8318
8319	// A list of names of connections to GitHub accounts.
8320	TokenNameList []*string `locationName:"tokenNameList" type:"list"`
8321}
8322
8323// String returns the string representation
8324func (s ListGitHubAccountTokenNamesOutput) String() string {
8325	return awsutil.Prettify(s)
8326}
8327
8328// GoString returns the string representation
8329func (s ListGitHubAccountTokenNamesOutput) GoString() string {
8330	return s.String()
8331}
8332
8333// SetNextToken sets the NextToken field's value.
8334func (s *ListGitHubAccountTokenNamesOutput) SetNextToken(v string) *ListGitHubAccountTokenNamesOutput {
8335	s.NextToken = &v
8336	return s
8337}
8338
8339// SetTokenNameList sets the TokenNameList field's value.
8340func (s *ListGitHubAccountTokenNamesOutput) SetTokenNameList(v []*string) *ListGitHubAccountTokenNamesOutput {
8341	s.TokenNameList = v
8342	return s
8343}
8344
8345// Represents the input of a ListOnPremisesInstances operation.
8346// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListOnPremisesInstancesInput
8347type ListOnPremisesInstancesInput struct {
8348	_ struct{} `type:"structure"`
8349
8350	// An identifier returned from the previous list on-premises instances call.
8351	// It can be used to return the next set of on-premises instances in the list.
8352	NextToken *string `locationName:"nextToken" type:"string"`
8353
8354	// The registration status of the on-premises instances:
8355	//
8356	//    * Deregistered: Include deregistered on-premises instances in the resulting
8357	//    list.
8358	//
8359	//    * Registered: Include registered on-premises instances in the resulting
8360	//    list.
8361	RegistrationStatus *string `locationName:"registrationStatus" type:"string" enum:"RegistrationStatus"`
8362
8363	// The on-premises instance tags that will be used to restrict the corresponding
8364	// on-premises instance names returned.
8365	TagFilters []*TagFilter `locationName:"tagFilters" type:"list"`
8366}
8367
8368// String returns the string representation
8369func (s ListOnPremisesInstancesInput) String() string {
8370	return awsutil.Prettify(s)
8371}
8372
8373// GoString returns the string representation
8374func (s ListOnPremisesInstancesInput) GoString() string {
8375	return s.String()
8376}
8377
8378// SetNextToken sets the NextToken field's value.
8379func (s *ListOnPremisesInstancesInput) SetNextToken(v string) *ListOnPremisesInstancesInput {
8380	s.NextToken = &v
8381	return s
8382}
8383
8384// SetRegistrationStatus sets the RegistrationStatus field's value.
8385func (s *ListOnPremisesInstancesInput) SetRegistrationStatus(v string) *ListOnPremisesInstancesInput {
8386	s.RegistrationStatus = &v
8387	return s
8388}
8389
8390// SetTagFilters sets the TagFilters field's value.
8391func (s *ListOnPremisesInstancesInput) SetTagFilters(v []*TagFilter) *ListOnPremisesInstancesInput {
8392	s.TagFilters = v
8393	return s
8394}
8395
8396// Represents the output of list on-premises instances operation.
8397// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListOnPremisesInstancesOutput
8398type ListOnPremisesInstancesOutput struct {
8399	_ struct{} `type:"structure"`
8400
8401	// The list of matching on-premises instance names.
8402	InstanceNames []*string `locationName:"instanceNames" type:"list"`
8403
8404	// If a large amount of information is returned, an identifier is also returned.
8405	// It can be used in a subsequent list on-premises instances call to return
8406	// the next set of on-premises instances in the list.
8407	NextToken *string `locationName:"nextToken" type:"string"`
8408}
8409
8410// String returns the string representation
8411func (s ListOnPremisesInstancesOutput) String() string {
8412	return awsutil.Prettify(s)
8413}
8414
8415// GoString returns the string representation
8416func (s ListOnPremisesInstancesOutput) GoString() string {
8417	return s.String()
8418}
8419
8420// SetInstanceNames sets the InstanceNames field's value.
8421func (s *ListOnPremisesInstancesOutput) SetInstanceNames(v []*string) *ListOnPremisesInstancesOutput {
8422	s.InstanceNames = v
8423	return s
8424}
8425
8426// SetNextToken sets the NextToken field's value.
8427func (s *ListOnPremisesInstancesOutput) SetNextToken(v string) *ListOnPremisesInstancesOutput {
8428	s.NextToken = &v
8429	return s
8430}
8431
8432// Information about the Elastic Load Balancing load balancer or target group
8433// used in a deployment.
8434// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/LoadBalancerInfo
8435type LoadBalancerInfo struct {
8436	_ struct{} `type:"structure"`
8437
8438	// An array containing information about the load balancer to use for load balancing
8439	// in a deployment. In Elastic Load Balancing, load balancers are used with
8440	// Classic Load Balancers.
8441	ElbInfoList []*ELBInfo `locationName:"elbInfoList" type:"list"`
8442
8443	// An array containing information about the target group to use for load balancing
8444	// in a deployment. In Elastic Load Balancing, target groups are used with Application
8445	// Load Balancers.
8446	TargetGroupInfoList []*TargetGroupInfo `locationName:"targetGroupInfoList" type:"list"`
8447}
8448
8449// String returns the string representation
8450func (s LoadBalancerInfo) String() string {
8451	return awsutil.Prettify(s)
8452}
8453
8454// GoString returns the string representation
8455func (s LoadBalancerInfo) GoString() string {
8456	return s.String()
8457}
8458
8459// SetElbInfoList sets the ElbInfoList field's value.
8460func (s *LoadBalancerInfo) SetElbInfoList(v []*ELBInfo) *LoadBalancerInfo {
8461	s.ElbInfoList = v
8462	return s
8463}
8464
8465// SetTargetGroupInfoList sets the TargetGroupInfoList field's value.
8466func (s *LoadBalancerInfo) SetTargetGroupInfoList(v []*TargetGroupInfo) *LoadBalancerInfo {
8467	s.TargetGroupInfoList = v
8468	return s
8469}
8470
8471// Information about minimum healthy instance.
8472// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/MinimumHealthyHosts
8473type MinimumHealthyHosts struct {
8474	_ struct{} `type:"structure"`
8475
8476	// The minimum healthy instance type:
8477	//
8478	//    * HOST_COUNT: The minimum number of healthy instance as an absolute value.
8479	//
8480	//    * FLEET_PERCENT: The minimum number of healthy instance as a percentage
8481	//    of the total number of instance in the deployment.
8482	//
8483	// In an example of nine instance, if a HOST_COUNT of six is specified, deploy
8484	// to up to three instances at a time. The deployment will be successful if
8485	// six or more instances are deployed to successfully; otherwise, the deployment
8486	// fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance
8487	// at a time. The deployment will be successful if four or more instance are
8488	// deployed to successfully; otherwise, the deployment fails.
8489	//
8490	// In a call to the get deployment configuration operation, CodeDeployDefault.OneAtATime
8491	// will return a minimum healthy instance type of MOST_CONCURRENCY and a value
8492	// of 1. This means a deployment to only one instance at a time. (You cannot
8493	// set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In
8494	// addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy will try to ensure
8495	// that all instances but one are kept in a healthy state during the deployment.
8496	// Although this allows one instance at a time to be taken offline for a new
8497	// deployment, it also means that if the deployment to the last instance fails,
8498	// the overall deployment still succeeds.
8499	//
8500	// For more information, see AWS CodeDeploy Instance Health (http://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html)
8501	// in the AWS CodeDeploy User Guide.
8502	Type *string `locationName:"type" type:"string" enum:"MinimumHealthyHostsType"`
8503
8504	// The minimum healthy instance value.
8505	Value *int64 `locationName:"value" type:"integer"`
8506}
8507
8508// String returns the string representation
8509func (s MinimumHealthyHosts) String() string {
8510	return awsutil.Prettify(s)
8511}
8512
8513// GoString returns the string representation
8514func (s MinimumHealthyHosts) GoString() string {
8515	return s.String()
8516}
8517
8518// SetType sets the Type field's value.
8519func (s *MinimumHealthyHosts) SetType(v string) *MinimumHealthyHosts {
8520	s.Type = &v
8521	return s
8522}
8523
8524// SetValue sets the Value field's value.
8525func (s *MinimumHealthyHosts) SetValue(v int64) *MinimumHealthyHosts {
8526	s.Value = &v
8527	return s
8528}
8529
8530// Information about groups of on-premises instance tags.
8531// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/OnPremisesTagSet
8532type OnPremisesTagSet struct {
8533	_ struct{} `type:"structure"`
8534
8535	// A list containing other lists of on-premises instance tag groups. In order
8536	// for an instance to be included in the deployment group, it must be identified
8537	// by all the tag groups in the list.
8538	OnPremisesTagSetList [][]*TagFilter `locationName:"onPremisesTagSetList" type:"list"`
8539}
8540
8541// String returns the string representation
8542func (s OnPremisesTagSet) String() string {
8543	return awsutil.Prettify(s)
8544}
8545
8546// GoString returns the string representation
8547func (s OnPremisesTagSet) GoString() string {
8548	return s.String()
8549}
8550
8551// SetOnPremisesTagSetList sets the OnPremisesTagSetList field's value.
8552func (s *OnPremisesTagSet) SetOnPremisesTagSetList(v [][]*TagFilter) *OnPremisesTagSet {
8553	s.OnPremisesTagSetList = v
8554	return s
8555}
8556
8557// Represents the input of a RegisterApplicationRevision operation.
8558// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterApplicationRevisionInput
8559type RegisterApplicationRevisionInput struct {
8560	_ struct{} `type:"structure"`
8561
8562	// The name of an AWS CodeDeploy application associated with the applicable
8563	// IAM user or AWS account.
8564	//
8565	// ApplicationName is a required field
8566	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
8567
8568	// A comment about the revision.
8569	Description *string `locationName:"description" type:"string"`
8570
8571	// Information about the application revision to register, including type and
8572	// location.
8573	//
8574	// Revision is a required field
8575	Revision *RevisionLocation `locationName:"revision" type:"structure" required:"true"`
8576}
8577
8578// String returns the string representation
8579func (s RegisterApplicationRevisionInput) String() string {
8580	return awsutil.Prettify(s)
8581}
8582
8583// GoString returns the string representation
8584func (s RegisterApplicationRevisionInput) GoString() string {
8585	return s.String()
8586}
8587
8588// Validate inspects the fields of the type to determine if they are valid.
8589func (s *RegisterApplicationRevisionInput) Validate() error {
8590	invalidParams := request.ErrInvalidParams{Context: "RegisterApplicationRevisionInput"}
8591	if s.ApplicationName == nil {
8592		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
8593	}
8594	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
8595		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
8596	}
8597	if s.Revision == nil {
8598		invalidParams.Add(request.NewErrParamRequired("Revision"))
8599	}
8600
8601	if invalidParams.Len() > 0 {
8602		return invalidParams
8603	}
8604	return nil
8605}
8606
8607// SetApplicationName sets the ApplicationName field's value.
8608func (s *RegisterApplicationRevisionInput) SetApplicationName(v string) *RegisterApplicationRevisionInput {
8609	s.ApplicationName = &v
8610	return s
8611}
8612
8613// SetDescription sets the Description field's value.
8614func (s *RegisterApplicationRevisionInput) SetDescription(v string) *RegisterApplicationRevisionInput {
8615	s.Description = &v
8616	return s
8617}
8618
8619// SetRevision sets the Revision field's value.
8620func (s *RegisterApplicationRevisionInput) SetRevision(v *RevisionLocation) *RegisterApplicationRevisionInput {
8621	s.Revision = v
8622	return s
8623}
8624
8625// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterApplicationRevisionOutput
8626type RegisterApplicationRevisionOutput struct {
8627	_ struct{} `type:"structure"`
8628}
8629
8630// String returns the string representation
8631func (s RegisterApplicationRevisionOutput) String() string {
8632	return awsutil.Prettify(s)
8633}
8634
8635// GoString returns the string representation
8636func (s RegisterApplicationRevisionOutput) GoString() string {
8637	return s.String()
8638}
8639
8640// Represents the input of the register on-premises instance operation.
8641// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterOnPremisesInstanceInput
8642type RegisterOnPremisesInstanceInput struct {
8643	_ struct{} `type:"structure"`
8644
8645	// The ARN of the IAM session to associate with the on-premises instance.
8646	IamSessionArn *string `locationName:"iamSessionArn" type:"string"`
8647
8648	// The ARN of the IAM user to associate with the on-premises instance.
8649	IamUserArn *string `locationName:"iamUserArn" type:"string"`
8650
8651	// The name of the on-premises instance to register.
8652	//
8653	// InstanceName is a required field
8654	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
8655}
8656
8657// String returns the string representation
8658func (s RegisterOnPremisesInstanceInput) String() string {
8659	return awsutil.Prettify(s)
8660}
8661
8662// GoString returns the string representation
8663func (s RegisterOnPremisesInstanceInput) GoString() string {
8664	return s.String()
8665}
8666
8667// Validate inspects the fields of the type to determine if they are valid.
8668func (s *RegisterOnPremisesInstanceInput) Validate() error {
8669	invalidParams := request.ErrInvalidParams{Context: "RegisterOnPremisesInstanceInput"}
8670	if s.InstanceName == nil {
8671		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
8672	}
8673
8674	if invalidParams.Len() > 0 {
8675		return invalidParams
8676	}
8677	return nil
8678}
8679
8680// SetIamSessionArn sets the IamSessionArn field's value.
8681func (s *RegisterOnPremisesInstanceInput) SetIamSessionArn(v string) *RegisterOnPremisesInstanceInput {
8682	s.IamSessionArn = &v
8683	return s
8684}
8685
8686// SetIamUserArn sets the IamUserArn field's value.
8687func (s *RegisterOnPremisesInstanceInput) SetIamUserArn(v string) *RegisterOnPremisesInstanceInput {
8688	s.IamUserArn = &v
8689	return s
8690}
8691
8692// SetInstanceName sets the InstanceName field's value.
8693func (s *RegisterOnPremisesInstanceInput) SetInstanceName(v string) *RegisterOnPremisesInstanceInput {
8694	s.InstanceName = &v
8695	return s
8696}
8697
8698// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterOnPremisesInstanceOutput
8699type RegisterOnPremisesInstanceOutput struct {
8700	_ struct{} `type:"structure"`
8701}
8702
8703// String returns the string representation
8704func (s RegisterOnPremisesInstanceOutput) String() string {
8705	return awsutil.Prettify(s)
8706}
8707
8708// GoString returns the string representation
8709func (s RegisterOnPremisesInstanceOutput) GoString() string {
8710	return s.String()
8711}
8712
8713// Represents the input of a RemoveTagsFromOnPremisesInstances operation.
8714// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RemoveTagsFromOnPremisesInstancesInput
8715type RemoveTagsFromOnPremisesInstancesInput struct {
8716	_ struct{} `type:"structure"`
8717
8718	// The names of the on-premises instances from which to remove tags.
8719	//
8720	// InstanceNames is a required field
8721	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
8722
8723	// The tag key-value pairs to remove from the on-premises instances.
8724	//
8725	// Tags is a required field
8726	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
8727}
8728
8729// String returns the string representation
8730func (s RemoveTagsFromOnPremisesInstancesInput) String() string {
8731	return awsutil.Prettify(s)
8732}
8733
8734// GoString returns the string representation
8735func (s RemoveTagsFromOnPremisesInstancesInput) GoString() string {
8736	return s.String()
8737}
8738
8739// Validate inspects the fields of the type to determine if they are valid.
8740func (s *RemoveTagsFromOnPremisesInstancesInput) Validate() error {
8741	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromOnPremisesInstancesInput"}
8742	if s.InstanceNames == nil {
8743		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
8744	}
8745	if s.Tags == nil {
8746		invalidParams.Add(request.NewErrParamRequired("Tags"))
8747	}
8748
8749	if invalidParams.Len() > 0 {
8750		return invalidParams
8751	}
8752	return nil
8753}
8754
8755// SetInstanceNames sets the InstanceNames field's value.
8756func (s *RemoveTagsFromOnPremisesInstancesInput) SetInstanceNames(v []*string) *RemoveTagsFromOnPremisesInstancesInput {
8757	s.InstanceNames = v
8758	return s
8759}
8760
8761// SetTags sets the Tags field's value.
8762func (s *RemoveTagsFromOnPremisesInstancesInput) SetTags(v []*Tag) *RemoveTagsFromOnPremisesInstancesInput {
8763	s.Tags = v
8764	return s
8765}
8766
8767// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RemoveTagsFromOnPremisesInstancesOutput
8768type RemoveTagsFromOnPremisesInstancesOutput struct {
8769	_ struct{} `type:"structure"`
8770}
8771
8772// String returns the string representation
8773func (s RemoveTagsFromOnPremisesInstancesOutput) String() string {
8774	return awsutil.Prettify(s)
8775}
8776
8777// GoString returns the string representation
8778func (s RemoveTagsFromOnPremisesInstancesOutput) GoString() string {
8779	return s.String()
8780}
8781
8782// Information about an application revision.
8783// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RevisionInfo
8784type RevisionInfo struct {
8785	_ struct{} `type:"structure"`
8786
8787	// Information about an application revision, including usage details and associated
8788	// deployment groups.
8789	GenericRevisionInfo *GenericRevisionInfo `locationName:"genericRevisionInfo" type:"structure"`
8790
8791	// Information about the location and type of an application revision.
8792	RevisionLocation *RevisionLocation `locationName:"revisionLocation" type:"structure"`
8793}
8794
8795// String returns the string representation
8796func (s RevisionInfo) String() string {
8797	return awsutil.Prettify(s)
8798}
8799
8800// GoString returns the string representation
8801func (s RevisionInfo) GoString() string {
8802	return s.String()
8803}
8804
8805// SetGenericRevisionInfo sets the GenericRevisionInfo field's value.
8806func (s *RevisionInfo) SetGenericRevisionInfo(v *GenericRevisionInfo) *RevisionInfo {
8807	s.GenericRevisionInfo = v
8808	return s
8809}
8810
8811// SetRevisionLocation sets the RevisionLocation field's value.
8812func (s *RevisionInfo) SetRevisionLocation(v *RevisionLocation) *RevisionInfo {
8813	s.RevisionLocation = v
8814	return s
8815}
8816
8817// Information about the location of an application revision.
8818// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RevisionLocation
8819type RevisionLocation struct {
8820	_ struct{} `type:"structure"`
8821
8822	// Information about the location of application artifacts stored in GitHub.
8823	GitHubLocation *GitHubLocation `locationName:"gitHubLocation" type:"structure"`
8824
8825	// The type of application revision:
8826	//
8827	//    * S3: An application revision stored in Amazon S3.
8828	//
8829	//    * GitHub: An application revision stored in GitHub.
8830	RevisionType *string `locationName:"revisionType" type:"string" enum:"RevisionLocationType"`
8831
8832	// Information about the location of application artifacts stored in Amazon
8833	// S3.
8834	S3Location *S3Location `locationName:"s3Location" type:"structure"`
8835}
8836
8837// String returns the string representation
8838func (s RevisionLocation) String() string {
8839	return awsutil.Prettify(s)
8840}
8841
8842// GoString returns the string representation
8843func (s RevisionLocation) GoString() string {
8844	return s.String()
8845}
8846
8847// SetGitHubLocation sets the GitHubLocation field's value.
8848func (s *RevisionLocation) SetGitHubLocation(v *GitHubLocation) *RevisionLocation {
8849	s.GitHubLocation = v
8850	return s
8851}
8852
8853// SetRevisionType sets the RevisionType field's value.
8854func (s *RevisionLocation) SetRevisionType(v string) *RevisionLocation {
8855	s.RevisionType = &v
8856	return s
8857}
8858
8859// SetS3Location sets the S3Location field's value.
8860func (s *RevisionLocation) SetS3Location(v *S3Location) *RevisionLocation {
8861	s.S3Location = v
8862	return s
8863}
8864
8865// Information about a deployment rollback.
8866// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RollbackInfo
8867type RollbackInfo struct {
8868	_ struct{} `type:"structure"`
8869
8870	// The ID of the deployment rollback.
8871	RollbackDeploymentId *string `locationName:"rollbackDeploymentId" type:"string"`
8872
8873	// Information describing the status of a deployment rollback; for example,
8874	// whether the deployment can't be rolled back, is in progress, failed, or succeeded.
8875	RollbackMessage *string `locationName:"rollbackMessage" type:"string"`
8876
8877	// The deployment ID of the deployment that was underway and triggered a rollback
8878	// deployment because it failed or was stopped.
8879	RollbackTriggeringDeploymentId *string `locationName:"rollbackTriggeringDeploymentId" type:"string"`
8880}
8881
8882// String returns the string representation
8883func (s RollbackInfo) String() string {
8884	return awsutil.Prettify(s)
8885}
8886
8887// GoString returns the string representation
8888func (s RollbackInfo) GoString() string {
8889	return s.String()
8890}
8891
8892// SetRollbackDeploymentId sets the RollbackDeploymentId field's value.
8893func (s *RollbackInfo) SetRollbackDeploymentId(v string) *RollbackInfo {
8894	s.RollbackDeploymentId = &v
8895	return s
8896}
8897
8898// SetRollbackMessage sets the RollbackMessage field's value.
8899func (s *RollbackInfo) SetRollbackMessage(v string) *RollbackInfo {
8900	s.RollbackMessage = &v
8901	return s
8902}
8903
8904// SetRollbackTriggeringDeploymentId sets the RollbackTriggeringDeploymentId field's value.
8905func (s *RollbackInfo) SetRollbackTriggeringDeploymentId(v string) *RollbackInfo {
8906	s.RollbackTriggeringDeploymentId = &v
8907	return s
8908}
8909
8910// Information about the location of application artifacts stored in Amazon
8911// S3.
8912// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/S3Location
8913type S3Location struct {
8914	_ struct{} `type:"structure"`
8915
8916	// The name of the Amazon S3 bucket where the application revision is stored.
8917	Bucket *string `locationName:"bucket" type:"string"`
8918
8919	// The file type of the application revision. Must be one of the following:
8920	//
8921	//    * tar: A tar archive file.
8922	//
8923	//    * tgz: A compressed tar archive file.
8924	//
8925	//    * zip: A zip archive file.
8926	BundleType *string `locationName:"bundleType" type:"string" enum:"BundleType"`
8927
8928	// The ETag of the Amazon S3 object that represents the bundled artifacts for
8929	// the application revision.
8930	//
8931	// If the ETag is not specified as an input parameter, ETag validation of the
8932	// object will be skipped.
8933	ETag *string `locationName:"eTag" type:"string"`
8934
8935	// The name of the Amazon S3 object that represents the bundled artifacts for
8936	// the application revision.
8937	Key *string `locationName:"key" type:"string"`
8938
8939	// A specific version of the Amazon S3 object that represents the bundled artifacts
8940	// for the application revision.
8941	//
8942	// If the version is not specified, the system will use the most recent version
8943	// by default.
8944	Version *string `locationName:"version" type:"string"`
8945}
8946
8947// String returns the string representation
8948func (s S3Location) String() string {
8949	return awsutil.Prettify(s)
8950}
8951
8952// GoString returns the string representation
8953func (s S3Location) GoString() string {
8954	return s.String()
8955}
8956
8957// SetBucket sets the Bucket field's value.
8958func (s *S3Location) SetBucket(v string) *S3Location {
8959	s.Bucket = &v
8960	return s
8961}
8962
8963// SetBundleType sets the BundleType field's value.
8964func (s *S3Location) SetBundleType(v string) *S3Location {
8965	s.BundleType = &v
8966	return s
8967}
8968
8969// SetETag sets the ETag field's value.
8970func (s *S3Location) SetETag(v string) *S3Location {
8971	s.ETag = &v
8972	return s
8973}
8974
8975// SetKey sets the Key field's value.
8976func (s *S3Location) SetKey(v string) *S3Location {
8977	s.Key = &v
8978	return s
8979}
8980
8981// SetVersion sets the Version field's value.
8982func (s *S3Location) SetVersion(v string) *S3Location {
8983	s.Version = &v
8984	return s
8985}
8986
8987// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/SkipWaitTimeForInstanceTerminationInput
8988type SkipWaitTimeForInstanceTerminationInput struct {
8989	_ struct{} `type:"structure"`
8990
8991	// The ID of the blue/green deployment for which you want to skip the instance
8992	// termination wait time.
8993	DeploymentId *string `locationName:"deploymentId" type:"string"`
8994}
8995
8996// String returns the string representation
8997func (s SkipWaitTimeForInstanceTerminationInput) String() string {
8998	return awsutil.Prettify(s)
8999}
9000
9001// GoString returns the string representation
9002func (s SkipWaitTimeForInstanceTerminationInput) GoString() string {
9003	return s.String()
9004}
9005
9006// SetDeploymentId sets the DeploymentId field's value.
9007func (s *SkipWaitTimeForInstanceTerminationInput) SetDeploymentId(v string) *SkipWaitTimeForInstanceTerminationInput {
9008	s.DeploymentId = &v
9009	return s
9010}
9011
9012// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/SkipWaitTimeForInstanceTerminationOutput
9013type SkipWaitTimeForInstanceTerminationOutput struct {
9014	_ struct{} `type:"structure"`
9015}
9016
9017// String returns the string representation
9018func (s SkipWaitTimeForInstanceTerminationOutput) String() string {
9019	return awsutil.Prettify(s)
9020}
9021
9022// GoString returns the string representation
9023func (s SkipWaitTimeForInstanceTerminationOutput) GoString() string {
9024	return s.String()
9025}
9026
9027// Represents the input of a StopDeployment operation.
9028// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/StopDeploymentInput
9029type StopDeploymentInput struct {
9030	_ struct{} `type:"structure"`
9031
9032	// Indicates, when a deployment is stopped, whether instances that have been
9033	// updated should be rolled back to the previous version of the application
9034	// revision.
9035	AutoRollbackEnabled *bool `locationName:"autoRollbackEnabled" type:"boolean"`
9036
9037	// The unique ID of a deployment.
9038	//
9039	// DeploymentId is a required field
9040	DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"`
9041}
9042
9043// String returns the string representation
9044func (s StopDeploymentInput) String() string {
9045	return awsutil.Prettify(s)
9046}
9047
9048// GoString returns the string representation
9049func (s StopDeploymentInput) GoString() string {
9050	return s.String()
9051}
9052
9053// Validate inspects the fields of the type to determine if they are valid.
9054func (s *StopDeploymentInput) Validate() error {
9055	invalidParams := request.ErrInvalidParams{Context: "StopDeploymentInput"}
9056	if s.DeploymentId == nil {
9057		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
9058	}
9059
9060	if invalidParams.Len() > 0 {
9061		return invalidParams
9062	}
9063	return nil
9064}
9065
9066// SetAutoRollbackEnabled sets the AutoRollbackEnabled field's value.
9067func (s *StopDeploymentInput) SetAutoRollbackEnabled(v bool) *StopDeploymentInput {
9068	s.AutoRollbackEnabled = &v
9069	return s
9070}
9071
9072// SetDeploymentId sets the DeploymentId field's value.
9073func (s *StopDeploymentInput) SetDeploymentId(v string) *StopDeploymentInput {
9074	s.DeploymentId = &v
9075	return s
9076}
9077
9078// Represents the output of a StopDeployment operation.
9079// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/StopDeploymentOutput
9080type StopDeploymentOutput struct {
9081	_ struct{} `type:"structure"`
9082
9083	// The status of the stop deployment operation:
9084	//
9085	//    * Pending: The stop operation is pending.
9086	//
9087	//    * Succeeded: The stop operation was successful.
9088	Status *string `locationName:"status" type:"string" enum:"StopStatus"`
9089
9090	// An accompanying status message.
9091	StatusMessage *string `locationName:"statusMessage" type:"string"`
9092}
9093
9094// String returns the string representation
9095func (s StopDeploymentOutput) String() string {
9096	return awsutil.Prettify(s)
9097}
9098
9099// GoString returns the string representation
9100func (s StopDeploymentOutput) GoString() string {
9101	return s.String()
9102}
9103
9104// SetStatus sets the Status field's value.
9105func (s *StopDeploymentOutput) SetStatus(v string) *StopDeploymentOutput {
9106	s.Status = &v
9107	return s
9108}
9109
9110// SetStatusMessage sets the StatusMessage field's value.
9111func (s *StopDeploymentOutput) SetStatusMessage(v string) *StopDeploymentOutput {
9112	s.StatusMessage = &v
9113	return s
9114}
9115
9116// Information about a tag.
9117// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/Tag
9118type Tag struct {
9119	_ struct{} `type:"structure"`
9120
9121	// The tag's key.
9122	Key *string `type:"string"`
9123
9124	// The tag's value.
9125	Value *string `type:"string"`
9126}
9127
9128// String returns the string representation
9129func (s Tag) String() string {
9130	return awsutil.Prettify(s)
9131}
9132
9133// GoString returns the string representation
9134func (s Tag) GoString() string {
9135	return s.String()
9136}
9137
9138// SetKey sets the Key field's value.
9139func (s *Tag) SetKey(v string) *Tag {
9140	s.Key = &v
9141	return s
9142}
9143
9144// SetValue sets the Value field's value.
9145func (s *Tag) SetValue(v string) *Tag {
9146	s.Value = &v
9147	return s
9148}
9149
9150// Information about an on-premises instance tag filter.
9151// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TagFilter
9152type TagFilter struct {
9153	_ struct{} `type:"structure"`
9154
9155	// The on-premises instance tag filter key.
9156	Key *string `type:"string"`
9157
9158	// The on-premises instance tag filter type:
9159	//
9160	//    * KEY_ONLY: Key only.
9161	//
9162	//    * VALUE_ONLY: Value only.
9163	//
9164	//    * KEY_AND_VALUE: Key and value.
9165	Type *string `type:"string" enum:"TagFilterType"`
9166
9167	// The on-premises instance tag filter value.
9168	Value *string `type:"string"`
9169}
9170
9171// String returns the string representation
9172func (s TagFilter) String() string {
9173	return awsutil.Prettify(s)
9174}
9175
9176// GoString returns the string representation
9177func (s TagFilter) GoString() string {
9178	return s.String()
9179}
9180
9181// SetKey sets the Key field's value.
9182func (s *TagFilter) SetKey(v string) *TagFilter {
9183	s.Key = &v
9184	return s
9185}
9186
9187// SetType sets the Type field's value.
9188func (s *TagFilter) SetType(v string) *TagFilter {
9189	s.Type = &v
9190	return s
9191}
9192
9193// SetValue sets the Value field's value.
9194func (s *TagFilter) SetValue(v string) *TagFilter {
9195	s.Value = &v
9196	return s
9197}
9198
9199// Information about a target group in Elastic Load Balancing to use in a deployment.
9200// Instances are registered as targets in a target group, and traffic is routed
9201// to the target group.
9202// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TargetGroupInfo
9203type TargetGroupInfo struct {
9204	_ struct{} `type:"structure"`
9205
9206	// For blue/green deployments, the name of the target group that instances in
9207	// the original environment are deregistered from, and instances in the replacement
9208	// environment registered with. For in-place deployments, the name of the target
9209	// group that instances are deregistered from, so they are not serving traffic
9210	// during a deployment, and then re-registered with after the deployment completes.
9211	Name *string `locationName:"name" type:"string"`
9212}
9213
9214// String returns the string representation
9215func (s TargetGroupInfo) String() string {
9216	return awsutil.Prettify(s)
9217}
9218
9219// GoString returns the string representation
9220func (s TargetGroupInfo) GoString() string {
9221	return s.String()
9222}
9223
9224// SetName sets the Name field's value.
9225func (s *TargetGroupInfo) SetName(v string) *TargetGroupInfo {
9226	s.Name = &v
9227	return s
9228}
9229
9230// Information about the instances to be used in the replacement environment
9231// in a blue/green deployment.
9232// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TargetInstances
9233type TargetInstances struct {
9234	_ struct{} `type:"structure"`
9235
9236	// The names of one or more Auto Scaling groups to identify a replacement environment
9237	// for a blue/green deployment.
9238	AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"`
9239
9240	// Information about the groups of EC2 instance tags that an instance must be
9241	// identified by in order for it to be included in the replacement environment
9242	// for a blue/green deployment. Cannot be used in the same call as tagFilters.
9243	Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"`
9244
9245	// The tag filter key, type, and value used to identify Amazon EC2 instances
9246	// in a replacement environment for a blue/green deployment. Cannot be used
9247	// in the same call as ec2TagSet.
9248	TagFilters []*EC2TagFilter `locationName:"tagFilters" type:"list"`
9249}
9250
9251// String returns the string representation
9252func (s TargetInstances) String() string {
9253	return awsutil.Prettify(s)
9254}
9255
9256// GoString returns the string representation
9257func (s TargetInstances) GoString() string {
9258	return s.String()
9259}
9260
9261// SetAutoScalingGroups sets the AutoScalingGroups field's value.
9262func (s *TargetInstances) SetAutoScalingGroups(v []*string) *TargetInstances {
9263	s.AutoScalingGroups = v
9264	return s
9265}
9266
9267// SetEc2TagSet sets the Ec2TagSet field's value.
9268func (s *TargetInstances) SetEc2TagSet(v *EC2TagSet) *TargetInstances {
9269	s.Ec2TagSet = v
9270	return s
9271}
9272
9273// SetTagFilters sets the TagFilters field's value.
9274func (s *TargetInstances) SetTagFilters(v []*EC2TagFilter) *TargetInstances {
9275	s.TagFilters = v
9276	return s
9277}
9278
9279// Information about a time range.
9280// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TimeRange
9281type TimeRange struct {
9282	_ struct{} `type:"structure"`
9283
9284	// The end time of the time range.
9285	//
9286	// Specify null to leave the end time open-ended.
9287	End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"unix"`
9288
9289	// The start time of the time range.
9290	//
9291	// Specify null to leave the start time open-ended.
9292	Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"unix"`
9293}
9294
9295// String returns the string representation
9296func (s TimeRange) String() string {
9297	return awsutil.Prettify(s)
9298}
9299
9300// GoString returns the string representation
9301func (s TimeRange) GoString() string {
9302	return s.String()
9303}
9304
9305// SetEnd sets the End field's value.
9306func (s *TimeRange) SetEnd(v time.Time) *TimeRange {
9307	s.End = &v
9308	return s
9309}
9310
9311// SetStart sets the Start field's value.
9312func (s *TimeRange) SetStart(v time.Time) *TimeRange {
9313	s.Start = &v
9314	return s
9315}
9316
9317// Information about notification triggers for the deployment group.
9318// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TriggerConfig
9319type TriggerConfig struct {
9320	_ struct{} `type:"structure"`
9321
9322	// The event type or types for which notifications are triggered.
9323	TriggerEvents []*string `locationName:"triggerEvents" type:"list"`
9324
9325	// The name of the notification trigger.
9326	TriggerName *string `locationName:"triggerName" type:"string"`
9327
9328	// The ARN of the Amazon Simple Notification Service topic through which notifications
9329	// about deployment or instance events are sent.
9330	TriggerTargetArn *string `locationName:"triggerTargetArn" type:"string"`
9331}
9332
9333// String returns the string representation
9334func (s TriggerConfig) String() string {
9335	return awsutil.Prettify(s)
9336}
9337
9338// GoString returns the string representation
9339func (s TriggerConfig) GoString() string {
9340	return s.String()
9341}
9342
9343// SetTriggerEvents sets the TriggerEvents field's value.
9344func (s *TriggerConfig) SetTriggerEvents(v []*string) *TriggerConfig {
9345	s.TriggerEvents = v
9346	return s
9347}
9348
9349// SetTriggerName sets the TriggerName field's value.
9350func (s *TriggerConfig) SetTriggerName(v string) *TriggerConfig {
9351	s.TriggerName = &v
9352	return s
9353}
9354
9355// SetTriggerTargetArn sets the TriggerTargetArn field's value.
9356func (s *TriggerConfig) SetTriggerTargetArn(v string) *TriggerConfig {
9357	s.TriggerTargetArn = &v
9358	return s
9359}
9360
9361// Represents the input of an UpdateApplication operation.
9362// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateApplicationInput
9363type UpdateApplicationInput struct {
9364	_ struct{} `type:"structure"`
9365
9366	// The current name of the application you want to change.
9367	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
9368
9369	// The new name to give the application.
9370	NewApplicationName *string `locationName:"newApplicationName" min:"1" type:"string"`
9371}
9372
9373// String returns the string representation
9374func (s UpdateApplicationInput) String() string {
9375	return awsutil.Prettify(s)
9376}
9377
9378// GoString returns the string representation
9379func (s UpdateApplicationInput) GoString() string {
9380	return s.String()
9381}
9382
9383// Validate inspects the fields of the type to determine if they are valid.
9384func (s *UpdateApplicationInput) Validate() error {
9385	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
9386	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
9387		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
9388	}
9389	if s.NewApplicationName != nil && len(*s.NewApplicationName) < 1 {
9390		invalidParams.Add(request.NewErrParamMinLen("NewApplicationName", 1))
9391	}
9392
9393	if invalidParams.Len() > 0 {
9394		return invalidParams
9395	}
9396	return nil
9397}
9398
9399// SetApplicationName sets the ApplicationName field's value.
9400func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput {
9401	s.ApplicationName = &v
9402	return s
9403}
9404
9405// SetNewApplicationName sets the NewApplicationName field's value.
9406func (s *UpdateApplicationInput) SetNewApplicationName(v string) *UpdateApplicationInput {
9407	s.NewApplicationName = &v
9408	return s
9409}
9410
9411// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateApplicationOutput
9412type UpdateApplicationOutput struct {
9413	_ struct{} `type:"structure"`
9414}
9415
9416// String returns the string representation
9417func (s UpdateApplicationOutput) String() string {
9418	return awsutil.Prettify(s)
9419}
9420
9421// GoString returns the string representation
9422func (s UpdateApplicationOutput) GoString() string {
9423	return s.String()
9424}
9425
9426// Represents the input of an UpdateDeploymentGroup operation.
9427// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroupInput
9428type UpdateDeploymentGroupInput struct {
9429	_ struct{} `type:"structure"`
9430
9431	// Information to add or change about Amazon CloudWatch alarms when the deployment
9432	// group is updated.
9433	AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"`
9434
9435	// The application name corresponding to the deployment group to update.
9436	//
9437	// ApplicationName is a required field
9438	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
9439
9440	// Information for an automatic rollback configuration that is added or changed
9441	// when a deployment group is updated.
9442	AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"`
9443
9444	// The replacement list of Auto Scaling groups to be included in the deployment
9445	// group, if you want to change them. To keep the Auto Scaling groups, enter
9446	// their names. To remove Auto Scaling groups, do not enter any Auto Scaling
9447	// group names.
9448	AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"`
9449
9450	// Information about blue/green deployment options for a deployment group.
9451	BlueGreenDeploymentConfiguration *BlueGreenDeploymentConfiguration `locationName:"blueGreenDeploymentConfiguration" type:"structure"`
9452
9453	// The current name of the deployment group.
9454	//
9455	// CurrentDeploymentGroupName is a required field
9456	CurrentDeploymentGroupName *string `locationName:"currentDeploymentGroupName" min:"1" type:"string" required:"true"`
9457
9458	// The replacement deployment configuration name to use, if you want to change
9459	// it.
9460	DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"`
9461
9462	// Information about the type of deployment, either in-place or blue/green,
9463	// you want to run and whether to route deployment traffic behind a load balancer.
9464	DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"`
9465
9466	// The replacement set of Amazon EC2 tags on which to filter, if you want to
9467	// change them. To keep the existing tags, enter their names. To remove tags,
9468	// do not enter any tag names.
9469	Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"`
9470
9471	// Information about groups of tags applied to on-premises instances. The deployment
9472	// group will include only EC2 instances identified by all the tag groups.
9473	Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"`
9474
9475	// Information about the load balancer used in a deployment.
9476	LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"`
9477
9478	// The new name of the deployment group, if you want to change it.
9479	NewDeploymentGroupName *string `locationName:"newDeploymentGroupName" min:"1" type:"string"`
9480
9481	// The replacement set of on-premises instance tags on which to filter, if you
9482	// want to change them. To keep the existing tags, enter their names. To remove
9483	// tags, do not enter any tag names.
9484	OnPremisesInstanceTagFilters []*TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"`
9485
9486	// Information about an on-premises instance tag set. The deployment group will
9487	// include only on-premises instances identified by all the tag groups.
9488	OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"`
9489
9490	// A replacement ARN for the service role, if you want to change it.
9491	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
9492
9493	// Information about triggers to change when the deployment group is updated.
9494	// For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group (http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html)
9495	// in the AWS CodeDeploy User Guide.
9496	TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"`
9497}
9498
9499// String returns the string representation
9500func (s UpdateDeploymentGroupInput) String() string {
9501	return awsutil.Prettify(s)
9502}
9503
9504// GoString returns the string representation
9505func (s UpdateDeploymentGroupInput) GoString() string {
9506	return s.String()
9507}
9508
9509// Validate inspects the fields of the type to determine if they are valid.
9510func (s *UpdateDeploymentGroupInput) Validate() error {
9511	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentGroupInput"}
9512	if s.ApplicationName == nil {
9513		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
9514	}
9515	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
9516		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
9517	}
9518	if s.CurrentDeploymentGroupName == nil {
9519		invalidParams.Add(request.NewErrParamRequired("CurrentDeploymentGroupName"))
9520	}
9521	if s.CurrentDeploymentGroupName != nil && len(*s.CurrentDeploymentGroupName) < 1 {
9522		invalidParams.Add(request.NewErrParamMinLen("CurrentDeploymentGroupName", 1))
9523	}
9524	if s.DeploymentConfigName != nil && len(*s.DeploymentConfigName) < 1 {
9525		invalidParams.Add(request.NewErrParamMinLen("DeploymentConfigName", 1))
9526	}
9527	if s.NewDeploymentGroupName != nil && len(*s.NewDeploymentGroupName) < 1 {
9528		invalidParams.Add(request.NewErrParamMinLen("NewDeploymentGroupName", 1))
9529	}
9530
9531	if invalidParams.Len() > 0 {
9532		return invalidParams
9533	}
9534	return nil
9535}
9536
9537// SetAlarmConfiguration sets the AlarmConfiguration field's value.
9538func (s *UpdateDeploymentGroupInput) SetAlarmConfiguration(v *AlarmConfiguration) *UpdateDeploymentGroupInput {
9539	s.AlarmConfiguration = v
9540	return s
9541}
9542
9543// SetApplicationName sets the ApplicationName field's value.
9544func (s *UpdateDeploymentGroupInput) SetApplicationName(v string) *UpdateDeploymentGroupInput {
9545	s.ApplicationName = &v
9546	return s
9547}
9548
9549// SetAutoRollbackConfiguration sets the AutoRollbackConfiguration field's value.
9550func (s *UpdateDeploymentGroupInput) SetAutoRollbackConfiguration(v *AutoRollbackConfiguration) *UpdateDeploymentGroupInput {
9551	s.AutoRollbackConfiguration = v
9552	return s
9553}
9554
9555// SetAutoScalingGroups sets the AutoScalingGroups field's value.
9556func (s *UpdateDeploymentGroupInput) SetAutoScalingGroups(v []*string) *UpdateDeploymentGroupInput {
9557	s.AutoScalingGroups = v
9558	return s
9559}
9560
9561// SetBlueGreenDeploymentConfiguration sets the BlueGreenDeploymentConfiguration field's value.
9562func (s *UpdateDeploymentGroupInput) SetBlueGreenDeploymentConfiguration(v *BlueGreenDeploymentConfiguration) *UpdateDeploymentGroupInput {
9563	s.BlueGreenDeploymentConfiguration = v
9564	return s
9565}
9566
9567// SetCurrentDeploymentGroupName sets the CurrentDeploymentGroupName field's value.
9568func (s *UpdateDeploymentGroupInput) SetCurrentDeploymentGroupName(v string) *UpdateDeploymentGroupInput {
9569	s.CurrentDeploymentGroupName = &v
9570	return s
9571}
9572
9573// SetDeploymentConfigName sets the DeploymentConfigName field's value.
9574func (s *UpdateDeploymentGroupInput) SetDeploymentConfigName(v string) *UpdateDeploymentGroupInput {
9575	s.DeploymentConfigName = &v
9576	return s
9577}
9578
9579// SetDeploymentStyle sets the DeploymentStyle field's value.
9580func (s *UpdateDeploymentGroupInput) SetDeploymentStyle(v *DeploymentStyle) *UpdateDeploymentGroupInput {
9581	s.DeploymentStyle = v
9582	return s
9583}
9584
9585// SetEc2TagFilters sets the Ec2TagFilters field's value.
9586func (s *UpdateDeploymentGroupInput) SetEc2TagFilters(v []*EC2TagFilter) *UpdateDeploymentGroupInput {
9587	s.Ec2TagFilters = v
9588	return s
9589}
9590
9591// SetEc2TagSet sets the Ec2TagSet field's value.
9592func (s *UpdateDeploymentGroupInput) SetEc2TagSet(v *EC2TagSet) *UpdateDeploymentGroupInput {
9593	s.Ec2TagSet = v
9594	return s
9595}
9596
9597// SetLoadBalancerInfo sets the LoadBalancerInfo field's value.
9598func (s *UpdateDeploymentGroupInput) SetLoadBalancerInfo(v *LoadBalancerInfo) *UpdateDeploymentGroupInput {
9599	s.LoadBalancerInfo = v
9600	return s
9601}
9602
9603// SetNewDeploymentGroupName sets the NewDeploymentGroupName field's value.
9604func (s *UpdateDeploymentGroupInput) SetNewDeploymentGroupName(v string) *UpdateDeploymentGroupInput {
9605	s.NewDeploymentGroupName = &v
9606	return s
9607}
9608
9609// SetOnPremisesInstanceTagFilters sets the OnPremisesInstanceTagFilters field's value.
9610func (s *UpdateDeploymentGroupInput) SetOnPremisesInstanceTagFilters(v []*TagFilter) *UpdateDeploymentGroupInput {
9611	s.OnPremisesInstanceTagFilters = v
9612	return s
9613}
9614
9615// SetOnPremisesTagSet sets the OnPremisesTagSet field's value.
9616func (s *UpdateDeploymentGroupInput) SetOnPremisesTagSet(v *OnPremisesTagSet) *UpdateDeploymentGroupInput {
9617	s.OnPremisesTagSet = v
9618	return s
9619}
9620
9621// SetServiceRoleArn sets the ServiceRoleArn field's value.
9622func (s *UpdateDeploymentGroupInput) SetServiceRoleArn(v string) *UpdateDeploymentGroupInput {
9623	s.ServiceRoleArn = &v
9624	return s
9625}
9626
9627// SetTriggerConfigurations sets the TriggerConfigurations field's value.
9628func (s *UpdateDeploymentGroupInput) SetTriggerConfigurations(v []*TriggerConfig) *UpdateDeploymentGroupInput {
9629	s.TriggerConfigurations = v
9630	return s
9631}
9632
9633// Represents the output of an UpdateDeploymentGroup operation.
9634// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroupOutput
9635type UpdateDeploymentGroupOutput struct {
9636	_ struct{} `type:"structure"`
9637
9638	// If the output contains no data, and the corresponding deployment group contained
9639	// at least one Auto Scaling group, AWS CodeDeploy successfully removed all
9640	// corresponding Auto Scaling lifecycle event hooks from the AWS account. If
9641	// the output contains data, AWS CodeDeploy could not remove some Auto Scaling
9642	// lifecycle event hooks from the AWS account.
9643	HooksNotCleanedUp []*AutoScalingGroup `locationName:"hooksNotCleanedUp" type:"list"`
9644}
9645
9646// String returns the string representation
9647func (s UpdateDeploymentGroupOutput) String() string {
9648	return awsutil.Prettify(s)
9649}
9650
9651// GoString returns the string representation
9652func (s UpdateDeploymentGroupOutput) GoString() string {
9653	return s.String()
9654}
9655
9656// SetHooksNotCleanedUp sets the HooksNotCleanedUp field's value.
9657func (s *UpdateDeploymentGroupOutput) SetHooksNotCleanedUp(v []*AutoScalingGroup) *UpdateDeploymentGroupOutput {
9658	s.HooksNotCleanedUp = v
9659	return s
9660}
9661
9662const (
9663	// ApplicationRevisionSortByRegisterTime is a ApplicationRevisionSortBy enum value
9664	ApplicationRevisionSortByRegisterTime = "registerTime"
9665
9666	// ApplicationRevisionSortByFirstUsedTime is a ApplicationRevisionSortBy enum value
9667	ApplicationRevisionSortByFirstUsedTime = "firstUsedTime"
9668
9669	// ApplicationRevisionSortByLastUsedTime is a ApplicationRevisionSortBy enum value
9670	ApplicationRevisionSortByLastUsedTime = "lastUsedTime"
9671)
9672
9673const (
9674	// AutoRollbackEventDeploymentFailure is a AutoRollbackEvent enum value
9675	AutoRollbackEventDeploymentFailure = "DEPLOYMENT_FAILURE"
9676
9677	// AutoRollbackEventDeploymentStopOnAlarm is a AutoRollbackEvent enum value
9678	AutoRollbackEventDeploymentStopOnAlarm = "DEPLOYMENT_STOP_ON_ALARM"
9679
9680	// AutoRollbackEventDeploymentStopOnRequest is a AutoRollbackEvent enum value
9681	AutoRollbackEventDeploymentStopOnRequest = "DEPLOYMENT_STOP_ON_REQUEST"
9682)
9683
9684const (
9685	// BundleTypeTar is a BundleType enum value
9686	BundleTypeTar = "tar"
9687
9688	// BundleTypeTgz is a BundleType enum value
9689	BundleTypeTgz = "tgz"
9690
9691	// BundleTypeZip is a BundleType enum value
9692	BundleTypeZip = "zip"
9693)
9694
9695const (
9696	// DeploymentCreatorUser is a DeploymentCreator enum value
9697	DeploymentCreatorUser = "user"
9698
9699	// DeploymentCreatorAutoscaling is a DeploymentCreator enum value
9700	DeploymentCreatorAutoscaling = "autoscaling"
9701
9702	// DeploymentCreatorCodeDeployRollback is a DeploymentCreator enum value
9703	DeploymentCreatorCodeDeployRollback = "codeDeployRollback"
9704)
9705
9706const (
9707	// DeploymentOptionWithTrafficControl is a DeploymentOption enum value
9708	DeploymentOptionWithTrafficControl = "WITH_TRAFFIC_CONTROL"
9709
9710	// DeploymentOptionWithoutTrafficControl is a DeploymentOption enum value
9711	DeploymentOptionWithoutTrafficControl = "WITHOUT_TRAFFIC_CONTROL"
9712)
9713
9714const (
9715	// DeploymentReadyActionContinueDeployment is a DeploymentReadyAction enum value
9716	DeploymentReadyActionContinueDeployment = "CONTINUE_DEPLOYMENT"
9717
9718	// DeploymentReadyActionStopDeployment is a DeploymentReadyAction enum value
9719	DeploymentReadyActionStopDeployment = "STOP_DEPLOYMENT"
9720)
9721
9722const (
9723	// DeploymentStatusCreated is a DeploymentStatus enum value
9724	DeploymentStatusCreated = "Created"
9725
9726	// DeploymentStatusQueued is a DeploymentStatus enum value
9727	DeploymentStatusQueued = "Queued"
9728
9729	// DeploymentStatusInProgress is a DeploymentStatus enum value
9730	DeploymentStatusInProgress = "InProgress"
9731
9732	// DeploymentStatusSucceeded is a DeploymentStatus enum value
9733	DeploymentStatusSucceeded = "Succeeded"
9734
9735	// DeploymentStatusFailed is a DeploymentStatus enum value
9736	DeploymentStatusFailed = "Failed"
9737
9738	// DeploymentStatusStopped is a DeploymentStatus enum value
9739	DeploymentStatusStopped = "Stopped"
9740
9741	// DeploymentStatusReady is a DeploymentStatus enum value
9742	DeploymentStatusReady = "Ready"
9743)
9744
9745const (
9746	// DeploymentTypeInPlace is a DeploymentType enum value
9747	DeploymentTypeInPlace = "IN_PLACE"
9748
9749	// DeploymentTypeBlueGreen is a DeploymentType enum value
9750	DeploymentTypeBlueGreen = "BLUE_GREEN"
9751)
9752
9753const (
9754	// EC2TagFilterTypeKeyOnly is a EC2TagFilterType enum value
9755	EC2TagFilterTypeKeyOnly = "KEY_ONLY"
9756
9757	// EC2TagFilterTypeValueOnly is a EC2TagFilterType enum value
9758	EC2TagFilterTypeValueOnly = "VALUE_ONLY"
9759
9760	// EC2TagFilterTypeKeyAndValue is a EC2TagFilterType enum value
9761	EC2TagFilterTypeKeyAndValue = "KEY_AND_VALUE"
9762)
9763
9764const (
9765	// ErrorCodeDeploymentGroupMissing is a ErrorCode enum value
9766	ErrorCodeDeploymentGroupMissing = "DEPLOYMENT_GROUP_MISSING"
9767
9768	// ErrorCodeApplicationMissing is a ErrorCode enum value
9769	ErrorCodeApplicationMissing = "APPLICATION_MISSING"
9770
9771	// ErrorCodeRevisionMissing is a ErrorCode enum value
9772	ErrorCodeRevisionMissing = "REVISION_MISSING"
9773
9774	// ErrorCodeIamRoleMissing is a ErrorCode enum value
9775	ErrorCodeIamRoleMissing = "IAM_ROLE_MISSING"
9776
9777	// ErrorCodeIamRolePermissions is a ErrorCode enum value
9778	ErrorCodeIamRolePermissions = "IAM_ROLE_PERMISSIONS"
9779
9780	// ErrorCodeNoEc2Subscription is a ErrorCode enum value
9781	ErrorCodeNoEc2Subscription = "NO_EC2_SUBSCRIPTION"
9782
9783	// ErrorCodeOverMaxInstances is a ErrorCode enum value
9784	ErrorCodeOverMaxInstances = "OVER_MAX_INSTANCES"
9785
9786	// ErrorCodeNoInstances is a ErrorCode enum value
9787	ErrorCodeNoInstances = "NO_INSTANCES"
9788
9789	// ErrorCodeTimeout is a ErrorCode enum value
9790	ErrorCodeTimeout = "TIMEOUT"
9791
9792	// ErrorCodeHealthConstraintsInvalid is a ErrorCode enum value
9793	ErrorCodeHealthConstraintsInvalid = "HEALTH_CONSTRAINTS_INVALID"
9794
9795	// ErrorCodeHealthConstraints is a ErrorCode enum value
9796	ErrorCodeHealthConstraints = "HEALTH_CONSTRAINTS"
9797
9798	// ErrorCodeInternalError is a ErrorCode enum value
9799	ErrorCodeInternalError = "INTERNAL_ERROR"
9800
9801	// ErrorCodeThrottled is a ErrorCode enum value
9802	ErrorCodeThrottled = "THROTTLED"
9803
9804	// ErrorCodeAlarmActive is a ErrorCode enum value
9805	ErrorCodeAlarmActive = "ALARM_ACTIVE"
9806
9807	// ErrorCodeAgentIssue is a ErrorCode enum value
9808	ErrorCodeAgentIssue = "AGENT_ISSUE"
9809
9810	// ErrorCodeAutoScalingIamRolePermissions is a ErrorCode enum value
9811	ErrorCodeAutoScalingIamRolePermissions = "AUTO_SCALING_IAM_ROLE_PERMISSIONS"
9812
9813	// ErrorCodeAutoScalingConfiguration is a ErrorCode enum value
9814	ErrorCodeAutoScalingConfiguration = "AUTO_SCALING_CONFIGURATION"
9815
9816	// ErrorCodeManualStop is a ErrorCode enum value
9817	ErrorCodeManualStop = "MANUAL_STOP"
9818)
9819
9820const (
9821	// FileExistsBehaviorDisallow is a FileExistsBehavior enum value
9822	FileExistsBehaviorDisallow = "DISALLOW"
9823
9824	// FileExistsBehaviorOverwrite is a FileExistsBehavior enum value
9825	FileExistsBehaviorOverwrite = "OVERWRITE"
9826
9827	// FileExistsBehaviorRetain is a FileExistsBehavior enum value
9828	FileExistsBehaviorRetain = "RETAIN"
9829)
9830
9831const (
9832	// GreenFleetProvisioningActionDiscoverExisting is a GreenFleetProvisioningAction enum value
9833	GreenFleetProvisioningActionDiscoverExisting = "DISCOVER_EXISTING"
9834
9835	// GreenFleetProvisioningActionCopyAutoScalingGroup is a GreenFleetProvisioningAction enum value
9836	GreenFleetProvisioningActionCopyAutoScalingGroup = "COPY_AUTO_SCALING_GROUP"
9837)
9838
9839const (
9840	// InstanceActionTerminate is a InstanceAction enum value
9841	InstanceActionTerminate = "TERMINATE"
9842
9843	// InstanceActionKeepAlive is a InstanceAction enum value
9844	InstanceActionKeepAlive = "KEEP_ALIVE"
9845)
9846
9847const (
9848	// InstanceStatusPending is a InstanceStatus enum value
9849	InstanceStatusPending = "Pending"
9850
9851	// InstanceStatusInProgress is a InstanceStatus enum value
9852	InstanceStatusInProgress = "InProgress"
9853
9854	// InstanceStatusSucceeded is a InstanceStatus enum value
9855	InstanceStatusSucceeded = "Succeeded"
9856
9857	// InstanceStatusFailed is a InstanceStatus enum value
9858	InstanceStatusFailed = "Failed"
9859
9860	// InstanceStatusSkipped is a InstanceStatus enum value
9861	InstanceStatusSkipped = "Skipped"
9862
9863	// InstanceStatusUnknown is a InstanceStatus enum value
9864	InstanceStatusUnknown = "Unknown"
9865
9866	// InstanceStatusReady is a InstanceStatus enum value
9867	InstanceStatusReady = "Ready"
9868)
9869
9870const (
9871	// InstanceTypeBlue is a InstanceType enum value
9872	InstanceTypeBlue = "Blue"
9873
9874	// InstanceTypeGreen is a InstanceType enum value
9875	InstanceTypeGreen = "Green"
9876)
9877
9878const (
9879	// LifecycleErrorCodeSuccess is a LifecycleErrorCode enum value
9880	LifecycleErrorCodeSuccess = "Success"
9881
9882	// LifecycleErrorCodeScriptMissing is a LifecycleErrorCode enum value
9883	LifecycleErrorCodeScriptMissing = "ScriptMissing"
9884
9885	// LifecycleErrorCodeScriptNotExecutable is a LifecycleErrorCode enum value
9886	LifecycleErrorCodeScriptNotExecutable = "ScriptNotExecutable"
9887
9888	// LifecycleErrorCodeScriptTimedOut is a LifecycleErrorCode enum value
9889	LifecycleErrorCodeScriptTimedOut = "ScriptTimedOut"
9890
9891	// LifecycleErrorCodeScriptFailed is a LifecycleErrorCode enum value
9892	LifecycleErrorCodeScriptFailed = "ScriptFailed"
9893
9894	// LifecycleErrorCodeUnknownError is a LifecycleErrorCode enum value
9895	LifecycleErrorCodeUnknownError = "UnknownError"
9896)
9897
9898const (
9899	// LifecycleEventStatusPending is a LifecycleEventStatus enum value
9900	LifecycleEventStatusPending = "Pending"
9901
9902	// LifecycleEventStatusInProgress is a LifecycleEventStatus enum value
9903	LifecycleEventStatusInProgress = "InProgress"
9904
9905	// LifecycleEventStatusSucceeded is a LifecycleEventStatus enum value
9906	LifecycleEventStatusSucceeded = "Succeeded"
9907
9908	// LifecycleEventStatusFailed is a LifecycleEventStatus enum value
9909	LifecycleEventStatusFailed = "Failed"
9910
9911	// LifecycleEventStatusSkipped is a LifecycleEventStatus enum value
9912	LifecycleEventStatusSkipped = "Skipped"
9913
9914	// LifecycleEventStatusUnknown is a LifecycleEventStatus enum value
9915	LifecycleEventStatusUnknown = "Unknown"
9916)
9917
9918const (
9919	// ListStateFilterActionInclude is a ListStateFilterAction enum value
9920	ListStateFilterActionInclude = "include"
9921
9922	// ListStateFilterActionExclude is a ListStateFilterAction enum value
9923	ListStateFilterActionExclude = "exclude"
9924
9925	// ListStateFilterActionIgnore is a ListStateFilterAction enum value
9926	ListStateFilterActionIgnore = "ignore"
9927)
9928
9929const (
9930	// MinimumHealthyHostsTypeHostCount is a MinimumHealthyHostsType enum value
9931	MinimumHealthyHostsTypeHostCount = "HOST_COUNT"
9932
9933	// MinimumHealthyHostsTypeFleetPercent is a MinimumHealthyHostsType enum value
9934	MinimumHealthyHostsTypeFleetPercent = "FLEET_PERCENT"
9935)
9936
9937const (
9938	// RegistrationStatusRegistered is a RegistrationStatus enum value
9939	RegistrationStatusRegistered = "Registered"
9940
9941	// RegistrationStatusDeregistered is a RegistrationStatus enum value
9942	RegistrationStatusDeregistered = "Deregistered"
9943)
9944
9945const (
9946	// RevisionLocationTypeS3 is a RevisionLocationType enum value
9947	RevisionLocationTypeS3 = "S3"
9948
9949	// RevisionLocationTypeGitHub is a RevisionLocationType enum value
9950	RevisionLocationTypeGitHub = "GitHub"
9951)
9952
9953const (
9954	// SortOrderAscending is a SortOrder enum value
9955	SortOrderAscending = "ascending"
9956
9957	// SortOrderDescending is a SortOrder enum value
9958	SortOrderDescending = "descending"
9959)
9960
9961const (
9962	// StopStatusPending is a StopStatus enum value
9963	StopStatusPending = "Pending"
9964
9965	// StopStatusSucceeded is a StopStatus enum value
9966	StopStatusSucceeded = "Succeeded"
9967)
9968
9969const (
9970	// TagFilterTypeKeyOnly is a TagFilterType enum value
9971	TagFilterTypeKeyOnly = "KEY_ONLY"
9972
9973	// TagFilterTypeValueOnly is a TagFilterType enum value
9974	TagFilterTypeValueOnly = "VALUE_ONLY"
9975
9976	// TagFilterTypeKeyAndValue is a TagFilterType enum value
9977	TagFilterTypeKeyAndValue = "KEY_AND_VALUE"
9978)
9979
9980const (
9981	// TriggerEventTypeDeploymentStart is a TriggerEventType enum value
9982	TriggerEventTypeDeploymentStart = "DeploymentStart"
9983
9984	// TriggerEventTypeDeploymentSuccess is a TriggerEventType enum value
9985	TriggerEventTypeDeploymentSuccess = "DeploymentSuccess"
9986
9987	// TriggerEventTypeDeploymentFailure is a TriggerEventType enum value
9988	TriggerEventTypeDeploymentFailure = "DeploymentFailure"
9989
9990	// TriggerEventTypeDeploymentStop is a TriggerEventType enum value
9991	TriggerEventTypeDeploymentStop = "DeploymentStop"
9992
9993	// TriggerEventTypeDeploymentRollback is a TriggerEventType enum value
9994	TriggerEventTypeDeploymentRollback = "DeploymentRollback"
9995
9996	// TriggerEventTypeDeploymentReady is a TriggerEventType enum value
9997	TriggerEventTypeDeploymentReady = "DeploymentReady"
9998
9999	// TriggerEventTypeInstanceStart is a TriggerEventType enum value
10000	TriggerEventTypeInstanceStart = "InstanceStart"
10001
10002	// TriggerEventTypeInstanceSuccess is a TriggerEventType enum value
10003	TriggerEventTypeInstanceSuccess = "InstanceSuccess"
10004
10005	// TriggerEventTypeInstanceFailure is a TriggerEventType enum value
10006	TriggerEventTypeInstanceFailure = "InstanceFailure"
10007
10008	// TriggerEventTypeInstanceReady is a TriggerEventType enum value
10009	TriggerEventTypeInstanceReady = "InstanceReady"
10010)
10011