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