1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package codepipeline
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAcknowledgeJob = "AcknowledgeJob"
17
18// AcknowledgeJobRequest generates a "aws/request.Request" representing the
19// client's request for the AcknowledgeJob operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcknowledgeJob for more information on using the AcknowledgeJob
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcknowledgeJobRequest method.
34//    req, resp := client.AcknowledgeJobRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/AcknowledgeJob
42func (c *CodePipeline) AcknowledgeJobRequest(input *AcknowledgeJobInput) (req *request.Request, output *AcknowledgeJobOutput) {
43	op := &request.Operation{
44		Name:       opAcknowledgeJob,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AcknowledgeJobInput{}
51	}
52
53	output = &AcknowledgeJobOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AcknowledgeJob API operation for AWS CodePipeline.
59//
60// Returns information about a specified job and whether that job has been received
61// by the job worker. Used for custom actions only.
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 CodePipeline's
68// API operation AcknowledgeJob for usage and error information.
69//
70// Returned Error Codes:
71//   * ErrCodeValidationException "ValidationException"
72//   The validation was specified in an invalid format.
73//
74//   * ErrCodeInvalidNonceException "InvalidNonceException"
75//   The nonce was specified in an invalid format.
76//
77//   * ErrCodeJobNotFoundException "JobNotFoundException"
78//   The job was specified in an invalid format or cannot be found.
79//
80// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/AcknowledgeJob
81func (c *CodePipeline) AcknowledgeJob(input *AcknowledgeJobInput) (*AcknowledgeJobOutput, error) {
82	req, out := c.AcknowledgeJobRequest(input)
83	return out, req.Send()
84}
85
86// AcknowledgeJobWithContext is the same as AcknowledgeJob with the addition of
87// the ability to pass a context and additional request options.
88//
89// See AcknowledgeJob for details on how to use this API operation.
90//
91// The context must be non-nil and will be used for request cancellation. If
92// the context is nil a panic will occur. In the future the SDK may create
93// sub-contexts for http.Requests. See https://golang.org/pkg/context/
94// for more information on using Contexts.
95func (c *CodePipeline) AcknowledgeJobWithContext(ctx aws.Context, input *AcknowledgeJobInput, opts ...request.Option) (*AcknowledgeJobOutput, error) {
96	req, out := c.AcknowledgeJobRequest(input)
97	req.SetContext(ctx)
98	req.ApplyOptions(opts...)
99	return out, req.Send()
100}
101
102const opAcknowledgeThirdPartyJob = "AcknowledgeThirdPartyJob"
103
104// AcknowledgeThirdPartyJobRequest generates a "aws/request.Request" representing the
105// client's request for the AcknowledgeThirdPartyJob operation. The "output" return
106// value will be populated with the request's response once the request completes
107// successfully.
108//
109// Use "Send" method on the returned Request to send the API call to the service.
110// the "output" return value is not valid until after Send returns without error.
111//
112// See AcknowledgeThirdPartyJob for more information on using the AcknowledgeThirdPartyJob
113// API call, and error handling.
114//
115// This method is useful when you want to inject custom logic or configuration
116// into the SDK's request lifecycle. Such as custom headers, or retry logic.
117//
118//
119//    // Example sending a request using the AcknowledgeThirdPartyJobRequest method.
120//    req, resp := client.AcknowledgeThirdPartyJobRequest(params)
121//
122//    err := req.Send()
123//    if err == nil { // resp is now filled
124//        fmt.Println(resp)
125//    }
126//
127// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/AcknowledgeThirdPartyJob
128func (c *CodePipeline) AcknowledgeThirdPartyJobRequest(input *AcknowledgeThirdPartyJobInput) (req *request.Request, output *AcknowledgeThirdPartyJobOutput) {
129	op := &request.Operation{
130		Name:       opAcknowledgeThirdPartyJob,
131		HTTPMethod: "POST",
132		HTTPPath:   "/",
133	}
134
135	if input == nil {
136		input = &AcknowledgeThirdPartyJobInput{}
137	}
138
139	output = &AcknowledgeThirdPartyJobOutput{}
140	req = c.newRequest(op, input, output)
141	return
142}
143
144// AcknowledgeThirdPartyJob API operation for AWS CodePipeline.
145//
146// Confirms a job worker has received the specified job. Used for partner actions
147// only.
148//
149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
150// with awserr.Error's Code and Message methods to get detailed information about
151// the error.
152//
153// See the AWS API reference guide for AWS CodePipeline's
154// API operation AcknowledgeThirdPartyJob for usage and error information.
155//
156// Returned Error Codes:
157//   * ErrCodeValidationException "ValidationException"
158//   The validation was specified in an invalid format.
159//
160//   * ErrCodeInvalidNonceException "InvalidNonceException"
161//   The nonce was specified in an invalid format.
162//
163//   * ErrCodeJobNotFoundException "JobNotFoundException"
164//   The job was specified in an invalid format or cannot be found.
165//
166//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
167//   The client token was specified in an invalid format
168//
169// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/AcknowledgeThirdPartyJob
170func (c *CodePipeline) AcknowledgeThirdPartyJob(input *AcknowledgeThirdPartyJobInput) (*AcknowledgeThirdPartyJobOutput, error) {
171	req, out := c.AcknowledgeThirdPartyJobRequest(input)
172	return out, req.Send()
173}
174
175// AcknowledgeThirdPartyJobWithContext is the same as AcknowledgeThirdPartyJob with the addition of
176// the ability to pass a context and additional request options.
177//
178// See AcknowledgeThirdPartyJob for details on how to use this API operation.
179//
180// The context must be non-nil and will be used for request cancellation. If
181// the context is nil a panic will occur. In the future the SDK may create
182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
183// for more information on using Contexts.
184func (c *CodePipeline) AcknowledgeThirdPartyJobWithContext(ctx aws.Context, input *AcknowledgeThirdPartyJobInput, opts ...request.Option) (*AcknowledgeThirdPartyJobOutput, error) {
185	req, out := c.AcknowledgeThirdPartyJobRequest(input)
186	req.SetContext(ctx)
187	req.ApplyOptions(opts...)
188	return out, req.Send()
189}
190
191const opCreateCustomActionType = "CreateCustomActionType"
192
193// CreateCustomActionTypeRequest generates a "aws/request.Request" representing the
194// client's request for the CreateCustomActionType operation. The "output" return
195// value will be populated with the request's response once the request completes
196// successfully.
197//
198// Use "Send" method on the returned Request to send the API call to the service.
199// the "output" return value is not valid until after Send returns without error.
200//
201// See CreateCustomActionType for more information on using the CreateCustomActionType
202// API call, and error handling.
203//
204// This method is useful when you want to inject custom logic or configuration
205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
206//
207//
208//    // Example sending a request using the CreateCustomActionTypeRequest method.
209//    req, resp := client.CreateCustomActionTypeRequest(params)
210//
211//    err := req.Send()
212//    if err == nil { // resp is now filled
213//        fmt.Println(resp)
214//    }
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/CreateCustomActionType
217func (c *CodePipeline) CreateCustomActionTypeRequest(input *CreateCustomActionTypeInput) (req *request.Request, output *CreateCustomActionTypeOutput) {
218	op := &request.Operation{
219		Name:       opCreateCustomActionType,
220		HTTPMethod: "POST",
221		HTTPPath:   "/",
222	}
223
224	if input == nil {
225		input = &CreateCustomActionTypeInput{}
226	}
227
228	output = &CreateCustomActionTypeOutput{}
229	req = c.newRequest(op, input, output)
230	return
231}
232
233// CreateCustomActionType API operation for AWS CodePipeline.
234//
235// Creates a new custom action that can be used in all pipelines associated
236// with the AWS account. Only used for custom actions.
237//
238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
239// with awserr.Error's Code and Message methods to get detailed information about
240// the error.
241//
242// See the AWS API reference guide for AWS CodePipeline's
243// API operation CreateCustomActionType for usage and error information.
244//
245// Returned Error Codes:
246//   * ErrCodeValidationException "ValidationException"
247//   The validation was specified in an invalid format.
248//
249//   * ErrCodeLimitExceededException "LimitExceededException"
250//   The number of pipelines associated with the AWS account has exceeded the
251//   limit allowed for the account.
252//
253//   * ErrCodeTooManyTagsException "TooManyTagsException"
254//   The tags limit for a resource has been exceeded.
255//
256//   * ErrCodeInvalidTagsException "InvalidTagsException"
257//   The specified resource tags are invalid.
258//
259//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
260//   Unable to modify the tag due to a simultaneous update request.
261//
262// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/CreateCustomActionType
263func (c *CodePipeline) CreateCustomActionType(input *CreateCustomActionTypeInput) (*CreateCustomActionTypeOutput, error) {
264	req, out := c.CreateCustomActionTypeRequest(input)
265	return out, req.Send()
266}
267
268// CreateCustomActionTypeWithContext is the same as CreateCustomActionType with the addition of
269// the ability to pass a context and additional request options.
270//
271// See CreateCustomActionType for details on how to use this API operation.
272//
273// The context must be non-nil and will be used for request cancellation. If
274// the context is nil a panic will occur. In the future the SDK may create
275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
276// for more information on using Contexts.
277func (c *CodePipeline) CreateCustomActionTypeWithContext(ctx aws.Context, input *CreateCustomActionTypeInput, opts ...request.Option) (*CreateCustomActionTypeOutput, error) {
278	req, out := c.CreateCustomActionTypeRequest(input)
279	req.SetContext(ctx)
280	req.ApplyOptions(opts...)
281	return out, req.Send()
282}
283
284const opCreatePipeline = "CreatePipeline"
285
286// CreatePipelineRequest generates a "aws/request.Request" representing the
287// client's request for the CreatePipeline operation. The "output" return
288// value will be populated with the request's response once the request completes
289// successfully.
290//
291// Use "Send" method on the returned Request to send the API call to the service.
292// the "output" return value is not valid until after Send returns without error.
293//
294// See CreatePipeline for more information on using the CreatePipeline
295// API call, and error handling.
296//
297// This method is useful when you want to inject custom logic or configuration
298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
299//
300//
301//    // Example sending a request using the CreatePipelineRequest method.
302//    req, resp := client.CreatePipelineRequest(params)
303//
304//    err := req.Send()
305//    if err == nil { // resp is now filled
306//        fmt.Println(resp)
307//    }
308//
309// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/CreatePipeline
310func (c *CodePipeline) CreatePipelineRequest(input *CreatePipelineInput) (req *request.Request, output *CreatePipelineOutput) {
311	op := &request.Operation{
312		Name:       opCreatePipeline,
313		HTTPMethod: "POST",
314		HTTPPath:   "/",
315	}
316
317	if input == nil {
318		input = &CreatePipelineInput{}
319	}
320
321	output = &CreatePipelineOutput{}
322	req = c.newRequest(op, input, output)
323	return
324}
325
326// CreatePipeline API operation for AWS CodePipeline.
327//
328// Creates a pipeline.
329//
330// In the pipeline structure, you must include either artifactStore or artifactStores
331// in your pipeline, but you cannot use both. If you create a cross-region action
332// in your pipeline, you must use artifactStores.
333//
334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
335// with awserr.Error's Code and Message methods to get detailed information about
336// the error.
337//
338// See the AWS API reference guide for AWS CodePipeline's
339// API operation CreatePipeline for usage and error information.
340//
341// Returned Error Codes:
342//   * ErrCodeValidationException "ValidationException"
343//   The validation was specified in an invalid format.
344//
345//   * ErrCodePipelineNameInUseException "PipelineNameInUseException"
346//   The specified pipeline name is already in use.
347//
348//   * ErrCodeInvalidStageDeclarationException "InvalidStageDeclarationException"
349//   The stage declaration was specified in an invalid format.
350//
351//   * ErrCodeInvalidActionDeclarationException "InvalidActionDeclarationException"
352//   The action declaration was specified in an invalid format.
353//
354//   * ErrCodeInvalidBlockerDeclarationException "InvalidBlockerDeclarationException"
355//   Reserved for future use.
356//
357//   * ErrCodeInvalidStructureException "InvalidStructureException"
358//   The structure was specified in an invalid format.
359//
360//   * ErrCodeLimitExceededException "LimitExceededException"
361//   The number of pipelines associated with the AWS account has exceeded the
362//   limit allowed for the account.
363//
364//   * ErrCodeTooManyTagsException "TooManyTagsException"
365//   The tags limit for a resource has been exceeded.
366//
367//   * ErrCodeInvalidTagsException "InvalidTagsException"
368//   The specified resource tags are invalid.
369//
370//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
371//   Unable to modify the tag due to a simultaneous update request.
372//
373// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/CreatePipeline
374func (c *CodePipeline) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) {
375	req, out := c.CreatePipelineRequest(input)
376	return out, req.Send()
377}
378
379// CreatePipelineWithContext is the same as CreatePipeline with the addition of
380// the ability to pass a context and additional request options.
381//
382// See CreatePipeline for details on how to use this API operation.
383//
384// The context must be non-nil and will be used for request cancellation. If
385// the context is nil a panic will occur. In the future the SDK may create
386// sub-contexts for http.Requests. See https://golang.org/pkg/context/
387// for more information on using Contexts.
388func (c *CodePipeline) CreatePipelineWithContext(ctx aws.Context, input *CreatePipelineInput, opts ...request.Option) (*CreatePipelineOutput, error) {
389	req, out := c.CreatePipelineRequest(input)
390	req.SetContext(ctx)
391	req.ApplyOptions(opts...)
392	return out, req.Send()
393}
394
395const opDeleteCustomActionType = "DeleteCustomActionType"
396
397// DeleteCustomActionTypeRequest generates a "aws/request.Request" representing the
398// client's request for the DeleteCustomActionType operation. The "output" return
399// value will be populated with the request's response once the request completes
400// successfully.
401//
402// Use "Send" method on the returned Request to send the API call to the service.
403// the "output" return value is not valid until after Send returns without error.
404//
405// See DeleteCustomActionType for more information on using the DeleteCustomActionType
406// API call, and error handling.
407//
408// This method is useful when you want to inject custom logic or configuration
409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
410//
411//
412//    // Example sending a request using the DeleteCustomActionTypeRequest method.
413//    req, resp := client.DeleteCustomActionTypeRequest(params)
414//
415//    err := req.Send()
416//    if err == nil { // resp is now filled
417//        fmt.Println(resp)
418//    }
419//
420// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeleteCustomActionType
421func (c *CodePipeline) DeleteCustomActionTypeRequest(input *DeleteCustomActionTypeInput) (req *request.Request, output *DeleteCustomActionTypeOutput) {
422	op := &request.Operation{
423		Name:       opDeleteCustomActionType,
424		HTTPMethod: "POST",
425		HTTPPath:   "/",
426	}
427
428	if input == nil {
429		input = &DeleteCustomActionTypeInput{}
430	}
431
432	output = &DeleteCustomActionTypeOutput{}
433	req = c.newRequest(op, input, output)
434	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
435	return
436}
437
438// DeleteCustomActionType API operation for AWS CodePipeline.
439//
440// Marks a custom action as deleted. PollForJobs for the custom action fails
441// after the action is marked for deletion. Used for custom actions only.
442//
443// To re-create a custom action after it has been deleted you must use a string
444// in the version field that has never been used before. This string can be
445// an incremented version number, for example. To restore a deleted custom action,
446// use a JSON file that is identical to the deleted action, including the original
447// string in the version field.
448//
449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
450// with awserr.Error's Code and Message methods to get detailed information about
451// the error.
452//
453// See the AWS API reference guide for AWS CodePipeline's
454// API operation DeleteCustomActionType for usage and error information.
455//
456// Returned Error Codes:
457//   * ErrCodeValidationException "ValidationException"
458//   The validation was specified in an invalid format.
459//
460//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
461//   Unable to modify the tag due to a simultaneous update request.
462//
463// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeleteCustomActionType
464func (c *CodePipeline) DeleteCustomActionType(input *DeleteCustomActionTypeInput) (*DeleteCustomActionTypeOutput, error) {
465	req, out := c.DeleteCustomActionTypeRequest(input)
466	return out, req.Send()
467}
468
469// DeleteCustomActionTypeWithContext is the same as DeleteCustomActionType with the addition of
470// the ability to pass a context and additional request options.
471//
472// See DeleteCustomActionType for details on how to use this API operation.
473//
474// The context must be non-nil and will be used for request cancellation. If
475// the context is nil a panic will occur. In the future the SDK may create
476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
477// for more information on using Contexts.
478func (c *CodePipeline) DeleteCustomActionTypeWithContext(ctx aws.Context, input *DeleteCustomActionTypeInput, opts ...request.Option) (*DeleteCustomActionTypeOutput, error) {
479	req, out := c.DeleteCustomActionTypeRequest(input)
480	req.SetContext(ctx)
481	req.ApplyOptions(opts...)
482	return out, req.Send()
483}
484
485const opDeletePipeline = "DeletePipeline"
486
487// DeletePipelineRequest generates a "aws/request.Request" representing the
488// client's request for the DeletePipeline operation. The "output" return
489// value will be populated with the request's response once the request completes
490// successfully.
491//
492// Use "Send" method on the returned Request to send the API call to the service.
493// the "output" return value is not valid until after Send returns without error.
494//
495// See DeletePipeline for more information on using the DeletePipeline
496// API call, and error handling.
497//
498// This method is useful when you want to inject custom logic or configuration
499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
500//
501//
502//    // Example sending a request using the DeletePipelineRequest method.
503//    req, resp := client.DeletePipelineRequest(params)
504//
505//    err := req.Send()
506//    if err == nil { // resp is now filled
507//        fmt.Println(resp)
508//    }
509//
510// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeletePipeline
511func (c *CodePipeline) DeletePipelineRequest(input *DeletePipelineInput) (req *request.Request, output *DeletePipelineOutput) {
512	op := &request.Operation{
513		Name:       opDeletePipeline,
514		HTTPMethod: "POST",
515		HTTPPath:   "/",
516	}
517
518	if input == nil {
519		input = &DeletePipelineInput{}
520	}
521
522	output = &DeletePipelineOutput{}
523	req = c.newRequest(op, input, output)
524	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
525	return
526}
527
528// DeletePipeline API operation for AWS CodePipeline.
529//
530// Deletes the specified pipeline.
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 CodePipeline's
537// API operation DeletePipeline for usage and error information.
538//
539// Returned Error Codes:
540//   * ErrCodeValidationException "ValidationException"
541//   The validation was specified in an invalid format.
542//
543//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
544//   Unable to modify the tag due to a simultaneous update request.
545//
546// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeletePipeline
547func (c *CodePipeline) DeletePipeline(input *DeletePipelineInput) (*DeletePipelineOutput, error) {
548	req, out := c.DeletePipelineRequest(input)
549	return out, req.Send()
550}
551
552// DeletePipelineWithContext is the same as DeletePipeline with the addition of
553// the ability to pass a context and additional request options.
554//
555// See DeletePipeline for details on how to use this API operation.
556//
557// The context must be non-nil and will be used for request cancellation. If
558// the context is nil a panic will occur. In the future the SDK may create
559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
560// for more information on using Contexts.
561func (c *CodePipeline) DeletePipelineWithContext(ctx aws.Context, input *DeletePipelineInput, opts ...request.Option) (*DeletePipelineOutput, error) {
562	req, out := c.DeletePipelineRequest(input)
563	req.SetContext(ctx)
564	req.ApplyOptions(opts...)
565	return out, req.Send()
566}
567
568const opDeleteWebhook = "DeleteWebhook"
569
570// DeleteWebhookRequest generates a "aws/request.Request" representing the
571// client's request for the DeleteWebhook operation. The "output" return
572// value will be populated with the request's response once the request completes
573// successfully.
574//
575// Use "Send" method on the returned Request to send the API call to the service.
576// the "output" return value is not valid until after Send returns without error.
577//
578// See DeleteWebhook for more information on using the DeleteWebhook
579// API call, and error handling.
580//
581// This method is useful when you want to inject custom logic or configuration
582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
583//
584//
585//    // Example sending a request using the DeleteWebhookRequest method.
586//    req, resp := client.DeleteWebhookRequest(params)
587//
588//    err := req.Send()
589//    if err == nil { // resp is now filled
590//        fmt.Println(resp)
591//    }
592//
593// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeleteWebhook
594func (c *CodePipeline) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) {
595	op := &request.Operation{
596		Name:       opDeleteWebhook,
597		HTTPMethod: "POST",
598		HTTPPath:   "/",
599	}
600
601	if input == nil {
602		input = &DeleteWebhookInput{}
603	}
604
605	output = &DeleteWebhookOutput{}
606	req = c.newRequest(op, input, output)
607	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
608	return
609}
610
611// DeleteWebhook API operation for AWS CodePipeline.
612//
613// Deletes a previously created webhook by name. Deleting the webhook stops
614// AWS CodePipeline from starting a pipeline every time an external event occurs.
615// The API returns successfully when trying to delete a webhook that is already
616// deleted. If a deleted webhook is re-created by calling PutWebhook with the
617// same name, it will have a different URL.
618//
619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
620// with awserr.Error's Code and Message methods to get detailed information about
621// the error.
622//
623// See the AWS API reference guide for AWS CodePipeline's
624// API operation DeleteWebhook for usage and error information.
625//
626// Returned Error Codes:
627//   * ErrCodeValidationException "ValidationException"
628//   The validation was specified in an invalid format.
629//
630//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
631//   Unable to modify the tag due to a simultaneous update request.
632//
633// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeleteWebhook
634func (c *CodePipeline) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) {
635	req, out := c.DeleteWebhookRequest(input)
636	return out, req.Send()
637}
638
639// DeleteWebhookWithContext is the same as DeleteWebhook with the addition of
640// the ability to pass a context and additional request options.
641//
642// See DeleteWebhook for details on how to use this API operation.
643//
644// The context must be non-nil and will be used for request cancellation. If
645// the context is nil a panic will occur. In the future the SDK may create
646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
647// for more information on using Contexts.
648func (c *CodePipeline) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) {
649	req, out := c.DeleteWebhookRequest(input)
650	req.SetContext(ctx)
651	req.ApplyOptions(opts...)
652	return out, req.Send()
653}
654
655const opDeregisterWebhookWithThirdParty = "DeregisterWebhookWithThirdParty"
656
657// DeregisterWebhookWithThirdPartyRequest generates a "aws/request.Request" representing the
658// client's request for the DeregisterWebhookWithThirdParty operation. The "output" return
659// value will be populated with the request's response once the request completes
660// successfully.
661//
662// Use "Send" method on the returned Request to send the API call to the service.
663// the "output" return value is not valid until after Send returns without error.
664//
665// See DeregisterWebhookWithThirdParty for more information on using the DeregisterWebhookWithThirdParty
666// API call, and error handling.
667//
668// This method is useful when you want to inject custom logic or configuration
669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
670//
671//
672//    // Example sending a request using the DeregisterWebhookWithThirdPartyRequest method.
673//    req, resp := client.DeregisterWebhookWithThirdPartyRequest(params)
674//
675//    err := req.Send()
676//    if err == nil { // resp is now filled
677//        fmt.Println(resp)
678//    }
679//
680// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeregisterWebhookWithThirdParty
681func (c *CodePipeline) DeregisterWebhookWithThirdPartyRequest(input *DeregisterWebhookWithThirdPartyInput) (req *request.Request, output *DeregisterWebhookWithThirdPartyOutput) {
682	op := &request.Operation{
683		Name:       opDeregisterWebhookWithThirdParty,
684		HTTPMethod: "POST",
685		HTTPPath:   "/",
686	}
687
688	if input == nil {
689		input = &DeregisterWebhookWithThirdPartyInput{}
690	}
691
692	output = &DeregisterWebhookWithThirdPartyOutput{}
693	req = c.newRequest(op, input, output)
694	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
695	return
696}
697
698// DeregisterWebhookWithThirdParty API operation for AWS CodePipeline.
699//
700// Removes the connection between the webhook that was created by CodePipeline
701// and the external tool with events to be detected. Currently supported only
702// for webhooks that target an action type of GitHub.
703//
704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
705// with awserr.Error's Code and Message methods to get detailed information about
706// the error.
707//
708// See the AWS API reference guide for AWS CodePipeline's
709// API operation DeregisterWebhookWithThirdParty for usage and error information.
710//
711// Returned Error Codes:
712//   * ErrCodeValidationException "ValidationException"
713//   The validation was specified in an invalid format.
714//
715//   * ErrCodeWebhookNotFoundException "WebhookNotFoundException"
716//   The specified webhook was entered in an invalid format or cannot be found.
717//
718// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeregisterWebhookWithThirdParty
719func (c *CodePipeline) DeregisterWebhookWithThirdParty(input *DeregisterWebhookWithThirdPartyInput) (*DeregisterWebhookWithThirdPartyOutput, error) {
720	req, out := c.DeregisterWebhookWithThirdPartyRequest(input)
721	return out, req.Send()
722}
723
724// DeregisterWebhookWithThirdPartyWithContext is the same as DeregisterWebhookWithThirdParty with the addition of
725// the ability to pass a context and additional request options.
726//
727// See DeregisterWebhookWithThirdParty for details on how to use this API operation.
728//
729// The context must be non-nil and will be used for request cancellation. If
730// the context is nil a panic will occur. In the future the SDK may create
731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
732// for more information on using Contexts.
733func (c *CodePipeline) DeregisterWebhookWithThirdPartyWithContext(ctx aws.Context, input *DeregisterWebhookWithThirdPartyInput, opts ...request.Option) (*DeregisterWebhookWithThirdPartyOutput, error) {
734	req, out := c.DeregisterWebhookWithThirdPartyRequest(input)
735	req.SetContext(ctx)
736	req.ApplyOptions(opts...)
737	return out, req.Send()
738}
739
740const opDisableStageTransition = "DisableStageTransition"
741
742// DisableStageTransitionRequest generates a "aws/request.Request" representing the
743// client's request for the DisableStageTransition operation. The "output" return
744// value will be populated with the request's response once the request completes
745// successfully.
746//
747// Use "Send" method on the returned Request to send the API call to the service.
748// the "output" return value is not valid until after Send returns without error.
749//
750// See DisableStageTransition for more information on using the DisableStageTransition
751// API call, and error handling.
752//
753// This method is useful when you want to inject custom logic or configuration
754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
755//
756//
757//    // Example sending a request using the DisableStageTransitionRequest method.
758//    req, resp := client.DisableStageTransitionRequest(params)
759//
760//    err := req.Send()
761//    if err == nil { // resp is now filled
762//        fmt.Println(resp)
763//    }
764//
765// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DisableStageTransition
766func (c *CodePipeline) DisableStageTransitionRequest(input *DisableStageTransitionInput) (req *request.Request, output *DisableStageTransitionOutput) {
767	op := &request.Operation{
768		Name:       opDisableStageTransition,
769		HTTPMethod: "POST",
770		HTTPPath:   "/",
771	}
772
773	if input == nil {
774		input = &DisableStageTransitionInput{}
775	}
776
777	output = &DisableStageTransitionOutput{}
778	req = c.newRequest(op, input, output)
779	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
780	return
781}
782
783// DisableStageTransition API operation for AWS CodePipeline.
784//
785// Prevents artifacts in a pipeline from transitioning to the next stage in
786// the pipeline.
787//
788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
789// with awserr.Error's Code and Message methods to get detailed information about
790// the error.
791//
792// See the AWS API reference guide for AWS CodePipeline's
793// API operation DisableStageTransition for usage and error information.
794//
795// Returned Error Codes:
796//   * ErrCodeValidationException "ValidationException"
797//   The validation was specified in an invalid format.
798//
799//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
800//   The pipeline was specified in an invalid format or cannot be found.
801//
802//   * ErrCodeStageNotFoundException "StageNotFoundException"
803//   The stage was specified in an invalid format or cannot be found.
804//
805// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DisableStageTransition
806func (c *CodePipeline) DisableStageTransition(input *DisableStageTransitionInput) (*DisableStageTransitionOutput, error) {
807	req, out := c.DisableStageTransitionRequest(input)
808	return out, req.Send()
809}
810
811// DisableStageTransitionWithContext is the same as DisableStageTransition with the addition of
812// the ability to pass a context and additional request options.
813//
814// See DisableStageTransition for details on how to use this API operation.
815//
816// The context must be non-nil and will be used for request cancellation. If
817// the context is nil a panic will occur. In the future the SDK may create
818// sub-contexts for http.Requests. See https://golang.org/pkg/context/
819// for more information on using Contexts.
820func (c *CodePipeline) DisableStageTransitionWithContext(ctx aws.Context, input *DisableStageTransitionInput, opts ...request.Option) (*DisableStageTransitionOutput, error) {
821	req, out := c.DisableStageTransitionRequest(input)
822	req.SetContext(ctx)
823	req.ApplyOptions(opts...)
824	return out, req.Send()
825}
826
827const opEnableStageTransition = "EnableStageTransition"
828
829// EnableStageTransitionRequest generates a "aws/request.Request" representing the
830// client's request for the EnableStageTransition operation. The "output" return
831// value will be populated with the request's response once the request completes
832// successfully.
833//
834// Use "Send" method on the returned Request to send the API call to the service.
835// the "output" return value is not valid until after Send returns without error.
836//
837// See EnableStageTransition for more information on using the EnableStageTransition
838// API call, and error handling.
839//
840// This method is useful when you want to inject custom logic or configuration
841// into the SDK's request lifecycle. Such as custom headers, or retry logic.
842//
843//
844//    // Example sending a request using the EnableStageTransitionRequest method.
845//    req, resp := client.EnableStageTransitionRequest(params)
846//
847//    err := req.Send()
848//    if err == nil { // resp is now filled
849//        fmt.Println(resp)
850//    }
851//
852// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/EnableStageTransition
853func (c *CodePipeline) EnableStageTransitionRequest(input *EnableStageTransitionInput) (req *request.Request, output *EnableStageTransitionOutput) {
854	op := &request.Operation{
855		Name:       opEnableStageTransition,
856		HTTPMethod: "POST",
857		HTTPPath:   "/",
858	}
859
860	if input == nil {
861		input = &EnableStageTransitionInput{}
862	}
863
864	output = &EnableStageTransitionOutput{}
865	req = c.newRequest(op, input, output)
866	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
867	return
868}
869
870// EnableStageTransition API operation for AWS CodePipeline.
871//
872// Enables artifacts in a pipeline to transition to a stage in a pipeline.
873//
874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
875// with awserr.Error's Code and Message methods to get detailed information about
876// the error.
877//
878// See the AWS API reference guide for AWS CodePipeline's
879// API operation EnableStageTransition for usage and error information.
880//
881// Returned Error Codes:
882//   * ErrCodeValidationException "ValidationException"
883//   The validation was specified in an invalid format.
884//
885//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
886//   The pipeline was specified in an invalid format or cannot be found.
887//
888//   * ErrCodeStageNotFoundException "StageNotFoundException"
889//   The stage was specified in an invalid format or cannot be found.
890//
891// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/EnableStageTransition
892func (c *CodePipeline) EnableStageTransition(input *EnableStageTransitionInput) (*EnableStageTransitionOutput, error) {
893	req, out := c.EnableStageTransitionRequest(input)
894	return out, req.Send()
895}
896
897// EnableStageTransitionWithContext is the same as EnableStageTransition with the addition of
898// the ability to pass a context and additional request options.
899//
900// See EnableStageTransition for details on how to use this API operation.
901//
902// The context must be non-nil and will be used for request cancellation. If
903// the context is nil a panic will occur. In the future the SDK may create
904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
905// for more information on using Contexts.
906func (c *CodePipeline) EnableStageTransitionWithContext(ctx aws.Context, input *EnableStageTransitionInput, opts ...request.Option) (*EnableStageTransitionOutput, error) {
907	req, out := c.EnableStageTransitionRequest(input)
908	req.SetContext(ctx)
909	req.ApplyOptions(opts...)
910	return out, req.Send()
911}
912
913const opGetJobDetails = "GetJobDetails"
914
915// GetJobDetailsRequest generates a "aws/request.Request" representing the
916// client's request for the GetJobDetails operation. The "output" return
917// value will be populated with the request's response once the request completes
918// successfully.
919//
920// Use "Send" method on the returned Request to send the API call to the service.
921// the "output" return value is not valid until after Send returns without error.
922//
923// See GetJobDetails for more information on using the GetJobDetails
924// API call, and error handling.
925//
926// This method is useful when you want to inject custom logic or configuration
927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
928//
929//
930//    // Example sending a request using the GetJobDetailsRequest method.
931//    req, resp := client.GetJobDetailsRequest(params)
932//
933//    err := req.Send()
934//    if err == nil { // resp is now filled
935//        fmt.Println(resp)
936//    }
937//
938// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetJobDetails
939func (c *CodePipeline) GetJobDetailsRequest(input *GetJobDetailsInput) (req *request.Request, output *GetJobDetailsOutput) {
940	op := &request.Operation{
941		Name:       opGetJobDetails,
942		HTTPMethod: "POST",
943		HTTPPath:   "/",
944	}
945
946	if input == nil {
947		input = &GetJobDetailsInput{}
948	}
949
950	output = &GetJobDetailsOutput{}
951	req = c.newRequest(op, input, output)
952	return
953}
954
955// GetJobDetails API operation for AWS CodePipeline.
956//
957// Returns information about a job. Used for custom actions only.
958//
959// When this API is called, AWS CodePipeline returns temporary credentials for
960// the Amazon S3 bucket used to store artifacts for the pipeline, if the action
961// requires access to that Amazon S3 bucket for input or output artifacts. This
962// API also returns any secret values defined for the action.
963//
964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
965// with awserr.Error's Code and Message methods to get detailed information about
966// the error.
967//
968// See the AWS API reference guide for AWS CodePipeline's
969// API operation GetJobDetails for usage and error information.
970//
971// Returned Error Codes:
972//   * ErrCodeValidationException "ValidationException"
973//   The validation was specified in an invalid format.
974//
975//   * ErrCodeJobNotFoundException "JobNotFoundException"
976//   The job was specified in an invalid format or cannot be found.
977//
978// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetJobDetails
979func (c *CodePipeline) GetJobDetails(input *GetJobDetailsInput) (*GetJobDetailsOutput, error) {
980	req, out := c.GetJobDetailsRequest(input)
981	return out, req.Send()
982}
983
984// GetJobDetailsWithContext is the same as GetJobDetails with the addition of
985// the ability to pass a context and additional request options.
986//
987// See GetJobDetails for details on how to use this API operation.
988//
989// The context must be non-nil and will be used for request cancellation. If
990// the context is nil a panic will occur. In the future the SDK may create
991// sub-contexts for http.Requests. See https://golang.org/pkg/context/
992// for more information on using Contexts.
993func (c *CodePipeline) GetJobDetailsWithContext(ctx aws.Context, input *GetJobDetailsInput, opts ...request.Option) (*GetJobDetailsOutput, error) {
994	req, out := c.GetJobDetailsRequest(input)
995	req.SetContext(ctx)
996	req.ApplyOptions(opts...)
997	return out, req.Send()
998}
999
1000const opGetPipeline = "GetPipeline"
1001
1002// GetPipelineRequest generates a "aws/request.Request" representing the
1003// client's request for the GetPipeline operation. The "output" return
1004// value will be populated with the request's response once the request completes
1005// successfully.
1006//
1007// Use "Send" method on the returned Request to send the API call to the service.
1008// the "output" return value is not valid until after Send returns without error.
1009//
1010// See GetPipeline for more information on using the GetPipeline
1011// API call, and error handling.
1012//
1013// This method is useful when you want to inject custom logic or configuration
1014// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1015//
1016//
1017//    // Example sending a request using the GetPipelineRequest method.
1018//    req, resp := client.GetPipelineRequest(params)
1019//
1020//    err := req.Send()
1021//    if err == nil { // resp is now filled
1022//        fmt.Println(resp)
1023//    }
1024//
1025// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipeline
1026func (c *CodePipeline) GetPipelineRequest(input *GetPipelineInput) (req *request.Request, output *GetPipelineOutput) {
1027	op := &request.Operation{
1028		Name:       opGetPipeline,
1029		HTTPMethod: "POST",
1030		HTTPPath:   "/",
1031	}
1032
1033	if input == nil {
1034		input = &GetPipelineInput{}
1035	}
1036
1037	output = &GetPipelineOutput{}
1038	req = c.newRequest(op, input, output)
1039	return
1040}
1041
1042// GetPipeline API operation for AWS CodePipeline.
1043//
1044// Returns the metadata, structure, stages, and actions of a pipeline. Can be
1045// used to return the entire structure of a pipeline in JSON format, which can
1046// then be modified and used to update the pipeline structure with UpdatePipeline.
1047//
1048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1049// with awserr.Error's Code and Message methods to get detailed information about
1050// the error.
1051//
1052// See the AWS API reference guide for AWS CodePipeline's
1053// API operation GetPipeline for usage and error information.
1054//
1055// Returned Error Codes:
1056//   * ErrCodeValidationException "ValidationException"
1057//   The validation was specified in an invalid format.
1058//
1059//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
1060//   The pipeline was specified in an invalid format or cannot be found.
1061//
1062//   * ErrCodePipelineVersionNotFoundException "PipelineVersionNotFoundException"
1063//   The pipeline version was specified in an invalid format or cannot be found.
1064//
1065// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipeline
1066func (c *CodePipeline) GetPipeline(input *GetPipelineInput) (*GetPipelineOutput, error) {
1067	req, out := c.GetPipelineRequest(input)
1068	return out, req.Send()
1069}
1070
1071// GetPipelineWithContext is the same as GetPipeline with the addition of
1072// the ability to pass a context and additional request options.
1073//
1074// See GetPipeline for details on how to use this API operation.
1075//
1076// The context must be non-nil and will be used for request cancellation. If
1077// the context is nil a panic will occur. In the future the SDK may create
1078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1079// for more information on using Contexts.
1080func (c *CodePipeline) GetPipelineWithContext(ctx aws.Context, input *GetPipelineInput, opts ...request.Option) (*GetPipelineOutput, error) {
1081	req, out := c.GetPipelineRequest(input)
1082	req.SetContext(ctx)
1083	req.ApplyOptions(opts...)
1084	return out, req.Send()
1085}
1086
1087const opGetPipelineExecution = "GetPipelineExecution"
1088
1089// GetPipelineExecutionRequest generates a "aws/request.Request" representing the
1090// client's request for the GetPipelineExecution operation. The "output" return
1091// value will be populated with the request's response once the request completes
1092// successfully.
1093//
1094// Use "Send" method on the returned Request to send the API call to the service.
1095// the "output" return value is not valid until after Send returns without error.
1096//
1097// See GetPipelineExecution for more information on using the GetPipelineExecution
1098// API call, and error handling.
1099//
1100// This method is useful when you want to inject custom logic or configuration
1101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1102//
1103//
1104//    // Example sending a request using the GetPipelineExecutionRequest method.
1105//    req, resp := client.GetPipelineExecutionRequest(params)
1106//
1107//    err := req.Send()
1108//    if err == nil { // resp is now filled
1109//        fmt.Println(resp)
1110//    }
1111//
1112// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineExecution
1113func (c *CodePipeline) GetPipelineExecutionRequest(input *GetPipelineExecutionInput) (req *request.Request, output *GetPipelineExecutionOutput) {
1114	op := &request.Operation{
1115		Name:       opGetPipelineExecution,
1116		HTTPMethod: "POST",
1117		HTTPPath:   "/",
1118	}
1119
1120	if input == nil {
1121		input = &GetPipelineExecutionInput{}
1122	}
1123
1124	output = &GetPipelineExecutionOutput{}
1125	req = c.newRequest(op, input, output)
1126	return
1127}
1128
1129// GetPipelineExecution API operation for AWS CodePipeline.
1130//
1131// Returns information about an execution of a pipeline, including details about
1132// artifacts, the pipeline execution ID, and the name, version, and status of
1133// the pipeline.
1134//
1135// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1136// with awserr.Error's Code and Message methods to get detailed information about
1137// the error.
1138//
1139// See the AWS API reference guide for AWS CodePipeline's
1140// API operation GetPipelineExecution for usage and error information.
1141//
1142// Returned Error Codes:
1143//   * ErrCodeValidationException "ValidationException"
1144//   The validation was specified in an invalid format.
1145//
1146//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
1147//   The pipeline was specified in an invalid format or cannot be found.
1148//
1149//   * ErrCodePipelineExecutionNotFoundException "PipelineExecutionNotFoundException"
1150//   The pipeline execution was specified in an invalid format or cannot be found,
1151//   or an execution ID does not belong to the specified pipeline.
1152//
1153// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineExecution
1154func (c *CodePipeline) GetPipelineExecution(input *GetPipelineExecutionInput) (*GetPipelineExecutionOutput, error) {
1155	req, out := c.GetPipelineExecutionRequest(input)
1156	return out, req.Send()
1157}
1158
1159// GetPipelineExecutionWithContext is the same as GetPipelineExecution with the addition of
1160// the ability to pass a context and additional request options.
1161//
1162// See GetPipelineExecution for details on how to use this API operation.
1163//
1164// The context must be non-nil and will be used for request cancellation. If
1165// the context is nil a panic will occur. In the future the SDK may create
1166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1167// for more information on using Contexts.
1168func (c *CodePipeline) GetPipelineExecutionWithContext(ctx aws.Context, input *GetPipelineExecutionInput, opts ...request.Option) (*GetPipelineExecutionOutput, error) {
1169	req, out := c.GetPipelineExecutionRequest(input)
1170	req.SetContext(ctx)
1171	req.ApplyOptions(opts...)
1172	return out, req.Send()
1173}
1174
1175const opGetPipelineState = "GetPipelineState"
1176
1177// GetPipelineStateRequest generates a "aws/request.Request" representing the
1178// client's request for the GetPipelineState operation. The "output" return
1179// value will be populated with the request's response once the request completes
1180// successfully.
1181//
1182// Use "Send" method on the returned Request to send the API call to the service.
1183// the "output" return value is not valid until after Send returns without error.
1184//
1185// See GetPipelineState for more information on using the GetPipelineState
1186// API call, and error handling.
1187//
1188// This method is useful when you want to inject custom logic or configuration
1189// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1190//
1191//
1192//    // Example sending a request using the GetPipelineStateRequest method.
1193//    req, resp := client.GetPipelineStateRequest(params)
1194//
1195//    err := req.Send()
1196//    if err == nil { // resp is now filled
1197//        fmt.Println(resp)
1198//    }
1199//
1200// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineState
1201func (c *CodePipeline) GetPipelineStateRequest(input *GetPipelineStateInput) (req *request.Request, output *GetPipelineStateOutput) {
1202	op := &request.Operation{
1203		Name:       opGetPipelineState,
1204		HTTPMethod: "POST",
1205		HTTPPath:   "/",
1206	}
1207
1208	if input == nil {
1209		input = &GetPipelineStateInput{}
1210	}
1211
1212	output = &GetPipelineStateOutput{}
1213	req = c.newRequest(op, input, output)
1214	return
1215}
1216
1217// GetPipelineState API operation for AWS CodePipeline.
1218//
1219// Returns information about the state of a pipeline, including the stages and
1220// actions.
1221//
1222// Values returned in the revisionId and revisionUrl fields indicate the source
1223// revision information, such as the commit ID, for the current state.
1224//
1225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1226// with awserr.Error's Code and Message methods to get detailed information about
1227// the error.
1228//
1229// See the AWS API reference guide for AWS CodePipeline's
1230// API operation GetPipelineState for usage and error information.
1231//
1232// Returned Error Codes:
1233//   * ErrCodeValidationException "ValidationException"
1234//   The validation was specified in an invalid format.
1235//
1236//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
1237//   The pipeline was specified in an invalid format or cannot be found.
1238//
1239// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineState
1240func (c *CodePipeline) GetPipelineState(input *GetPipelineStateInput) (*GetPipelineStateOutput, error) {
1241	req, out := c.GetPipelineStateRequest(input)
1242	return out, req.Send()
1243}
1244
1245// GetPipelineStateWithContext is the same as GetPipelineState with the addition of
1246// the ability to pass a context and additional request options.
1247//
1248// See GetPipelineState for details on how to use this API operation.
1249//
1250// The context must be non-nil and will be used for request cancellation. If
1251// the context is nil a panic will occur. In the future the SDK may create
1252// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1253// for more information on using Contexts.
1254func (c *CodePipeline) GetPipelineStateWithContext(ctx aws.Context, input *GetPipelineStateInput, opts ...request.Option) (*GetPipelineStateOutput, error) {
1255	req, out := c.GetPipelineStateRequest(input)
1256	req.SetContext(ctx)
1257	req.ApplyOptions(opts...)
1258	return out, req.Send()
1259}
1260
1261const opGetThirdPartyJobDetails = "GetThirdPartyJobDetails"
1262
1263// GetThirdPartyJobDetailsRequest generates a "aws/request.Request" representing the
1264// client's request for the GetThirdPartyJobDetails operation. The "output" return
1265// value will be populated with the request's response once the request completes
1266// successfully.
1267//
1268// Use "Send" method on the returned Request to send the API call to the service.
1269// the "output" return value is not valid until after Send returns without error.
1270//
1271// See GetThirdPartyJobDetails for more information on using the GetThirdPartyJobDetails
1272// API call, and error handling.
1273//
1274// This method is useful when you want to inject custom logic or configuration
1275// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1276//
1277//
1278//    // Example sending a request using the GetThirdPartyJobDetailsRequest method.
1279//    req, resp := client.GetThirdPartyJobDetailsRequest(params)
1280//
1281//    err := req.Send()
1282//    if err == nil { // resp is now filled
1283//        fmt.Println(resp)
1284//    }
1285//
1286// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetThirdPartyJobDetails
1287func (c *CodePipeline) GetThirdPartyJobDetailsRequest(input *GetThirdPartyJobDetailsInput) (req *request.Request, output *GetThirdPartyJobDetailsOutput) {
1288	op := &request.Operation{
1289		Name:       opGetThirdPartyJobDetails,
1290		HTTPMethod: "POST",
1291		HTTPPath:   "/",
1292	}
1293
1294	if input == nil {
1295		input = &GetThirdPartyJobDetailsInput{}
1296	}
1297
1298	output = &GetThirdPartyJobDetailsOutput{}
1299	req = c.newRequest(op, input, output)
1300	return
1301}
1302
1303// GetThirdPartyJobDetails API operation for AWS CodePipeline.
1304//
1305// Requests the details of a job for a third party action. Used for partner
1306// actions only.
1307//
1308// When this API is called, AWS CodePipeline returns temporary credentials for
1309// the Amazon S3 bucket used to store artifacts for the pipeline, if the action
1310// requires access to that Amazon S3 bucket for input or output artifacts. This
1311// API also returns any secret values defined for the action.
1312//
1313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1314// with awserr.Error's Code and Message methods to get detailed information about
1315// the error.
1316//
1317// See the AWS API reference guide for AWS CodePipeline's
1318// API operation GetThirdPartyJobDetails for usage and error information.
1319//
1320// Returned Error Codes:
1321//   * ErrCodeJobNotFoundException "JobNotFoundException"
1322//   The job was specified in an invalid format or cannot be found.
1323//
1324//   * ErrCodeValidationException "ValidationException"
1325//   The validation was specified in an invalid format.
1326//
1327//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
1328//   The client token was specified in an invalid format
1329//
1330//   * ErrCodeInvalidJobException "InvalidJobException"
1331//   The job was specified in an invalid format or cannot be found.
1332//
1333// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetThirdPartyJobDetails
1334func (c *CodePipeline) GetThirdPartyJobDetails(input *GetThirdPartyJobDetailsInput) (*GetThirdPartyJobDetailsOutput, error) {
1335	req, out := c.GetThirdPartyJobDetailsRequest(input)
1336	return out, req.Send()
1337}
1338
1339// GetThirdPartyJobDetailsWithContext is the same as GetThirdPartyJobDetails with the addition of
1340// the ability to pass a context and additional request options.
1341//
1342// See GetThirdPartyJobDetails for details on how to use this API operation.
1343//
1344// The context must be non-nil and will be used for request cancellation. If
1345// the context is nil a panic will occur. In the future the SDK may create
1346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1347// for more information on using Contexts.
1348func (c *CodePipeline) GetThirdPartyJobDetailsWithContext(ctx aws.Context, input *GetThirdPartyJobDetailsInput, opts ...request.Option) (*GetThirdPartyJobDetailsOutput, error) {
1349	req, out := c.GetThirdPartyJobDetailsRequest(input)
1350	req.SetContext(ctx)
1351	req.ApplyOptions(opts...)
1352	return out, req.Send()
1353}
1354
1355const opListActionExecutions = "ListActionExecutions"
1356
1357// ListActionExecutionsRequest generates a "aws/request.Request" representing the
1358// client's request for the ListActionExecutions operation. The "output" return
1359// value will be populated with the request's response once the request completes
1360// successfully.
1361//
1362// Use "Send" method on the returned Request to send the API call to the service.
1363// the "output" return value is not valid until after Send returns without error.
1364//
1365// See ListActionExecutions for more information on using the ListActionExecutions
1366// API call, and error handling.
1367//
1368// This method is useful when you want to inject custom logic or configuration
1369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1370//
1371//
1372//    // Example sending a request using the ListActionExecutionsRequest method.
1373//    req, resp := client.ListActionExecutionsRequest(params)
1374//
1375//    err := req.Send()
1376//    if err == nil { // resp is now filled
1377//        fmt.Println(resp)
1378//    }
1379//
1380// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListActionExecutions
1381func (c *CodePipeline) ListActionExecutionsRequest(input *ListActionExecutionsInput) (req *request.Request, output *ListActionExecutionsOutput) {
1382	op := &request.Operation{
1383		Name:       opListActionExecutions,
1384		HTTPMethod: "POST",
1385		HTTPPath:   "/",
1386		Paginator: &request.Paginator{
1387			InputTokens:     []string{"nextToken"},
1388			OutputTokens:    []string{"nextToken"},
1389			LimitToken:      "maxResults",
1390			TruncationToken: "",
1391		},
1392	}
1393
1394	if input == nil {
1395		input = &ListActionExecutionsInput{}
1396	}
1397
1398	output = &ListActionExecutionsOutput{}
1399	req = c.newRequest(op, input, output)
1400	return
1401}
1402
1403// ListActionExecutions API operation for AWS CodePipeline.
1404//
1405// Lists the action executions that have occurred in a pipeline.
1406//
1407// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1408// with awserr.Error's Code and Message methods to get detailed information about
1409// the error.
1410//
1411// See the AWS API reference guide for AWS CodePipeline's
1412// API operation ListActionExecutions for usage and error information.
1413//
1414// Returned Error Codes:
1415//   * ErrCodeValidationException "ValidationException"
1416//   The validation was specified in an invalid format.
1417//
1418//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
1419//   The pipeline was specified in an invalid format or cannot be found.
1420//
1421//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1422//   The next token was specified in an invalid format. Make sure that the next
1423//   token you provide is the token returned by a previous call.
1424//
1425//   * ErrCodePipelineExecutionNotFoundException "PipelineExecutionNotFoundException"
1426//   The pipeline execution was specified in an invalid format or cannot be found,
1427//   or an execution ID does not belong to the specified pipeline.
1428//
1429// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListActionExecutions
1430func (c *CodePipeline) ListActionExecutions(input *ListActionExecutionsInput) (*ListActionExecutionsOutput, error) {
1431	req, out := c.ListActionExecutionsRequest(input)
1432	return out, req.Send()
1433}
1434
1435// ListActionExecutionsWithContext is the same as ListActionExecutions with the addition of
1436// the ability to pass a context and additional request options.
1437//
1438// See ListActionExecutions for details on how to use this API operation.
1439//
1440// The context must be non-nil and will be used for request cancellation. If
1441// the context is nil a panic will occur. In the future the SDK may create
1442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1443// for more information on using Contexts.
1444func (c *CodePipeline) ListActionExecutionsWithContext(ctx aws.Context, input *ListActionExecutionsInput, opts ...request.Option) (*ListActionExecutionsOutput, error) {
1445	req, out := c.ListActionExecutionsRequest(input)
1446	req.SetContext(ctx)
1447	req.ApplyOptions(opts...)
1448	return out, req.Send()
1449}
1450
1451// ListActionExecutionsPages iterates over the pages of a ListActionExecutions operation,
1452// calling the "fn" function with the response data for each page. To stop
1453// iterating, return false from the fn function.
1454//
1455// See ListActionExecutions method for more information on how to use this operation.
1456//
1457// Note: This operation can generate multiple requests to a service.
1458//
1459//    // Example iterating over at most 3 pages of a ListActionExecutions operation.
1460//    pageNum := 0
1461//    err := client.ListActionExecutionsPages(params,
1462//        func(page *codepipeline.ListActionExecutionsOutput, lastPage bool) bool {
1463//            pageNum++
1464//            fmt.Println(page)
1465//            return pageNum <= 3
1466//        })
1467//
1468func (c *CodePipeline) ListActionExecutionsPages(input *ListActionExecutionsInput, fn func(*ListActionExecutionsOutput, bool) bool) error {
1469	return c.ListActionExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
1470}
1471
1472// ListActionExecutionsPagesWithContext same as ListActionExecutionsPages except
1473// it takes a Context and allows setting request options on the pages.
1474//
1475// The context must be non-nil and will be used for request cancellation. If
1476// the context is nil a panic will occur. In the future the SDK may create
1477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1478// for more information on using Contexts.
1479func (c *CodePipeline) ListActionExecutionsPagesWithContext(ctx aws.Context, input *ListActionExecutionsInput, fn func(*ListActionExecutionsOutput, bool) bool, opts ...request.Option) error {
1480	p := request.Pagination{
1481		NewRequest: func() (*request.Request, error) {
1482			var inCpy *ListActionExecutionsInput
1483			if input != nil {
1484				tmp := *input
1485				inCpy = &tmp
1486			}
1487			req, _ := c.ListActionExecutionsRequest(inCpy)
1488			req.SetContext(ctx)
1489			req.ApplyOptions(opts...)
1490			return req, nil
1491		},
1492	}
1493
1494	for p.Next() {
1495		if !fn(p.Page().(*ListActionExecutionsOutput), !p.HasNextPage()) {
1496			break
1497		}
1498	}
1499
1500	return p.Err()
1501}
1502
1503const opListActionTypes = "ListActionTypes"
1504
1505// ListActionTypesRequest generates a "aws/request.Request" representing the
1506// client's request for the ListActionTypes operation. The "output" return
1507// value will be populated with the request's response once the request completes
1508// successfully.
1509//
1510// Use "Send" method on the returned Request to send the API call to the service.
1511// the "output" return value is not valid until after Send returns without error.
1512//
1513// See ListActionTypes for more information on using the ListActionTypes
1514// API call, and error handling.
1515//
1516// This method is useful when you want to inject custom logic or configuration
1517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1518//
1519//
1520//    // Example sending a request using the ListActionTypesRequest method.
1521//    req, resp := client.ListActionTypesRequest(params)
1522//
1523//    err := req.Send()
1524//    if err == nil { // resp is now filled
1525//        fmt.Println(resp)
1526//    }
1527//
1528// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListActionTypes
1529func (c *CodePipeline) ListActionTypesRequest(input *ListActionTypesInput) (req *request.Request, output *ListActionTypesOutput) {
1530	op := &request.Operation{
1531		Name:       opListActionTypes,
1532		HTTPMethod: "POST",
1533		HTTPPath:   "/",
1534		Paginator: &request.Paginator{
1535			InputTokens:     []string{"nextToken"},
1536			OutputTokens:    []string{"nextToken"},
1537			LimitToken:      "",
1538			TruncationToken: "",
1539		},
1540	}
1541
1542	if input == nil {
1543		input = &ListActionTypesInput{}
1544	}
1545
1546	output = &ListActionTypesOutput{}
1547	req = c.newRequest(op, input, output)
1548	return
1549}
1550
1551// ListActionTypes API operation for AWS CodePipeline.
1552//
1553// Gets a summary of all AWS CodePipeline action types associated with your
1554// account.
1555//
1556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1557// with awserr.Error's Code and Message methods to get detailed information about
1558// the error.
1559//
1560// See the AWS API reference guide for AWS CodePipeline's
1561// API operation ListActionTypes for usage and error information.
1562//
1563// Returned Error Codes:
1564//   * ErrCodeValidationException "ValidationException"
1565//   The validation was specified in an invalid format.
1566//
1567//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1568//   The next token was specified in an invalid format. Make sure that the next
1569//   token you provide is the token returned by a previous call.
1570//
1571// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListActionTypes
1572func (c *CodePipeline) ListActionTypes(input *ListActionTypesInput) (*ListActionTypesOutput, error) {
1573	req, out := c.ListActionTypesRequest(input)
1574	return out, req.Send()
1575}
1576
1577// ListActionTypesWithContext is the same as ListActionTypes with the addition of
1578// the ability to pass a context and additional request options.
1579//
1580// See ListActionTypes for details on how to use this API operation.
1581//
1582// The context must be non-nil and will be used for request cancellation. If
1583// the context is nil a panic will occur. In the future the SDK may create
1584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1585// for more information on using Contexts.
1586func (c *CodePipeline) ListActionTypesWithContext(ctx aws.Context, input *ListActionTypesInput, opts ...request.Option) (*ListActionTypesOutput, error) {
1587	req, out := c.ListActionTypesRequest(input)
1588	req.SetContext(ctx)
1589	req.ApplyOptions(opts...)
1590	return out, req.Send()
1591}
1592
1593// ListActionTypesPages iterates over the pages of a ListActionTypes operation,
1594// calling the "fn" function with the response data for each page. To stop
1595// iterating, return false from the fn function.
1596//
1597// See ListActionTypes method for more information on how to use this operation.
1598//
1599// Note: This operation can generate multiple requests to a service.
1600//
1601//    // Example iterating over at most 3 pages of a ListActionTypes operation.
1602//    pageNum := 0
1603//    err := client.ListActionTypesPages(params,
1604//        func(page *codepipeline.ListActionTypesOutput, lastPage bool) bool {
1605//            pageNum++
1606//            fmt.Println(page)
1607//            return pageNum <= 3
1608//        })
1609//
1610func (c *CodePipeline) ListActionTypesPages(input *ListActionTypesInput, fn func(*ListActionTypesOutput, bool) bool) error {
1611	return c.ListActionTypesPagesWithContext(aws.BackgroundContext(), input, fn)
1612}
1613
1614// ListActionTypesPagesWithContext same as ListActionTypesPages except
1615// it takes a Context and allows setting request options on the pages.
1616//
1617// The context must be non-nil and will be used for request cancellation. If
1618// the context is nil a panic will occur. In the future the SDK may create
1619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1620// for more information on using Contexts.
1621func (c *CodePipeline) ListActionTypesPagesWithContext(ctx aws.Context, input *ListActionTypesInput, fn func(*ListActionTypesOutput, bool) bool, opts ...request.Option) error {
1622	p := request.Pagination{
1623		NewRequest: func() (*request.Request, error) {
1624			var inCpy *ListActionTypesInput
1625			if input != nil {
1626				tmp := *input
1627				inCpy = &tmp
1628			}
1629			req, _ := c.ListActionTypesRequest(inCpy)
1630			req.SetContext(ctx)
1631			req.ApplyOptions(opts...)
1632			return req, nil
1633		},
1634	}
1635
1636	for p.Next() {
1637		if !fn(p.Page().(*ListActionTypesOutput), !p.HasNextPage()) {
1638			break
1639		}
1640	}
1641
1642	return p.Err()
1643}
1644
1645const opListPipelineExecutions = "ListPipelineExecutions"
1646
1647// ListPipelineExecutionsRequest generates a "aws/request.Request" representing the
1648// client's request for the ListPipelineExecutions operation. The "output" return
1649// value will be populated with the request's response once the request completes
1650// successfully.
1651//
1652// Use "Send" method on the returned Request to send the API call to the service.
1653// the "output" return value is not valid until after Send returns without error.
1654//
1655// See ListPipelineExecutions for more information on using the ListPipelineExecutions
1656// API call, and error handling.
1657//
1658// This method is useful when you want to inject custom logic or configuration
1659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1660//
1661//
1662//    // Example sending a request using the ListPipelineExecutionsRequest method.
1663//    req, resp := client.ListPipelineExecutionsRequest(params)
1664//
1665//    err := req.Send()
1666//    if err == nil { // resp is now filled
1667//        fmt.Println(resp)
1668//    }
1669//
1670// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListPipelineExecutions
1671func (c *CodePipeline) ListPipelineExecutionsRequest(input *ListPipelineExecutionsInput) (req *request.Request, output *ListPipelineExecutionsOutput) {
1672	op := &request.Operation{
1673		Name:       opListPipelineExecutions,
1674		HTTPMethod: "POST",
1675		HTTPPath:   "/",
1676		Paginator: &request.Paginator{
1677			InputTokens:     []string{"nextToken"},
1678			OutputTokens:    []string{"nextToken"},
1679			LimitToken:      "maxResults",
1680			TruncationToken: "",
1681		},
1682	}
1683
1684	if input == nil {
1685		input = &ListPipelineExecutionsInput{}
1686	}
1687
1688	output = &ListPipelineExecutionsOutput{}
1689	req = c.newRequest(op, input, output)
1690	return
1691}
1692
1693// ListPipelineExecutions API operation for AWS CodePipeline.
1694//
1695// Gets a summary of the most recent executions for a pipeline.
1696//
1697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1698// with awserr.Error's Code and Message methods to get detailed information about
1699// the error.
1700//
1701// See the AWS API reference guide for AWS CodePipeline's
1702// API operation ListPipelineExecutions for usage and error information.
1703//
1704// Returned Error Codes:
1705//   * ErrCodeValidationException "ValidationException"
1706//   The validation was specified in an invalid format.
1707//
1708//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
1709//   The pipeline was specified in an invalid format or cannot be found.
1710//
1711//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1712//   The next token was specified in an invalid format. Make sure that the next
1713//   token you provide is the token returned by a previous call.
1714//
1715// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListPipelineExecutions
1716func (c *CodePipeline) ListPipelineExecutions(input *ListPipelineExecutionsInput) (*ListPipelineExecutionsOutput, error) {
1717	req, out := c.ListPipelineExecutionsRequest(input)
1718	return out, req.Send()
1719}
1720
1721// ListPipelineExecutionsWithContext is the same as ListPipelineExecutions with the addition of
1722// the ability to pass a context and additional request options.
1723//
1724// See ListPipelineExecutions for details on how to use this API operation.
1725//
1726// The context must be non-nil and will be used for request cancellation. If
1727// the context is nil a panic will occur. In the future the SDK may create
1728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1729// for more information on using Contexts.
1730func (c *CodePipeline) ListPipelineExecutionsWithContext(ctx aws.Context, input *ListPipelineExecutionsInput, opts ...request.Option) (*ListPipelineExecutionsOutput, error) {
1731	req, out := c.ListPipelineExecutionsRequest(input)
1732	req.SetContext(ctx)
1733	req.ApplyOptions(opts...)
1734	return out, req.Send()
1735}
1736
1737// ListPipelineExecutionsPages iterates over the pages of a ListPipelineExecutions operation,
1738// calling the "fn" function with the response data for each page. To stop
1739// iterating, return false from the fn function.
1740//
1741// See ListPipelineExecutions method for more information on how to use this operation.
1742//
1743// Note: This operation can generate multiple requests to a service.
1744//
1745//    // Example iterating over at most 3 pages of a ListPipelineExecutions operation.
1746//    pageNum := 0
1747//    err := client.ListPipelineExecutionsPages(params,
1748//        func(page *codepipeline.ListPipelineExecutionsOutput, lastPage bool) bool {
1749//            pageNum++
1750//            fmt.Println(page)
1751//            return pageNum <= 3
1752//        })
1753//
1754func (c *CodePipeline) ListPipelineExecutionsPages(input *ListPipelineExecutionsInput, fn func(*ListPipelineExecutionsOutput, bool) bool) error {
1755	return c.ListPipelineExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
1756}
1757
1758// ListPipelineExecutionsPagesWithContext same as ListPipelineExecutionsPages except
1759// it takes a Context and allows setting request options on the pages.
1760//
1761// The context must be non-nil and will be used for request cancellation. If
1762// the context is nil a panic will occur. In the future the SDK may create
1763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1764// for more information on using Contexts.
1765func (c *CodePipeline) ListPipelineExecutionsPagesWithContext(ctx aws.Context, input *ListPipelineExecutionsInput, fn func(*ListPipelineExecutionsOutput, bool) bool, opts ...request.Option) error {
1766	p := request.Pagination{
1767		NewRequest: func() (*request.Request, error) {
1768			var inCpy *ListPipelineExecutionsInput
1769			if input != nil {
1770				tmp := *input
1771				inCpy = &tmp
1772			}
1773			req, _ := c.ListPipelineExecutionsRequest(inCpy)
1774			req.SetContext(ctx)
1775			req.ApplyOptions(opts...)
1776			return req, nil
1777		},
1778	}
1779
1780	for p.Next() {
1781		if !fn(p.Page().(*ListPipelineExecutionsOutput), !p.HasNextPage()) {
1782			break
1783		}
1784	}
1785
1786	return p.Err()
1787}
1788
1789const opListPipelines = "ListPipelines"
1790
1791// ListPipelinesRequest generates a "aws/request.Request" representing the
1792// client's request for the ListPipelines operation. The "output" return
1793// value will be populated with the request's response once the request completes
1794// successfully.
1795//
1796// Use "Send" method on the returned Request to send the API call to the service.
1797// the "output" return value is not valid until after Send returns without error.
1798//
1799// See ListPipelines for more information on using the ListPipelines
1800// API call, and error handling.
1801//
1802// This method is useful when you want to inject custom logic or configuration
1803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1804//
1805//
1806//    // Example sending a request using the ListPipelinesRequest method.
1807//    req, resp := client.ListPipelinesRequest(params)
1808//
1809//    err := req.Send()
1810//    if err == nil { // resp is now filled
1811//        fmt.Println(resp)
1812//    }
1813//
1814// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListPipelines
1815func (c *CodePipeline) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Request, output *ListPipelinesOutput) {
1816	op := &request.Operation{
1817		Name:       opListPipelines,
1818		HTTPMethod: "POST",
1819		HTTPPath:   "/",
1820		Paginator: &request.Paginator{
1821			InputTokens:     []string{"nextToken"},
1822			OutputTokens:    []string{"nextToken"},
1823			LimitToken:      "",
1824			TruncationToken: "",
1825		},
1826	}
1827
1828	if input == nil {
1829		input = &ListPipelinesInput{}
1830	}
1831
1832	output = &ListPipelinesOutput{}
1833	req = c.newRequest(op, input, output)
1834	return
1835}
1836
1837// ListPipelines API operation for AWS CodePipeline.
1838//
1839// Gets a summary of all of the pipelines associated with your account.
1840//
1841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1842// with awserr.Error's Code and Message methods to get detailed information about
1843// the error.
1844//
1845// See the AWS API reference guide for AWS CodePipeline's
1846// API operation ListPipelines for usage and error information.
1847//
1848// Returned Error Codes:
1849//   * ErrCodeValidationException "ValidationException"
1850//   The validation was specified in an invalid format.
1851//
1852//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1853//   The next token was specified in an invalid format. Make sure that the next
1854//   token you provide is the token returned by a previous call.
1855//
1856// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListPipelines
1857func (c *CodePipeline) ListPipelines(input *ListPipelinesInput) (*ListPipelinesOutput, error) {
1858	req, out := c.ListPipelinesRequest(input)
1859	return out, req.Send()
1860}
1861
1862// ListPipelinesWithContext is the same as ListPipelines with the addition of
1863// the ability to pass a context and additional request options.
1864//
1865// See ListPipelines for details on how to use this API operation.
1866//
1867// The context must be non-nil and will be used for request cancellation. If
1868// the context is nil a panic will occur. In the future the SDK may create
1869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1870// for more information on using Contexts.
1871func (c *CodePipeline) ListPipelinesWithContext(ctx aws.Context, input *ListPipelinesInput, opts ...request.Option) (*ListPipelinesOutput, error) {
1872	req, out := c.ListPipelinesRequest(input)
1873	req.SetContext(ctx)
1874	req.ApplyOptions(opts...)
1875	return out, req.Send()
1876}
1877
1878// ListPipelinesPages iterates over the pages of a ListPipelines operation,
1879// calling the "fn" function with the response data for each page. To stop
1880// iterating, return false from the fn function.
1881//
1882// See ListPipelines method for more information on how to use this operation.
1883//
1884// Note: This operation can generate multiple requests to a service.
1885//
1886//    // Example iterating over at most 3 pages of a ListPipelines operation.
1887//    pageNum := 0
1888//    err := client.ListPipelinesPages(params,
1889//        func(page *codepipeline.ListPipelinesOutput, lastPage bool) bool {
1890//            pageNum++
1891//            fmt.Println(page)
1892//            return pageNum <= 3
1893//        })
1894//
1895func (c *CodePipeline) ListPipelinesPages(input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool) error {
1896	return c.ListPipelinesPagesWithContext(aws.BackgroundContext(), input, fn)
1897}
1898
1899// ListPipelinesPagesWithContext same as ListPipelinesPages except
1900// it takes a Context and allows setting request options on the pages.
1901//
1902// The context must be non-nil and will be used for request cancellation. If
1903// the context is nil a panic will occur. In the future the SDK may create
1904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1905// for more information on using Contexts.
1906func (c *CodePipeline) ListPipelinesPagesWithContext(ctx aws.Context, input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool, opts ...request.Option) error {
1907	p := request.Pagination{
1908		NewRequest: func() (*request.Request, error) {
1909			var inCpy *ListPipelinesInput
1910			if input != nil {
1911				tmp := *input
1912				inCpy = &tmp
1913			}
1914			req, _ := c.ListPipelinesRequest(inCpy)
1915			req.SetContext(ctx)
1916			req.ApplyOptions(opts...)
1917			return req, nil
1918		},
1919	}
1920
1921	for p.Next() {
1922		if !fn(p.Page().(*ListPipelinesOutput), !p.HasNextPage()) {
1923			break
1924		}
1925	}
1926
1927	return p.Err()
1928}
1929
1930const opListTagsForResource = "ListTagsForResource"
1931
1932// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1933// client's request for the ListTagsForResource operation. The "output" return
1934// value will be populated with the request's response once the request completes
1935// successfully.
1936//
1937// Use "Send" method on the returned Request to send the API call to the service.
1938// the "output" return value is not valid until after Send returns without error.
1939//
1940// See ListTagsForResource for more information on using the ListTagsForResource
1941// API call, and error handling.
1942//
1943// This method is useful when you want to inject custom logic or configuration
1944// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1945//
1946//
1947//    // Example sending a request using the ListTagsForResourceRequest method.
1948//    req, resp := client.ListTagsForResourceRequest(params)
1949//
1950//    err := req.Send()
1951//    if err == nil { // resp is now filled
1952//        fmt.Println(resp)
1953//    }
1954//
1955// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListTagsForResource
1956func (c *CodePipeline) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1957	op := &request.Operation{
1958		Name:       opListTagsForResource,
1959		HTTPMethod: "POST",
1960		HTTPPath:   "/",
1961		Paginator: &request.Paginator{
1962			InputTokens:     []string{"nextToken"},
1963			OutputTokens:    []string{"nextToken"},
1964			LimitToken:      "maxResults",
1965			TruncationToken: "",
1966		},
1967	}
1968
1969	if input == nil {
1970		input = &ListTagsForResourceInput{}
1971	}
1972
1973	output = &ListTagsForResourceOutput{}
1974	req = c.newRequest(op, input, output)
1975	return
1976}
1977
1978// ListTagsForResource API operation for AWS CodePipeline.
1979//
1980// Gets the set of key-value pairs (metadata) that are used to manage the resource.
1981//
1982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1983// with awserr.Error's Code and Message methods to get detailed information about
1984// the error.
1985//
1986// See the AWS API reference guide for AWS CodePipeline's
1987// API operation ListTagsForResource for usage and error information.
1988//
1989// Returned Error Codes:
1990//   * ErrCodeValidationException "ValidationException"
1991//   The validation was specified in an invalid format.
1992//
1993//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1994//   The resource was specified in an invalid format.
1995//
1996//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1997//   The next token was specified in an invalid format. Make sure that the next
1998//   token you provide is the token returned by a previous call.
1999//
2000//   * ErrCodeInvalidArnException "InvalidArnException"
2001//   The specified resource ARN is invalid.
2002//
2003// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListTagsForResource
2004func (c *CodePipeline) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2005	req, out := c.ListTagsForResourceRequest(input)
2006	return out, req.Send()
2007}
2008
2009// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2010// the ability to pass a context and additional request options.
2011//
2012// See ListTagsForResource for details on how to use this API operation.
2013//
2014// The context must be non-nil and will be used for request cancellation. If
2015// the context is nil a panic will occur. In the future the SDK may create
2016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2017// for more information on using Contexts.
2018func (c *CodePipeline) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2019	req, out := c.ListTagsForResourceRequest(input)
2020	req.SetContext(ctx)
2021	req.ApplyOptions(opts...)
2022	return out, req.Send()
2023}
2024
2025// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
2026// calling the "fn" function with the response data for each page. To stop
2027// iterating, return false from the fn function.
2028//
2029// See ListTagsForResource method for more information on how to use this operation.
2030//
2031// Note: This operation can generate multiple requests to a service.
2032//
2033//    // Example iterating over at most 3 pages of a ListTagsForResource operation.
2034//    pageNum := 0
2035//    err := client.ListTagsForResourcePages(params,
2036//        func(page *codepipeline.ListTagsForResourceOutput, lastPage bool) bool {
2037//            pageNum++
2038//            fmt.Println(page)
2039//            return pageNum <= 3
2040//        })
2041//
2042func (c *CodePipeline) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
2043	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
2044}
2045
2046// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
2047// it takes a Context and allows setting request options on the pages.
2048//
2049// The context must be non-nil and will be used for request cancellation. If
2050// the context is nil a panic will occur. In the future the SDK may create
2051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2052// for more information on using Contexts.
2053func (c *CodePipeline) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
2054	p := request.Pagination{
2055		NewRequest: func() (*request.Request, error) {
2056			var inCpy *ListTagsForResourceInput
2057			if input != nil {
2058				tmp := *input
2059				inCpy = &tmp
2060			}
2061			req, _ := c.ListTagsForResourceRequest(inCpy)
2062			req.SetContext(ctx)
2063			req.ApplyOptions(opts...)
2064			return req, nil
2065		},
2066	}
2067
2068	for p.Next() {
2069		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
2070			break
2071		}
2072	}
2073
2074	return p.Err()
2075}
2076
2077const opListWebhooks = "ListWebhooks"
2078
2079// ListWebhooksRequest generates a "aws/request.Request" representing the
2080// client's request for the ListWebhooks operation. The "output" return
2081// value will be populated with the request's response once the request completes
2082// successfully.
2083//
2084// Use "Send" method on the returned Request to send the API call to the service.
2085// the "output" return value is not valid until after Send returns without error.
2086//
2087// See ListWebhooks for more information on using the ListWebhooks
2088// API call, and error handling.
2089//
2090// This method is useful when you want to inject custom logic or configuration
2091// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2092//
2093//
2094//    // Example sending a request using the ListWebhooksRequest method.
2095//    req, resp := client.ListWebhooksRequest(params)
2096//
2097//    err := req.Send()
2098//    if err == nil { // resp is now filled
2099//        fmt.Println(resp)
2100//    }
2101//
2102// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListWebhooks
2103func (c *CodePipeline) ListWebhooksRequest(input *ListWebhooksInput) (req *request.Request, output *ListWebhooksOutput) {
2104	op := &request.Operation{
2105		Name:       opListWebhooks,
2106		HTTPMethod: "POST",
2107		HTTPPath:   "/",
2108		Paginator: &request.Paginator{
2109			InputTokens:     []string{"NextToken"},
2110			OutputTokens:    []string{"NextToken"},
2111			LimitToken:      "MaxResults",
2112			TruncationToken: "",
2113		},
2114	}
2115
2116	if input == nil {
2117		input = &ListWebhooksInput{}
2118	}
2119
2120	output = &ListWebhooksOutput{}
2121	req = c.newRequest(op, input, output)
2122	return
2123}
2124
2125// ListWebhooks API operation for AWS CodePipeline.
2126//
2127// Gets a listing of all the webhooks in this AWS Region for this account. The
2128// output lists all webhooks and includes the webhook URL and ARN and the configuration
2129// for each webhook.
2130//
2131// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2132// with awserr.Error's Code and Message methods to get detailed information about
2133// the error.
2134//
2135// See the AWS API reference guide for AWS CodePipeline's
2136// API operation ListWebhooks for usage and error information.
2137//
2138// Returned Error Codes:
2139//   * ErrCodeValidationException "ValidationException"
2140//   The validation was specified in an invalid format.
2141//
2142//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2143//   The next token was specified in an invalid format. Make sure that the next
2144//   token you provide is the token returned by a previous call.
2145//
2146// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListWebhooks
2147func (c *CodePipeline) ListWebhooks(input *ListWebhooksInput) (*ListWebhooksOutput, error) {
2148	req, out := c.ListWebhooksRequest(input)
2149	return out, req.Send()
2150}
2151
2152// ListWebhooksWithContext is the same as ListWebhooks with the addition of
2153// the ability to pass a context and additional request options.
2154//
2155// See ListWebhooks for details on how to use this API operation.
2156//
2157// The context must be non-nil and will be used for request cancellation. If
2158// the context is nil a panic will occur. In the future the SDK may create
2159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2160// for more information on using Contexts.
2161func (c *CodePipeline) ListWebhooksWithContext(ctx aws.Context, input *ListWebhooksInput, opts ...request.Option) (*ListWebhooksOutput, error) {
2162	req, out := c.ListWebhooksRequest(input)
2163	req.SetContext(ctx)
2164	req.ApplyOptions(opts...)
2165	return out, req.Send()
2166}
2167
2168// ListWebhooksPages iterates over the pages of a ListWebhooks operation,
2169// calling the "fn" function with the response data for each page. To stop
2170// iterating, return false from the fn function.
2171//
2172// See ListWebhooks method for more information on how to use this operation.
2173//
2174// Note: This operation can generate multiple requests to a service.
2175//
2176//    // Example iterating over at most 3 pages of a ListWebhooks operation.
2177//    pageNum := 0
2178//    err := client.ListWebhooksPages(params,
2179//        func(page *codepipeline.ListWebhooksOutput, lastPage bool) bool {
2180//            pageNum++
2181//            fmt.Println(page)
2182//            return pageNum <= 3
2183//        })
2184//
2185func (c *CodePipeline) ListWebhooksPages(input *ListWebhooksInput, fn func(*ListWebhooksOutput, bool) bool) error {
2186	return c.ListWebhooksPagesWithContext(aws.BackgroundContext(), input, fn)
2187}
2188
2189// ListWebhooksPagesWithContext same as ListWebhooksPages except
2190// it takes a Context and allows setting request options on the pages.
2191//
2192// The context must be non-nil and will be used for request cancellation. If
2193// the context is nil a panic will occur. In the future the SDK may create
2194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2195// for more information on using Contexts.
2196func (c *CodePipeline) ListWebhooksPagesWithContext(ctx aws.Context, input *ListWebhooksInput, fn func(*ListWebhooksOutput, bool) bool, opts ...request.Option) error {
2197	p := request.Pagination{
2198		NewRequest: func() (*request.Request, error) {
2199			var inCpy *ListWebhooksInput
2200			if input != nil {
2201				tmp := *input
2202				inCpy = &tmp
2203			}
2204			req, _ := c.ListWebhooksRequest(inCpy)
2205			req.SetContext(ctx)
2206			req.ApplyOptions(opts...)
2207			return req, nil
2208		},
2209	}
2210
2211	for p.Next() {
2212		if !fn(p.Page().(*ListWebhooksOutput), !p.HasNextPage()) {
2213			break
2214		}
2215	}
2216
2217	return p.Err()
2218}
2219
2220const opPollForJobs = "PollForJobs"
2221
2222// PollForJobsRequest generates a "aws/request.Request" representing the
2223// client's request for the PollForJobs operation. The "output" return
2224// value will be populated with the request's response once the request completes
2225// successfully.
2226//
2227// Use "Send" method on the returned Request to send the API call to the service.
2228// the "output" return value is not valid until after Send returns without error.
2229//
2230// See PollForJobs for more information on using the PollForJobs
2231// API call, and error handling.
2232//
2233// This method is useful when you want to inject custom logic or configuration
2234// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2235//
2236//
2237//    // Example sending a request using the PollForJobsRequest method.
2238//    req, resp := client.PollForJobsRequest(params)
2239//
2240//    err := req.Send()
2241//    if err == nil { // resp is now filled
2242//        fmt.Println(resp)
2243//    }
2244//
2245// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PollForJobs
2246func (c *CodePipeline) PollForJobsRequest(input *PollForJobsInput) (req *request.Request, output *PollForJobsOutput) {
2247	op := &request.Operation{
2248		Name:       opPollForJobs,
2249		HTTPMethod: "POST",
2250		HTTPPath:   "/",
2251	}
2252
2253	if input == nil {
2254		input = &PollForJobsInput{}
2255	}
2256
2257	output = &PollForJobsOutput{}
2258	req = c.newRequest(op, input, output)
2259	return
2260}
2261
2262// PollForJobs API operation for AWS CodePipeline.
2263//
2264// Returns information about any jobs for AWS CodePipeline to act on. PollForJobs
2265// is valid only for action types with "Custom" in the owner field. If the action
2266// type contains "AWS" or "ThirdParty" in the owner field, the PollForJobs action
2267// returns an error.
2268//
2269// When this API is called, AWS CodePipeline returns temporary credentials for
2270// the Amazon S3 bucket used to store artifacts for the pipeline, if the action
2271// requires access to that Amazon S3 bucket for input or output artifacts. This
2272// API also returns any secret values defined for the action.
2273//
2274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2275// with awserr.Error's Code and Message methods to get detailed information about
2276// the error.
2277//
2278// See the AWS API reference guide for AWS CodePipeline's
2279// API operation PollForJobs for usage and error information.
2280//
2281// Returned Error Codes:
2282//   * ErrCodeValidationException "ValidationException"
2283//   The validation was specified in an invalid format.
2284//
2285//   * ErrCodeActionTypeNotFoundException "ActionTypeNotFoundException"
2286//   The specified action type cannot be found.
2287//
2288// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PollForJobs
2289func (c *CodePipeline) PollForJobs(input *PollForJobsInput) (*PollForJobsOutput, error) {
2290	req, out := c.PollForJobsRequest(input)
2291	return out, req.Send()
2292}
2293
2294// PollForJobsWithContext is the same as PollForJobs with the addition of
2295// the ability to pass a context and additional request options.
2296//
2297// See PollForJobs for details on how to use this API operation.
2298//
2299// The context must be non-nil and will be used for request cancellation. If
2300// the context is nil a panic will occur. In the future the SDK may create
2301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2302// for more information on using Contexts.
2303func (c *CodePipeline) PollForJobsWithContext(ctx aws.Context, input *PollForJobsInput, opts ...request.Option) (*PollForJobsOutput, error) {
2304	req, out := c.PollForJobsRequest(input)
2305	req.SetContext(ctx)
2306	req.ApplyOptions(opts...)
2307	return out, req.Send()
2308}
2309
2310const opPollForThirdPartyJobs = "PollForThirdPartyJobs"
2311
2312// PollForThirdPartyJobsRequest generates a "aws/request.Request" representing the
2313// client's request for the PollForThirdPartyJobs operation. The "output" return
2314// value will be populated with the request's response once the request completes
2315// successfully.
2316//
2317// Use "Send" method on the returned Request to send the API call to the service.
2318// the "output" return value is not valid until after Send returns without error.
2319//
2320// See PollForThirdPartyJobs for more information on using the PollForThirdPartyJobs
2321// API call, and error handling.
2322//
2323// This method is useful when you want to inject custom logic or configuration
2324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2325//
2326//
2327//    // Example sending a request using the PollForThirdPartyJobsRequest method.
2328//    req, resp := client.PollForThirdPartyJobsRequest(params)
2329//
2330//    err := req.Send()
2331//    if err == nil { // resp is now filled
2332//        fmt.Println(resp)
2333//    }
2334//
2335// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PollForThirdPartyJobs
2336func (c *CodePipeline) PollForThirdPartyJobsRequest(input *PollForThirdPartyJobsInput) (req *request.Request, output *PollForThirdPartyJobsOutput) {
2337	op := &request.Operation{
2338		Name:       opPollForThirdPartyJobs,
2339		HTTPMethod: "POST",
2340		HTTPPath:   "/",
2341	}
2342
2343	if input == nil {
2344		input = &PollForThirdPartyJobsInput{}
2345	}
2346
2347	output = &PollForThirdPartyJobsOutput{}
2348	req = c.newRequest(op, input, output)
2349	return
2350}
2351
2352// PollForThirdPartyJobs API operation for AWS CodePipeline.
2353//
2354// Determines whether there are any third party jobs for a job worker to act
2355// on. Used for partner actions only.
2356//
2357// When this API is called, AWS CodePipeline returns temporary credentials for
2358// the Amazon S3 bucket used to store artifacts for the pipeline, if the action
2359// requires access to that Amazon S3 bucket for input or output artifacts.
2360//
2361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2362// with awserr.Error's Code and Message methods to get detailed information about
2363// the error.
2364//
2365// See the AWS API reference guide for AWS CodePipeline's
2366// API operation PollForThirdPartyJobs for usage and error information.
2367//
2368// Returned Error Codes:
2369//   * ErrCodeActionTypeNotFoundException "ActionTypeNotFoundException"
2370//   The specified action type cannot be found.
2371//
2372//   * ErrCodeValidationException "ValidationException"
2373//   The validation was specified in an invalid format.
2374//
2375// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PollForThirdPartyJobs
2376func (c *CodePipeline) PollForThirdPartyJobs(input *PollForThirdPartyJobsInput) (*PollForThirdPartyJobsOutput, error) {
2377	req, out := c.PollForThirdPartyJobsRequest(input)
2378	return out, req.Send()
2379}
2380
2381// PollForThirdPartyJobsWithContext is the same as PollForThirdPartyJobs with the addition of
2382// the ability to pass a context and additional request options.
2383//
2384// See PollForThirdPartyJobs for details on how to use this API operation.
2385//
2386// The context must be non-nil and will be used for request cancellation. If
2387// the context is nil a panic will occur. In the future the SDK may create
2388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2389// for more information on using Contexts.
2390func (c *CodePipeline) PollForThirdPartyJobsWithContext(ctx aws.Context, input *PollForThirdPartyJobsInput, opts ...request.Option) (*PollForThirdPartyJobsOutput, error) {
2391	req, out := c.PollForThirdPartyJobsRequest(input)
2392	req.SetContext(ctx)
2393	req.ApplyOptions(opts...)
2394	return out, req.Send()
2395}
2396
2397const opPutActionRevision = "PutActionRevision"
2398
2399// PutActionRevisionRequest generates a "aws/request.Request" representing the
2400// client's request for the PutActionRevision operation. The "output" return
2401// value will be populated with the request's response once the request completes
2402// successfully.
2403//
2404// Use "Send" method on the returned Request to send the API call to the service.
2405// the "output" return value is not valid until after Send returns without error.
2406//
2407// See PutActionRevision for more information on using the PutActionRevision
2408// API call, and error handling.
2409//
2410// This method is useful when you want to inject custom logic or configuration
2411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2412//
2413//
2414//    // Example sending a request using the PutActionRevisionRequest method.
2415//    req, resp := client.PutActionRevisionRequest(params)
2416//
2417//    err := req.Send()
2418//    if err == nil { // resp is now filled
2419//        fmt.Println(resp)
2420//    }
2421//
2422// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutActionRevision
2423func (c *CodePipeline) PutActionRevisionRequest(input *PutActionRevisionInput) (req *request.Request, output *PutActionRevisionOutput) {
2424	op := &request.Operation{
2425		Name:       opPutActionRevision,
2426		HTTPMethod: "POST",
2427		HTTPPath:   "/",
2428	}
2429
2430	if input == nil {
2431		input = &PutActionRevisionInput{}
2432	}
2433
2434	output = &PutActionRevisionOutput{}
2435	req = c.newRequest(op, input, output)
2436	return
2437}
2438
2439// PutActionRevision API operation for AWS CodePipeline.
2440//
2441// Provides information to AWS CodePipeline about new revisions to a source.
2442//
2443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2444// with awserr.Error's Code and Message methods to get detailed information about
2445// the error.
2446//
2447// See the AWS API reference guide for AWS CodePipeline's
2448// API operation PutActionRevision for usage and error information.
2449//
2450// Returned Error Codes:
2451//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
2452//   The pipeline was specified in an invalid format or cannot be found.
2453//
2454//   * ErrCodeStageNotFoundException "StageNotFoundException"
2455//   The stage was specified in an invalid format or cannot be found.
2456//
2457//   * ErrCodeActionNotFoundException "ActionNotFoundException"
2458//   The specified action cannot be found.
2459//
2460//   * ErrCodeValidationException "ValidationException"
2461//   The validation was specified in an invalid format.
2462//
2463// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutActionRevision
2464func (c *CodePipeline) PutActionRevision(input *PutActionRevisionInput) (*PutActionRevisionOutput, error) {
2465	req, out := c.PutActionRevisionRequest(input)
2466	return out, req.Send()
2467}
2468
2469// PutActionRevisionWithContext is the same as PutActionRevision with the addition of
2470// the ability to pass a context and additional request options.
2471//
2472// See PutActionRevision for details on how to use this API operation.
2473//
2474// The context must be non-nil and will be used for request cancellation. If
2475// the context is nil a panic will occur. In the future the SDK may create
2476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2477// for more information on using Contexts.
2478func (c *CodePipeline) PutActionRevisionWithContext(ctx aws.Context, input *PutActionRevisionInput, opts ...request.Option) (*PutActionRevisionOutput, error) {
2479	req, out := c.PutActionRevisionRequest(input)
2480	req.SetContext(ctx)
2481	req.ApplyOptions(opts...)
2482	return out, req.Send()
2483}
2484
2485const opPutApprovalResult = "PutApprovalResult"
2486
2487// PutApprovalResultRequest generates a "aws/request.Request" representing the
2488// client's request for the PutApprovalResult operation. The "output" return
2489// value will be populated with the request's response once the request completes
2490// successfully.
2491//
2492// Use "Send" method on the returned Request to send the API call to the service.
2493// the "output" return value is not valid until after Send returns without error.
2494//
2495// See PutApprovalResult for more information on using the PutApprovalResult
2496// API call, and error handling.
2497//
2498// This method is useful when you want to inject custom logic or configuration
2499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2500//
2501//
2502//    // Example sending a request using the PutApprovalResultRequest method.
2503//    req, resp := client.PutApprovalResultRequest(params)
2504//
2505//    err := req.Send()
2506//    if err == nil { // resp is now filled
2507//        fmt.Println(resp)
2508//    }
2509//
2510// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutApprovalResult
2511func (c *CodePipeline) PutApprovalResultRequest(input *PutApprovalResultInput) (req *request.Request, output *PutApprovalResultOutput) {
2512	op := &request.Operation{
2513		Name:       opPutApprovalResult,
2514		HTTPMethod: "POST",
2515		HTTPPath:   "/",
2516	}
2517
2518	if input == nil {
2519		input = &PutApprovalResultInput{}
2520	}
2521
2522	output = &PutApprovalResultOutput{}
2523	req = c.newRequest(op, input, output)
2524	return
2525}
2526
2527// PutApprovalResult API operation for AWS CodePipeline.
2528//
2529// Provides the response to a manual approval request to AWS CodePipeline. Valid
2530// responses include Approved and Rejected.
2531//
2532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2533// with awserr.Error's Code and Message methods to get detailed information about
2534// the error.
2535//
2536// See the AWS API reference guide for AWS CodePipeline's
2537// API operation PutApprovalResult for usage and error information.
2538//
2539// Returned Error Codes:
2540//   * ErrCodeInvalidApprovalTokenException "InvalidApprovalTokenException"
2541//   The approval request already received a response or has expired.
2542//
2543//   * ErrCodeApprovalAlreadyCompletedException "ApprovalAlreadyCompletedException"
2544//   The approval action has already been approved or rejected.
2545//
2546//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
2547//   The pipeline was specified in an invalid format or cannot be found.
2548//
2549//   * ErrCodeStageNotFoundException "StageNotFoundException"
2550//   The stage was specified in an invalid format or cannot be found.
2551//
2552//   * ErrCodeActionNotFoundException "ActionNotFoundException"
2553//   The specified action cannot be found.
2554//
2555//   * ErrCodeValidationException "ValidationException"
2556//   The validation was specified in an invalid format.
2557//
2558// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutApprovalResult
2559func (c *CodePipeline) PutApprovalResult(input *PutApprovalResultInput) (*PutApprovalResultOutput, error) {
2560	req, out := c.PutApprovalResultRequest(input)
2561	return out, req.Send()
2562}
2563
2564// PutApprovalResultWithContext is the same as PutApprovalResult with the addition of
2565// the ability to pass a context and additional request options.
2566//
2567// See PutApprovalResult for details on how to use this API operation.
2568//
2569// The context must be non-nil and will be used for request cancellation. If
2570// the context is nil a panic will occur. In the future the SDK may create
2571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2572// for more information on using Contexts.
2573func (c *CodePipeline) PutApprovalResultWithContext(ctx aws.Context, input *PutApprovalResultInput, opts ...request.Option) (*PutApprovalResultOutput, error) {
2574	req, out := c.PutApprovalResultRequest(input)
2575	req.SetContext(ctx)
2576	req.ApplyOptions(opts...)
2577	return out, req.Send()
2578}
2579
2580const opPutJobFailureResult = "PutJobFailureResult"
2581
2582// PutJobFailureResultRequest generates a "aws/request.Request" representing the
2583// client's request for the PutJobFailureResult operation. The "output" return
2584// value will be populated with the request's response once the request completes
2585// successfully.
2586//
2587// Use "Send" method on the returned Request to send the API call to the service.
2588// the "output" return value is not valid until after Send returns without error.
2589//
2590// See PutJobFailureResult for more information on using the PutJobFailureResult
2591// API call, and error handling.
2592//
2593// This method is useful when you want to inject custom logic or configuration
2594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2595//
2596//
2597//    // Example sending a request using the PutJobFailureResultRequest method.
2598//    req, resp := client.PutJobFailureResultRequest(params)
2599//
2600//    err := req.Send()
2601//    if err == nil { // resp is now filled
2602//        fmt.Println(resp)
2603//    }
2604//
2605// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutJobFailureResult
2606func (c *CodePipeline) PutJobFailureResultRequest(input *PutJobFailureResultInput) (req *request.Request, output *PutJobFailureResultOutput) {
2607	op := &request.Operation{
2608		Name:       opPutJobFailureResult,
2609		HTTPMethod: "POST",
2610		HTTPPath:   "/",
2611	}
2612
2613	if input == nil {
2614		input = &PutJobFailureResultInput{}
2615	}
2616
2617	output = &PutJobFailureResultOutput{}
2618	req = c.newRequest(op, input, output)
2619	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2620	return
2621}
2622
2623// PutJobFailureResult API operation for AWS CodePipeline.
2624//
2625// Represents the failure of a job as returned to the pipeline by a job worker.
2626// Used for custom actions only.
2627//
2628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2629// with awserr.Error's Code and Message methods to get detailed information about
2630// the error.
2631//
2632// See the AWS API reference guide for AWS CodePipeline's
2633// API operation PutJobFailureResult for usage and error information.
2634//
2635// Returned Error Codes:
2636//   * ErrCodeValidationException "ValidationException"
2637//   The validation was specified in an invalid format.
2638//
2639//   * ErrCodeJobNotFoundException "JobNotFoundException"
2640//   The job was specified in an invalid format or cannot be found.
2641//
2642//   * ErrCodeInvalidJobStateException "InvalidJobStateException"
2643//   The job state was specified in an invalid format.
2644//
2645// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutJobFailureResult
2646func (c *CodePipeline) PutJobFailureResult(input *PutJobFailureResultInput) (*PutJobFailureResultOutput, error) {
2647	req, out := c.PutJobFailureResultRequest(input)
2648	return out, req.Send()
2649}
2650
2651// PutJobFailureResultWithContext is the same as PutJobFailureResult with the addition of
2652// the ability to pass a context and additional request options.
2653//
2654// See PutJobFailureResult for details on how to use this API operation.
2655//
2656// The context must be non-nil and will be used for request cancellation. If
2657// the context is nil a panic will occur. In the future the SDK may create
2658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2659// for more information on using Contexts.
2660func (c *CodePipeline) PutJobFailureResultWithContext(ctx aws.Context, input *PutJobFailureResultInput, opts ...request.Option) (*PutJobFailureResultOutput, error) {
2661	req, out := c.PutJobFailureResultRequest(input)
2662	req.SetContext(ctx)
2663	req.ApplyOptions(opts...)
2664	return out, req.Send()
2665}
2666
2667const opPutJobSuccessResult = "PutJobSuccessResult"
2668
2669// PutJobSuccessResultRequest generates a "aws/request.Request" representing the
2670// client's request for the PutJobSuccessResult operation. The "output" return
2671// value will be populated with the request's response once the request completes
2672// successfully.
2673//
2674// Use "Send" method on the returned Request to send the API call to the service.
2675// the "output" return value is not valid until after Send returns without error.
2676//
2677// See PutJobSuccessResult for more information on using the PutJobSuccessResult
2678// API call, and error handling.
2679//
2680// This method is useful when you want to inject custom logic or configuration
2681// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2682//
2683//
2684//    // Example sending a request using the PutJobSuccessResultRequest method.
2685//    req, resp := client.PutJobSuccessResultRequest(params)
2686//
2687//    err := req.Send()
2688//    if err == nil { // resp is now filled
2689//        fmt.Println(resp)
2690//    }
2691//
2692// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutJobSuccessResult
2693func (c *CodePipeline) PutJobSuccessResultRequest(input *PutJobSuccessResultInput) (req *request.Request, output *PutJobSuccessResultOutput) {
2694	op := &request.Operation{
2695		Name:       opPutJobSuccessResult,
2696		HTTPMethod: "POST",
2697		HTTPPath:   "/",
2698	}
2699
2700	if input == nil {
2701		input = &PutJobSuccessResultInput{}
2702	}
2703
2704	output = &PutJobSuccessResultOutput{}
2705	req = c.newRequest(op, input, output)
2706	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2707	return
2708}
2709
2710// PutJobSuccessResult API operation for AWS CodePipeline.
2711//
2712// Represents the success of a job as returned to the pipeline by a job worker.
2713// Used for custom actions only.
2714//
2715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2716// with awserr.Error's Code and Message methods to get detailed information about
2717// the error.
2718//
2719// See the AWS API reference guide for AWS CodePipeline's
2720// API operation PutJobSuccessResult for usage and error information.
2721//
2722// Returned Error Codes:
2723//   * ErrCodeValidationException "ValidationException"
2724//   The validation was specified in an invalid format.
2725//
2726//   * ErrCodeJobNotFoundException "JobNotFoundException"
2727//   The job was specified in an invalid format or cannot be found.
2728//
2729//   * ErrCodeInvalidJobStateException "InvalidJobStateException"
2730//   The job state was specified in an invalid format.
2731//
2732//   * ErrCodeOutputVariablesSizeExceededException "OutputVariablesSizeExceededException"
2733//   Exceeded the total size limit for all variables in the pipeline.
2734//
2735// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutJobSuccessResult
2736func (c *CodePipeline) PutJobSuccessResult(input *PutJobSuccessResultInput) (*PutJobSuccessResultOutput, error) {
2737	req, out := c.PutJobSuccessResultRequest(input)
2738	return out, req.Send()
2739}
2740
2741// PutJobSuccessResultWithContext is the same as PutJobSuccessResult with the addition of
2742// the ability to pass a context and additional request options.
2743//
2744// See PutJobSuccessResult for details on how to use this API operation.
2745//
2746// The context must be non-nil and will be used for request cancellation. If
2747// the context is nil a panic will occur. In the future the SDK may create
2748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2749// for more information on using Contexts.
2750func (c *CodePipeline) PutJobSuccessResultWithContext(ctx aws.Context, input *PutJobSuccessResultInput, opts ...request.Option) (*PutJobSuccessResultOutput, error) {
2751	req, out := c.PutJobSuccessResultRequest(input)
2752	req.SetContext(ctx)
2753	req.ApplyOptions(opts...)
2754	return out, req.Send()
2755}
2756
2757const opPutThirdPartyJobFailureResult = "PutThirdPartyJobFailureResult"
2758
2759// PutThirdPartyJobFailureResultRequest generates a "aws/request.Request" representing the
2760// client's request for the PutThirdPartyJobFailureResult operation. The "output" return
2761// value will be populated with the request's response once the request completes
2762// successfully.
2763//
2764// Use "Send" method on the returned Request to send the API call to the service.
2765// the "output" return value is not valid until after Send returns without error.
2766//
2767// See PutThirdPartyJobFailureResult for more information on using the PutThirdPartyJobFailureResult
2768// API call, and error handling.
2769//
2770// This method is useful when you want to inject custom logic or configuration
2771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2772//
2773//
2774//    // Example sending a request using the PutThirdPartyJobFailureResultRequest method.
2775//    req, resp := client.PutThirdPartyJobFailureResultRequest(params)
2776//
2777//    err := req.Send()
2778//    if err == nil { // resp is now filled
2779//        fmt.Println(resp)
2780//    }
2781//
2782// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutThirdPartyJobFailureResult
2783func (c *CodePipeline) PutThirdPartyJobFailureResultRequest(input *PutThirdPartyJobFailureResultInput) (req *request.Request, output *PutThirdPartyJobFailureResultOutput) {
2784	op := &request.Operation{
2785		Name:       opPutThirdPartyJobFailureResult,
2786		HTTPMethod: "POST",
2787		HTTPPath:   "/",
2788	}
2789
2790	if input == nil {
2791		input = &PutThirdPartyJobFailureResultInput{}
2792	}
2793
2794	output = &PutThirdPartyJobFailureResultOutput{}
2795	req = c.newRequest(op, input, output)
2796	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2797	return
2798}
2799
2800// PutThirdPartyJobFailureResult API operation for AWS CodePipeline.
2801//
2802// Represents the failure of a third party job as returned to the pipeline by
2803// a job worker. Used for partner actions only.
2804//
2805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2806// with awserr.Error's Code and Message methods to get detailed information about
2807// the error.
2808//
2809// See the AWS API reference guide for AWS CodePipeline's
2810// API operation PutThirdPartyJobFailureResult for usage and error information.
2811//
2812// Returned Error Codes:
2813//   * ErrCodeValidationException "ValidationException"
2814//   The validation was specified in an invalid format.
2815//
2816//   * ErrCodeJobNotFoundException "JobNotFoundException"
2817//   The job was specified in an invalid format or cannot be found.
2818//
2819//   * ErrCodeInvalidJobStateException "InvalidJobStateException"
2820//   The job state was specified in an invalid format.
2821//
2822//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
2823//   The client token was specified in an invalid format
2824//
2825// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutThirdPartyJobFailureResult
2826func (c *CodePipeline) PutThirdPartyJobFailureResult(input *PutThirdPartyJobFailureResultInput) (*PutThirdPartyJobFailureResultOutput, error) {
2827	req, out := c.PutThirdPartyJobFailureResultRequest(input)
2828	return out, req.Send()
2829}
2830
2831// PutThirdPartyJobFailureResultWithContext is the same as PutThirdPartyJobFailureResult with the addition of
2832// the ability to pass a context and additional request options.
2833//
2834// See PutThirdPartyJobFailureResult for details on how to use this API operation.
2835//
2836// The context must be non-nil and will be used for request cancellation. If
2837// the context is nil a panic will occur. In the future the SDK may create
2838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2839// for more information on using Contexts.
2840func (c *CodePipeline) PutThirdPartyJobFailureResultWithContext(ctx aws.Context, input *PutThirdPartyJobFailureResultInput, opts ...request.Option) (*PutThirdPartyJobFailureResultOutput, error) {
2841	req, out := c.PutThirdPartyJobFailureResultRequest(input)
2842	req.SetContext(ctx)
2843	req.ApplyOptions(opts...)
2844	return out, req.Send()
2845}
2846
2847const opPutThirdPartyJobSuccessResult = "PutThirdPartyJobSuccessResult"
2848
2849// PutThirdPartyJobSuccessResultRequest generates a "aws/request.Request" representing the
2850// client's request for the PutThirdPartyJobSuccessResult operation. The "output" return
2851// value will be populated with the request's response once the request completes
2852// successfully.
2853//
2854// Use "Send" method on the returned Request to send the API call to the service.
2855// the "output" return value is not valid until after Send returns without error.
2856//
2857// See PutThirdPartyJobSuccessResult for more information on using the PutThirdPartyJobSuccessResult
2858// API call, and error handling.
2859//
2860// This method is useful when you want to inject custom logic or configuration
2861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2862//
2863//
2864//    // Example sending a request using the PutThirdPartyJobSuccessResultRequest method.
2865//    req, resp := client.PutThirdPartyJobSuccessResultRequest(params)
2866//
2867//    err := req.Send()
2868//    if err == nil { // resp is now filled
2869//        fmt.Println(resp)
2870//    }
2871//
2872// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutThirdPartyJobSuccessResult
2873func (c *CodePipeline) PutThirdPartyJobSuccessResultRequest(input *PutThirdPartyJobSuccessResultInput) (req *request.Request, output *PutThirdPartyJobSuccessResultOutput) {
2874	op := &request.Operation{
2875		Name:       opPutThirdPartyJobSuccessResult,
2876		HTTPMethod: "POST",
2877		HTTPPath:   "/",
2878	}
2879
2880	if input == nil {
2881		input = &PutThirdPartyJobSuccessResultInput{}
2882	}
2883
2884	output = &PutThirdPartyJobSuccessResultOutput{}
2885	req = c.newRequest(op, input, output)
2886	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2887	return
2888}
2889
2890// PutThirdPartyJobSuccessResult API operation for AWS CodePipeline.
2891//
2892// Represents the success of a third party job as returned to the pipeline by
2893// a job worker. Used for partner actions only.
2894//
2895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2896// with awserr.Error's Code and Message methods to get detailed information about
2897// the error.
2898//
2899// See the AWS API reference guide for AWS CodePipeline's
2900// API operation PutThirdPartyJobSuccessResult for usage and error information.
2901//
2902// Returned Error Codes:
2903//   * ErrCodeValidationException "ValidationException"
2904//   The validation was specified in an invalid format.
2905//
2906//   * ErrCodeJobNotFoundException "JobNotFoundException"
2907//   The job was specified in an invalid format or cannot be found.
2908//
2909//   * ErrCodeInvalidJobStateException "InvalidJobStateException"
2910//   The job state was specified in an invalid format.
2911//
2912//   * ErrCodeInvalidClientTokenException "InvalidClientTokenException"
2913//   The client token was specified in an invalid format
2914//
2915// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutThirdPartyJobSuccessResult
2916func (c *CodePipeline) PutThirdPartyJobSuccessResult(input *PutThirdPartyJobSuccessResultInput) (*PutThirdPartyJobSuccessResultOutput, error) {
2917	req, out := c.PutThirdPartyJobSuccessResultRequest(input)
2918	return out, req.Send()
2919}
2920
2921// PutThirdPartyJobSuccessResultWithContext is the same as PutThirdPartyJobSuccessResult with the addition of
2922// the ability to pass a context and additional request options.
2923//
2924// See PutThirdPartyJobSuccessResult for details on how to use this API operation.
2925//
2926// The context must be non-nil and will be used for request cancellation. If
2927// the context is nil a panic will occur. In the future the SDK may create
2928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2929// for more information on using Contexts.
2930func (c *CodePipeline) PutThirdPartyJobSuccessResultWithContext(ctx aws.Context, input *PutThirdPartyJobSuccessResultInput, opts ...request.Option) (*PutThirdPartyJobSuccessResultOutput, error) {
2931	req, out := c.PutThirdPartyJobSuccessResultRequest(input)
2932	req.SetContext(ctx)
2933	req.ApplyOptions(opts...)
2934	return out, req.Send()
2935}
2936
2937const opPutWebhook = "PutWebhook"
2938
2939// PutWebhookRequest generates a "aws/request.Request" representing the
2940// client's request for the PutWebhook operation. The "output" return
2941// value will be populated with the request's response once the request completes
2942// successfully.
2943//
2944// Use "Send" method on the returned Request to send the API call to the service.
2945// the "output" return value is not valid until after Send returns without error.
2946//
2947// See PutWebhook for more information on using the PutWebhook
2948// API call, and error handling.
2949//
2950// This method is useful when you want to inject custom logic or configuration
2951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2952//
2953//
2954//    // Example sending a request using the PutWebhookRequest method.
2955//    req, resp := client.PutWebhookRequest(params)
2956//
2957//    err := req.Send()
2958//    if err == nil { // resp is now filled
2959//        fmt.Println(resp)
2960//    }
2961//
2962// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutWebhook
2963func (c *CodePipeline) PutWebhookRequest(input *PutWebhookInput) (req *request.Request, output *PutWebhookOutput) {
2964	op := &request.Operation{
2965		Name:       opPutWebhook,
2966		HTTPMethod: "POST",
2967		HTTPPath:   "/",
2968	}
2969
2970	if input == nil {
2971		input = &PutWebhookInput{}
2972	}
2973
2974	output = &PutWebhookOutput{}
2975	req = c.newRequest(op, input, output)
2976	return
2977}
2978
2979// PutWebhook API operation for AWS CodePipeline.
2980//
2981// Defines a webhook and returns a unique webhook URL generated by CodePipeline.
2982// This URL can be supplied to third party source hosting providers to call
2983// every time there's a code change. When CodePipeline receives a POST request
2984// on this URL, the pipeline defined in the webhook is started as long as the
2985// POST request satisfied the authentication and filtering requirements supplied
2986// when defining the webhook. RegisterWebhookWithThirdParty and DeregisterWebhookWithThirdParty
2987// APIs can be used to automatically configure supported third parties to call
2988// the generated webhook URL.
2989//
2990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2991// with awserr.Error's Code and Message methods to get detailed information about
2992// the error.
2993//
2994// See the AWS API reference guide for AWS CodePipeline's
2995// API operation PutWebhook for usage and error information.
2996//
2997// Returned Error Codes:
2998//   * ErrCodeValidationException "ValidationException"
2999//   The validation was specified in an invalid format.
3000//
3001//   * ErrCodeLimitExceededException "LimitExceededException"
3002//   The number of pipelines associated with the AWS account has exceeded the
3003//   limit allowed for the account.
3004//
3005//   * ErrCodeInvalidWebhookFilterPatternException "InvalidWebhookFilterPatternException"
3006//   The specified event filter rule is in an invalid format.
3007//
3008//   * ErrCodeInvalidWebhookAuthenticationParametersException "InvalidWebhookAuthenticationParametersException"
3009//   The specified authentication type is in an invalid format.
3010//
3011//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
3012//   The pipeline was specified in an invalid format or cannot be found.
3013//
3014//   * ErrCodeTooManyTagsException "TooManyTagsException"
3015//   The tags limit for a resource has been exceeded.
3016//
3017//   * ErrCodeInvalidTagsException "InvalidTagsException"
3018//   The specified resource tags are invalid.
3019//
3020//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3021//   Unable to modify the tag due to a simultaneous update request.
3022//
3023// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutWebhook
3024func (c *CodePipeline) PutWebhook(input *PutWebhookInput) (*PutWebhookOutput, error) {
3025	req, out := c.PutWebhookRequest(input)
3026	return out, req.Send()
3027}
3028
3029// PutWebhookWithContext is the same as PutWebhook with the addition of
3030// the ability to pass a context and additional request options.
3031//
3032// See PutWebhook for details on how to use this API operation.
3033//
3034// The context must be non-nil and will be used for request cancellation. If
3035// the context is nil a panic will occur. In the future the SDK may create
3036// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3037// for more information on using Contexts.
3038func (c *CodePipeline) PutWebhookWithContext(ctx aws.Context, input *PutWebhookInput, opts ...request.Option) (*PutWebhookOutput, error) {
3039	req, out := c.PutWebhookRequest(input)
3040	req.SetContext(ctx)
3041	req.ApplyOptions(opts...)
3042	return out, req.Send()
3043}
3044
3045const opRegisterWebhookWithThirdParty = "RegisterWebhookWithThirdParty"
3046
3047// RegisterWebhookWithThirdPartyRequest generates a "aws/request.Request" representing the
3048// client's request for the RegisterWebhookWithThirdParty operation. The "output" return
3049// value will be populated with the request's response once the request completes
3050// successfully.
3051//
3052// Use "Send" method on the returned Request to send the API call to the service.
3053// the "output" return value is not valid until after Send returns without error.
3054//
3055// See RegisterWebhookWithThirdParty for more information on using the RegisterWebhookWithThirdParty
3056// API call, and error handling.
3057//
3058// This method is useful when you want to inject custom logic or configuration
3059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3060//
3061//
3062//    // Example sending a request using the RegisterWebhookWithThirdPartyRequest method.
3063//    req, resp := client.RegisterWebhookWithThirdPartyRequest(params)
3064//
3065//    err := req.Send()
3066//    if err == nil { // resp is now filled
3067//        fmt.Println(resp)
3068//    }
3069//
3070// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/RegisterWebhookWithThirdParty
3071func (c *CodePipeline) RegisterWebhookWithThirdPartyRequest(input *RegisterWebhookWithThirdPartyInput) (req *request.Request, output *RegisterWebhookWithThirdPartyOutput) {
3072	op := &request.Operation{
3073		Name:       opRegisterWebhookWithThirdParty,
3074		HTTPMethod: "POST",
3075		HTTPPath:   "/",
3076	}
3077
3078	if input == nil {
3079		input = &RegisterWebhookWithThirdPartyInput{}
3080	}
3081
3082	output = &RegisterWebhookWithThirdPartyOutput{}
3083	req = c.newRequest(op, input, output)
3084	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3085	return
3086}
3087
3088// RegisterWebhookWithThirdParty API operation for AWS CodePipeline.
3089//
3090// Configures a connection between the webhook that was created and the external
3091// tool with events to be detected.
3092//
3093// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3094// with awserr.Error's Code and Message methods to get detailed information about
3095// the error.
3096//
3097// See the AWS API reference guide for AWS CodePipeline's
3098// API operation RegisterWebhookWithThirdParty for usage and error information.
3099//
3100// Returned Error Codes:
3101//   * ErrCodeValidationException "ValidationException"
3102//   The validation was specified in an invalid format.
3103//
3104//   * ErrCodeWebhookNotFoundException "WebhookNotFoundException"
3105//   The specified webhook was entered in an invalid format or cannot be found.
3106//
3107// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/RegisterWebhookWithThirdParty
3108func (c *CodePipeline) RegisterWebhookWithThirdParty(input *RegisterWebhookWithThirdPartyInput) (*RegisterWebhookWithThirdPartyOutput, error) {
3109	req, out := c.RegisterWebhookWithThirdPartyRequest(input)
3110	return out, req.Send()
3111}
3112
3113// RegisterWebhookWithThirdPartyWithContext is the same as RegisterWebhookWithThirdParty with the addition of
3114// the ability to pass a context and additional request options.
3115//
3116// See RegisterWebhookWithThirdParty for details on how to use this API operation.
3117//
3118// The context must be non-nil and will be used for request cancellation. If
3119// the context is nil a panic will occur. In the future the SDK may create
3120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3121// for more information on using Contexts.
3122func (c *CodePipeline) RegisterWebhookWithThirdPartyWithContext(ctx aws.Context, input *RegisterWebhookWithThirdPartyInput, opts ...request.Option) (*RegisterWebhookWithThirdPartyOutput, error) {
3123	req, out := c.RegisterWebhookWithThirdPartyRequest(input)
3124	req.SetContext(ctx)
3125	req.ApplyOptions(opts...)
3126	return out, req.Send()
3127}
3128
3129const opRetryStageExecution = "RetryStageExecution"
3130
3131// RetryStageExecutionRequest generates a "aws/request.Request" representing the
3132// client's request for the RetryStageExecution operation. The "output" return
3133// value will be populated with the request's response once the request completes
3134// successfully.
3135//
3136// Use "Send" method on the returned Request to send the API call to the service.
3137// the "output" return value is not valid until after Send returns without error.
3138//
3139// See RetryStageExecution for more information on using the RetryStageExecution
3140// API call, and error handling.
3141//
3142// This method is useful when you want to inject custom logic or configuration
3143// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3144//
3145//
3146//    // Example sending a request using the RetryStageExecutionRequest method.
3147//    req, resp := client.RetryStageExecutionRequest(params)
3148//
3149//    err := req.Send()
3150//    if err == nil { // resp is now filled
3151//        fmt.Println(resp)
3152//    }
3153//
3154// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/RetryStageExecution
3155func (c *CodePipeline) RetryStageExecutionRequest(input *RetryStageExecutionInput) (req *request.Request, output *RetryStageExecutionOutput) {
3156	op := &request.Operation{
3157		Name:       opRetryStageExecution,
3158		HTTPMethod: "POST",
3159		HTTPPath:   "/",
3160	}
3161
3162	if input == nil {
3163		input = &RetryStageExecutionInput{}
3164	}
3165
3166	output = &RetryStageExecutionOutput{}
3167	req = c.newRequest(op, input, output)
3168	return
3169}
3170
3171// RetryStageExecution API operation for AWS CodePipeline.
3172//
3173// Resumes the pipeline execution by retrying the last failed actions in a stage.
3174// You can retry a stage immediately if any of the actions in the stage fail.
3175// When you retry, all actions that are still in progress continue working,
3176// and failed actions are triggered again.
3177//
3178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3179// with awserr.Error's Code and Message methods to get detailed information about
3180// the error.
3181//
3182// See the AWS API reference guide for AWS CodePipeline's
3183// API operation RetryStageExecution for usage and error information.
3184//
3185// Returned Error Codes:
3186//   * ErrCodeValidationException "ValidationException"
3187//   The validation was specified in an invalid format.
3188//
3189//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
3190//   The pipeline was specified in an invalid format or cannot be found.
3191//
3192//   * ErrCodeStageNotFoundException "StageNotFoundException"
3193//   The stage was specified in an invalid format or cannot be found.
3194//
3195//   * ErrCodeStageNotRetryableException "StageNotRetryableException"
3196//   Unable to retry. The pipeline structure or stage state might have changed
3197//   while actions awaited retry, or the stage contains no failed actions.
3198//
3199//   * ErrCodeNotLatestPipelineExecutionException "NotLatestPipelineExecutionException"
3200//   The stage has failed in a later run of the pipeline and the pipelineExecutionId
3201//   associated with the request is out of date.
3202//
3203// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/RetryStageExecution
3204func (c *CodePipeline) RetryStageExecution(input *RetryStageExecutionInput) (*RetryStageExecutionOutput, error) {
3205	req, out := c.RetryStageExecutionRequest(input)
3206	return out, req.Send()
3207}
3208
3209// RetryStageExecutionWithContext is the same as RetryStageExecution with the addition of
3210// the ability to pass a context and additional request options.
3211//
3212// See RetryStageExecution for details on how to use this API operation.
3213//
3214// The context must be non-nil and will be used for request cancellation. If
3215// the context is nil a panic will occur. In the future the SDK may create
3216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3217// for more information on using Contexts.
3218func (c *CodePipeline) RetryStageExecutionWithContext(ctx aws.Context, input *RetryStageExecutionInput, opts ...request.Option) (*RetryStageExecutionOutput, error) {
3219	req, out := c.RetryStageExecutionRequest(input)
3220	req.SetContext(ctx)
3221	req.ApplyOptions(opts...)
3222	return out, req.Send()
3223}
3224
3225const opStartPipelineExecution = "StartPipelineExecution"
3226
3227// StartPipelineExecutionRequest generates a "aws/request.Request" representing the
3228// client's request for the StartPipelineExecution operation. The "output" return
3229// value will be populated with the request's response once the request completes
3230// successfully.
3231//
3232// Use "Send" method on the returned Request to send the API call to the service.
3233// the "output" return value is not valid until after Send returns without error.
3234//
3235// See StartPipelineExecution for more information on using the StartPipelineExecution
3236// API call, and error handling.
3237//
3238// This method is useful when you want to inject custom logic or configuration
3239// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3240//
3241//
3242//    // Example sending a request using the StartPipelineExecutionRequest method.
3243//    req, resp := client.StartPipelineExecutionRequest(params)
3244//
3245//    err := req.Send()
3246//    if err == nil { // resp is now filled
3247//        fmt.Println(resp)
3248//    }
3249//
3250// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/StartPipelineExecution
3251func (c *CodePipeline) StartPipelineExecutionRequest(input *StartPipelineExecutionInput) (req *request.Request, output *StartPipelineExecutionOutput) {
3252	op := &request.Operation{
3253		Name:       opStartPipelineExecution,
3254		HTTPMethod: "POST",
3255		HTTPPath:   "/",
3256	}
3257
3258	if input == nil {
3259		input = &StartPipelineExecutionInput{}
3260	}
3261
3262	output = &StartPipelineExecutionOutput{}
3263	req = c.newRequest(op, input, output)
3264	return
3265}
3266
3267// StartPipelineExecution API operation for AWS CodePipeline.
3268//
3269// Starts the specified pipeline. Specifically, it begins processing the latest
3270// commit to the source location specified as part of the pipeline.
3271//
3272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3273// with awserr.Error's Code and Message methods to get detailed information about
3274// the error.
3275//
3276// See the AWS API reference guide for AWS CodePipeline's
3277// API operation StartPipelineExecution for usage and error information.
3278//
3279// Returned Error Codes:
3280//   * ErrCodeValidationException "ValidationException"
3281//   The validation was specified in an invalid format.
3282//
3283//   * ErrCodePipelineNotFoundException "PipelineNotFoundException"
3284//   The pipeline was specified in an invalid format or cannot be found.
3285//
3286// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/StartPipelineExecution
3287func (c *CodePipeline) StartPipelineExecution(input *StartPipelineExecutionInput) (*StartPipelineExecutionOutput, error) {
3288	req, out := c.StartPipelineExecutionRequest(input)
3289	return out, req.Send()
3290}
3291
3292// StartPipelineExecutionWithContext is the same as StartPipelineExecution with the addition of
3293// the ability to pass a context and additional request options.
3294//
3295// See StartPipelineExecution for details on how to use this API operation.
3296//
3297// The context must be non-nil and will be used for request cancellation. If
3298// the context is nil a panic will occur. In the future the SDK may create
3299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3300// for more information on using Contexts.
3301func (c *CodePipeline) StartPipelineExecutionWithContext(ctx aws.Context, input *StartPipelineExecutionInput, opts ...request.Option) (*StartPipelineExecutionOutput, error) {
3302	req, out := c.StartPipelineExecutionRequest(input)
3303	req.SetContext(ctx)
3304	req.ApplyOptions(opts...)
3305	return out, req.Send()
3306}
3307
3308const opTagResource = "TagResource"
3309
3310// TagResourceRequest generates a "aws/request.Request" representing the
3311// client's request for the TagResource operation. The "output" return
3312// value will be populated with the request's response once the request completes
3313// successfully.
3314//
3315// Use "Send" method on the returned Request to send the API call to the service.
3316// the "output" return value is not valid until after Send returns without error.
3317//
3318// See TagResource for more information on using the TagResource
3319// API call, and error handling.
3320//
3321// This method is useful when you want to inject custom logic or configuration
3322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3323//
3324//
3325//    // Example sending a request using the TagResourceRequest method.
3326//    req, resp := client.TagResourceRequest(params)
3327//
3328//    err := req.Send()
3329//    if err == nil { // resp is now filled
3330//        fmt.Println(resp)
3331//    }
3332//
3333// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/TagResource
3334func (c *CodePipeline) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3335	op := &request.Operation{
3336		Name:       opTagResource,
3337		HTTPMethod: "POST",
3338		HTTPPath:   "/",
3339	}
3340
3341	if input == nil {
3342		input = &TagResourceInput{}
3343	}
3344
3345	output = &TagResourceOutput{}
3346	req = c.newRequest(op, input, output)
3347	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3348	return
3349}
3350
3351// TagResource API operation for AWS CodePipeline.
3352//
3353// Adds to or modifies the tags of the given resource. Tags are metadata that
3354// can be used to manage a resource.
3355//
3356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3357// with awserr.Error's Code and Message methods to get detailed information about
3358// the error.
3359//
3360// See the AWS API reference guide for AWS CodePipeline's
3361// API operation TagResource for usage and error information.
3362//
3363// Returned Error Codes:
3364//   * ErrCodeValidationException "ValidationException"
3365//   The validation was specified in an invalid format.
3366//
3367//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3368//   The resource was specified in an invalid format.
3369//
3370//   * ErrCodeInvalidArnException "InvalidArnException"
3371//   The specified resource ARN is invalid.
3372//
3373//   * ErrCodeTooManyTagsException "TooManyTagsException"
3374//   The tags limit for a resource has been exceeded.
3375//
3376//   * ErrCodeInvalidTagsException "InvalidTagsException"
3377//   The specified resource tags are invalid.
3378//
3379//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3380//   Unable to modify the tag due to a simultaneous update request.
3381//
3382// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/TagResource
3383func (c *CodePipeline) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3384	req, out := c.TagResourceRequest(input)
3385	return out, req.Send()
3386}
3387
3388// TagResourceWithContext is the same as TagResource with the addition of
3389// the ability to pass a context and additional request options.
3390//
3391// See TagResource for details on how to use this API operation.
3392//
3393// The context must be non-nil and will be used for request cancellation. If
3394// the context is nil a panic will occur. In the future the SDK may create
3395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3396// for more information on using Contexts.
3397func (c *CodePipeline) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3398	req, out := c.TagResourceRequest(input)
3399	req.SetContext(ctx)
3400	req.ApplyOptions(opts...)
3401	return out, req.Send()
3402}
3403
3404const opUntagResource = "UntagResource"
3405
3406// UntagResourceRequest generates a "aws/request.Request" representing the
3407// client's request for the UntagResource operation. The "output" return
3408// value will be populated with the request's response once the request completes
3409// successfully.
3410//
3411// Use "Send" method on the returned Request to send the API call to the service.
3412// the "output" return value is not valid until after Send returns without error.
3413//
3414// See UntagResource for more information on using the UntagResource
3415// API call, and error handling.
3416//
3417// This method is useful when you want to inject custom logic or configuration
3418// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3419//
3420//
3421//    // Example sending a request using the UntagResourceRequest method.
3422//    req, resp := client.UntagResourceRequest(params)
3423//
3424//    err := req.Send()
3425//    if err == nil { // resp is now filled
3426//        fmt.Println(resp)
3427//    }
3428//
3429// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UntagResource
3430func (c *CodePipeline) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3431	op := &request.Operation{
3432		Name:       opUntagResource,
3433		HTTPMethod: "POST",
3434		HTTPPath:   "/",
3435	}
3436
3437	if input == nil {
3438		input = &UntagResourceInput{}
3439	}
3440
3441	output = &UntagResourceOutput{}
3442	req = c.newRequest(op, input, output)
3443	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3444	return
3445}
3446
3447// UntagResource API operation for AWS CodePipeline.
3448//
3449// Removes tags from an AWS resource.
3450//
3451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3452// with awserr.Error's Code and Message methods to get detailed information about
3453// the error.
3454//
3455// See the AWS API reference guide for AWS CodePipeline's
3456// API operation UntagResource for usage and error information.
3457//
3458// Returned Error Codes:
3459//   * ErrCodeValidationException "ValidationException"
3460//   The validation was specified in an invalid format.
3461//
3462//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3463//   The resource was specified in an invalid format.
3464//
3465//   * ErrCodeInvalidArnException "InvalidArnException"
3466//   The specified resource ARN is invalid.
3467//
3468//   * ErrCodeInvalidTagsException "InvalidTagsException"
3469//   The specified resource tags are invalid.
3470//
3471//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3472//   Unable to modify the tag due to a simultaneous update request.
3473//
3474// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UntagResource
3475func (c *CodePipeline) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3476	req, out := c.UntagResourceRequest(input)
3477	return out, req.Send()
3478}
3479
3480// UntagResourceWithContext is the same as UntagResource with the addition of
3481// the ability to pass a context and additional request options.
3482//
3483// See UntagResource for details on how to use this API operation.
3484//
3485// The context must be non-nil and will be used for request cancellation. If
3486// the context is nil a panic will occur. In the future the SDK may create
3487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3488// for more information on using Contexts.
3489func (c *CodePipeline) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3490	req, out := c.UntagResourceRequest(input)
3491	req.SetContext(ctx)
3492	req.ApplyOptions(opts...)
3493	return out, req.Send()
3494}
3495
3496const opUpdatePipeline = "UpdatePipeline"
3497
3498// UpdatePipelineRequest generates a "aws/request.Request" representing the
3499// client's request for the UpdatePipeline operation. The "output" return
3500// value will be populated with the request's response once the request completes
3501// successfully.
3502//
3503// Use "Send" method on the returned Request to send the API call to the service.
3504// the "output" return value is not valid until after Send returns without error.
3505//
3506// See UpdatePipeline for more information on using the UpdatePipeline
3507// API call, and error handling.
3508//
3509// This method is useful when you want to inject custom logic or configuration
3510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3511//
3512//
3513//    // Example sending a request using the UpdatePipelineRequest method.
3514//    req, resp := client.UpdatePipelineRequest(params)
3515//
3516//    err := req.Send()
3517//    if err == nil { // resp is now filled
3518//        fmt.Println(resp)
3519//    }
3520//
3521// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UpdatePipeline
3522func (c *CodePipeline) UpdatePipelineRequest(input *UpdatePipelineInput) (req *request.Request, output *UpdatePipelineOutput) {
3523	op := &request.Operation{
3524		Name:       opUpdatePipeline,
3525		HTTPMethod: "POST",
3526		HTTPPath:   "/",
3527	}
3528
3529	if input == nil {
3530		input = &UpdatePipelineInput{}
3531	}
3532
3533	output = &UpdatePipelineOutput{}
3534	req = c.newRequest(op, input, output)
3535	return
3536}
3537
3538// UpdatePipeline API operation for AWS CodePipeline.
3539//
3540// Updates a specified pipeline with edits or changes to its structure. Use
3541// a JSON file with the pipeline structure and UpdatePipeline to provide the
3542// full structure of the pipeline. Updating the pipeline increases the version
3543// number of the pipeline by 1.
3544//
3545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3546// with awserr.Error's Code and Message methods to get detailed information about
3547// the error.
3548//
3549// See the AWS API reference guide for AWS CodePipeline's
3550// API operation UpdatePipeline for usage and error information.
3551//
3552// Returned Error Codes:
3553//   * ErrCodeValidationException "ValidationException"
3554//   The validation was specified in an invalid format.
3555//
3556//   * ErrCodeInvalidStageDeclarationException "InvalidStageDeclarationException"
3557//   The stage declaration was specified in an invalid format.
3558//
3559//   * ErrCodeInvalidActionDeclarationException "InvalidActionDeclarationException"
3560//   The action declaration was specified in an invalid format.
3561//
3562//   * ErrCodeInvalidBlockerDeclarationException "InvalidBlockerDeclarationException"
3563//   Reserved for future use.
3564//
3565//   * ErrCodeInvalidStructureException "InvalidStructureException"
3566//   The structure was specified in an invalid format.
3567//
3568//   * ErrCodeLimitExceededException "LimitExceededException"
3569//   The number of pipelines associated with the AWS account has exceeded the
3570//   limit allowed for the account.
3571//
3572// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UpdatePipeline
3573func (c *CodePipeline) UpdatePipeline(input *UpdatePipelineInput) (*UpdatePipelineOutput, error) {
3574	req, out := c.UpdatePipelineRequest(input)
3575	return out, req.Send()
3576}
3577
3578// UpdatePipelineWithContext is the same as UpdatePipeline with the addition of
3579// the ability to pass a context and additional request options.
3580//
3581// See UpdatePipeline for details on how to use this API operation.
3582//
3583// The context must be non-nil and will be used for request cancellation. If
3584// the context is nil a panic will occur. In the future the SDK may create
3585// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3586// for more information on using Contexts.
3587func (c *CodePipeline) UpdatePipelineWithContext(ctx aws.Context, input *UpdatePipelineInput, opts ...request.Option) (*UpdatePipelineOutput, error) {
3588	req, out := c.UpdatePipelineRequest(input)
3589	req.SetContext(ctx)
3590	req.ApplyOptions(opts...)
3591	return out, req.Send()
3592}
3593
3594// Represents an AWS session credentials object. These credentials are temporary
3595// credentials that are issued by AWS Secure Token Service (STS). They can be
3596// used to access input and output artifacts in the Amazon S3 bucket used to
3597// store artifact for the pipeline in AWS CodePipeline.
3598type AWSSessionCredentials struct {
3599	_ struct{} `type:"structure" sensitive:"true"`
3600
3601	// The access key for the session.
3602	//
3603	// AccessKeyId is a required field
3604	AccessKeyId *string `locationName:"accessKeyId" type:"string" required:"true"`
3605
3606	// The secret access key for the session.
3607	//
3608	// SecretAccessKey is a required field
3609	SecretAccessKey *string `locationName:"secretAccessKey" type:"string" required:"true"`
3610
3611	// The token for the session.
3612	//
3613	// SessionToken is a required field
3614	SessionToken *string `locationName:"sessionToken" type:"string" required:"true"`
3615}
3616
3617// String returns the string representation
3618func (s AWSSessionCredentials) String() string {
3619	return awsutil.Prettify(s)
3620}
3621
3622// GoString returns the string representation
3623func (s AWSSessionCredentials) GoString() string {
3624	return s.String()
3625}
3626
3627// SetAccessKeyId sets the AccessKeyId field's value.
3628func (s *AWSSessionCredentials) SetAccessKeyId(v string) *AWSSessionCredentials {
3629	s.AccessKeyId = &v
3630	return s
3631}
3632
3633// SetSecretAccessKey sets the SecretAccessKey field's value.
3634func (s *AWSSessionCredentials) SetSecretAccessKey(v string) *AWSSessionCredentials {
3635	s.SecretAccessKey = &v
3636	return s
3637}
3638
3639// SetSessionToken sets the SessionToken field's value.
3640func (s *AWSSessionCredentials) SetSessionToken(v string) *AWSSessionCredentials {
3641	s.SessionToken = &v
3642	return s
3643}
3644
3645// Represents the input of an AcknowledgeJob action.
3646type AcknowledgeJobInput struct {
3647	_ struct{} `type:"structure"`
3648
3649	// The unique system-generated ID of the job for which you want to confirm receipt.
3650	//
3651	// JobId is a required field
3652	JobId *string `locationName:"jobId" type:"string" required:"true"`
3653
3654	// A system-generated random number that AWS CodePipeline uses to ensure that
3655	// the job is being worked on by only one job worker. Get this number from the
3656	// response of the PollForJobs request that returned this job.
3657	//
3658	// Nonce is a required field
3659	Nonce *string `locationName:"nonce" min:"1" type:"string" required:"true"`
3660}
3661
3662// String returns the string representation
3663func (s AcknowledgeJobInput) String() string {
3664	return awsutil.Prettify(s)
3665}
3666
3667// GoString returns the string representation
3668func (s AcknowledgeJobInput) GoString() string {
3669	return s.String()
3670}
3671
3672// Validate inspects the fields of the type to determine if they are valid.
3673func (s *AcknowledgeJobInput) Validate() error {
3674	invalidParams := request.ErrInvalidParams{Context: "AcknowledgeJobInput"}
3675	if s.JobId == nil {
3676		invalidParams.Add(request.NewErrParamRequired("JobId"))
3677	}
3678	if s.Nonce == nil {
3679		invalidParams.Add(request.NewErrParamRequired("Nonce"))
3680	}
3681	if s.Nonce != nil && len(*s.Nonce) < 1 {
3682		invalidParams.Add(request.NewErrParamMinLen("Nonce", 1))
3683	}
3684
3685	if invalidParams.Len() > 0 {
3686		return invalidParams
3687	}
3688	return nil
3689}
3690
3691// SetJobId sets the JobId field's value.
3692func (s *AcknowledgeJobInput) SetJobId(v string) *AcknowledgeJobInput {
3693	s.JobId = &v
3694	return s
3695}
3696
3697// SetNonce sets the Nonce field's value.
3698func (s *AcknowledgeJobInput) SetNonce(v string) *AcknowledgeJobInput {
3699	s.Nonce = &v
3700	return s
3701}
3702
3703// Represents the output of an AcknowledgeJob action.
3704type AcknowledgeJobOutput struct {
3705	_ struct{} `type:"structure"`
3706
3707	// Whether the job worker has received the specified job.
3708	Status *string `locationName:"status" type:"string" enum:"JobStatus"`
3709}
3710
3711// String returns the string representation
3712func (s AcknowledgeJobOutput) String() string {
3713	return awsutil.Prettify(s)
3714}
3715
3716// GoString returns the string representation
3717func (s AcknowledgeJobOutput) GoString() string {
3718	return s.String()
3719}
3720
3721// SetStatus sets the Status field's value.
3722func (s *AcknowledgeJobOutput) SetStatus(v string) *AcknowledgeJobOutput {
3723	s.Status = &v
3724	return s
3725}
3726
3727// Represents the input of an AcknowledgeThirdPartyJob action.
3728type AcknowledgeThirdPartyJobInput struct {
3729	_ struct{} `type:"structure"`
3730
3731	// The clientToken portion of the clientId and clientToken pair used to verify
3732	// that the calling entity is allowed access to the job and its details.
3733	//
3734	// ClientToken is a required field
3735	ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"`
3736
3737	// The unique system-generated ID of the job.
3738	//
3739	// JobId is a required field
3740	JobId *string `locationName:"jobId" min:"1" type:"string" required:"true"`
3741
3742	// A system-generated random number that AWS CodePipeline uses to ensure that
3743	// the job is being worked on by only one job worker. Get this number from the
3744	// response to a GetThirdPartyJobDetails request.
3745	//
3746	// Nonce is a required field
3747	Nonce *string `locationName:"nonce" min:"1" type:"string" required:"true"`
3748}
3749
3750// String returns the string representation
3751func (s AcknowledgeThirdPartyJobInput) String() string {
3752	return awsutil.Prettify(s)
3753}
3754
3755// GoString returns the string representation
3756func (s AcknowledgeThirdPartyJobInput) GoString() string {
3757	return s.String()
3758}
3759
3760// Validate inspects the fields of the type to determine if they are valid.
3761func (s *AcknowledgeThirdPartyJobInput) Validate() error {
3762	invalidParams := request.ErrInvalidParams{Context: "AcknowledgeThirdPartyJobInput"}
3763	if s.ClientToken == nil {
3764		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
3765	}
3766	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
3767		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
3768	}
3769	if s.JobId == nil {
3770		invalidParams.Add(request.NewErrParamRequired("JobId"))
3771	}
3772	if s.JobId != nil && len(*s.JobId) < 1 {
3773		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
3774	}
3775	if s.Nonce == nil {
3776		invalidParams.Add(request.NewErrParamRequired("Nonce"))
3777	}
3778	if s.Nonce != nil && len(*s.Nonce) < 1 {
3779		invalidParams.Add(request.NewErrParamMinLen("Nonce", 1))
3780	}
3781
3782	if invalidParams.Len() > 0 {
3783		return invalidParams
3784	}
3785	return nil
3786}
3787
3788// SetClientToken sets the ClientToken field's value.
3789func (s *AcknowledgeThirdPartyJobInput) SetClientToken(v string) *AcknowledgeThirdPartyJobInput {
3790	s.ClientToken = &v
3791	return s
3792}
3793
3794// SetJobId sets the JobId field's value.
3795func (s *AcknowledgeThirdPartyJobInput) SetJobId(v string) *AcknowledgeThirdPartyJobInput {
3796	s.JobId = &v
3797	return s
3798}
3799
3800// SetNonce sets the Nonce field's value.
3801func (s *AcknowledgeThirdPartyJobInput) SetNonce(v string) *AcknowledgeThirdPartyJobInput {
3802	s.Nonce = &v
3803	return s
3804}
3805
3806// Represents the output of an AcknowledgeThirdPartyJob action.
3807type AcknowledgeThirdPartyJobOutput struct {
3808	_ struct{} `type:"structure"`
3809
3810	// The status information for the third party job, if any.
3811	Status *string `locationName:"status" type:"string" enum:"JobStatus"`
3812}
3813
3814// String returns the string representation
3815func (s AcknowledgeThirdPartyJobOutput) String() string {
3816	return awsutil.Prettify(s)
3817}
3818
3819// GoString returns the string representation
3820func (s AcknowledgeThirdPartyJobOutput) GoString() string {
3821	return s.String()
3822}
3823
3824// SetStatus sets the Status field's value.
3825func (s *AcknowledgeThirdPartyJobOutput) SetStatus(v string) *AcknowledgeThirdPartyJobOutput {
3826	s.Status = &v
3827	return s
3828}
3829
3830// Represents information about an action configuration.
3831type ActionConfiguration struct {
3832	_ struct{} `type:"structure"`
3833
3834	// The configuration data for the action.
3835	Configuration map[string]*string `locationName:"configuration" type:"map"`
3836}
3837
3838// String returns the string representation
3839func (s ActionConfiguration) String() string {
3840	return awsutil.Prettify(s)
3841}
3842
3843// GoString returns the string representation
3844func (s ActionConfiguration) GoString() string {
3845	return s.String()
3846}
3847
3848// SetConfiguration sets the Configuration field's value.
3849func (s *ActionConfiguration) SetConfiguration(v map[string]*string) *ActionConfiguration {
3850	s.Configuration = v
3851	return s
3852}
3853
3854// Represents information about an action configuration property.
3855type ActionConfigurationProperty struct {
3856	_ struct{} `type:"structure"`
3857
3858	// The description of the action configuration property that is displayed to
3859	// users.
3860	Description *string `locationName:"description" min:"1" type:"string"`
3861
3862	// Whether the configuration property is a key.
3863	//
3864	// Key is a required field
3865	Key *bool `locationName:"key" type:"boolean" required:"true"`
3866
3867	// The name of the action configuration property.
3868	//
3869	// Name is a required field
3870	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
3871
3872	// Indicates that the property is used with PollForJobs. When creating a custom
3873	// action, an action can have up to one queryable property. If it has one, that
3874	// property must be both required and not secret.
3875	//
3876	// If you create a pipeline with a custom action type, and that custom action
3877	// contains a queryable property, the value for that configuration property
3878	// is subject to other restrictions. The value must be less than or equal to
3879	// twenty (20) characters. The value can contain only alphanumeric characters,
3880	// underscores, and hyphens.
3881	Queryable *bool `locationName:"queryable" type:"boolean"`
3882
3883	// Whether the configuration property is a required value.
3884	//
3885	// Required is a required field
3886	Required *bool `locationName:"required" type:"boolean" required:"true"`
3887
3888	// Whether the configuration property is secret. Secrets are hidden from all
3889	// calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and
3890	// PollForThirdPartyJobs.
3891	//
3892	// When updating a pipeline, passing * * * * * without changing any other values
3893	// of the action preserves the previous value of the secret.
3894	//
3895	// Secret is a required field
3896	Secret *bool `locationName:"secret" type:"boolean" required:"true"`
3897
3898	// The type of the configuration property.
3899	Type *string `locationName:"type" type:"string" enum:"ActionConfigurationPropertyType"`
3900}
3901
3902// String returns the string representation
3903func (s ActionConfigurationProperty) String() string {
3904	return awsutil.Prettify(s)
3905}
3906
3907// GoString returns the string representation
3908func (s ActionConfigurationProperty) GoString() string {
3909	return s.String()
3910}
3911
3912// Validate inspects the fields of the type to determine if they are valid.
3913func (s *ActionConfigurationProperty) Validate() error {
3914	invalidParams := request.ErrInvalidParams{Context: "ActionConfigurationProperty"}
3915	if s.Description != nil && len(*s.Description) < 1 {
3916		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
3917	}
3918	if s.Key == nil {
3919		invalidParams.Add(request.NewErrParamRequired("Key"))
3920	}
3921	if s.Name == nil {
3922		invalidParams.Add(request.NewErrParamRequired("Name"))
3923	}
3924	if s.Name != nil && len(*s.Name) < 1 {
3925		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3926	}
3927	if s.Required == nil {
3928		invalidParams.Add(request.NewErrParamRequired("Required"))
3929	}
3930	if s.Secret == nil {
3931		invalidParams.Add(request.NewErrParamRequired("Secret"))
3932	}
3933
3934	if invalidParams.Len() > 0 {
3935		return invalidParams
3936	}
3937	return nil
3938}
3939
3940// SetDescription sets the Description field's value.
3941func (s *ActionConfigurationProperty) SetDescription(v string) *ActionConfigurationProperty {
3942	s.Description = &v
3943	return s
3944}
3945
3946// SetKey sets the Key field's value.
3947func (s *ActionConfigurationProperty) SetKey(v bool) *ActionConfigurationProperty {
3948	s.Key = &v
3949	return s
3950}
3951
3952// SetName sets the Name field's value.
3953func (s *ActionConfigurationProperty) SetName(v string) *ActionConfigurationProperty {
3954	s.Name = &v
3955	return s
3956}
3957
3958// SetQueryable sets the Queryable field's value.
3959func (s *ActionConfigurationProperty) SetQueryable(v bool) *ActionConfigurationProperty {
3960	s.Queryable = &v
3961	return s
3962}
3963
3964// SetRequired sets the Required field's value.
3965func (s *ActionConfigurationProperty) SetRequired(v bool) *ActionConfigurationProperty {
3966	s.Required = &v
3967	return s
3968}
3969
3970// SetSecret sets the Secret field's value.
3971func (s *ActionConfigurationProperty) SetSecret(v bool) *ActionConfigurationProperty {
3972	s.Secret = &v
3973	return s
3974}
3975
3976// SetType sets the Type field's value.
3977func (s *ActionConfigurationProperty) SetType(v string) *ActionConfigurationProperty {
3978	s.Type = &v
3979	return s
3980}
3981
3982// Represents the context of an action in the stage of a pipeline to a job worker.
3983type ActionContext struct {
3984	_ struct{} `type:"structure"`
3985
3986	// The system-generated unique ID that corresponds to an action's execution.
3987	ActionExecutionId *string `locationName:"actionExecutionId" type:"string"`
3988
3989	// The name of the action in the context of a job.
3990	Name *string `locationName:"name" min:"1" type:"string"`
3991}
3992
3993// String returns the string representation
3994func (s ActionContext) String() string {
3995	return awsutil.Prettify(s)
3996}
3997
3998// GoString returns the string representation
3999func (s ActionContext) GoString() string {
4000	return s.String()
4001}
4002
4003// SetActionExecutionId sets the ActionExecutionId field's value.
4004func (s *ActionContext) SetActionExecutionId(v string) *ActionContext {
4005	s.ActionExecutionId = &v
4006	return s
4007}
4008
4009// SetName sets the Name field's value.
4010func (s *ActionContext) SetName(v string) *ActionContext {
4011	s.Name = &v
4012	return s
4013}
4014
4015// Represents information about an action declaration.
4016type ActionDeclaration struct {
4017	_ struct{} `type:"structure"`
4018
4019	// Specifies the action type and the provider of the action.
4020	//
4021	// ActionTypeId is a required field
4022	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure" required:"true"`
4023
4024	// The action's configuration. These are key-value pairs that specify input
4025	// values for an action. For more information, see Action Structure Requirements
4026	// in CodePipeline (https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements).
4027	// For the list of configuration properties for the AWS CloudFormation action
4028	// type in CodePipeline, see Configuration Properties Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html)
4029	// in the AWS CloudFormation User Guide. For template snippets with examples,
4030	// see Using Parameter Override Functions with CodePipeline Pipelines (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html)
4031	// in the AWS CloudFormation User Guide.
4032	//
4033	// The values can be represented in either JSON or YAML format. For example,
4034	// the JSON configuration item format is as follows:
4035	//
4036	// JSON:
4037	//
4038	// "Configuration" : { Key : Value },
4039	Configuration map[string]*string `locationName:"configuration" type:"map"`
4040
4041	// The name or ID of the artifact consumed by the action, such as a test or
4042	// build artifact.
4043	InputArtifacts []*InputArtifact `locationName:"inputArtifacts" type:"list"`
4044
4045	// The action declaration's name.
4046	//
4047	// Name is a required field
4048	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4049
4050	// The variable namespace associated with the action. All variables produced
4051	// as output by this action fall under this namespace.
4052	Namespace *string `locationName:"namespace" min:"1" type:"string"`
4053
4054	// The name or ID of the result of the action declaration, such as a test or
4055	// build artifact.
4056	OutputArtifacts []*OutputArtifact `locationName:"outputArtifacts" type:"list"`
4057
4058	// The action declaration's AWS Region, such as us-east-1.
4059	Region *string `locationName:"region" min:"4" type:"string"`
4060
4061	// The ARN of the IAM service role that performs the declared action. This is
4062	// assumed through the roleArn for the pipeline.
4063	RoleArn *string `locationName:"roleArn" type:"string"`
4064
4065	// The order in which actions are run.
4066	RunOrder *int64 `locationName:"runOrder" min:"1" type:"integer"`
4067}
4068
4069// String returns the string representation
4070func (s ActionDeclaration) String() string {
4071	return awsutil.Prettify(s)
4072}
4073
4074// GoString returns the string representation
4075func (s ActionDeclaration) GoString() string {
4076	return s.String()
4077}
4078
4079// Validate inspects the fields of the type to determine if they are valid.
4080func (s *ActionDeclaration) Validate() error {
4081	invalidParams := request.ErrInvalidParams{Context: "ActionDeclaration"}
4082	if s.ActionTypeId == nil {
4083		invalidParams.Add(request.NewErrParamRequired("ActionTypeId"))
4084	}
4085	if s.Name == nil {
4086		invalidParams.Add(request.NewErrParamRequired("Name"))
4087	}
4088	if s.Name != nil && len(*s.Name) < 1 {
4089		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4090	}
4091	if s.Namespace != nil && len(*s.Namespace) < 1 {
4092		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
4093	}
4094	if s.Region != nil && len(*s.Region) < 4 {
4095		invalidParams.Add(request.NewErrParamMinLen("Region", 4))
4096	}
4097	if s.RunOrder != nil && *s.RunOrder < 1 {
4098		invalidParams.Add(request.NewErrParamMinValue("RunOrder", 1))
4099	}
4100	if s.ActionTypeId != nil {
4101		if err := s.ActionTypeId.Validate(); err != nil {
4102			invalidParams.AddNested("ActionTypeId", err.(request.ErrInvalidParams))
4103		}
4104	}
4105	if s.InputArtifacts != nil {
4106		for i, v := range s.InputArtifacts {
4107			if v == nil {
4108				continue
4109			}
4110			if err := v.Validate(); err != nil {
4111				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputArtifacts", i), err.(request.ErrInvalidParams))
4112			}
4113		}
4114	}
4115	if s.OutputArtifacts != nil {
4116		for i, v := range s.OutputArtifacts {
4117			if v == nil {
4118				continue
4119			}
4120			if err := v.Validate(); err != nil {
4121				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputArtifacts", i), err.(request.ErrInvalidParams))
4122			}
4123		}
4124	}
4125
4126	if invalidParams.Len() > 0 {
4127		return invalidParams
4128	}
4129	return nil
4130}
4131
4132// SetActionTypeId sets the ActionTypeId field's value.
4133func (s *ActionDeclaration) SetActionTypeId(v *ActionTypeId) *ActionDeclaration {
4134	s.ActionTypeId = v
4135	return s
4136}
4137
4138// SetConfiguration sets the Configuration field's value.
4139func (s *ActionDeclaration) SetConfiguration(v map[string]*string) *ActionDeclaration {
4140	s.Configuration = v
4141	return s
4142}
4143
4144// SetInputArtifacts sets the InputArtifacts field's value.
4145func (s *ActionDeclaration) SetInputArtifacts(v []*InputArtifact) *ActionDeclaration {
4146	s.InputArtifacts = v
4147	return s
4148}
4149
4150// SetName sets the Name field's value.
4151func (s *ActionDeclaration) SetName(v string) *ActionDeclaration {
4152	s.Name = &v
4153	return s
4154}
4155
4156// SetNamespace sets the Namespace field's value.
4157func (s *ActionDeclaration) SetNamespace(v string) *ActionDeclaration {
4158	s.Namespace = &v
4159	return s
4160}
4161
4162// SetOutputArtifacts sets the OutputArtifacts field's value.
4163func (s *ActionDeclaration) SetOutputArtifacts(v []*OutputArtifact) *ActionDeclaration {
4164	s.OutputArtifacts = v
4165	return s
4166}
4167
4168// SetRegion sets the Region field's value.
4169func (s *ActionDeclaration) SetRegion(v string) *ActionDeclaration {
4170	s.Region = &v
4171	return s
4172}
4173
4174// SetRoleArn sets the RoleArn field's value.
4175func (s *ActionDeclaration) SetRoleArn(v string) *ActionDeclaration {
4176	s.RoleArn = &v
4177	return s
4178}
4179
4180// SetRunOrder sets the RunOrder field's value.
4181func (s *ActionDeclaration) SetRunOrder(v int64) *ActionDeclaration {
4182	s.RunOrder = &v
4183	return s
4184}
4185
4186// Represents information about the run of an action.
4187type ActionExecution struct {
4188	_ struct{} `type:"structure"`
4189
4190	// The details of an error returned by a URL external to AWS.
4191	ErrorDetails *ErrorDetails `locationName:"errorDetails" type:"structure"`
4192
4193	// The external ID of the run of the action.
4194	ExternalExecutionId *string `locationName:"externalExecutionId" min:"1" type:"string"`
4195
4196	// The URL of a resource external to AWS that is used when running the action
4197	// (for example, an external repository URL).
4198	ExternalExecutionUrl *string `locationName:"externalExecutionUrl" min:"1" type:"string"`
4199
4200	// The last status change of the action.
4201	LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
4202
4203	// The ARN of the user who last changed the pipeline.
4204	LastUpdatedBy *string `locationName:"lastUpdatedBy" type:"string"`
4205
4206	// A percentage of completeness of the action as it runs.
4207	PercentComplete *int64 `locationName:"percentComplete" type:"integer"`
4208
4209	// The status of the action, or for a completed action, the last status of the
4210	// action.
4211	Status *string `locationName:"status" type:"string" enum:"ActionExecutionStatus"`
4212
4213	// A summary of the run of the action.
4214	Summary *string `locationName:"summary" min:"1" type:"string"`
4215
4216	// The system-generated token used to identify a unique approval request. The
4217	// token for each open approval request can be obtained using the GetPipelineState
4218	// command. It is used to validate that the approval request corresponding to
4219	// this token is still valid.
4220	Token *string `locationName:"token" type:"string"`
4221}
4222
4223// String returns the string representation
4224func (s ActionExecution) String() string {
4225	return awsutil.Prettify(s)
4226}
4227
4228// GoString returns the string representation
4229func (s ActionExecution) GoString() string {
4230	return s.String()
4231}
4232
4233// SetErrorDetails sets the ErrorDetails field's value.
4234func (s *ActionExecution) SetErrorDetails(v *ErrorDetails) *ActionExecution {
4235	s.ErrorDetails = v
4236	return s
4237}
4238
4239// SetExternalExecutionId sets the ExternalExecutionId field's value.
4240func (s *ActionExecution) SetExternalExecutionId(v string) *ActionExecution {
4241	s.ExternalExecutionId = &v
4242	return s
4243}
4244
4245// SetExternalExecutionUrl sets the ExternalExecutionUrl field's value.
4246func (s *ActionExecution) SetExternalExecutionUrl(v string) *ActionExecution {
4247	s.ExternalExecutionUrl = &v
4248	return s
4249}
4250
4251// SetLastStatusChange sets the LastStatusChange field's value.
4252func (s *ActionExecution) SetLastStatusChange(v time.Time) *ActionExecution {
4253	s.LastStatusChange = &v
4254	return s
4255}
4256
4257// SetLastUpdatedBy sets the LastUpdatedBy field's value.
4258func (s *ActionExecution) SetLastUpdatedBy(v string) *ActionExecution {
4259	s.LastUpdatedBy = &v
4260	return s
4261}
4262
4263// SetPercentComplete sets the PercentComplete field's value.
4264func (s *ActionExecution) SetPercentComplete(v int64) *ActionExecution {
4265	s.PercentComplete = &v
4266	return s
4267}
4268
4269// SetStatus sets the Status field's value.
4270func (s *ActionExecution) SetStatus(v string) *ActionExecution {
4271	s.Status = &v
4272	return s
4273}
4274
4275// SetSummary sets the Summary field's value.
4276func (s *ActionExecution) SetSummary(v string) *ActionExecution {
4277	s.Summary = &v
4278	return s
4279}
4280
4281// SetToken sets the Token field's value.
4282func (s *ActionExecution) SetToken(v string) *ActionExecution {
4283	s.Token = &v
4284	return s
4285}
4286
4287// Returns information about an execution of an action, including the action
4288// execution ID, and the name, version, and timing of the action.
4289type ActionExecutionDetail struct {
4290	_ struct{} `type:"structure"`
4291
4292	// The action execution ID.
4293	ActionExecutionId *string `locationName:"actionExecutionId" type:"string"`
4294
4295	// The name of the action.
4296	ActionName *string `locationName:"actionName" min:"1" type:"string"`
4297
4298	// Input details for the action execution, such as role ARN, Region, and input
4299	// artifacts.
4300	Input *ActionExecutionInput `locationName:"input" type:"structure"`
4301
4302	// The last update time of the action execution.
4303	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
4304
4305	// Output details for the action execution, such as the action execution result.
4306	Output *ActionExecutionOutput `locationName:"output" type:"structure"`
4307
4308	// The pipeline execution ID for the action execution.
4309	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
4310
4311	// The version of the pipeline where the action was run.
4312	PipelineVersion *int64 `locationName:"pipelineVersion" min:"1" type:"integer"`
4313
4314	// The name of the stage that contains the action.
4315	StageName *string `locationName:"stageName" min:"1" type:"string"`
4316
4317	// The start time of the action execution.
4318	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
4319
4320	// The status of the action execution. Status categories are InProgress, Succeeded,
4321	// and Failed.
4322	Status *string `locationName:"status" type:"string" enum:"ActionExecutionStatus"`
4323}
4324
4325// String returns the string representation
4326func (s ActionExecutionDetail) String() string {
4327	return awsutil.Prettify(s)
4328}
4329
4330// GoString returns the string representation
4331func (s ActionExecutionDetail) GoString() string {
4332	return s.String()
4333}
4334
4335// SetActionExecutionId sets the ActionExecutionId field's value.
4336func (s *ActionExecutionDetail) SetActionExecutionId(v string) *ActionExecutionDetail {
4337	s.ActionExecutionId = &v
4338	return s
4339}
4340
4341// SetActionName sets the ActionName field's value.
4342func (s *ActionExecutionDetail) SetActionName(v string) *ActionExecutionDetail {
4343	s.ActionName = &v
4344	return s
4345}
4346
4347// SetInput sets the Input field's value.
4348func (s *ActionExecutionDetail) SetInput(v *ActionExecutionInput) *ActionExecutionDetail {
4349	s.Input = v
4350	return s
4351}
4352
4353// SetLastUpdateTime sets the LastUpdateTime field's value.
4354func (s *ActionExecutionDetail) SetLastUpdateTime(v time.Time) *ActionExecutionDetail {
4355	s.LastUpdateTime = &v
4356	return s
4357}
4358
4359// SetOutput sets the Output field's value.
4360func (s *ActionExecutionDetail) SetOutput(v *ActionExecutionOutput) *ActionExecutionDetail {
4361	s.Output = v
4362	return s
4363}
4364
4365// SetPipelineExecutionId sets the PipelineExecutionId field's value.
4366func (s *ActionExecutionDetail) SetPipelineExecutionId(v string) *ActionExecutionDetail {
4367	s.PipelineExecutionId = &v
4368	return s
4369}
4370
4371// SetPipelineVersion sets the PipelineVersion field's value.
4372func (s *ActionExecutionDetail) SetPipelineVersion(v int64) *ActionExecutionDetail {
4373	s.PipelineVersion = &v
4374	return s
4375}
4376
4377// SetStageName sets the StageName field's value.
4378func (s *ActionExecutionDetail) SetStageName(v string) *ActionExecutionDetail {
4379	s.StageName = &v
4380	return s
4381}
4382
4383// SetStartTime sets the StartTime field's value.
4384func (s *ActionExecutionDetail) SetStartTime(v time.Time) *ActionExecutionDetail {
4385	s.StartTime = &v
4386	return s
4387}
4388
4389// SetStatus sets the Status field's value.
4390func (s *ActionExecutionDetail) SetStatus(v string) *ActionExecutionDetail {
4391	s.Status = &v
4392	return s
4393}
4394
4395// Filter values for the action execution.
4396type ActionExecutionFilter struct {
4397	_ struct{} `type:"structure"`
4398
4399	// The pipeline execution ID used to filter action execution history.
4400	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
4401}
4402
4403// String returns the string representation
4404func (s ActionExecutionFilter) String() string {
4405	return awsutil.Prettify(s)
4406}
4407
4408// GoString returns the string representation
4409func (s ActionExecutionFilter) GoString() string {
4410	return s.String()
4411}
4412
4413// SetPipelineExecutionId sets the PipelineExecutionId field's value.
4414func (s *ActionExecutionFilter) SetPipelineExecutionId(v string) *ActionExecutionFilter {
4415	s.PipelineExecutionId = &v
4416	return s
4417}
4418
4419// Input information used for an action execution.
4420type ActionExecutionInput struct {
4421	_ struct{} `type:"structure"`
4422
4423	// Represents information about an action type.
4424	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure"`
4425
4426	// Configuration data for an action execution.
4427	Configuration map[string]*string `locationName:"configuration" type:"map"`
4428
4429	// Details of input artifacts of the action that correspond to the action execution.
4430	InputArtifacts []*ArtifactDetail `locationName:"inputArtifacts" type:"list"`
4431
4432	// The variable namespace associated with the action. All variables produced
4433	// as output by this action fall under this namespace.
4434	Namespace *string `locationName:"namespace" min:"1" type:"string"`
4435
4436	// The AWS Region for the action, such as us-east-1.
4437	Region *string `locationName:"region" min:"4" type:"string"`
4438
4439	// Configuration data for an action execution with all variable references replaced
4440	// with their real values for the execution.
4441	ResolvedConfiguration map[string]*string `locationName:"resolvedConfiguration" type:"map"`
4442
4443	// The ARN of the IAM service role that performs the declared action. This is
4444	// assumed through the roleArn for the pipeline.
4445	RoleArn *string `locationName:"roleArn" type:"string"`
4446}
4447
4448// String returns the string representation
4449func (s ActionExecutionInput) String() string {
4450	return awsutil.Prettify(s)
4451}
4452
4453// GoString returns the string representation
4454func (s ActionExecutionInput) GoString() string {
4455	return s.String()
4456}
4457
4458// SetActionTypeId sets the ActionTypeId field's value.
4459func (s *ActionExecutionInput) SetActionTypeId(v *ActionTypeId) *ActionExecutionInput {
4460	s.ActionTypeId = v
4461	return s
4462}
4463
4464// SetConfiguration sets the Configuration field's value.
4465func (s *ActionExecutionInput) SetConfiguration(v map[string]*string) *ActionExecutionInput {
4466	s.Configuration = v
4467	return s
4468}
4469
4470// SetInputArtifacts sets the InputArtifacts field's value.
4471func (s *ActionExecutionInput) SetInputArtifacts(v []*ArtifactDetail) *ActionExecutionInput {
4472	s.InputArtifacts = v
4473	return s
4474}
4475
4476// SetNamespace sets the Namespace field's value.
4477func (s *ActionExecutionInput) SetNamespace(v string) *ActionExecutionInput {
4478	s.Namespace = &v
4479	return s
4480}
4481
4482// SetRegion sets the Region field's value.
4483func (s *ActionExecutionInput) SetRegion(v string) *ActionExecutionInput {
4484	s.Region = &v
4485	return s
4486}
4487
4488// SetResolvedConfiguration sets the ResolvedConfiguration field's value.
4489func (s *ActionExecutionInput) SetResolvedConfiguration(v map[string]*string) *ActionExecutionInput {
4490	s.ResolvedConfiguration = v
4491	return s
4492}
4493
4494// SetRoleArn sets the RoleArn field's value.
4495func (s *ActionExecutionInput) SetRoleArn(v string) *ActionExecutionInput {
4496	s.RoleArn = &v
4497	return s
4498}
4499
4500// Output details listed for an action execution, such as the action execution
4501// result.
4502type ActionExecutionOutput struct {
4503	_ struct{} `type:"structure"`
4504
4505	// Execution result information listed in the output details for an action execution.
4506	ExecutionResult *ActionExecutionResult `locationName:"executionResult" type:"structure"`
4507
4508	// Details of output artifacts of the action that correspond to the action execution.
4509	OutputArtifacts []*ArtifactDetail `locationName:"outputArtifacts" type:"list"`
4510
4511	// The outputVariables field shows the key-value pairs that were output as part
4512	// of that execution.
4513	OutputVariables map[string]*string `locationName:"outputVariables" type:"map"`
4514}
4515
4516// String returns the string representation
4517func (s ActionExecutionOutput) String() string {
4518	return awsutil.Prettify(s)
4519}
4520
4521// GoString returns the string representation
4522func (s ActionExecutionOutput) GoString() string {
4523	return s.String()
4524}
4525
4526// SetExecutionResult sets the ExecutionResult field's value.
4527func (s *ActionExecutionOutput) SetExecutionResult(v *ActionExecutionResult) *ActionExecutionOutput {
4528	s.ExecutionResult = v
4529	return s
4530}
4531
4532// SetOutputArtifacts sets the OutputArtifacts field's value.
4533func (s *ActionExecutionOutput) SetOutputArtifacts(v []*ArtifactDetail) *ActionExecutionOutput {
4534	s.OutputArtifacts = v
4535	return s
4536}
4537
4538// SetOutputVariables sets the OutputVariables field's value.
4539func (s *ActionExecutionOutput) SetOutputVariables(v map[string]*string) *ActionExecutionOutput {
4540	s.OutputVariables = v
4541	return s
4542}
4543
4544// Execution result information, such as the external execution ID.
4545type ActionExecutionResult struct {
4546	_ struct{} `type:"structure"`
4547
4548	// The action provider's external ID for the action execution.
4549	ExternalExecutionId *string `locationName:"externalExecutionId" type:"string"`
4550
4551	// The action provider's summary for the action execution.
4552	ExternalExecutionSummary *string `locationName:"externalExecutionSummary" type:"string"`
4553
4554	// The deepest external link to the external resource (for example, a repository
4555	// URL or deployment endpoint) that is used when running the action.
4556	ExternalExecutionUrl *string `locationName:"externalExecutionUrl" min:"1" type:"string"`
4557}
4558
4559// String returns the string representation
4560func (s ActionExecutionResult) String() string {
4561	return awsutil.Prettify(s)
4562}
4563
4564// GoString returns the string representation
4565func (s ActionExecutionResult) GoString() string {
4566	return s.String()
4567}
4568
4569// SetExternalExecutionId sets the ExternalExecutionId field's value.
4570func (s *ActionExecutionResult) SetExternalExecutionId(v string) *ActionExecutionResult {
4571	s.ExternalExecutionId = &v
4572	return s
4573}
4574
4575// SetExternalExecutionSummary sets the ExternalExecutionSummary field's value.
4576func (s *ActionExecutionResult) SetExternalExecutionSummary(v string) *ActionExecutionResult {
4577	s.ExternalExecutionSummary = &v
4578	return s
4579}
4580
4581// SetExternalExecutionUrl sets the ExternalExecutionUrl field's value.
4582func (s *ActionExecutionResult) SetExternalExecutionUrl(v string) *ActionExecutionResult {
4583	s.ExternalExecutionUrl = &v
4584	return s
4585}
4586
4587// Represents information about the version (or revision) of an action.
4588type ActionRevision struct {
4589	_ struct{} `type:"structure"`
4590
4591	// The date and time when the most recent version of the action was created,
4592	// in timestamp format.
4593	//
4594	// Created is a required field
4595	Created *time.Time `locationName:"created" type:"timestamp" required:"true"`
4596
4597	// The unique identifier of the change that set the state to this revision (for
4598	// example, a deployment ID or timestamp).
4599	//
4600	// RevisionChangeId is a required field
4601	RevisionChangeId *string `locationName:"revisionChangeId" min:"1" type:"string" required:"true"`
4602
4603	// The system-generated unique ID that identifies the revision number of the
4604	// action.
4605	//
4606	// RevisionId is a required field
4607	RevisionId *string `locationName:"revisionId" min:"1" type:"string" required:"true"`
4608}
4609
4610// String returns the string representation
4611func (s ActionRevision) String() string {
4612	return awsutil.Prettify(s)
4613}
4614
4615// GoString returns the string representation
4616func (s ActionRevision) GoString() string {
4617	return s.String()
4618}
4619
4620// Validate inspects the fields of the type to determine if they are valid.
4621func (s *ActionRevision) Validate() error {
4622	invalidParams := request.ErrInvalidParams{Context: "ActionRevision"}
4623	if s.Created == nil {
4624		invalidParams.Add(request.NewErrParamRequired("Created"))
4625	}
4626	if s.RevisionChangeId == nil {
4627		invalidParams.Add(request.NewErrParamRequired("RevisionChangeId"))
4628	}
4629	if s.RevisionChangeId != nil && len(*s.RevisionChangeId) < 1 {
4630		invalidParams.Add(request.NewErrParamMinLen("RevisionChangeId", 1))
4631	}
4632	if s.RevisionId == nil {
4633		invalidParams.Add(request.NewErrParamRequired("RevisionId"))
4634	}
4635	if s.RevisionId != nil && len(*s.RevisionId) < 1 {
4636		invalidParams.Add(request.NewErrParamMinLen("RevisionId", 1))
4637	}
4638
4639	if invalidParams.Len() > 0 {
4640		return invalidParams
4641	}
4642	return nil
4643}
4644
4645// SetCreated sets the Created field's value.
4646func (s *ActionRevision) SetCreated(v time.Time) *ActionRevision {
4647	s.Created = &v
4648	return s
4649}
4650
4651// SetRevisionChangeId sets the RevisionChangeId field's value.
4652func (s *ActionRevision) SetRevisionChangeId(v string) *ActionRevision {
4653	s.RevisionChangeId = &v
4654	return s
4655}
4656
4657// SetRevisionId sets the RevisionId field's value.
4658func (s *ActionRevision) SetRevisionId(v string) *ActionRevision {
4659	s.RevisionId = &v
4660	return s
4661}
4662
4663// Represents information about the state of an action.
4664type ActionState struct {
4665	_ struct{} `type:"structure"`
4666
4667	// The name of the action.
4668	ActionName *string `locationName:"actionName" min:"1" type:"string"`
4669
4670	// Represents information about the version (or revision) of an action.
4671	CurrentRevision *ActionRevision `locationName:"currentRevision" type:"structure"`
4672
4673	// A URL link for more information about the state of the action, such as a
4674	// deployment group details page.
4675	EntityUrl *string `locationName:"entityUrl" min:"1" type:"string"`
4676
4677	// Represents information about the run of an action.
4678	LatestExecution *ActionExecution `locationName:"latestExecution" type:"structure"`
4679
4680	// A URL link for more information about the revision, such as a commit details
4681	// page.
4682	RevisionUrl *string `locationName:"revisionUrl" min:"1" type:"string"`
4683}
4684
4685// String returns the string representation
4686func (s ActionState) String() string {
4687	return awsutil.Prettify(s)
4688}
4689
4690// GoString returns the string representation
4691func (s ActionState) GoString() string {
4692	return s.String()
4693}
4694
4695// SetActionName sets the ActionName field's value.
4696func (s *ActionState) SetActionName(v string) *ActionState {
4697	s.ActionName = &v
4698	return s
4699}
4700
4701// SetCurrentRevision sets the CurrentRevision field's value.
4702func (s *ActionState) SetCurrentRevision(v *ActionRevision) *ActionState {
4703	s.CurrentRevision = v
4704	return s
4705}
4706
4707// SetEntityUrl sets the EntityUrl field's value.
4708func (s *ActionState) SetEntityUrl(v string) *ActionState {
4709	s.EntityUrl = &v
4710	return s
4711}
4712
4713// SetLatestExecution sets the LatestExecution field's value.
4714func (s *ActionState) SetLatestExecution(v *ActionExecution) *ActionState {
4715	s.LatestExecution = v
4716	return s
4717}
4718
4719// SetRevisionUrl sets the RevisionUrl field's value.
4720func (s *ActionState) SetRevisionUrl(v string) *ActionState {
4721	s.RevisionUrl = &v
4722	return s
4723}
4724
4725// Returns information about the details of an action type.
4726type ActionType struct {
4727	_ struct{} `type:"structure"`
4728
4729	// The configuration properties for the action type.
4730	ActionConfigurationProperties []*ActionConfigurationProperty `locationName:"actionConfigurationProperties" type:"list"`
4731
4732	// Represents information about an action type.
4733	//
4734	// Id is a required field
4735	Id *ActionTypeId `locationName:"id" type:"structure" required:"true"`
4736
4737	// The details of the input artifact for the action, such as its commit ID.
4738	//
4739	// InputArtifactDetails is a required field
4740	InputArtifactDetails *ArtifactDetails `locationName:"inputArtifactDetails" type:"structure" required:"true"`
4741
4742	// The details of the output artifact of the action, such as its commit ID.
4743	//
4744	// OutputArtifactDetails is a required field
4745	OutputArtifactDetails *ArtifactDetails `locationName:"outputArtifactDetails" type:"structure" required:"true"`
4746
4747	// The settings for the action type.
4748	Settings *ActionTypeSettings `locationName:"settings" type:"structure"`
4749}
4750
4751// String returns the string representation
4752func (s ActionType) String() string {
4753	return awsutil.Prettify(s)
4754}
4755
4756// GoString returns the string representation
4757func (s ActionType) GoString() string {
4758	return s.String()
4759}
4760
4761// SetActionConfigurationProperties sets the ActionConfigurationProperties field's value.
4762func (s *ActionType) SetActionConfigurationProperties(v []*ActionConfigurationProperty) *ActionType {
4763	s.ActionConfigurationProperties = v
4764	return s
4765}
4766
4767// SetId sets the Id field's value.
4768func (s *ActionType) SetId(v *ActionTypeId) *ActionType {
4769	s.Id = v
4770	return s
4771}
4772
4773// SetInputArtifactDetails sets the InputArtifactDetails field's value.
4774func (s *ActionType) SetInputArtifactDetails(v *ArtifactDetails) *ActionType {
4775	s.InputArtifactDetails = v
4776	return s
4777}
4778
4779// SetOutputArtifactDetails sets the OutputArtifactDetails field's value.
4780func (s *ActionType) SetOutputArtifactDetails(v *ArtifactDetails) *ActionType {
4781	s.OutputArtifactDetails = v
4782	return s
4783}
4784
4785// SetSettings sets the Settings field's value.
4786func (s *ActionType) SetSettings(v *ActionTypeSettings) *ActionType {
4787	s.Settings = v
4788	return s
4789}
4790
4791// Represents information about an action type.
4792type ActionTypeId struct {
4793	_ struct{} `type:"structure"`
4794
4795	// A category defines what kind of action can be taken in the stage, and constrains
4796	// the provider type for the action. Valid categories are limited to one of
4797	// the following values.
4798	//
4799	// Category is a required field
4800	Category *string `locationName:"category" type:"string" required:"true" enum:"ActionCategory"`
4801
4802	// The creator of the action being called.
4803	//
4804	// Owner is a required field
4805	Owner *string `locationName:"owner" type:"string" required:"true" enum:"ActionOwner"`
4806
4807	// The provider of the service being called by the action. Valid providers are
4808	// determined by the action category. For example, an action in the Deploy category
4809	// type might have a provider of AWS CodeDeploy, which would be specified as
4810	// CodeDeploy. For more information, see Valid Action Types and Providers in
4811	// CodePipeline (https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers).
4812	//
4813	// Provider is a required field
4814	Provider *string `locationName:"provider" min:"1" type:"string" required:"true"`
4815
4816	// A string that describes the action version.
4817	//
4818	// Version is a required field
4819	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
4820}
4821
4822// String returns the string representation
4823func (s ActionTypeId) String() string {
4824	return awsutil.Prettify(s)
4825}
4826
4827// GoString returns the string representation
4828func (s ActionTypeId) GoString() string {
4829	return s.String()
4830}
4831
4832// Validate inspects the fields of the type to determine if they are valid.
4833func (s *ActionTypeId) Validate() error {
4834	invalidParams := request.ErrInvalidParams{Context: "ActionTypeId"}
4835	if s.Category == nil {
4836		invalidParams.Add(request.NewErrParamRequired("Category"))
4837	}
4838	if s.Owner == nil {
4839		invalidParams.Add(request.NewErrParamRequired("Owner"))
4840	}
4841	if s.Provider == nil {
4842		invalidParams.Add(request.NewErrParamRequired("Provider"))
4843	}
4844	if s.Provider != nil && len(*s.Provider) < 1 {
4845		invalidParams.Add(request.NewErrParamMinLen("Provider", 1))
4846	}
4847	if s.Version == nil {
4848		invalidParams.Add(request.NewErrParamRequired("Version"))
4849	}
4850	if s.Version != nil && len(*s.Version) < 1 {
4851		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
4852	}
4853
4854	if invalidParams.Len() > 0 {
4855		return invalidParams
4856	}
4857	return nil
4858}
4859
4860// SetCategory sets the Category field's value.
4861func (s *ActionTypeId) SetCategory(v string) *ActionTypeId {
4862	s.Category = &v
4863	return s
4864}
4865
4866// SetOwner sets the Owner field's value.
4867func (s *ActionTypeId) SetOwner(v string) *ActionTypeId {
4868	s.Owner = &v
4869	return s
4870}
4871
4872// SetProvider sets the Provider field's value.
4873func (s *ActionTypeId) SetProvider(v string) *ActionTypeId {
4874	s.Provider = &v
4875	return s
4876}
4877
4878// SetVersion sets the Version field's value.
4879func (s *ActionTypeId) SetVersion(v string) *ActionTypeId {
4880	s.Version = &v
4881	return s
4882}
4883
4884// Returns information about the settings for an action type.
4885type ActionTypeSettings struct {
4886	_ struct{} `type:"structure"`
4887
4888	// The URL returned to the AWS CodePipeline console that provides a deep link
4889	// to the resources of the external system, such as the configuration page for
4890	// an AWS CodeDeploy deployment group. This link is provided as part of the
4891	// action display in the pipeline.
4892	EntityUrlTemplate *string `locationName:"entityUrlTemplate" min:"1" type:"string"`
4893
4894	// The URL returned to the AWS CodePipeline console that contains a link to
4895	// the top-level landing page for the external system, such as the console page
4896	// for AWS CodeDeploy. This link is shown on the pipeline view page in the AWS
4897	// CodePipeline console and provides a link to the execution entity of the external
4898	// action.
4899	ExecutionUrlTemplate *string `locationName:"executionUrlTemplate" min:"1" type:"string"`
4900
4901	// The URL returned to the AWS CodePipeline console that contains a link to
4902	// the page where customers can update or change the configuration of the external
4903	// action.
4904	RevisionUrlTemplate *string `locationName:"revisionUrlTemplate" min:"1" type:"string"`
4905
4906	// The URL of a sign-up page where users can sign up for an external service
4907	// and perform initial configuration of the action provided by that service.
4908	ThirdPartyConfigurationUrl *string `locationName:"thirdPartyConfigurationUrl" min:"1" type:"string"`
4909}
4910
4911// String returns the string representation
4912func (s ActionTypeSettings) String() string {
4913	return awsutil.Prettify(s)
4914}
4915
4916// GoString returns the string representation
4917func (s ActionTypeSettings) GoString() string {
4918	return s.String()
4919}
4920
4921// Validate inspects the fields of the type to determine if they are valid.
4922func (s *ActionTypeSettings) Validate() error {
4923	invalidParams := request.ErrInvalidParams{Context: "ActionTypeSettings"}
4924	if s.EntityUrlTemplate != nil && len(*s.EntityUrlTemplate) < 1 {
4925		invalidParams.Add(request.NewErrParamMinLen("EntityUrlTemplate", 1))
4926	}
4927	if s.ExecutionUrlTemplate != nil && len(*s.ExecutionUrlTemplate) < 1 {
4928		invalidParams.Add(request.NewErrParamMinLen("ExecutionUrlTemplate", 1))
4929	}
4930	if s.RevisionUrlTemplate != nil && len(*s.RevisionUrlTemplate) < 1 {
4931		invalidParams.Add(request.NewErrParamMinLen("RevisionUrlTemplate", 1))
4932	}
4933	if s.ThirdPartyConfigurationUrl != nil && len(*s.ThirdPartyConfigurationUrl) < 1 {
4934		invalidParams.Add(request.NewErrParamMinLen("ThirdPartyConfigurationUrl", 1))
4935	}
4936
4937	if invalidParams.Len() > 0 {
4938		return invalidParams
4939	}
4940	return nil
4941}
4942
4943// SetEntityUrlTemplate sets the EntityUrlTemplate field's value.
4944func (s *ActionTypeSettings) SetEntityUrlTemplate(v string) *ActionTypeSettings {
4945	s.EntityUrlTemplate = &v
4946	return s
4947}
4948
4949// SetExecutionUrlTemplate sets the ExecutionUrlTemplate field's value.
4950func (s *ActionTypeSettings) SetExecutionUrlTemplate(v string) *ActionTypeSettings {
4951	s.ExecutionUrlTemplate = &v
4952	return s
4953}
4954
4955// SetRevisionUrlTemplate sets the RevisionUrlTemplate field's value.
4956func (s *ActionTypeSettings) SetRevisionUrlTemplate(v string) *ActionTypeSettings {
4957	s.RevisionUrlTemplate = &v
4958	return s
4959}
4960
4961// SetThirdPartyConfigurationUrl sets the ThirdPartyConfigurationUrl field's value.
4962func (s *ActionTypeSettings) SetThirdPartyConfigurationUrl(v string) *ActionTypeSettings {
4963	s.ThirdPartyConfigurationUrl = &v
4964	return s
4965}
4966
4967// Represents information about the result of an approval request.
4968type ApprovalResult struct {
4969	_ struct{} `type:"structure"`
4970
4971	// The response submitted by a reviewer assigned to an approval action request.
4972	//
4973	// Status is a required field
4974	Status *string `locationName:"status" type:"string" required:"true" enum:"ApprovalStatus"`
4975
4976	// The summary of the current status of the approval request.
4977	//
4978	// Summary is a required field
4979	Summary *string `locationName:"summary" type:"string" required:"true"`
4980}
4981
4982// String returns the string representation
4983func (s ApprovalResult) String() string {
4984	return awsutil.Prettify(s)
4985}
4986
4987// GoString returns the string representation
4988func (s ApprovalResult) GoString() string {
4989	return s.String()
4990}
4991
4992// Validate inspects the fields of the type to determine if they are valid.
4993func (s *ApprovalResult) Validate() error {
4994	invalidParams := request.ErrInvalidParams{Context: "ApprovalResult"}
4995	if s.Status == nil {
4996		invalidParams.Add(request.NewErrParamRequired("Status"))
4997	}
4998	if s.Summary == nil {
4999		invalidParams.Add(request.NewErrParamRequired("Summary"))
5000	}
5001
5002	if invalidParams.Len() > 0 {
5003		return invalidParams
5004	}
5005	return nil
5006}
5007
5008// SetStatus sets the Status field's value.
5009func (s *ApprovalResult) SetStatus(v string) *ApprovalResult {
5010	s.Status = &v
5011	return s
5012}
5013
5014// SetSummary sets the Summary field's value.
5015func (s *ApprovalResult) SetSummary(v string) *ApprovalResult {
5016	s.Summary = &v
5017	return s
5018}
5019
5020// Represents information about an artifact that is worked on by actions in
5021// the pipeline.
5022type Artifact struct {
5023	_ struct{} `type:"structure"`
5024
5025	// The location of an artifact.
5026	Location *ArtifactLocation `locationName:"location" type:"structure"`
5027
5028	// The artifact's name.
5029	Name *string `locationName:"name" min:"1" type:"string"`
5030
5031	// The artifact's revision ID. Depending on the type of object, this could be
5032	// a commit ID (GitHub) or a revision ID (Amazon S3).
5033	Revision *string `locationName:"revision" min:"1" type:"string"`
5034}
5035
5036// String returns the string representation
5037func (s Artifact) String() string {
5038	return awsutil.Prettify(s)
5039}
5040
5041// GoString returns the string representation
5042func (s Artifact) GoString() string {
5043	return s.String()
5044}
5045
5046// SetLocation sets the Location field's value.
5047func (s *Artifact) SetLocation(v *ArtifactLocation) *Artifact {
5048	s.Location = v
5049	return s
5050}
5051
5052// SetName sets the Name field's value.
5053func (s *Artifact) SetName(v string) *Artifact {
5054	s.Name = &v
5055	return s
5056}
5057
5058// SetRevision sets the Revision field's value.
5059func (s *Artifact) SetRevision(v string) *Artifact {
5060	s.Revision = &v
5061	return s
5062}
5063
5064// Artifact details for the action execution, such as the artifact location.
5065type ArtifactDetail struct {
5066	_ struct{} `type:"structure"`
5067
5068	// The artifact object name for the action execution.
5069	Name *string `locationName:"name" min:"1" type:"string"`
5070
5071	// The Amazon S3 artifact location for the action execution.
5072	S3location *S3Location `locationName:"s3location" type:"structure"`
5073}
5074
5075// String returns the string representation
5076func (s ArtifactDetail) String() string {
5077	return awsutil.Prettify(s)
5078}
5079
5080// GoString returns the string representation
5081func (s ArtifactDetail) GoString() string {
5082	return s.String()
5083}
5084
5085// SetName sets the Name field's value.
5086func (s *ArtifactDetail) SetName(v string) *ArtifactDetail {
5087	s.Name = &v
5088	return s
5089}
5090
5091// SetS3location sets the S3location field's value.
5092func (s *ArtifactDetail) SetS3location(v *S3Location) *ArtifactDetail {
5093	s.S3location = v
5094	return s
5095}
5096
5097// Returns information about the details of an artifact.
5098type ArtifactDetails struct {
5099	_ struct{} `type:"structure"`
5100
5101	// The maximum number of artifacts allowed for the action type.
5102	//
5103	// MaximumCount is a required field
5104	MaximumCount *int64 `locationName:"maximumCount" type:"integer" required:"true"`
5105
5106	// The minimum number of artifacts allowed for the action type.
5107	//
5108	// MinimumCount is a required field
5109	MinimumCount *int64 `locationName:"minimumCount" type:"integer" required:"true"`
5110}
5111
5112// String returns the string representation
5113func (s ArtifactDetails) String() string {
5114	return awsutil.Prettify(s)
5115}
5116
5117// GoString returns the string representation
5118func (s ArtifactDetails) GoString() string {
5119	return s.String()
5120}
5121
5122// Validate inspects the fields of the type to determine if they are valid.
5123func (s *ArtifactDetails) Validate() error {
5124	invalidParams := request.ErrInvalidParams{Context: "ArtifactDetails"}
5125	if s.MaximumCount == nil {
5126		invalidParams.Add(request.NewErrParamRequired("MaximumCount"))
5127	}
5128	if s.MinimumCount == nil {
5129		invalidParams.Add(request.NewErrParamRequired("MinimumCount"))
5130	}
5131
5132	if invalidParams.Len() > 0 {
5133		return invalidParams
5134	}
5135	return nil
5136}
5137
5138// SetMaximumCount sets the MaximumCount field's value.
5139func (s *ArtifactDetails) SetMaximumCount(v int64) *ArtifactDetails {
5140	s.MaximumCount = &v
5141	return s
5142}
5143
5144// SetMinimumCount sets the MinimumCount field's value.
5145func (s *ArtifactDetails) SetMinimumCount(v int64) *ArtifactDetails {
5146	s.MinimumCount = &v
5147	return s
5148}
5149
5150// Represents information about the location of an artifact.
5151type ArtifactLocation struct {
5152	_ struct{} `type:"structure"`
5153
5154	// The Amazon S3 bucket that contains the artifact.
5155	S3Location *S3ArtifactLocation `locationName:"s3Location" type:"structure"`
5156
5157	// The type of artifact in the location.
5158	Type *string `locationName:"type" type:"string" enum:"ArtifactLocationType"`
5159}
5160
5161// String returns the string representation
5162func (s ArtifactLocation) String() string {
5163	return awsutil.Prettify(s)
5164}
5165
5166// GoString returns the string representation
5167func (s ArtifactLocation) GoString() string {
5168	return s.String()
5169}
5170
5171// SetS3Location sets the S3Location field's value.
5172func (s *ArtifactLocation) SetS3Location(v *S3ArtifactLocation) *ArtifactLocation {
5173	s.S3Location = v
5174	return s
5175}
5176
5177// SetType sets the Type field's value.
5178func (s *ArtifactLocation) SetType(v string) *ArtifactLocation {
5179	s.Type = &v
5180	return s
5181}
5182
5183// Represents revision details of an artifact.
5184type ArtifactRevision struct {
5185	_ struct{} `type:"structure"`
5186
5187	// The date and time when the most recent revision of the artifact was created,
5188	// in timestamp format.
5189	Created *time.Time `locationName:"created" type:"timestamp"`
5190
5191	// The name of an artifact. This name might be system-generated, such as "MyApp",
5192	// or defined by the user when an action is created.
5193	Name *string `locationName:"name" min:"1" type:"string"`
5194
5195	// An additional identifier for a revision, such as a commit date or, for artifacts
5196	// stored in Amazon S3 buckets, the ETag value.
5197	RevisionChangeIdentifier *string `locationName:"revisionChangeIdentifier" min:"1" type:"string"`
5198
5199	// The revision ID of the artifact.
5200	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
5201
5202	// Summary information about the most recent revision of the artifact. For GitHub
5203	// and AWS CodeCommit repositories, the commit message. For Amazon S3 buckets
5204	// or actions, the user-provided content of a codepipeline-artifact-revision-summary
5205	// key specified in the object metadata.
5206	RevisionSummary *string `locationName:"revisionSummary" min:"1" type:"string"`
5207
5208	// The commit ID for the artifact revision. For artifacts stored in GitHub or
5209	// AWS CodeCommit repositories, the commit ID is linked to a commit details
5210	// page.
5211	RevisionUrl *string `locationName:"revisionUrl" min:"1" type:"string"`
5212}
5213
5214// String returns the string representation
5215func (s ArtifactRevision) String() string {
5216	return awsutil.Prettify(s)
5217}
5218
5219// GoString returns the string representation
5220func (s ArtifactRevision) GoString() string {
5221	return s.String()
5222}
5223
5224// SetCreated sets the Created field's value.
5225func (s *ArtifactRevision) SetCreated(v time.Time) *ArtifactRevision {
5226	s.Created = &v
5227	return s
5228}
5229
5230// SetName sets the Name field's value.
5231func (s *ArtifactRevision) SetName(v string) *ArtifactRevision {
5232	s.Name = &v
5233	return s
5234}
5235
5236// SetRevisionChangeIdentifier sets the RevisionChangeIdentifier field's value.
5237func (s *ArtifactRevision) SetRevisionChangeIdentifier(v string) *ArtifactRevision {
5238	s.RevisionChangeIdentifier = &v
5239	return s
5240}
5241
5242// SetRevisionId sets the RevisionId field's value.
5243func (s *ArtifactRevision) SetRevisionId(v string) *ArtifactRevision {
5244	s.RevisionId = &v
5245	return s
5246}
5247
5248// SetRevisionSummary sets the RevisionSummary field's value.
5249func (s *ArtifactRevision) SetRevisionSummary(v string) *ArtifactRevision {
5250	s.RevisionSummary = &v
5251	return s
5252}
5253
5254// SetRevisionUrl sets the RevisionUrl field's value.
5255func (s *ArtifactRevision) SetRevisionUrl(v string) *ArtifactRevision {
5256	s.RevisionUrl = &v
5257	return s
5258}
5259
5260// The Amazon S3 bucket where artifacts for the pipeline are stored.
5261//
5262// You must include either artifactStore or artifactStores in your pipeline,
5263// but you cannot use both. If you create a cross-region action in your pipeline,
5264// you must use artifactStores.
5265type ArtifactStore struct {
5266	_ struct{} `type:"structure"`
5267
5268	// The encryption key used to encrypt the data in the artifact store, such as
5269	// an AWS Key Management Service (AWS KMS) key. If this is undefined, the default
5270	// key for Amazon S3 is used.
5271	EncryptionKey *EncryptionKey `locationName:"encryptionKey" type:"structure"`
5272
5273	// The Amazon S3 bucket used for storing the artifacts for a pipeline. You can
5274	// specify the name of an S3 bucket but not a folder in the bucket. A folder
5275	// to contain the pipeline artifacts is created for you based on the name of
5276	// the pipeline. You can use any Amazon S3 bucket in the same AWS Region as
5277	// the pipeline to store your pipeline artifacts.
5278	//
5279	// Location is a required field
5280	Location *string `locationName:"location" min:"3" type:"string" required:"true"`
5281
5282	// The type of the artifact store, such as S3.
5283	//
5284	// Type is a required field
5285	Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactStoreType"`
5286}
5287
5288// String returns the string representation
5289func (s ArtifactStore) String() string {
5290	return awsutil.Prettify(s)
5291}
5292
5293// GoString returns the string representation
5294func (s ArtifactStore) GoString() string {
5295	return s.String()
5296}
5297
5298// Validate inspects the fields of the type to determine if they are valid.
5299func (s *ArtifactStore) Validate() error {
5300	invalidParams := request.ErrInvalidParams{Context: "ArtifactStore"}
5301	if s.Location == nil {
5302		invalidParams.Add(request.NewErrParamRequired("Location"))
5303	}
5304	if s.Location != nil && len(*s.Location) < 3 {
5305		invalidParams.Add(request.NewErrParamMinLen("Location", 3))
5306	}
5307	if s.Type == nil {
5308		invalidParams.Add(request.NewErrParamRequired("Type"))
5309	}
5310	if s.EncryptionKey != nil {
5311		if err := s.EncryptionKey.Validate(); err != nil {
5312			invalidParams.AddNested("EncryptionKey", err.(request.ErrInvalidParams))
5313		}
5314	}
5315
5316	if invalidParams.Len() > 0 {
5317		return invalidParams
5318	}
5319	return nil
5320}
5321
5322// SetEncryptionKey sets the EncryptionKey field's value.
5323func (s *ArtifactStore) SetEncryptionKey(v *EncryptionKey) *ArtifactStore {
5324	s.EncryptionKey = v
5325	return s
5326}
5327
5328// SetLocation sets the Location field's value.
5329func (s *ArtifactStore) SetLocation(v string) *ArtifactStore {
5330	s.Location = &v
5331	return s
5332}
5333
5334// SetType sets the Type field's value.
5335func (s *ArtifactStore) SetType(v string) *ArtifactStore {
5336	s.Type = &v
5337	return s
5338}
5339
5340// Reserved for future use.
5341type BlockerDeclaration struct {
5342	_ struct{} `type:"structure"`
5343
5344	// Reserved for future use.
5345	//
5346	// Name is a required field
5347	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5348
5349	// Reserved for future use.
5350	//
5351	// Type is a required field
5352	Type *string `locationName:"type" type:"string" required:"true" enum:"BlockerType"`
5353}
5354
5355// String returns the string representation
5356func (s BlockerDeclaration) String() string {
5357	return awsutil.Prettify(s)
5358}
5359
5360// GoString returns the string representation
5361func (s BlockerDeclaration) GoString() string {
5362	return s.String()
5363}
5364
5365// Validate inspects the fields of the type to determine if they are valid.
5366func (s *BlockerDeclaration) Validate() error {
5367	invalidParams := request.ErrInvalidParams{Context: "BlockerDeclaration"}
5368	if s.Name == nil {
5369		invalidParams.Add(request.NewErrParamRequired("Name"))
5370	}
5371	if s.Name != nil && len(*s.Name) < 1 {
5372		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5373	}
5374	if s.Type == nil {
5375		invalidParams.Add(request.NewErrParamRequired("Type"))
5376	}
5377
5378	if invalidParams.Len() > 0 {
5379		return invalidParams
5380	}
5381	return nil
5382}
5383
5384// SetName sets the Name field's value.
5385func (s *BlockerDeclaration) SetName(v string) *BlockerDeclaration {
5386	s.Name = &v
5387	return s
5388}
5389
5390// SetType sets the Type field's value.
5391func (s *BlockerDeclaration) SetType(v string) *BlockerDeclaration {
5392	s.Type = &v
5393	return s
5394}
5395
5396// Represents the input of a CreateCustomActionType operation.
5397type CreateCustomActionTypeInput struct {
5398	_ struct{} `type:"structure"`
5399
5400	// The category of the custom action, such as a build action or a test action.
5401	//
5402	// Although Source and Approval are listed as valid values, they are not currently
5403	// functional. These values are reserved for future use.
5404	//
5405	// Category is a required field
5406	Category *string `locationName:"category" type:"string" required:"true" enum:"ActionCategory"`
5407
5408	// The configuration properties for the custom action.
5409	//
5410	// You can refer to a name in the configuration properties of the custom action
5411	// within the URL templates by following the format of {Config:name}, as long
5412	// as the configuration property is both required and not secret. For more information,
5413	// see Create a Custom Action for a Pipeline (https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html).
5414	ConfigurationProperties []*ActionConfigurationProperty `locationName:"configurationProperties" type:"list"`
5415
5416	// The details of the input artifact for the action, such as its commit ID.
5417	//
5418	// InputArtifactDetails is a required field
5419	InputArtifactDetails *ArtifactDetails `locationName:"inputArtifactDetails" type:"structure" required:"true"`
5420
5421	// The details of the output artifact of the action, such as its commit ID.
5422	//
5423	// OutputArtifactDetails is a required field
5424	OutputArtifactDetails *ArtifactDetails `locationName:"outputArtifactDetails" type:"structure" required:"true"`
5425
5426	// The provider of the service used in the custom action, such as AWS CodeDeploy.
5427	//
5428	// Provider is a required field
5429	Provider *string `locationName:"provider" min:"1" type:"string" required:"true"`
5430
5431	// URLs that provide users information about this custom action.
5432	Settings *ActionTypeSettings `locationName:"settings" type:"structure"`
5433
5434	// The tags for the custom action.
5435	Tags []*Tag `locationName:"tags" type:"list"`
5436
5437	// The version identifier of the custom action.
5438	//
5439	// Version is a required field
5440	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
5441}
5442
5443// String returns the string representation
5444func (s CreateCustomActionTypeInput) String() string {
5445	return awsutil.Prettify(s)
5446}
5447
5448// GoString returns the string representation
5449func (s CreateCustomActionTypeInput) GoString() string {
5450	return s.String()
5451}
5452
5453// Validate inspects the fields of the type to determine if they are valid.
5454func (s *CreateCustomActionTypeInput) Validate() error {
5455	invalidParams := request.ErrInvalidParams{Context: "CreateCustomActionTypeInput"}
5456	if s.Category == nil {
5457		invalidParams.Add(request.NewErrParamRequired("Category"))
5458	}
5459	if s.InputArtifactDetails == nil {
5460		invalidParams.Add(request.NewErrParamRequired("InputArtifactDetails"))
5461	}
5462	if s.OutputArtifactDetails == nil {
5463		invalidParams.Add(request.NewErrParamRequired("OutputArtifactDetails"))
5464	}
5465	if s.Provider == nil {
5466		invalidParams.Add(request.NewErrParamRequired("Provider"))
5467	}
5468	if s.Provider != nil && len(*s.Provider) < 1 {
5469		invalidParams.Add(request.NewErrParamMinLen("Provider", 1))
5470	}
5471	if s.Version == nil {
5472		invalidParams.Add(request.NewErrParamRequired("Version"))
5473	}
5474	if s.Version != nil && len(*s.Version) < 1 {
5475		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
5476	}
5477	if s.ConfigurationProperties != nil {
5478		for i, v := range s.ConfigurationProperties {
5479			if v == nil {
5480				continue
5481			}
5482			if err := v.Validate(); err != nil {
5483				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConfigurationProperties", i), err.(request.ErrInvalidParams))
5484			}
5485		}
5486	}
5487	if s.InputArtifactDetails != nil {
5488		if err := s.InputArtifactDetails.Validate(); err != nil {
5489			invalidParams.AddNested("InputArtifactDetails", err.(request.ErrInvalidParams))
5490		}
5491	}
5492	if s.OutputArtifactDetails != nil {
5493		if err := s.OutputArtifactDetails.Validate(); err != nil {
5494			invalidParams.AddNested("OutputArtifactDetails", err.(request.ErrInvalidParams))
5495		}
5496	}
5497	if s.Settings != nil {
5498		if err := s.Settings.Validate(); err != nil {
5499			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
5500		}
5501	}
5502	if s.Tags != nil {
5503		for i, v := range s.Tags {
5504			if v == nil {
5505				continue
5506			}
5507			if err := v.Validate(); err != nil {
5508				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5509			}
5510		}
5511	}
5512
5513	if invalidParams.Len() > 0 {
5514		return invalidParams
5515	}
5516	return nil
5517}
5518
5519// SetCategory sets the Category field's value.
5520func (s *CreateCustomActionTypeInput) SetCategory(v string) *CreateCustomActionTypeInput {
5521	s.Category = &v
5522	return s
5523}
5524
5525// SetConfigurationProperties sets the ConfigurationProperties field's value.
5526func (s *CreateCustomActionTypeInput) SetConfigurationProperties(v []*ActionConfigurationProperty) *CreateCustomActionTypeInput {
5527	s.ConfigurationProperties = v
5528	return s
5529}
5530
5531// SetInputArtifactDetails sets the InputArtifactDetails field's value.
5532func (s *CreateCustomActionTypeInput) SetInputArtifactDetails(v *ArtifactDetails) *CreateCustomActionTypeInput {
5533	s.InputArtifactDetails = v
5534	return s
5535}
5536
5537// SetOutputArtifactDetails sets the OutputArtifactDetails field's value.
5538func (s *CreateCustomActionTypeInput) SetOutputArtifactDetails(v *ArtifactDetails) *CreateCustomActionTypeInput {
5539	s.OutputArtifactDetails = v
5540	return s
5541}
5542
5543// SetProvider sets the Provider field's value.
5544func (s *CreateCustomActionTypeInput) SetProvider(v string) *CreateCustomActionTypeInput {
5545	s.Provider = &v
5546	return s
5547}
5548
5549// SetSettings sets the Settings field's value.
5550func (s *CreateCustomActionTypeInput) SetSettings(v *ActionTypeSettings) *CreateCustomActionTypeInput {
5551	s.Settings = v
5552	return s
5553}
5554
5555// SetTags sets the Tags field's value.
5556func (s *CreateCustomActionTypeInput) SetTags(v []*Tag) *CreateCustomActionTypeInput {
5557	s.Tags = v
5558	return s
5559}
5560
5561// SetVersion sets the Version field's value.
5562func (s *CreateCustomActionTypeInput) SetVersion(v string) *CreateCustomActionTypeInput {
5563	s.Version = &v
5564	return s
5565}
5566
5567// Represents the output of a CreateCustomActionType operation.
5568type CreateCustomActionTypeOutput struct {
5569	_ struct{} `type:"structure"`
5570
5571	// Returns information about the details of an action type.
5572	//
5573	// ActionType is a required field
5574	ActionType *ActionType `locationName:"actionType" type:"structure" required:"true"`
5575
5576	// Specifies the tags applied to the custom action.
5577	Tags []*Tag `locationName:"tags" type:"list"`
5578}
5579
5580// String returns the string representation
5581func (s CreateCustomActionTypeOutput) String() string {
5582	return awsutil.Prettify(s)
5583}
5584
5585// GoString returns the string representation
5586func (s CreateCustomActionTypeOutput) GoString() string {
5587	return s.String()
5588}
5589
5590// SetActionType sets the ActionType field's value.
5591func (s *CreateCustomActionTypeOutput) SetActionType(v *ActionType) *CreateCustomActionTypeOutput {
5592	s.ActionType = v
5593	return s
5594}
5595
5596// SetTags sets the Tags field's value.
5597func (s *CreateCustomActionTypeOutput) SetTags(v []*Tag) *CreateCustomActionTypeOutput {
5598	s.Tags = v
5599	return s
5600}
5601
5602// Represents the input of a CreatePipeline action.
5603type CreatePipelineInput struct {
5604	_ struct{} `type:"structure"`
5605
5606	// Represents the structure of actions and stages to be performed in the pipeline.
5607	//
5608	// Pipeline is a required field
5609	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure" required:"true"`
5610
5611	// The tags for the pipeline.
5612	Tags []*Tag `locationName:"tags" type:"list"`
5613}
5614
5615// String returns the string representation
5616func (s CreatePipelineInput) String() string {
5617	return awsutil.Prettify(s)
5618}
5619
5620// GoString returns the string representation
5621func (s CreatePipelineInput) GoString() string {
5622	return s.String()
5623}
5624
5625// Validate inspects the fields of the type to determine if they are valid.
5626func (s *CreatePipelineInput) Validate() error {
5627	invalidParams := request.ErrInvalidParams{Context: "CreatePipelineInput"}
5628	if s.Pipeline == nil {
5629		invalidParams.Add(request.NewErrParamRequired("Pipeline"))
5630	}
5631	if s.Pipeline != nil {
5632		if err := s.Pipeline.Validate(); err != nil {
5633			invalidParams.AddNested("Pipeline", err.(request.ErrInvalidParams))
5634		}
5635	}
5636	if s.Tags != nil {
5637		for i, v := range s.Tags {
5638			if v == nil {
5639				continue
5640			}
5641			if err := v.Validate(); err != nil {
5642				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5643			}
5644		}
5645	}
5646
5647	if invalidParams.Len() > 0 {
5648		return invalidParams
5649	}
5650	return nil
5651}
5652
5653// SetPipeline sets the Pipeline field's value.
5654func (s *CreatePipelineInput) SetPipeline(v *PipelineDeclaration) *CreatePipelineInput {
5655	s.Pipeline = v
5656	return s
5657}
5658
5659// SetTags sets the Tags field's value.
5660func (s *CreatePipelineInput) SetTags(v []*Tag) *CreatePipelineInput {
5661	s.Tags = v
5662	return s
5663}
5664
5665// Represents the output of a CreatePipeline action.
5666type CreatePipelineOutput struct {
5667	_ struct{} `type:"structure"`
5668
5669	// Represents the structure of actions and stages to be performed in the pipeline.
5670	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure"`
5671
5672	// Specifies the tags applied to the pipeline.
5673	Tags []*Tag `locationName:"tags" type:"list"`
5674}
5675
5676// String returns the string representation
5677func (s CreatePipelineOutput) String() string {
5678	return awsutil.Prettify(s)
5679}
5680
5681// GoString returns the string representation
5682func (s CreatePipelineOutput) GoString() string {
5683	return s.String()
5684}
5685
5686// SetPipeline sets the Pipeline field's value.
5687func (s *CreatePipelineOutput) SetPipeline(v *PipelineDeclaration) *CreatePipelineOutput {
5688	s.Pipeline = v
5689	return s
5690}
5691
5692// SetTags sets the Tags field's value.
5693func (s *CreatePipelineOutput) SetTags(v []*Tag) *CreatePipelineOutput {
5694	s.Tags = v
5695	return s
5696}
5697
5698// Represents information about a current revision.
5699type CurrentRevision struct {
5700	_ struct{} `type:"structure"`
5701
5702	// The change identifier for the current revision.
5703	//
5704	// ChangeIdentifier is a required field
5705	ChangeIdentifier *string `locationName:"changeIdentifier" min:"1" type:"string" required:"true"`
5706
5707	// The date and time when the most recent revision of the artifact was created,
5708	// in timestamp format.
5709	Created *time.Time `locationName:"created" type:"timestamp"`
5710
5711	// The revision ID of the current version of an artifact.
5712	//
5713	// Revision is a required field
5714	Revision *string `locationName:"revision" min:"1" type:"string" required:"true"`
5715
5716	// The summary of the most recent revision of the artifact.
5717	RevisionSummary *string `locationName:"revisionSummary" min:"1" type:"string"`
5718}
5719
5720// String returns the string representation
5721func (s CurrentRevision) String() string {
5722	return awsutil.Prettify(s)
5723}
5724
5725// GoString returns the string representation
5726func (s CurrentRevision) GoString() string {
5727	return s.String()
5728}
5729
5730// Validate inspects the fields of the type to determine if they are valid.
5731func (s *CurrentRevision) Validate() error {
5732	invalidParams := request.ErrInvalidParams{Context: "CurrentRevision"}
5733	if s.ChangeIdentifier == nil {
5734		invalidParams.Add(request.NewErrParamRequired("ChangeIdentifier"))
5735	}
5736	if s.ChangeIdentifier != nil && len(*s.ChangeIdentifier) < 1 {
5737		invalidParams.Add(request.NewErrParamMinLen("ChangeIdentifier", 1))
5738	}
5739	if s.Revision == nil {
5740		invalidParams.Add(request.NewErrParamRequired("Revision"))
5741	}
5742	if s.Revision != nil && len(*s.Revision) < 1 {
5743		invalidParams.Add(request.NewErrParamMinLen("Revision", 1))
5744	}
5745	if s.RevisionSummary != nil && len(*s.RevisionSummary) < 1 {
5746		invalidParams.Add(request.NewErrParamMinLen("RevisionSummary", 1))
5747	}
5748
5749	if invalidParams.Len() > 0 {
5750		return invalidParams
5751	}
5752	return nil
5753}
5754
5755// SetChangeIdentifier sets the ChangeIdentifier field's value.
5756func (s *CurrentRevision) SetChangeIdentifier(v string) *CurrentRevision {
5757	s.ChangeIdentifier = &v
5758	return s
5759}
5760
5761// SetCreated sets the Created field's value.
5762func (s *CurrentRevision) SetCreated(v time.Time) *CurrentRevision {
5763	s.Created = &v
5764	return s
5765}
5766
5767// SetRevision sets the Revision field's value.
5768func (s *CurrentRevision) SetRevision(v string) *CurrentRevision {
5769	s.Revision = &v
5770	return s
5771}
5772
5773// SetRevisionSummary sets the RevisionSummary field's value.
5774func (s *CurrentRevision) SetRevisionSummary(v string) *CurrentRevision {
5775	s.RevisionSummary = &v
5776	return s
5777}
5778
5779// Represents the input of a DeleteCustomActionType operation. The custom action
5780// will be marked as deleted.
5781type DeleteCustomActionTypeInput struct {
5782	_ struct{} `type:"structure"`
5783
5784	// The category of the custom action that you want to delete, such as source
5785	// or deploy.
5786	//
5787	// Category is a required field
5788	Category *string `locationName:"category" type:"string" required:"true" enum:"ActionCategory"`
5789
5790	// The provider of the service used in the custom action, such as AWS CodeDeploy.
5791	//
5792	// Provider is a required field
5793	Provider *string `locationName:"provider" min:"1" type:"string" required:"true"`
5794
5795	// The version of the custom action to delete.
5796	//
5797	// Version is a required field
5798	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
5799}
5800
5801// String returns the string representation
5802func (s DeleteCustomActionTypeInput) String() string {
5803	return awsutil.Prettify(s)
5804}
5805
5806// GoString returns the string representation
5807func (s DeleteCustomActionTypeInput) GoString() string {
5808	return s.String()
5809}
5810
5811// Validate inspects the fields of the type to determine if they are valid.
5812func (s *DeleteCustomActionTypeInput) Validate() error {
5813	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomActionTypeInput"}
5814	if s.Category == nil {
5815		invalidParams.Add(request.NewErrParamRequired("Category"))
5816	}
5817	if s.Provider == nil {
5818		invalidParams.Add(request.NewErrParamRequired("Provider"))
5819	}
5820	if s.Provider != nil && len(*s.Provider) < 1 {
5821		invalidParams.Add(request.NewErrParamMinLen("Provider", 1))
5822	}
5823	if s.Version == nil {
5824		invalidParams.Add(request.NewErrParamRequired("Version"))
5825	}
5826	if s.Version != nil && len(*s.Version) < 1 {
5827		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
5828	}
5829
5830	if invalidParams.Len() > 0 {
5831		return invalidParams
5832	}
5833	return nil
5834}
5835
5836// SetCategory sets the Category field's value.
5837func (s *DeleteCustomActionTypeInput) SetCategory(v string) *DeleteCustomActionTypeInput {
5838	s.Category = &v
5839	return s
5840}
5841
5842// SetProvider sets the Provider field's value.
5843func (s *DeleteCustomActionTypeInput) SetProvider(v string) *DeleteCustomActionTypeInput {
5844	s.Provider = &v
5845	return s
5846}
5847
5848// SetVersion sets the Version field's value.
5849func (s *DeleteCustomActionTypeInput) SetVersion(v string) *DeleteCustomActionTypeInput {
5850	s.Version = &v
5851	return s
5852}
5853
5854type DeleteCustomActionTypeOutput struct {
5855	_ struct{} `type:"structure"`
5856}
5857
5858// String returns the string representation
5859func (s DeleteCustomActionTypeOutput) String() string {
5860	return awsutil.Prettify(s)
5861}
5862
5863// GoString returns the string representation
5864func (s DeleteCustomActionTypeOutput) GoString() string {
5865	return s.String()
5866}
5867
5868// Represents the input of a DeletePipeline action.
5869type DeletePipelineInput struct {
5870	_ struct{} `type:"structure"`
5871
5872	// The name of the pipeline to be deleted.
5873	//
5874	// Name is a required field
5875	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5876}
5877
5878// String returns the string representation
5879func (s DeletePipelineInput) String() string {
5880	return awsutil.Prettify(s)
5881}
5882
5883// GoString returns the string representation
5884func (s DeletePipelineInput) GoString() string {
5885	return s.String()
5886}
5887
5888// Validate inspects the fields of the type to determine if they are valid.
5889func (s *DeletePipelineInput) Validate() error {
5890	invalidParams := request.ErrInvalidParams{Context: "DeletePipelineInput"}
5891	if s.Name == nil {
5892		invalidParams.Add(request.NewErrParamRequired("Name"))
5893	}
5894	if s.Name != nil && len(*s.Name) < 1 {
5895		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5896	}
5897
5898	if invalidParams.Len() > 0 {
5899		return invalidParams
5900	}
5901	return nil
5902}
5903
5904// SetName sets the Name field's value.
5905func (s *DeletePipelineInput) SetName(v string) *DeletePipelineInput {
5906	s.Name = &v
5907	return s
5908}
5909
5910type DeletePipelineOutput struct {
5911	_ struct{} `type:"structure"`
5912}
5913
5914// String returns the string representation
5915func (s DeletePipelineOutput) String() string {
5916	return awsutil.Prettify(s)
5917}
5918
5919// GoString returns the string representation
5920func (s DeletePipelineOutput) GoString() string {
5921	return s.String()
5922}
5923
5924type DeleteWebhookInput struct {
5925	_ struct{} `type:"structure"`
5926
5927	// The name of the webhook you want to delete.
5928	//
5929	// Name is a required field
5930	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5931}
5932
5933// String returns the string representation
5934func (s DeleteWebhookInput) String() string {
5935	return awsutil.Prettify(s)
5936}
5937
5938// GoString returns the string representation
5939func (s DeleteWebhookInput) GoString() string {
5940	return s.String()
5941}
5942
5943// Validate inspects the fields of the type to determine if they are valid.
5944func (s *DeleteWebhookInput) Validate() error {
5945	invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"}
5946	if s.Name == nil {
5947		invalidParams.Add(request.NewErrParamRequired("Name"))
5948	}
5949	if s.Name != nil && len(*s.Name) < 1 {
5950		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5951	}
5952
5953	if invalidParams.Len() > 0 {
5954		return invalidParams
5955	}
5956	return nil
5957}
5958
5959// SetName sets the Name field's value.
5960func (s *DeleteWebhookInput) SetName(v string) *DeleteWebhookInput {
5961	s.Name = &v
5962	return s
5963}
5964
5965type DeleteWebhookOutput struct {
5966	_ struct{} `type:"structure"`
5967}
5968
5969// String returns the string representation
5970func (s DeleteWebhookOutput) String() string {
5971	return awsutil.Prettify(s)
5972}
5973
5974// GoString returns the string representation
5975func (s DeleteWebhookOutput) GoString() string {
5976	return s.String()
5977}
5978
5979type DeregisterWebhookWithThirdPartyInput struct {
5980	_ struct{} `type:"structure"`
5981
5982	// The name of the webhook you want to deregister.
5983	WebhookName *string `locationName:"webhookName" min:"1" type:"string"`
5984}
5985
5986// String returns the string representation
5987func (s DeregisterWebhookWithThirdPartyInput) String() string {
5988	return awsutil.Prettify(s)
5989}
5990
5991// GoString returns the string representation
5992func (s DeregisterWebhookWithThirdPartyInput) GoString() string {
5993	return s.String()
5994}
5995
5996// Validate inspects the fields of the type to determine if they are valid.
5997func (s *DeregisterWebhookWithThirdPartyInput) Validate() error {
5998	invalidParams := request.ErrInvalidParams{Context: "DeregisterWebhookWithThirdPartyInput"}
5999	if s.WebhookName != nil && len(*s.WebhookName) < 1 {
6000		invalidParams.Add(request.NewErrParamMinLen("WebhookName", 1))
6001	}
6002
6003	if invalidParams.Len() > 0 {
6004		return invalidParams
6005	}
6006	return nil
6007}
6008
6009// SetWebhookName sets the WebhookName field's value.
6010func (s *DeregisterWebhookWithThirdPartyInput) SetWebhookName(v string) *DeregisterWebhookWithThirdPartyInput {
6011	s.WebhookName = &v
6012	return s
6013}
6014
6015type DeregisterWebhookWithThirdPartyOutput struct {
6016	_ struct{} `type:"structure"`
6017}
6018
6019// String returns the string representation
6020func (s DeregisterWebhookWithThirdPartyOutput) String() string {
6021	return awsutil.Prettify(s)
6022}
6023
6024// GoString returns the string representation
6025func (s DeregisterWebhookWithThirdPartyOutput) GoString() string {
6026	return s.String()
6027}
6028
6029// Represents the input of a DisableStageTransition action.
6030type DisableStageTransitionInput struct {
6031	_ struct{} `type:"structure"`
6032
6033	// The name of the pipeline in which you want to disable the flow of artifacts
6034	// from one stage to another.
6035	//
6036	// PipelineName is a required field
6037	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
6038
6039	// The reason given to the user that a stage is disabled, such as waiting for
6040	// manual approval or manual tests. This message is displayed in the pipeline
6041	// console UI.
6042	//
6043	// Reason is a required field
6044	Reason *string `locationName:"reason" min:"1" type:"string" required:"true"`
6045
6046	// The name of the stage where you want to disable the inbound or outbound transition
6047	// of artifacts.
6048	//
6049	// StageName is a required field
6050	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
6051
6052	// Specifies whether artifacts are prevented from transitioning into the stage
6053	// and being processed by the actions in that stage (inbound), or prevented
6054	// from transitioning from the stage after they have been processed by the actions
6055	// in that stage (outbound).
6056	//
6057	// TransitionType is a required field
6058	TransitionType *string `locationName:"transitionType" type:"string" required:"true" enum:"StageTransitionType"`
6059}
6060
6061// String returns the string representation
6062func (s DisableStageTransitionInput) String() string {
6063	return awsutil.Prettify(s)
6064}
6065
6066// GoString returns the string representation
6067func (s DisableStageTransitionInput) GoString() string {
6068	return s.String()
6069}
6070
6071// Validate inspects the fields of the type to determine if they are valid.
6072func (s *DisableStageTransitionInput) Validate() error {
6073	invalidParams := request.ErrInvalidParams{Context: "DisableStageTransitionInput"}
6074	if s.PipelineName == nil {
6075		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
6076	}
6077	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
6078		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
6079	}
6080	if s.Reason == nil {
6081		invalidParams.Add(request.NewErrParamRequired("Reason"))
6082	}
6083	if s.Reason != nil && len(*s.Reason) < 1 {
6084		invalidParams.Add(request.NewErrParamMinLen("Reason", 1))
6085	}
6086	if s.StageName == nil {
6087		invalidParams.Add(request.NewErrParamRequired("StageName"))
6088	}
6089	if s.StageName != nil && len(*s.StageName) < 1 {
6090		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
6091	}
6092	if s.TransitionType == nil {
6093		invalidParams.Add(request.NewErrParamRequired("TransitionType"))
6094	}
6095
6096	if invalidParams.Len() > 0 {
6097		return invalidParams
6098	}
6099	return nil
6100}
6101
6102// SetPipelineName sets the PipelineName field's value.
6103func (s *DisableStageTransitionInput) SetPipelineName(v string) *DisableStageTransitionInput {
6104	s.PipelineName = &v
6105	return s
6106}
6107
6108// SetReason sets the Reason field's value.
6109func (s *DisableStageTransitionInput) SetReason(v string) *DisableStageTransitionInput {
6110	s.Reason = &v
6111	return s
6112}
6113
6114// SetStageName sets the StageName field's value.
6115func (s *DisableStageTransitionInput) SetStageName(v string) *DisableStageTransitionInput {
6116	s.StageName = &v
6117	return s
6118}
6119
6120// SetTransitionType sets the TransitionType field's value.
6121func (s *DisableStageTransitionInput) SetTransitionType(v string) *DisableStageTransitionInput {
6122	s.TransitionType = &v
6123	return s
6124}
6125
6126type DisableStageTransitionOutput struct {
6127	_ struct{} `type:"structure"`
6128}
6129
6130// String returns the string representation
6131func (s DisableStageTransitionOutput) String() string {
6132	return awsutil.Prettify(s)
6133}
6134
6135// GoString returns the string representation
6136func (s DisableStageTransitionOutput) GoString() string {
6137	return s.String()
6138}
6139
6140// Represents the input of an EnableStageTransition action.
6141type EnableStageTransitionInput struct {
6142	_ struct{} `type:"structure"`
6143
6144	// The name of the pipeline in which you want to enable the flow of artifacts
6145	// from one stage to another.
6146	//
6147	// PipelineName is a required field
6148	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
6149
6150	// The name of the stage where you want to enable the transition of artifacts,
6151	// either into the stage (inbound) or from that stage to the next stage (outbound).
6152	//
6153	// StageName is a required field
6154	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
6155
6156	// Specifies whether artifacts are allowed to enter the stage and be processed
6157	// by the actions in that stage (inbound) or whether already processed artifacts
6158	// are allowed to transition to the next stage (outbound).
6159	//
6160	// TransitionType is a required field
6161	TransitionType *string `locationName:"transitionType" type:"string" required:"true" enum:"StageTransitionType"`
6162}
6163
6164// String returns the string representation
6165func (s EnableStageTransitionInput) String() string {
6166	return awsutil.Prettify(s)
6167}
6168
6169// GoString returns the string representation
6170func (s EnableStageTransitionInput) GoString() string {
6171	return s.String()
6172}
6173
6174// Validate inspects the fields of the type to determine if they are valid.
6175func (s *EnableStageTransitionInput) Validate() error {
6176	invalidParams := request.ErrInvalidParams{Context: "EnableStageTransitionInput"}
6177	if s.PipelineName == nil {
6178		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
6179	}
6180	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
6181		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
6182	}
6183	if s.StageName == nil {
6184		invalidParams.Add(request.NewErrParamRequired("StageName"))
6185	}
6186	if s.StageName != nil && len(*s.StageName) < 1 {
6187		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
6188	}
6189	if s.TransitionType == nil {
6190		invalidParams.Add(request.NewErrParamRequired("TransitionType"))
6191	}
6192
6193	if invalidParams.Len() > 0 {
6194		return invalidParams
6195	}
6196	return nil
6197}
6198
6199// SetPipelineName sets the PipelineName field's value.
6200func (s *EnableStageTransitionInput) SetPipelineName(v string) *EnableStageTransitionInput {
6201	s.PipelineName = &v
6202	return s
6203}
6204
6205// SetStageName sets the StageName field's value.
6206func (s *EnableStageTransitionInput) SetStageName(v string) *EnableStageTransitionInput {
6207	s.StageName = &v
6208	return s
6209}
6210
6211// SetTransitionType sets the TransitionType field's value.
6212func (s *EnableStageTransitionInput) SetTransitionType(v string) *EnableStageTransitionInput {
6213	s.TransitionType = &v
6214	return s
6215}
6216
6217type EnableStageTransitionOutput struct {
6218	_ struct{} `type:"structure"`
6219}
6220
6221// String returns the string representation
6222func (s EnableStageTransitionOutput) String() string {
6223	return awsutil.Prettify(s)
6224}
6225
6226// GoString returns the string representation
6227func (s EnableStageTransitionOutput) GoString() string {
6228	return s.String()
6229}
6230
6231// Represents information about the key used to encrypt data in the artifact
6232// store, such as an AWS Key Management Service (AWS KMS) key.
6233type EncryptionKey struct {
6234	_ struct{} `type:"structure"`
6235
6236	// The ID used to identify the key. For an AWS KMS key, you can use the key
6237	// ID, the key ARN, or the alias ARN.
6238	//
6239	// Aliases are recognized only in the account that created the customer master
6240	// key (CMK). For cross-account actions, you can only use the key ID or key
6241	// ARN to identify the key.
6242	//
6243	// Id is a required field
6244	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
6245
6246	// The type of encryption key, such as an AWS Key Management Service (AWS KMS)
6247	// key. When creating or updating a pipeline, the value must be set to 'KMS'.
6248	//
6249	// Type is a required field
6250	Type *string `locationName:"type" type:"string" required:"true" enum:"EncryptionKeyType"`
6251}
6252
6253// String returns the string representation
6254func (s EncryptionKey) String() string {
6255	return awsutil.Prettify(s)
6256}
6257
6258// GoString returns the string representation
6259func (s EncryptionKey) GoString() string {
6260	return s.String()
6261}
6262
6263// Validate inspects the fields of the type to determine if they are valid.
6264func (s *EncryptionKey) Validate() error {
6265	invalidParams := request.ErrInvalidParams{Context: "EncryptionKey"}
6266	if s.Id == nil {
6267		invalidParams.Add(request.NewErrParamRequired("Id"))
6268	}
6269	if s.Id != nil && len(*s.Id) < 1 {
6270		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6271	}
6272	if s.Type == nil {
6273		invalidParams.Add(request.NewErrParamRequired("Type"))
6274	}
6275
6276	if invalidParams.Len() > 0 {
6277		return invalidParams
6278	}
6279	return nil
6280}
6281
6282// SetId sets the Id field's value.
6283func (s *EncryptionKey) SetId(v string) *EncryptionKey {
6284	s.Id = &v
6285	return s
6286}
6287
6288// SetType sets the Type field's value.
6289func (s *EncryptionKey) SetType(v string) *EncryptionKey {
6290	s.Type = &v
6291	return s
6292}
6293
6294// Represents information about an error in AWS CodePipeline.
6295type ErrorDetails struct {
6296	_ struct{} `type:"structure"`
6297
6298	// The system ID or number code of the error.
6299	Code *string `locationName:"code" type:"string"`
6300
6301	// The text of the error message.
6302	Message *string `locationName:"message" min:"1" type:"string"`
6303}
6304
6305// String returns the string representation
6306func (s ErrorDetails) String() string {
6307	return awsutil.Prettify(s)
6308}
6309
6310// GoString returns the string representation
6311func (s ErrorDetails) GoString() string {
6312	return s.String()
6313}
6314
6315// SetCode sets the Code field's value.
6316func (s *ErrorDetails) SetCode(v string) *ErrorDetails {
6317	s.Code = &v
6318	return s
6319}
6320
6321// SetMessage sets the Message field's value.
6322func (s *ErrorDetails) SetMessage(v string) *ErrorDetails {
6323	s.Message = &v
6324	return s
6325}
6326
6327// The details of the actions taken and results produced on an artifact as it
6328// passes through stages in the pipeline.
6329type ExecutionDetails struct {
6330	_ struct{} `type:"structure"`
6331
6332	// The system-generated unique ID of this action used to identify this job worker
6333	// in any external systems, such as AWS CodeDeploy.
6334	ExternalExecutionId *string `locationName:"externalExecutionId" min:"1" type:"string"`
6335
6336	// The percentage of work completed on the action, represented on a scale of
6337	// 0 to 100 percent.
6338	PercentComplete *int64 `locationName:"percentComplete" type:"integer"`
6339
6340	// The summary of the current status of the actions.
6341	Summary *string `locationName:"summary" min:"1" type:"string"`
6342}
6343
6344// String returns the string representation
6345func (s ExecutionDetails) String() string {
6346	return awsutil.Prettify(s)
6347}
6348
6349// GoString returns the string representation
6350func (s ExecutionDetails) GoString() string {
6351	return s.String()
6352}
6353
6354// Validate inspects the fields of the type to determine if they are valid.
6355func (s *ExecutionDetails) Validate() error {
6356	invalidParams := request.ErrInvalidParams{Context: "ExecutionDetails"}
6357	if s.ExternalExecutionId != nil && len(*s.ExternalExecutionId) < 1 {
6358		invalidParams.Add(request.NewErrParamMinLen("ExternalExecutionId", 1))
6359	}
6360	if s.Summary != nil && len(*s.Summary) < 1 {
6361		invalidParams.Add(request.NewErrParamMinLen("Summary", 1))
6362	}
6363
6364	if invalidParams.Len() > 0 {
6365		return invalidParams
6366	}
6367	return nil
6368}
6369
6370// SetExternalExecutionId sets the ExternalExecutionId field's value.
6371func (s *ExecutionDetails) SetExternalExecutionId(v string) *ExecutionDetails {
6372	s.ExternalExecutionId = &v
6373	return s
6374}
6375
6376// SetPercentComplete sets the PercentComplete field's value.
6377func (s *ExecutionDetails) SetPercentComplete(v int64) *ExecutionDetails {
6378	s.PercentComplete = &v
6379	return s
6380}
6381
6382// SetSummary sets the Summary field's value.
6383func (s *ExecutionDetails) SetSummary(v string) *ExecutionDetails {
6384	s.Summary = &v
6385	return s
6386}
6387
6388// The interaction or event that started a pipeline execution.
6389type ExecutionTrigger struct {
6390	_ struct{} `type:"structure"`
6391
6392	// Detail related to the event that started a pipeline execution, such as the
6393	// webhook ARN of the webhook that triggered the pipeline execution or the user
6394	// ARN for a user-initiated start-pipeline-execution CLI command.
6395	TriggerDetail *string `locationName:"triggerDetail" type:"string"`
6396
6397	// The type of change-detection method, command, or user interaction that started
6398	// a pipeline execution.
6399	TriggerType *string `locationName:"triggerType" type:"string" enum:"TriggerType"`
6400}
6401
6402// String returns the string representation
6403func (s ExecutionTrigger) String() string {
6404	return awsutil.Prettify(s)
6405}
6406
6407// GoString returns the string representation
6408func (s ExecutionTrigger) GoString() string {
6409	return s.String()
6410}
6411
6412// SetTriggerDetail sets the TriggerDetail field's value.
6413func (s *ExecutionTrigger) SetTriggerDetail(v string) *ExecutionTrigger {
6414	s.TriggerDetail = &v
6415	return s
6416}
6417
6418// SetTriggerType sets the TriggerType field's value.
6419func (s *ExecutionTrigger) SetTriggerType(v string) *ExecutionTrigger {
6420	s.TriggerType = &v
6421	return s
6422}
6423
6424// Represents information about failure details.
6425type FailureDetails struct {
6426	_ struct{} `type:"structure"`
6427
6428	// The external ID of the run of the action that failed.
6429	ExternalExecutionId *string `locationName:"externalExecutionId" min:"1" type:"string"`
6430
6431	// The message about the failure.
6432	//
6433	// Message is a required field
6434	Message *string `locationName:"message" min:"1" type:"string" required:"true"`
6435
6436	// The type of the failure.
6437	//
6438	// Type is a required field
6439	Type *string `locationName:"type" type:"string" required:"true" enum:"FailureType"`
6440}
6441
6442// String returns the string representation
6443func (s FailureDetails) String() string {
6444	return awsutil.Prettify(s)
6445}
6446
6447// GoString returns the string representation
6448func (s FailureDetails) GoString() string {
6449	return s.String()
6450}
6451
6452// Validate inspects the fields of the type to determine if they are valid.
6453func (s *FailureDetails) Validate() error {
6454	invalidParams := request.ErrInvalidParams{Context: "FailureDetails"}
6455	if s.ExternalExecutionId != nil && len(*s.ExternalExecutionId) < 1 {
6456		invalidParams.Add(request.NewErrParamMinLen("ExternalExecutionId", 1))
6457	}
6458	if s.Message == nil {
6459		invalidParams.Add(request.NewErrParamRequired("Message"))
6460	}
6461	if s.Message != nil && len(*s.Message) < 1 {
6462		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
6463	}
6464	if s.Type == nil {
6465		invalidParams.Add(request.NewErrParamRequired("Type"))
6466	}
6467
6468	if invalidParams.Len() > 0 {
6469		return invalidParams
6470	}
6471	return nil
6472}
6473
6474// SetExternalExecutionId sets the ExternalExecutionId field's value.
6475func (s *FailureDetails) SetExternalExecutionId(v string) *FailureDetails {
6476	s.ExternalExecutionId = &v
6477	return s
6478}
6479
6480// SetMessage sets the Message field's value.
6481func (s *FailureDetails) SetMessage(v string) *FailureDetails {
6482	s.Message = &v
6483	return s
6484}
6485
6486// SetType sets the Type field's value.
6487func (s *FailureDetails) SetType(v string) *FailureDetails {
6488	s.Type = &v
6489	return s
6490}
6491
6492// Represents the input of a GetJobDetails action.
6493type GetJobDetailsInput struct {
6494	_ struct{} `type:"structure"`
6495
6496	// The unique system-generated ID for the job.
6497	//
6498	// JobId is a required field
6499	JobId *string `locationName:"jobId" type:"string" required:"true"`
6500}
6501
6502// String returns the string representation
6503func (s GetJobDetailsInput) String() string {
6504	return awsutil.Prettify(s)
6505}
6506
6507// GoString returns the string representation
6508func (s GetJobDetailsInput) GoString() string {
6509	return s.String()
6510}
6511
6512// Validate inspects the fields of the type to determine if they are valid.
6513func (s *GetJobDetailsInput) Validate() error {
6514	invalidParams := request.ErrInvalidParams{Context: "GetJobDetailsInput"}
6515	if s.JobId == nil {
6516		invalidParams.Add(request.NewErrParamRequired("JobId"))
6517	}
6518
6519	if invalidParams.Len() > 0 {
6520		return invalidParams
6521	}
6522	return nil
6523}
6524
6525// SetJobId sets the JobId field's value.
6526func (s *GetJobDetailsInput) SetJobId(v string) *GetJobDetailsInput {
6527	s.JobId = &v
6528	return s
6529}
6530
6531// Represents the output of a GetJobDetails action.
6532type GetJobDetailsOutput struct {
6533	_ struct{} `type:"structure"`
6534
6535	// The details of the job.
6536	//
6537	// If AWSSessionCredentials is used, a long-running job can call GetJobDetails
6538	// again to obtain new credentials.
6539	JobDetails *JobDetails `locationName:"jobDetails" type:"structure"`
6540}
6541
6542// String returns the string representation
6543func (s GetJobDetailsOutput) String() string {
6544	return awsutil.Prettify(s)
6545}
6546
6547// GoString returns the string representation
6548func (s GetJobDetailsOutput) GoString() string {
6549	return s.String()
6550}
6551
6552// SetJobDetails sets the JobDetails field's value.
6553func (s *GetJobDetailsOutput) SetJobDetails(v *JobDetails) *GetJobDetailsOutput {
6554	s.JobDetails = v
6555	return s
6556}
6557
6558// Represents the input of a GetPipelineExecution action.
6559type GetPipelineExecutionInput struct {
6560	_ struct{} `type:"structure"`
6561
6562	// The ID of the pipeline execution about which you want to get execution details.
6563	//
6564	// PipelineExecutionId is a required field
6565	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string" required:"true"`
6566
6567	// The name of the pipeline about which you want to get execution details.
6568	//
6569	// PipelineName is a required field
6570	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
6571}
6572
6573// String returns the string representation
6574func (s GetPipelineExecutionInput) String() string {
6575	return awsutil.Prettify(s)
6576}
6577
6578// GoString returns the string representation
6579func (s GetPipelineExecutionInput) GoString() string {
6580	return s.String()
6581}
6582
6583// Validate inspects the fields of the type to determine if they are valid.
6584func (s *GetPipelineExecutionInput) Validate() error {
6585	invalidParams := request.ErrInvalidParams{Context: "GetPipelineExecutionInput"}
6586	if s.PipelineExecutionId == nil {
6587		invalidParams.Add(request.NewErrParamRequired("PipelineExecutionId"))
6588	}
6589	if s.PipelineName == nil {
6590		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
6591	}
6592	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
6593		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
6594	}
6595
6596	if invalidParams.Len() > 0 {
6597		return invalidParams
6598	}
6599	return nil
6600}
6601
6602// SetPipelineExecutionId sets the PipelineExecutionId field's value.
6603func (s *GetPipelineExecutionInput) SetPipelineExecutionId(v string) *GetPipelineExecutionInput {
6604	s.PipelineExecutionId = &v
6605	return s
6606}
6607
6608// SetPipelineName sets the PipelineName field's value.
6609func (s *GetPipelineExecutionInput) SetPipelineName(v string) *GetPipelineExecutionInput {
6610	s.PipelineName = &v
6611	return s
6612}
6613
6614// Represents the output of a GetPipelineExecution action.
6615type GetPipelineExecutionOutput struct {
6616	_ struct{} `type:"structure"`
6617
6618	// Represents information about the execution of a pipeline.
6619	PipelineExecution *PipelineExecution `locationName:"pipelineExecution" type:"structure"`
6620}
6621
6622// String returns the string representation
6623func (s GetPipelineExecutionOutput) String() string {
6624	return awsutil.Prettify(s)
6625}
6626
6627// GoString returns the string representation
6628func (s GetPipelineExecutionOutput) GoString() string {
6629	return s.String()
6630}
6631
6632// SetPipelineExecution sets the PipelineExecution field's value.
6633func (s *GetPipelineExecutionOutput) SetPipelineExecution(v *PipelineExecution) *GetPipelineExecutionOutput {
6634	s.PipelineExecution = v
6635	return s
6636}
6637
6638// Represents the input of a GetPipeline action.
6639type GetPipelineInput struct {
6640	_ struct{} `type:"structure"`
6641
6642	// The name of the pipeline for which you want to get information. Pipeline
6643	// names must be unique under an AWS user account.
6644	//
6645	// Name is a required field
6646	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6647
6648	// The version number of the pipeline. If you do not specify a version, defaults
6649	// to the current version.
6650	Version *int64 `locationName:"version" min:"1" type:"integer"`
6651}
6652
6653// String returns the string representation
6654func (s GetPipelineInput) String() string {
6655	return awsutil.Prettify(s)
6656}
6657
6658// GoString returns the string representation
6659func (s GetPipelineInput) GoString() string {
6660	return s.String()
6661}
6662
6663// Validate inspects the fields of the type to determine if they are valid.
6664func (s *GetPipelineInput) Validate() error {
6665	invalidParams := request.ErrInvalidParams{Context: "GetPipelineInput"}
6666	if s.Name == nil {
6667		invalidParams.Add(request.NewErrParamRequired("Name"))
6668	}
6669	if s.Name != nil && len(*s.Name) < 1 {
6670		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6671	}
6672	if s.Version != nil && *s.Version < 1 {
6673		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
6674	}
6675
6676	if invalidParams.Len() > 0 {
6677		return invalidParams
6678	}
6679	return nil
6680}
6681
6682// SetName sets the Name field's value.
6683func (s *GetPipelineInput) SetName(v string) *GetPipelineInput {
6684	s.Name = &v
6685	return s
6686}
6687
6688// SetVersion sets the Version field's value.
6689func (s *GetPipelineInput) SetVersion(v int64) *GetPipelineInput {
6690	s.Version = &v
6691	return s
6692}
6693
6694// Represents the output of a GetPipeline action.
6695type GetPipelineOutput struct {
6696	_ struct{} `type:"structure"`
6697
6698	// Represents the pipeline metadata information returned as part of the output
6699	// of a GetPipeline action.
6700	Metadata *PipelineMetadata `locationName:"metadata" type:"structure"`
6701
6702	// Represents the structure of actions and stages to be performed in the pipeline.
6703	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure"`
6704}
6705
6706// String returns the string representation
6707func (s GetPipelineOutput) String() string {
6708	return awsutil.Prettify(s)
6709}
6710
6711// GoString returns the string representation
6712func (s GetPipelineOutput) GoString() string {
6713	return s.String()
6714}
6715
6716// SetMetadata sets the Metadata field's value.
6717func (s *GetPipelineOutput) SetMetadata(v *PipelineMetadata) *GetPipelineOutput {
6718	s.Metadata = v
6719	return s
6720}
6721
6722// SetPipeline sets the Pipeline field's value.
6723func (s *GetPipelineOutput) SetPipeline(v *PipelineDeclaration) *GetPipelineOutput {
6724	s.Pipeline = v
6725	return s
6726}
6727
6728// Represents the input of a GetPipelineState action.
6729type GetPipelineStateInput struct {
6730	_ struct{} `type:"structure"`
6731
6732	// The name of the pipeline about which you want to get information.
6733	//
6734	// Name is a required field
6735	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6736}
6737
6738// String returns the string representation
6739func (s GetPipelineStateInput) String() string {
6740	return awsutil.Prettify(s)
6741}
6742
6743// GoString returns the string representation
6744func (s GetPipelineStateInput) GoString() string {
6745	return s.String()
6746}
6747
6748// Validate inspects the fields of the type to determine if they are valid.
6749func (s *GetPipelineStateInput) Validate() error {
6750	invalidParams := request.ErrInvalidParams{Context: "GetPipelineStateInput"}
6751	if s.Name == nil {
6752		invalidParams.Add(request.NewErrParamRequired("Name"))
6753	}
6754	if s.Name != nil && len(*s.Name) < 1 {
6755		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6756	}
6757
6758	if invalidParams.Len() > 0 {
6759		return invalidParams
6760	}
6761	return nil
6762}
6763
6764// SetName sets the Name field's value.
6765func (s *GetPipelineStateInput) SetName(v string) *GetPipelineStateInput {
6766	s.Name = &v
6767	return s
6768}
6769
6770// Represents the output of a GetPipelineState action.
6771type GetPipelineStateOutput struct {
6772	_ struct{} `type:"structure"`
6773
6774	// The date and time the pipeline was created, in timestamp format.
6775	Created *time.Time `locationName:"created" type:"timestamp"`
6776
6777	// The name of the pipeline for which you want to get the state.
6778	PipelineName *string `locationName:"pipelineName" min:"1" type:"string"`
6779
6780	// The version number of the pipeline.
6781	//
6782	// A newly created pipeline is always assigned a version number of 1.
6783	PipelineVersion *int64 `locationName:"pipelineVersion" min:"1" type:"integer"`
6784
6785	// A list of the pipeline stage output information, including stage name, state,
6786	// most recent run details, whether the stage is disabled, and other data.
6787	StageStates []*StageState `locationName:"stageStates" type:"list"`
6788
6789	// The date and time the pipeline was last updated, in timestamp format.
6790	Updated *time.Time `locationName:"updated" type:"timestamp"`
6791}
6792
6793// String returns the string representation
6794func (s GetPipelineStateOutput) String() string {
6795	return awsutil.Prettify(s)
6796}
6797
6798// GoString returns the string representation
6799func (s GetPipelineStateOutput) GoString() string {
6800	return s.String()
6801}
6802
6803// SetCreated sets the Created field's value.
6804func (s *GetPipelineStateOutput) SetCreated(v time.Time) *GetPipelineStateOutput {
6805	s.Created = &v
6806	return s
6807}
6808
6809// SetPipelineName sets the PipelineName field's value.
6810func (s *GetPipelineStateOutput) SetPipelineName(v string) *GetPipelineStateOutput {
6811	s.PipelineName = &v
6812	return s
6813}
6814
6815// SetPipelineVersion sets the PipelineVersion field's value.
6816func (s *GetPipelineStateOutput) SetPipelineVersion(v int64) *GetPipelineStateOutput {
6817	s.PipelineVersion = &v
6818	return s
6819}
6820
6821// SetStageStates sets the StageStates field's value.
6822func (s *GetPipelineStateOutput) SetStageStates(v []*StageState) *GetPipelineStateOutput {
6823	s.StageStates = v
6824	return s
6825}
6826
6827// SetUpdated sets the Updated field's value.
6828func (s *GetPipelineStateOutput) SetUpdated(v time.Time) *GetPipelineStateOutput {
6829	s.Updated = &v
6830	return s
6831}
6832
6833// Represents the input of a GetThirdPartyJobDetails action.
6834type GetThirdPartyJobDetailsInput struct {
6835	_ struct{} `type:"structure"`
6836
6837	// The clientToken portion of the clientId and clientToken pair used to verify
6838	// that the calling entity is allowed access to the job and its details.
6839	//
6840	// ClientToken is a required field
6841	ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"`
6842
6843	// The unique system-generated ID used for identifying the job.
6844	//
6845	// JobId is a required field
6846	JobId *string `locationName:"jobId" min:"1" type:"string" required:"true"`
6847}
6848
6849// String returns the string representation
6850func (s GetThirdPartyJobDetailsInput) String() string {
6851	return awsutil.Prettify(s)
6852}
6853
6854// GoString returns the string representation
6855func (s GetThirdPartyJobDetailsInput) GoString() string {
6856	return s.String()
6857}
6858
6859// Validate inspects the fields of the type to determine if they are valid.
6860func (s *GetThirdPartyJobDetailsInput) Validate() error {
6861	invalidParams := request.ErrInvalidParams{Context: "GetThirdPartyJobDetailsInput"}
6862	if s.ClientToken == nil {
6863		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
6864	}
6865	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
6866		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
6867	}
6868	if s.JobId == nil {
6869		invalidParams.Add(request.NewErrParamRequired("JobId"))
6870	}
6871	if s.JobId != nil && len(*s.JobId) < 1 {
6872		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
6873	}
6874
6875	if invalidParams.Len() > 0 {
6876		return invalidParams
6877	}
6878	return nil
6879}
6880
6881// SetClientToken sets the ClientToken field's value.
6882func (s *GetThirdPartyJobDetailsInput) SetClientToken(v string) *GetThirdPartyJobDetailsInput {
6883	s.ClientToken = &v
6884	return s
6885}
6886
6887// SetJobId sets the JobId field's value.
6888func (s *GetThirdPartyJobDetailsInput) SetJobId(v string) *GetThirdPartyJobDetailsInput {
6889	s.JobId = &v
6890	return s
6891}
6892
6893// Represents the output of a GetThirdPartyJobDetails action.
6894type GetThirdPartyJobDetailsOutput struct {
6895	_ struct{} `type:"structure"`
6896
6897	// The details of the job, including any protected values defined for the job.
6898	JobDetails *ThirdPartyJobDetails `locationName:"jobDetails" type:"structure"`
6899}
6900
6901// String returns the string representation
6902func (s GetThirdPartyJobDetailsOutput) String() string {
6903	return awsutil.Prettify(s)
6904}
6905
6906// GoString returns the string representation
6907func (s GetThirdPartyJobDetailsOutput) GoString() string {
6908	return s.String()
6909}
6910
6911// SetJobDetails sets the JobDetails field's value.
6912func (s *GetThirdPartyJobDetailsOutput) SetJobDetails(v *ThirdPartyJobDetails) *GetThirdPartyJobDetailsOutput {
6913	s.JobDetails = v
6914	return s
6915}
6916
6917// Represents information about an artifact to be worked on, such as a test
6918// or build artifact.
6919type InputArtifact struct {
6920	_ struct{} `type:"structure"`
6921
6922	// The name of the artifact to be worked on (for example, "My App").
6923	//
6924	// The input artifact of an action must exactly match the output artifact declared
6925	// in a preceding action, but the input artifact does not have to be the next
6926	// action in strict sequence from the action that provided the output artifact.
6927	// Actions in parallel can declare different output artifacts, which are in
6928	// turn consumed by different following actions.
6929	//
6930	// Name is a required field
6931	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6932}
6933
6934// String returns the string representation
6935func (s InputArtifact) String() string {
6936	return awsutil.Prettify(s)
6937}
6938
6939// GoString returns the string representation
6940func (s InputArtifact) GoString() string {
6941	return s.String()
6942}
6943
6944// Validate inspects the fields of the type to determine if they are valid.
6945func (s *InputArtifact) Validate() error {
6946	invalidParams := request.ErrInvalidParams{Context: "InputArtifact"}
6947	if s.Name == nil {
6948		invalidParams.Add(request.NewErrParamRequired("Name"))
6949	}
6950	if s.Name != nil && len(*s.Name) < 1 {
6951		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6952	}
6953
6954	if invalidParams.Len() > 0 {
6955		return invalidParams
6956	}
6957	return nil
6958}
6959
6960// SetName sets the Name field's value.
6961func (s *InputArtifact) SetName(v string) *InputArtifact {
6962	s.Name = &v
6963	return s
6964}
6965
6966// Represents information about a job.
6967type Job struct {
6968	_ struct{} `type:"structure"`
6969
6970	// The ID of the AWS account to use when performing the job.
6971	AccountId *string `locationName:"accountId" type:"string"`
6972
6973	// Other data about a job.
6974	Data *JobData `locationName:"data" type:"structure"`
6975
6976	// The unique system-generated ID of the job.
6977	Id *string `locationName:"id" type:"string"`
6978
6979	// A system-generated random number that AWS CodePipeline uses to ensure that
6980	// the job is being worked on by only one job worker. Use this number in an
6981	// AcknowledgeJob request.
6982	Nonce *string `locationName:"nonce" min:"1" type:"string"`
6983}
6984
6985// String returns the string representation
6986func (s Job) String() string {
6987	return awsutil.Prettify(s)
6988}
6989
6990// GoString returns the string representation
6991func (s Job) GoString() string {
6992	return s.String()
6993}
6994
6995// SetAccountId sets the AccountId field's value.
6996func (s *Job) SetAccountId(v string) *Job {
6997	s.AccountId = &v
6998	return s
6999}
7000
7001// SetData sets the Data field's value.
7002func (s *Job) SetData(v *JobData) *Job {
7003	s.Data = v
7004	return s
7005}
7006
7007// SetId sets the Id field's value.
7008func (s *Job) SetId(v string) *Job {
7009	s.Id = &v
7010	return s
7011}
7012
7013// SetNonce sets the Nonce field's value.
7014func (s *Job) SetNonce(v string) *Job {
7015	s.Nonce = &v
7016	return s
7017}
7018
7019// Represents other information about a job required for a job worker to complete
7020// the job.
7021type JobData struct {
7022	_ struct{} `type:"structure"`
7023
7024	// Represents information about an action configuration.
7025	ActionConfiguration *ActionConfiguration `locationName:"actionConfiguration" type:"structure"`
7026
7027	// Represents information about an action type.
7028	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure"`
7029
7030	// Represents an AWS session credentials object. These credentials are temporary
7031	// credentials that are issued by AWS Secure Token Service (STS). They can be
7032	// used to access input and output artifacts in the Amazon S3 bucket used to
7033	// store artifacts for the pipeline in AWS CodePipeline.
7034	ArtifactCredentials *AWSSessionCredentials `locationName:"artifactCredentials" type:"structure" sensitive:"true"`
7035
7036	// A system-generated token, such as a AWS CodeDeploy deployment ID, required
7037	// by a job to continue the job asynchronously.
7038	ContinuationToken *string `locationName:"continuationToken" min:"1" type:"string"`
7039
7040	// Represents information about the key used to encrypt data in the artifact
7041	// store, such as an AWS Key Management Service (AWS KMS) key.
7042	EncryptionKey *EncryptionKey `locationName:"encryptionKey" type:"structure"`
7043
7044	// The artifact supplied to the job.
7045	InputArtifacts []*Artifact `locationName:"inputArtifacts" type:"list"`
7046
7047	// The output of the job.
7048	OutputArtifacts []*Artifact `locationName:"outputArtifacts" type:"list"`
7049
7050	// Represents information about a pipeline to a job worker.
7051	//
7052	// Includes pipelineArn and pipelineExecutionId for custom jobs.
7053	PipelineContext *PipelineContext `locationName:"pipelineContext" type:"structure"`
7054}
7055
7056// String returns the string representation
7057func (s JobData) String() string {
7058	return awsutil.Prettify(s)
7059}
7060
7061// GoString returns the string representation
7062func (s JobData) GoString() string {
7063	return s.String()
7064}
7065
7066// SetActionConfiguration sets the ActionConfiguration field's value.
7067func (s *JobData) SetActionConfiguration(v *ActionConfiguration) *JobData {
7068	s.ActionConfiguration = v
7069	return s
7070}
7071
7072// SetActionTypeId sets the ActionTypeId field's value.
7073func (s *JobData) SetActionTypeId(v *ActionTypeId) *JobData {
7074	s.ActionTypeId = v
7075	return s
7076}
7077
7078// SetArtifactCredentials sets the ArtifactCredentials field's value.
7079func (s *JobData) SetArtifactCredentials(v *AWSSessionCredentials) *JobData {
7080	s.ArtifactCredentials = v
7081	return s
7082}
7083
7084// SetContinuationToken sets the ContinuationToken field's value.
7085func (s *JobData) SetContinuationToken(v string) *JobData {
7086	s.ContinuationToken = &v
7087	return s
7088}
7089
7090// SetEncryptionKey sets the EncryptionKey field's value.
7091func (s *JobData) SetEncryptionKey(v *EncryptionKey) *JobData {
7092	s.EncryptionKey = v
7093	return s
7094}
7095
7096// SetInputArtifacts sets the InputArtifacts field's value.
7097func (s *JobData) SetInputArtifacts(v []*Artifact) *JobData {
7098	s.InputArtifacts = v
7099	return s
7100}
7101
7102// SetOutputArtifacts sets the OutputArtifacts field's value.
7103func (s *JobData) SetOutputArtifacts(v []*Artifact) *JobData {
7104	s.OutputArtifacts = v
7105	return s
7106}
7107
7108// SetPipelineContext sets the PipelineContext field's value.
7109func (s *JobData) SetPipelineContext(v *PipelineContext) *JobData {
7110	s.PipelineContext = v
7111	return s
7112}
7113
7114// Represents information about the details of a job.
7115type JobDetails struct {
7116	_ struct{} `type:"structure"`
7117
7118	// The AWS account ID associated with the job.
7119	AccountId *string `locationName:"accountId" type:"string"`
7120
7121	// Represents other information about a job required for a job worker to complete
7122	// the job.
7123	Data *JobData `locationName:"data" type:"structure"`
7124
7125	// The unique system-generated ID of the job.
7126	Id *string `locationName:"id" type:"string"`
7127}
7128
7129// String returns the string representation
7130func (s JobDetails) String() string {
7131	return awsutil.Prettify(s)
7132}
7133
7134// GoString returns the string representation
7135func (s JobDetails) GoString() string {
7136	return s.String()
7137}
7138
7139// SetAccountId sets the AccountId field's value.
7140func (s *JobDetails) SetAccountId(v string) *JobDetails {
7141	s.AccountId = &v
7142	return s
7143}
7144
7145// SetData sets the Data field's value.
7146func (s *JobDetails) SetData(v *JobData) *JobDetails {
7147	s.Data = v
7148	return s
7149}
7150
7151// SetId sets the Id field's value.
7152func (s *JobDetails) SetId(v string) *JobDetails {
7153	s.Id = &v
7154	return s
7155}
7156
7157type ListActionExecutionsInput struct {
7158	_ struct{} `type:"structure"`
7159
7160	// Input information used to filter action execution history.
7161	Filter *ActionExecutionFilter `locationName:"filter" type:"structure"`
7162
7163	// The maximum number of results to return in a single call. To retrieve the
7164	// remaining results, make another call with the returned nextToken value. Action
7165	// execution history is retained for up to 12 months, based on action execution
7166	// start times. Default value is 100.
7167	//
7168	// Detailed execution history is available for executions run on or after February
7169	// 21, 2019.
7170	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
7171
7172	// The token that was returned from the previous ListActionExecutions call,
7173	// which can be used to return the next set of action executions in the list.
7174	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7175
7176	// The name of the pipeline for which you want to list action execution history.
7177	//
7178	// PipelineName is a required field
7179	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
7180}
7181
7182// String returns the string representation
7183func (s ListActionExecutionsInput) String() string {
7184	return awsutil.Prettify(s)
7185}
7186
7187// GoString returns the string representation
7188func (s ListActionExecutionsInput) GoString() string {
7189	return s.String()
7190}
7191
7192// Validate inspects the fields of the type to determine if they are valid.
7193func (s *ListActionExecutionsInput) Validate() error {
7194	invalidParams := request.ErrInvalidParams{Context: "ListActionExecutionsInput"}
7195	if s.MaxResults != nil && *s.MaxResults < 1 {
7196		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7197	}
7198	if s.NextToken != nil && len(*s.NextToken) < 1 {
7199		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7200	}
7201	if s.PipelineName == nil {
7202		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
7203	}
7204	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
7205		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
7206	}
7207
7208	if invalidParams.Len() > 0 {
7209		return invalidParams
7210	}
7211	return nil
7212}
7213
7214// SetFilter sets the Filter field's value.
7215func (s *ListActionExecutionsInput) SetFilter(v *ActionExecutionFilter) *ListActionExecutionsInput {
7216	s.Filter = v
7217	return s
7218}
7219
7220// SetMaxResults sets the MaxResults field's value.
7221func (s *ListActionExecutionsInput) SetMaxResults(v int64) *ListActionExecutionsInput {
7222	s.MaxResults = &v
7223	return s
7224}
7225
7226// SetNextToken sets the NextToken field's value.
7227func (s *ListActionExecutionsInput) SetNextToken(v string) *ListActionExecutionsInput {
7228	s.NextToken = &v
7229	return s
7230}
7231
7232// SetPipelineName sets the PipelineName field's value.
7233func (s *ListActionExecutionsInput) SetPipelineName(v string) *ListActionExecutionsInput {
7234	s.PipelineName = &v
7235	return s
7236}
7237
7238type ListActionExecutionsOutput struct {
7239	_ struct{} `type:"structure"`
7240
7241	// The details for a list of recent executions, such as action execution ID.
7242	ActionExecutionDetails []*ActionExecutionDetail `locationName:"actionExecutionDetails" type:"list"`
7243
7244	// If the amount of returned information is significantly large, an identifier
7245	// is also returned and can be used in a subsequent ListActionExecutions call
7246	// to return the next set of action executions in the list.
7247	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7248}
7249
7250// String returns the string representation
7251func (s ListActionExecutionsOutput) String() string {
7252	return awsutil.Prettify(s)
7253}
7254
7255// GoString returns the string representation
7256func (s ListActionExecutionsOutput) GoString() string {
7257	return s.String()
7258}
7259
7260// SetActionExecutionDetails sets the ActionExecutionDetails field's value.
7261func (s *ListActionExecutionsOutput) SetActionExecutionDetails(v []*ActionExecutionDetail) *ListActionExecutionsOutput {
7262	s.ActionExecutionDetails = v
7263	return s
7264}
7265
7266// SetNextToken sets the NextToken field's value.
7267func (s *ListActionExecutionsOutput) SetNextToken(v string) *ListActionExecutionsOutput {
7268	s.NextToken = &v
7269	return s
7270}
7271
7272// Represents the input of a ListActionTypes action.
7273type ListActionTypesInput struct {
7274	_ struct{} `type:"structure"`
7275
7276	// Filters the list of action types to those created by a specified entity.
7277	ActionOwnerFilter *string `locationName:"actionOwnerFilter" type:"string" enum:"ActionOwner"`
7278
7279	// An identifier that was returned from the previous list action types call,
7280	// which can be used to return the next set of action types in the list.
7281	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7282}
7283
7284// String returns the string representation
7285func (s ListActionTypesInput) String() string {
7286	return awsutil.Prettify(s)
7287}
7288
7289// GoString returns the string representation
7290func (s ListActionTypesInput) GoString() string {
7291	return s.String()
7292}
7293
7294// Validate inspects the fields of the type to determine if they are valid.
7295func (s *ListActionTypesInput) Validate() error {
7296	invalidParams := request.ErrInvalidParams{Context: "ListActionTypesInput"}
7297	if s.NextToken != nil && len(*s.NextToken) < 1 {
7298		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7299	}
7300
7301	if invalidParams.Len() > 0 {
7302		return invalidParams
7303	}
7304	return nil
7305}
7306
7307// SetActionOwnerFilter sets the ActionOwnerFilter field's value.
7308func (s *ListActionTypesInput) SetActionOwnerFilter(v string) *ListActionTypesInput {
7309	s.ActionOwnerFilter = &v
7310	return s
7311}
7312
7313// SetNextToken sets the NextToken field's value.
7314func (s *ListActionTypesInput) SetNextToken(v string) *ListActionTypesInput {
7315	s.NextToken = &v
7316	return s
7317}
7318
7319// Represents the output of a ListActionTypes action.
7320type ListActionTypesOutput struct {
7321	_ struct{} `type:"structure"`
7322
7323	// Provides details of the action types.
7324	//
7325	// ActionTypes is a required field
7326	ActionTypes []*ActionType `locationName:"actionTypes" type:"list" required:"true"`
7327
7328	// If the amount of returned information is significantly large, an identifier
7329	// is also returned. It can be used in a subsequent list action types call to
7330	// return the next set of action types in the list.
7331	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7332}
7333
7334// String returns the string representation
7335func (s ListActionTypesOutput) String() string {
7336	return awsutil.Prettify(s)
7337}
7338
7339// GoString returns the string representation
7340func (s ListActionTypesOutput) GoString() string {
7341	return s.String()
7342}
7343
7344// SetActionTypes sets the ActionTypes field's value.
7345func (s *ListActionTypesOutput) SetActionTypes(v []*ActionType) *ListActionTypesOutput {
7346	s.ActionTypes = v
7347	return s
7348}
7349
7350// SetNextToken sets the NextToken field's value.
7351func (s *ListActionTypesOutput) SetNextToken(v string) *ListActionTypesOutput {
7352	s.NextToken = &v
7353	return s
7354}
7355
7356// Represents the input of a ListPipelineExecutions action.
7357type ListPipelineExecutionsInput struct {
7358	_ struct{} `type:"structure"`
7359
7360	// The maximum number of results to return in a single call. To retrieve the
7361	// remaining results, make another call with the returned nextToken value. Pipeline
7362	// history is limited to the most recent 12 months, based on pipeline execution
7363	// start times. Default value is 100.
7364	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
7365
7366	// The token that was returned from the previous ListPipelineExecutions call,
7367	// which can be used to return the next set of pipeline executions in the list.
7368	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7369
7370	// The name of the pipeline for which you want to get execution summary information.
7371	//
7372	// PipelineName is a required field
7373	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
7374}
7375
7376// String returns the string representation
7377func (s ListPipelineExecutionsInput) String() string {
7378	return awsutil.Prettify(s)
7379}
7380
7381// GoString returns the string representation
7382func (s ListPipelineExecutionsInput) GoString() string {
7383	return s.String()
7384}
7385
7386// Validate inspects the fields of the type to determine if they are valid.
7387func (s *ListPipelineExecutionsInput) Validate() error {
7388	invalidParams := request.ErrInvalidParams{Context: "ListPipelineExecutionsInput"}
7389	if s.MaxResults != nil && *s.MaxResults < 1 {
7390		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7391	}
7392	if s.NextToken != nil && len(*s.NextToken) < 1 {
7393		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7394	}
7395	if s.PipelineName == nil {
7396		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
7397	}
7398	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
7399		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
7400	}
7401
7402	if invalidParams.Len() > 0 {
7403		return invalidParams
7404	}
7405	return nil
7406}
7407
7408// SetMaxResults sets the MaxResults field's value.
7409func (s *ListPipelineExecutionsInput) SetMaxResults(v int64) *ListPipelineExecutionsInput {
7410	s.MaxResults = &v
7411	return s
7412}
7413
7414// SetNextToken sets the NextToken field's value.
7415func (s *ListPipelineExecutionsInput) SetNextToken(v string) *ListPipelineExecutionsInput {
7416	s.NextToken = &v
7417	return s
7418}
7419
7420// SetPipelineName sets the PipelineName field's value.
7421func (s *ListPipelineExecutionsInput) SetPipelineName(v string) *ListPipelineExecutionsInput {
7422	s.PipelineName = &v
7423	return s
7424}
7425
7426// Represents the output of a ListPipelineExecutions action.
7427type ListPipelineExecutionsOutput struct {
7428	_ struct{} `type:"structure"`
7429
7430	// A token that can be used in the next ListPipelineExecutions call. To view
7431	// all items in the list, continue to call this operation with each subsequent
7432	// token until no more nextToken values are returned.
7433	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7434
7435	// A list of executions in the history of a pipeline.
7436	PipelineExecutionSummaries []*PipelineExecutionSummary `locationName:"pipelineExecutionSummaries" type:"list"`
7437}
7438
7439// String returns the string representation
7440func (s ListPipelineExecutionsOutput) String() string {
7441	return awsutil.Prettify(s)
7442}
7443
7444// GoString returns the string representation
7445func (s ListPipelineExecutionsOutput) GoString() string {
7446	return s.String()
7447}
7448
7449// SetNextToken sets the NextToken field's value.
7450func (s *ListPipelineExecutionsOutput) SetNextToken(v string) *ListPipelineExecutionsOutput {
7451	s.NextToken = &v
7452	return s
7453}
7454
7455// SetPipelineExecutionSummaries sets the PipelineExecutionSummaries field's value.
7456func (s *ListPipelineExecutionsOutput) SetPipelineExecutionSummaries(v []*PipelineExecutionSummary) *ListPipelineExecutionsOutput {
7457	s.PipelineExecutionSummaries = v
7458	return s
7459}
7460
7461// Represents the input of a ListPipelines action.
7462type ListPipelinesInput struct {
7463	_ struct{} `type:"structure"`
7464
7465	// An identifier that was returned from the previous list pipelines call. It
7466	// can be used to return the next set of pipelines in the list.
7467	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7468}
7469
7470// String returns the string representation
7471func (s ListPipelinesInput) String() string {
7472	return awsutil.Prettify(s)
7473}
7474
7475// GoString returns the string representation
7476func (s ListPipelinesInput) GoString() string {
7477	return s.String()
7478}
7479
7480// Validate inspects the fields of the type to determine if they are valid.
7481func (s *ListPipelinesInput) Validate() error {
7482	invalidParams := request.ErrInvalidParams{Context: "ListPipelinesInput"}
7483	if s.NextToken != nil && len(*s.NextToken) < 1 {
7484		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7485	}
7486
7487	if invalidParams.Len() > 0 {
7488		return invalidParams
7489	}
7490	return nil
7491}
7492
7493// SetNextToken sets the NextToken field's value.
7494func (s *ListPipelinesInput) SetNextToken(v string) *ListPipelinesInput {
7495	s.NextToken = &v
7496	return s
7497}
7498
7499// Represents the output of a ListPipelines action.
7500type ListPipelinesOutput struct {
7501	_ struct{} `type:"structure"`
7502
7503	// If the amount of returned information is significantly large, an identifier
7504	// is also returned. It can be used in a subsequent list pipelines call to return
7505	// the next set of pipelines in the list.
7506	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7507
7508	// The list of pipelines.
7509	Pipelines []*PipelineSummary `locationName:"pipelines" type:"list"`
7510}
7511
7512// String returns the string representation
7513func (s ListPipelinesOutput) String() string {
7514	return awsutil.Prettify(s)
7515}
7516
7517// GoString returns the string representation
7518func (s ListPipelinesOutput) GoString() string {
7519	return s.String()
7520}
7521
7522// SetNextToken sets the NextToken field's value.
7523func (s *ListPipelinesOutput) SetNextToken(v string) *ListPipelinesOutput {
7524	s.NextToken = &v
7525	return s
7526}
7527
7528// SetPipelines sets the Pipelines field's value.
7529func (s *ListPipelinesOutput) SetPipelines(v []*PipelineSummary) *ListPipelinesOutput {
7530	s.Pipelines = v
7531	return s
7532}
7533
7534type ListTagsForResourceInput struct {
7535	_ struct{} `type:"structure"`
7536
7537	// The maximum number of results to return in a single call.
7538	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
7539
7540	// The token that was returned from the previous API call, which would be used
7541	// to return the next page of the list. The ListTagsforResource call lists all
7542	// available tags in one call and does not use pagination.
7543	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7544
7545	// The Amazon Resource Name (ARN) of the resource to get tags for.
7546	//
7547	// ResourceArn is a required field
7548	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
7549}
7550
7551// String returns the string representation
7552func (s ListTagsForResourceInput) String() string {
7553	return awsutil.Prettify(s)
7554}
7555
7556// GoString returns the string representation
7557func (s ListTagsForResourceInput) GoString() string {
7558	return s.String()
7559}
7560
7561// Validate inspects the fields of the type to determine if they are valid.
7562func (s *ListTagsForResourceInput) Validate() error {
7563	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
7564	if s.MaxResults != nil && *s.MaxResults < 1 {
7565		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7566	}
7567	if s.NextToken != nil && len(*s.NextToken) < 1 {
7568		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7569	}
7570	if s.ResourceArn == nil {
7571		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7572	}
7573
7574	if invalidParams.Len() > 0 {
7575		return invalidParams
7576	}
7577	return nil
7578}
7579
7580// SetMaxResults sets the MaxResults field's value.
7581func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
7582	s.MaxResults = &v
7583	return s
7584}
7585
7586// SetNextToken sets the NextToken field's value.
7587func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
7588	s.NextToken = &v
7589	return s
7590}
7591
7592// SetResourceArn sets the ResourceArn field's value.
7593func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
7594	s.ResourceArn = &v
7595	return s
7596}
7597
7598type ListTagsForResourceOutput struct {
7599	_ struct{} `type:"structure"`
7600
7601	// If the amount of returned information is significantly large, an identifier
7602	// is also returned and can be used in a subsequent API call to return the next
7603	// page of the list. The ListTagsforResource call lists all available tags in
7604	// one call and does not use pagination.
7605	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7606
7607	// The tags for the resource.
7608	Tags []*Tag `locationName:"tags" type:"list"`
7609}
7610
7611// String returns the string representation
7612func (s ListTagsForResourceOutput) String() string {
7613	return awsutil.Prettify(s)
7614}
7615
7616// GoString returns the string representation
7617func (s ListTagsForResourceOutput) GoString() string {
7618	return s.String()
7619}
7620
7621// SetNextToken sets the NextToken field's value.
7622func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
7623	s.NextToken = &v
7624	return s
7625}
7626
7627// SetTags sets the Tags field's value.
7628func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
7629	s.Tags = v
7630	return s
7631}
7632
7633// The detail returned for each webhook after listing webhooks, such as the
7634// webhook URL, the webhook name, and the webhook ARN.
7635type ListWebhookItem struct {
7636	_ struct{} `type:"structure"`
7637
7638	// The Amazon Resource Name (ARN) of the webhook.
7639	Arn *string `locationName:"arn" type:"string"`
7640
7641	// The detail returned for each webhook, such as the webhook authentication
7642	// type and filter rules.
7643	//
7644	// Definition is a required field
7645	Definition *WebhookDefinition `locationName:"definition" type:"structure" required:"true"`
7646
7647	// The number code of the error.
7648	ErrorCode *string `locationName:"errorCode" type:"string"`
7649
7650	// The text of the error message about the webhook.
7651	ErrorMessage *string `locationName:"errorMessage" type:"string"`
7652
7653	// The date and time a webhook was last successfully triggered, in timestamp
7654	// format.
7655	LastTriggered *time.Time `locationName:"lastTriggered" type:"timestamp"`
7656
7657	// Specifies the tags applied to the webhook.
7658	Tags []*Tag `locationName:"tags" type:"list"`
7659
7660	// A unique URL generated by CodePipeline. When a POST request is made to this
7661	// URL, the defined pipeline is started as long as the body of the post request
7662	// satisfies the defined authentication and filtering conditions. Deleting and
7663	// re-creating a webhook makes the old URL invalid and generates a new one.
7664	//
7665	// Url is a required field
7666	Url *string `locationName:"url" min:"1" type:"string" required:"true"`
7667}
7668
7669// String returns the string representation
7670func (s ListWebhookItem) String() string {
7671	return awsutil.Prettify(s)
7672}
7673
7674// GoString returns the string representation
7675func (s ListWebhookItem) GoString() string {
7676	return s.String()
7677}
7678
7679// SetArn sets the Arn field's value.
7680func (s *ListWebhookItem) SetArn(v string) *ListWebhookItem {
7681	s.Arn = &v
7682	return s
7683}
7684
7685// SetDefinition sets the Definition field's value.
7686func (s *ListWebhookItem) SetDefinition(v *WebhookDefinition) *ListWebhookItem {
7687	s.Definition = v
7688	return s
7689}
7690
7691// SetErrorCode sets the ErrorCode field's value.
7692func (s *ListWebhookItem) SetErrorCode(v string) *ListWebhookItem {
7693	s.ErrorCode = &v
7694	return s
7695}
7696
7697// SetErrorMessage sets the ErrorMessage field's value.
7698func (s *ListWebhookItem) SetErrorMessage(v string) *ListWebhookItem {
7699	s.ErrorMessage = &v
7700	return s
7701}
7702
7703// SetLastTriggered sets the LastTriggered field's value.
7704func (s *ListWebhookItem) SetLastTriggered(v time.Time) *ListWebhookItem {
7705	s.LastTriggered = &v
7706	return s
7707}
7708
7709// SetTags sets the Tags field's value.
7710func (s *ListWebhookItem) SetTags(v []*Tag) *ListWebhookItem {
7711	s.Tags = v
7712	return s
7713}
7714
7715// SetUrl sets the Url field's value.
7716func (s *ListWebhookItem) SetUrl(v string) *ListWebhookItem {
7717	s.Url = &v
7718	return s
7719}
7720
7721type ListWebhooksInput struct {
7722	_ struct{} `type:"structure"`
7723
7724	// The maximum number of results to return in a single call. To retrieve the
7725	// remaining results, make another call with the returned nextToken value.
7726	MaxResults *int64 `min:"1" type:"integer"`
7727
7728	// The token that was returned from the previous ListWebhooks call, which can
7729	// be used to return the next set of webhooks in the list.
7730	NextToken *string `min:"1" type:"string"`
7731}
7732
7733// String returns the string representation
7734func (s ListWebhooksInput) String() string {
7735	return awsutil.Prettify(s)
7736}
7737
7738// GoString returns the string representation
7739func (s ListWebhooksInput) GoString() string {
7740	return s.String()
7741}
7742
7743// Validate inspects the fields of the type to determine if they are valid.
7744func (s *ListWebhooksInput) Validate() error {
7745	invalidParams := request.ErrInvalidParams{Context: "ListWebhooksInput"}
7746	if s.MaxResults != nil && *s.MaxResults < 1 {
7747		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7748	}
7749	if s.NextToken != nil && len(*s.NextToken) < 1 {
7750		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7751	}
7752
7753	if invalidParams.Len() > 0 {
7754		return invalidParams
7755	}
7756	return nil
7757}
7758
7759// SetMaxResults sets the MaxResults field's value.
7760func (s *ListWebhooksInput) SetMaxResults(v int64) *ListWebhooksInput {
7761	s.MaxResults = &v
7762	return s
7763}
7764
7765// SetNextToken sets the NextToken field's value.
7766func (s *ListWebhooksInput) SetNextToken(v string) *ListWebhooksInput {
7767	s.NextToken = &v
7768	return s
7769}
7770
7771type ListWebhooksOutput struct {
7772	_ struct{} `type:"structure"`
7773
7774	// If the amount of returned information is significantly large, an identifier
7775	// is also returned and can be used in a subsequent ListWebhooks call to return
7776	// the next set of webhooks in the list.
7777	NextToken *string `min:"1" type:"string"`
7778
7779	// The JSON detail returned for each webhook in the list output for the ListWebhooks
7780	// call.
7781	Webhooks []*ListWebhookItem `locationName:"webhooks" type:"list"`
7782}
7783
7784// String returns the string representation
7785func (s ListWebhooksOutput) String() string {
7786	return awsutil.Prettify(s)
7787}
7788
7789// GoString returns the string representation
7790func (s ListWebhooksOutput) GoString() string {
7791	return s.String()
7792}
7793
7794// SetNextToken sets the NextToken field's value.
7795func (s *ListWebhooksOutput) SetNextToken(v string) *ListWebhooksOutput {
7796	s.NextToken = &v
7797	return s
7798}
7799
7800// SetWebhooks sets the Webhooks field's value.
7801func (s *ListWebhooksOutput) SetWebhooks(v []*ListWebhookItem) *ListWebhooksOutput {
7802	s.Webhooks = v
7803	return s
7804}
7805
7806// Represents information about the output of an action.
7807type OutputArtifact struct {
7808	_ struct{} `type:"structure"`
7809
7810	// The name of the output of an artifact, such as "My App".
7811	//
7812	// The input artifact of an action must exactly match the output artifact declared
7813	// in a preceding action, but the input artifact does not have to be the next
7814	// action in strict sequence from the action that provided the output artifact.
7815	// Actions in parallel can declare different output artifacts, which are in
7816	// turn consumed by different following actions.
7817	//
7818	// Output artifact names must be unique within a pipeline.
7819	//
7820	// Name is a required field
7821	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7822}
7823
7824// String returns the string representation
7825func (s OutputArtifact) String() string {
7826	return awsutil.Prettify(s)
7827}
7828
7829// GoString returns the string representation
7830func (s OutputArtifact) GoString() string {
7831	return s.String()
7832}
7833
7834// Validate inspects the fields of the type to determine if they are valid.
7835func (s *OutputArtifact) Validate() error {
7836	invalidParams := request.ErrInvalidParams{Context: "OutputArtifact"}
7837	if s.Name == nil {
7838		invalidParams.Add(request.NewErrParamRequired("Name"))
7839	}
7840	if s.Name != nil && len(*s.Name) < 1 {
7841		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7842	}
7843
7844	if invalidParams.Len() > 0 {
7845		return invalidParams
7846	}
7847	return nil
7848}
7849
7850// SetName sets the Name field's value.
7851func (s *OutputArtifact) SetName(v string) *OutputArtifact {
7852	s.Name = &v
7853	return s
7854}
7855
7856// Represents information about a pipeline to a job worker.
7857//
7858// PipelineContext contains pipelineArn and pipelineExecutionId for custom action
7859// jobs. The pipelineArn and pipelineExecutionId fields are not populated for
7860// ThirdParty action jobs.
7861type PipelineContext struct {
7862	_ struct{} `type:"structure"`
7863
7864	// The context of an action to a job worker in the stage of a pipeline.
7865	Action *ActionContext `locationName:"action" type:"structure"`
7866
7867	// The Amazon Resource Name (ARN) of the pipeline.
7868	PipelineArn *string `locationName:"pipelineArn" type:"string"`
7869
7870	// The execution ID of the pipeline.
7871	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
7872
7873	// The name of the pipeline. This is a user-specified value. Pipeline names
7874	// must be unique across all pipeline names under an Amazon Web Services account.
7875	PipelineName *string `locationName:"pipelineName" min:"1" type:"string"`
7876
7877	// The stage of the pipeline.
7878	Stage *StageContext `locationName:"stage" type:"structure"`
7879}
7880
7881// String returns the string representation
7882func (s PipelineContext) String() string {
7883	return awsutil.Prettify(s)
7884}
7885
7886// GoString returns the string representation
7887func (s PipelineContext) GoString() string {
7888	return s.String()
7889}
7890
7891// SetAction sets the Action field's value.
7892func (s *PipelineContext) SetAction(v *ActionContext) *PipelineContext {
7893	s.Action = v
7894	return s
7895}
7896
7897// SetPipelineArn sets the PipelineArn field's value.
7898func (s *PipelineContext) SetPipelineArn(v string) *PipelineContext {
7899	s.PipelineArn = &v
7900	return s
7901}
7902
7903// SetPipelineExecutionId sets the PipelineExecutionId field's value.
7904func (s *PipelineContext) SetPipelineExecutionId(v string) *PipelineContext {
7905	s.PipelineExecutionId = &v
7906	return s
7907}
7908
7909// SetPipelineName sets the PipelineName field's value.
7910func (s *PipelineContext) SetPipelineName(v string) *PipelineContext {
7911	s.PipelineName = &v
7912	return s
7913}
7914
7915// SetStage sets the Stage field's value.
7916func (s *PipelineContext) SetStage(v *StageContext) *PipelineContext {
7917	s.Stage = v
7918	return s
7919}
7920
7921// Represents the structure of actions and stages to be performed in the pipeline.
7922type PipelineDeclaration struct {
7923	_ struct{} `type:"structure"`
7924
7925	// Represents information about the Amazon S3 bucket where artifacts are stored
7926	// for the pipeline.
7927	//
7928	// You must include either artifactStore or artifactStores in your pipeline,
7929	// but you cannot use both. If you create a cross-region action in your pipeline,
7930	// you must use artifactStores.
7931	ArtifactStore *ArtifactStore `locationName:"artifactStore" type:"structure"`
7932
7933	// A mapping of artifactStore objects and their corresponding AWS Regions. There
7934	// must be an artifact store for the pipeline Region and for each cross-region
7935	// action in the pipeline.
7936	//
7937	// You must include either artifactStore or artifactStores in your pipeline,
7938	// but you cannot use both. If you create a cross-region action in your pipeline,
7939	// you must use artifactStores.
7940	ArtifactStores map[string]*ArtifactStore `locationName:"artifactStores" type:"map"`
7941
7942	// The name of the action to be performed.
7943	//
7944	// Name is a required field
7945	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7946
7947	// The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform
7948	// actions with no actionRoleArn, or to use to assume roles for actions with
7949	// an actionRoleArn.
7950	//
7951	// RoleArn is a required field
7952	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
7953
7954	// The stage in which to perform the action.
7955	//
7956	// Stages is a required field
7957	Stages []*StageDeclaration `locationName:"stages" type:"list" required:"true"`
7958
7959	// The version number of the pipeline. A new pipeline always has a version number
7960	// of 1. This number is incremented when a pipeline is updated.
7961	Version *int64 `locationName:"version" min:"1" type:"integer"`
7962}
7963
7964// String returns the string representation
7965func (s PipelineDeclaration) String() string {
7966	return awsutil.Prettify(s)
7967}
7968
7969// GoString returns the string representation
7970func (s PipelineDeclaration) GoString() string {
7971	return s.String()
7972}
7973
7974// Validate inspects the fields of the type to determine if they are valid.
7975func (s *PipelineDeclaration) Validate() error {
7976	invalidParams := request.ErrInvalidParams{Context: "PipelineDeclaration"}
7977	if s.Name == nil {
7978		invalidParams.Add(request.NewErrParamRequired("Name"))
7979	}
7980	if s.Name != nil && len(*s.Name) < 1 {
7981		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7982	}
7983	if s.RoleArn == nil {
7984		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
7985	}
7986	if s.Stages == nil {
7987		invalidParams.Add(request.NewErrParamRequired("Stages"))
7988	}
7989	if s.Version != nil && *s.Version < 1 {
7990		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
7991	}
7992	if s.ArtifactStore != nil {
7993		if err := s.ArtifactStore.Validate(); err != nil {
7994			invalidParams.AddNested("ArtifactStore", err.(request.ErrInvalidParams))
7995		}
7996	}
7997	if s.ArtifactStores != nil {
7998		for i, v := range s.ArtifactStores {
7999			if v == nil {
8000				continue
8001			}
8002			if err := v.Validate(); err != nil {
8003				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ArtifactStores", i), err.(request.ErrInvalidParams))
8004			}
8005		}
8006	}
8007	if s.Stages != nil {
8008		for i, v := range s.Stages {
8009			if v == nil {
8010				continue
8011			}
8012			if err := v.Validate(); err != nil {
8013				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Stages", i), err.(request.ErrInvalidParams))
8014			}
8015		}
8016	}
8017
8018	if invalidParams.Len() > 0 {
8019		return invalidParams
8020	}
8021	return nil
8022}
8023
8024// SetArtifactStore sets the ArtifactStore field's value.
8025func (s *PipelineDeclaration) SetArtifactStore(v *ArtifactStore) *PipelineDeclaration {
8026	s.ArtifactStore = v
8027	return s
8028}
8029
8030// SetArtifactStores sets the ArtifactStores field's value.
8031func (s *PipelineDeclaration) SetArtifactStores(v map[string]*ArtifactStore) *PipelineDeclaration {
8032	s.ArtifactStores = v
8033	return s
8034}
8035
8036// SetName sets the Name field's value.
8037func (s *PipelineDeclaration) SetName(v string) *PipelineDeclaration {
8038	s.Name = &v
8039	return s
8040}
8041
8042// SetRoleArn sets the RoleArn field's value.
8043func (s *PipelineDeclaration) SetRoleArn(v string) *PipelineDeclaration {
8044	s.RoleArn = &v
8045	return s
8046}
8047
8048// SetStages sets the Stages field's value.
8049func (s *PipelineDeclaration) SetStages(v []*StageDeclaration) *PipelineDeclaration {
8050	s.Stages = v
8051	return s
8052}
8053
8054// SetVersion sets the Version field's value.
8055func (s *PipelineDeclaration) SetVersion(v int64) *PipelineDeclaration {
8056	s.Version = &v
8057	return s
8058}
8059
8060// Represents information about an execution of a pipeline.
8061type PipelineExecution struct {
8062	_ struct{} `type:"structure"`
8063
8064	// A list of ArtifactRevision objects included in a pipeline execution.
8065	ArtifactRevisions []*ArtifactRevision `locationName:"artifactRevisions" type:"list"`
8066
8067	// The ID of the pipeline execution.
8068	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
8069
8070	// The name of the pipeline that was executed.
8071	PipelineName *string `locationName:"pipelineName" min:"1" type:"string"`
8072
8073	// The version number of the pipeline that was executed.
8074	PipelineVersion *int64 `locationName:"pipelineVersion" min:"1" type:"integer"`
8075
8076	// The status of the pipeline execution.
8077	//
8078	//    * InProgress: The pipeline execution is currently running.
8079	//
8080	//    * Succeeded: The pipeline execution was completed successfully.
8081	//
8082	//    * Superseded: While this pipeline execution was waiting for the next stage
8083	//    to be completed, a newer pipeline execution advanced and continued through
8084	//    the pipeline instead.
8085	//
8086	//    * Failed: The pipeline execution was not completed successfully.
8087	Status *string `locationName:"status" type:"string" enum:"PipelineExecutionStatus"`
8088}
8089
8090// String returns the string representation
8091func (s PipelineExecution) String() string {
8092	return awsutil.Prettify(s)
8093}
8094
8095// GoString returns the string representation
8096func (s PipelineExecution) GoString() string {
8097	return s.String()
8098}
8099
8100// SetArtifactRevisions sets the ArtifactRevisions field's value.
8101func (s *PipelineExecution) SetArtifactRevisions(v []*ArtifactRevision) *PipelineExecution {
8102	s.ArtifactRevisions = v
8103	return s
8104}
8105
8106// SetPipelineExecutionId sets the PipelineExecutionId field's value.
8107func (s *PipelineExecution) SetPipelineExecutionId(v string) *PipelineExecution {
8108	s.PipelineExecutionId = &v
8109	return s
8110}
8111
8112// SetPipelineName sets the PipelineName field's value.
8113func (s *PipelineExecution) SetPipelineName(v string) *PipelineExecution {
8114	s.PipelineName = &v
8115	return s
8116}
8117
8118// SetPipelineVersion sets the PipelineVersion field's value.
8119func (s *PipelineExecution) SetPipelineVersion(v int64) *PipelineExecution {
8120	s.PipelineVersion = &v
8121	return s
8122}
8123
8124// SetStatus sets the Status field's value.
8125func (s *PipelineExecution) SetStatus(v string) *PipelineExecution {
8126	s.Status = &v
8127	return s
8128}
8129
8130// Summary information about a pipeline execution.
8131type PipelineExecutionSummary struct {
8132	_ struct{} `type:"structure"`
8133
8134	// The date and time of the last change to the pipeline execution, in timestamp
8135	// format.
8136	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
8137
8138	// The ID of the pipeline execution.
8139	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
8140
8141	// A list of the source artifact revisions that initiated a pipeline execution.
8142	SourceRevisions []*SourceRevision `locationName:"sourceRevisions" type:"list"`
8143
8144	// The date and time when the pipeline execution began, in timestamp format.
8145	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
8146
8147	// The status of the pipeline execution.
8148	//
8149	//    * InProgress: The pipeline execution is currently running.
8150	//
8151	//    * Succeeded: The pipeline execution was completed successfully.
8152	//
8153	//    * Superseded: While this pipeline execution was waiting for the next stage
8154	//    to be completed, a newer pipeline execution advanced and continued through
8155	//    the pipeline instead.
8156	//
8157	//    * Failed: The pipeline execution was not completed successfully.
8158	Status *string `locationName:"status" type:"string" enum:"PipelineExecutionStatus"`
8159
8160	// The interaction or event that started a pipeline execution, such as automated
8161	// change detection or a StartPipelineExecution API call.
8162	Trigger *ExecutionTrigger `locationName:"trigger" type:"structure"`
8163}
8164
8165// String returns the string representation
8166func (s PipelineExecutionSummary) String() string {
8167	return awsutil.Prettify(s)
8168}
8169
8170// GoString returns the string representation
8171func (s PipelineExecutionSummary) GoString() string {
8172	return s.String()
8173}
8174
8175// SetLastUpdateTime sets the LastUpdateTime field's value.
8176func (s *PipelineExecutionSummary) SetLastUpdateTime(v time.Time) *PipelineExecutionSummary {
8177	s.LastUpdateTime = &v
8178	return s
8179}
8180
8181// SetPipelineExecutionId sets the PipelineExecutionId field's value.
8182func (s *PipelineExecutionSummary) SetPipelineExecutionId(v string) *PipelineExecutionSummary {
8183	s.PipelineExecutionId = &v
8184	return s
8185}
8186
8187// SetSourceRevisions sets the SourceRevisions field's value.
8188func (s *PipelineExecutionSummary) SetSourceRevisions(v []*SourceRevision) *PipelineExecutionSummary {
8189	s.SourceRevisions = v
8190	return s
8191}
8192
8193// SetStartTime sets the StartTime field's value.
8194func (s *PipelineExecutionSummary) SetStartTime(v time.Time) *PipelineExecutionSummary {
8195	s.StartTime = &v
8196	return s
8197}
8198
8199// SetStatus sets the Status field's value.
8200func (s *PipelineExecutionSummary) SetStatus(v string) *PipelineExecutionSummary {
8201	s.Status = &v
8202	return s
8203}
8204
8205// SetTrigger sets the Trigger field's value.
8206func (s *PipelineExecutionSummary) SetTrigger(v *ExecutionTrigger) *PipelineExecutionSummary {
8207	s.Trigger = v
8208	return s
8209}
8210
8211// Information about a pipeline.
8212type PipelineMetadata struct {
8213	_ struct{} `type:"structure"`
8214
8215	// The date and time the pipeline was created, in timestamp format.
8216	Created *time.Time `locationName:"created" type:"timestamp"`
8217
8218	// The Amazon Resource Name (ARN) of the pipeline.
8219	PipelineArn *string `locationName:"pipelineArn" type:"string"`
8220
8221	// The date and time the pipeline was last updated, in timestamp format.
8222	Updated *time.Time `locationName:"updated" type:"timestamp"`
8223}
8224
8225// String returns the string representation
8226func (s PipelineMetadata) String() string {
8227	return awsutil.Prettify(s)
8228}
8229
8230// GoString returns the string representation
8231func (s PipelineMetadata) GoString() string {
8232	return s.String()
8233}
8234
8235// SetCreated sets the Created field's value.
8236func (s *PipelineMetadata) SetCreated(v time.Time) *PipelineMetadata {
8237	s.Created = &v
8238	return s
8239}
8240
8241// SetPipelineArn sets the PipelineArn field's value.
8242func (s *PipelineMetadata) SetPipelineArn(v string) *PipelineMetadata {
8243	s.PipelineArn = &v
8244	return s
8245}
8246
8247// SetUpdated sets the Updated field's value.
8248func (s *PipelineMetadata) SetUpdated(v time.Time) *PipelineMetadata {
8249	s.Updated = &v
8250	return s
8251}
8252
8253// Returns a summary of a pipeline.
8254type PipelineSummary struct {
8255	_ struct{} `type:"structure"`
8256
8257	// The date and time the pipeline was created, in timestamp format.
8258	Created *time.Time `locationName:"created" type:"timestamp"`
8259
8260	// The name of the pipeline.
8261	Name *string `locationName:"name" min:"1" type:"string"`
8262
8263	// The date and time of the last update to the pipeline, in timestamp format.
8264	Updated *time.Time `locationName:"updated" type:"timestamp"`
8265
8266	// The version number of the pipeline.
8267	Version *int64 `locationName:"version" min:"1" type:"integer"`
8268}
8269
8270// String returns the string representation
8271func (s PipelineSummary) String() string {
8272	return awsutil.Prettify(s)
8273}
8274
8275// GoString returns the string representation
8276func (s PipelineSummary) GoString() string {
8277	return s.String()
8278}
8279
8280// SetCreated sets the Created field's value.
8281func (s *PipelineSummary) SetCreated(v time.Time) *PipelineSummary {
8282	s.Created = &v
8283	return s
8284}
8285
8286// SetName sets the Name field's value.
8287func (s *PipelineSummary) SetName(v string) *PipelineSummary {
8288	s.Name = &v
8289	return s
8290}
8291
8292// SetUpdated sets the Updated field's value.
8293func (s *PipelineSummary) SetUpdated(v time.Time) *PipelineSummary {
8294	s.Updated = &v
8295	return s
8296}
8297
8298// SetVersion sets the Version field's value.
8299func (s *PipelineSummary) SetVersion(v int64) *PipelineSummary {
8300	s.Version = &v
8301	return s
8302}
8303
8304// Represents the input of a PollForJobs action.
8305type PollForJobsInput struct {
8306	_ struct{} `type:"structure"`
8307
8308	// Represents information about an action type.
8309	//
8310	// ActionTypeId is a required field
8311	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure" required:"true"`
8312
8313	// The maximum number of jobs to return in a poll for jobs call.
8314	MaxBatchSize *int64 `locationName:"maxBatchSize" min:"1" type:"integer"`
8315
8316	// A map of property names and values. For an action type with no queryable
8317	// properties, this value must be null or an empty map. For an action type with
8318	// a queryable property, you must supply that property as a key in the map.
8319	// Only jobs whose action configuration matches the mapped value are returned.
8320	QueryParam map[string]*string `locationName:"queryParam" type:"map"`
8321}
8322
8323// String returns the string representation
8324func (s PollForJobsInput) String() string {
8325	return awsutil.Prettify(s)
8326}
8327
8328// GoString returns the string representation
8329func (s PollForJobsInput) GoString() string {
8330	return s.String()
8331}
8332
8333// Validate inspects the fields of the type to determine if they are valid.
8334func (s *PollForJobsInput) Validate() error {
8335	invalidParams := request.ErrInvalidParams{Context: "PollForJobsInput"}
8336	if s.ActionTypeId == nil {
8337		invalidParams.Add(request.NewErrParamRequired("ActionTypeId"))
8338	}
8339	if s.MaxBatchSize != nil && *s.MaxBatchSize < 1 {
8340		invalidParams.Add(request.NewErrParamMinValue("MaxBatchSize", 1))
8341	}
8342	if s.ActionTypeId != nil {
8343		if err := s.ActionTypeId.Validate(); err != nil {
8344			invalidParams.AddNested("ActionTypeId", err.(request.ErrInvalidParams))
8345		}
8346	}
8347
8348	if invalidParams.Len() > 0 {
8349		return invalidParams
8350	}
8351	return nil
8352}
8353
8354// SetActionTypeId sets the ActionTypeId field's value.
8355func (s *PollForJobsInput) SetActionTypeId(v *ActionTypeId) *PollForJobsInput {
8356	s.ActionTypeId = v
8357	return s
8358}
8359
8360// SetMaxBatchSize sets the MaxBatchSize field's value.
8361func (s *PollForJobsInput) SetMaxBatchSize(v int64) *PollForJobsInput {
8362	s.MaxBatchSize = &v
8363	return s
8364}
8365
8366// SetQueryParam sets the QueryParam field's value.
8367func (s *PollForJobsInput) SetQueryParam(v map[string]*string) *PollForJobsInput {
8368	s.QueryParam = v
8369	return s
8370}
8371
8372// Represents the output of a PollForJobs action.
8373type PollForJobsOutput struct {
8374	_ struct{} `type:"structure"`
8375
8376	// Information about the jobs to take action on.
8377	Jobs []*Job `locationName:"jobs" type:"list"`
8378}
8379
8380// String returns the string representation
8381func (s PollForJobsOutput) String() string {
8382	return awsutil.Prettify(s)
8383}
8384
8385// GoString returns the string representation
8386func (s PollForJobsOutput) GoString() string {
8387	return s.String()
8388}
8389
8390// SetJobs sets the Jobs field's value.
8391func (s *PollForJobsOutput) SetJobs(v []*Job) *PollForJobsOutput {
8392	s.Jobs = v
8393	return s
8394}
8395
8396// Represents the input of a PollForThirdPartyJobs action.
8397type PollForThirdPartyJobsInput struct {
8398	_ struct{} `type:"structure"`
8399
8400	// Represents information about an action type.
8401	//
8402	// ActionTypeId is a required field
8403	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure" required:"true"`
8404
8405	// The maximum number of jobs to return in a poll for jobs call.
8406	MaxBatchSize *int64 `locationName:"maxBatchSize" min:"1" type:"integer"`
8407}
8408
8409// String returns the string representation
8410func (s PollForThirdPartyJobsInput) String() string {
8411	return awsutil.Prettify(s)
8412}
8413
8414// GoString returns the string representation
8415func (s PollForThirdPartyJobsInput) GoString() string {
8416	return s.String()
8417}
8418
8419// Validate inspects the fields of the type to determine if they are valid.
8420func (s *PollForThirdPartyJobsInput) Validate() error {
8421	invalidParams := request.ErrInvalidParams{Context: "PollForThirdPartyJobsInput"}
8422	if s.ActionTypeId == nil {
8423		invalidParams.Add(request.NewErrParamRequired("ActionTypeId"))
8424	}
8425	if s.MaxBatchSize != nil && *s.MaxBatchSize < 1 {
8426		invalidParams.Add(request.NewErrParamMinValue("MaxBatchSize", 1))
8427	}
8428	if s.ActionTypeId != nil {
8429		if err := s.ActionTypeId.Validate(); err != nil {
8430			invalidParams.AddNested("ActionTypeId", err.(request.ErrInvalidParams))
8431		}
8432	}
8433
8434	if invalidParams.Len() > 0 {
8435		return invalidParams
8436	}
8437	return nil
8438}
8439
8440// SetActionTypeId sets the ActionTypeId field's value.
8441func (s *PollForThirdPartyJobsInput) SetActionTypeId(v *ActionTypeId) *PollForThirdPartyJobsInput {
8442	s.ActionTypeId = v
8443	return s
8444}
8445
8446// SetMaxBatchSize sets the MaxBatchSize field's value.
8447func (s *PollForThirdPartyJobsInput) SetMaxBatchSize(v int64) *PollForThirdPartyJobsInput {
8448	s.MaxBatchSize = &v
8449	return s
8450}
8451
8452// Represents the output of a PollForThirdPartyJobs action.
8453type PollForThirdPartyJobsOutput struct {
8454	_ struct{} `type:"structure"`
8455
8456	// Information about the jobs to take action on.
8457	Jobs []*ThirdPartyJob `locationName:"jobs" type:"list"`
8458}
8459
8460// String returns the string representation
8461func (s PollForThirdPartyJobsOutput) String() string {
8462	return awsutil.Prettify(s)
8463}
8464
8465// GoString returns the string representation
8466func (s PollForThirdPartyJobsOutput) GoString() string {
8467	return s.String()
8468}
8469
8470// SetJobs sets the Jobs field's value.
8471func (s *PollForThirdPartyJobsOutput) SetJobs(v []*ThirdPartyJob) *PollForThirdPartyJobsOutput {
8472	s.Jobs = v
8473	return s
8474}
8475
8476// Represents the input of a PutActionRevision action.
8477type PutActionRevisionInput struct {
8478	_ struct{} `type:"structure"`
8479
8480	// The name of the action that processes the revision.
8481	//
8482	// ActionName is a required field
8483	ActionName *string `locationName:"actionName" min:"1" type:"string" required:"true"`
8484
8485	// Represents information about the version (or revision) of an action.
8486	//
8487	// ActionRevision is a required field
8488	ActionRevision *ActionRevision `locationName:"actionRevision" type:"structure" required:"true"`
8489
8490	// The name of the pipeline that starts processing the revision to the source.
8491	//
8492	// PipelineName is a required field
8493	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
8494
8495	// The name of the stage that contains the action that acts on the revision.
8496	//
8497	// StageName is a required field
8498	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
8499}
8500
8501// String returns the string representation
8502func (s PutActionRevisionInput) String() string {
8503	return awsutil.Prettify(s)
8504}
8505
8506// GoString returns the string representation
8507func (s PutActionRevisionInput) GoString() string {
8508	return s.String()
8509}
8510
8511// Validate inspects the fields of the type to determine if they are valid.
8512func (s *PutActionRevisionInput) Validate() error {
8513	invalidParams := request.ErrInvalidParams{Context: "PutActionRevisionInput"}
8514	if s.ActionName == nil {
8515		invalidParams.Add(request.NewErrParamRequired("ActionName"))
8516	}
8517	if s.ActionName != nil && len(*s.ActionName) < 1 {
8518		invalidParams.Add(request.NewErrParamMinLen("ActionName", 1))
8519	}
8520	if s.ActionRevision == nil {
8521		invalidParams.Add(request.NewErrParamRequired("ActionRevision"))
8522	}
8523	if s.PipelineName == nil {
8524		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
8525	}
8526	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
8527		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
8528	}
8529	if s.StageName == nil {
8530		invalidParams.Add(request.NewErrParamRequired("StageName"))
8531	}
8532	if s.StageName != nil && len(*s.StageName) < 1 {
8533		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
8534	}
8535	if s.ActionRevision != nil {
8536		if err := s.ActionRevision.Validate(); err != nil {
8537			invalidParams.AddNested("ActionRevision", err.(request.ErrInvalidParams))
8538		}
8539	}
8540
8541	if invalidParams.Len() > 0 {
8542		return invalidParams
8543	}
8544	return nil
8545}
8546
8547// SetActionName sets the ActionName field's value.
8548func (s *PutActionRevisionInput) SetActionName(v string) *PutActionRevisionInput {
8549	s.ActionName = &v
8550	return s
8551}
8552
8553// SetActionRevision sets the ActionRevision field's value.
8554func (s *PutActionRevisionInput) SetActionRevision(v *ActionRevision) *PutActionRevisionInput {
8555	s.ActionRevision = v
8556	return s
8557}
8558
8559// SetPipelineName sets the PipelineName field's value.
8560func (s *PutActionRevisionInput) SetPipelineName(v string) *PutActionRevisionInput {
8561	s.PipelineName = &v
8562	return s
8563}
8564
8565// SetStageName sets the StageName field's value.
8566func (s *PutActionRevisionInput) SetStageName(v string) *PutActionRevisionInput {
8567	s.StageName = &v
8568	return s
8569}
8570
8571// Represents the output of a PutActionRevision action.
8572type PutActionRevisionOutput struct {
8573	_ struct{} `type:"structure"`
8574
8575	// Indicates whether the artifact revision was previously used in an execution
8576	// of the specified pipeline.
8577	NewRevision *bool `locationName:"newRevision" type:"boolean"`
8578
8579	// The ID of the current workflow state of the pipeline.
8580	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
8581}
8582
8583// String returns the string representation
8584func (s PutActionRevisionOutput) String() string {
8585	return awsutil.Prettify(s)
8586}
8587
8588// GoString returns the string representation
8589func (s PutActionRevisionOutput) GoString() string {
8590	return s.String()
8591}
8592
8593// SetNewRevision sets the NewRevision field's value.
8594func (s *PutActionRevisionOutput) SetNewRevision(v bool) *PutActionRevisionOutput {
8595	s.NewRevision = &v
8596	return s
8597}
8598
8599// SetPipelineExecutionId sets the PipelineExecutionId field's value.
8600func (s *PutActionRevisionOutput) SetPipelineExecutionId(v string) *PutActionRevisionOutput {
8601	s.PipelineExecutionId = &v
8602	return s
8603}
8604
8605// Represents the input of a PutApprovalResult action.
8606type PutApprovalResultInput struct {
8607	_ struct{} `type:"structure"`
8608
8609	// The name of the action for which approval is requested.
8610	//
8611	// ActionName is a required field
8612	ActionName *string `locationName:"actionName" min:"1" type:"string" required:"true"`
8613
8614	// The name of the pipeline that contains the action.
8615	//
8616	// PipelineName is a required field
8617	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
8618
8619	// Represents information about the result of the approval request.
8620	//
8621	// Result is a required field
8622	Result *ApprovalResult `locationName:"result" type:"structure" required:"true"`
8623
8624	// The name of the stage that contains the action.
8625	//
8626	// StageName is a required field
8627	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
8628
8629	// The system-generated token used to identify a unique approval request. The
8630	// token for each open approval request can be obtained using the GetPipelineState
8631	// action. It is used to validate that the approval request corresponding to
8632	// this token is still valid.
8633	//
8634	// Token is a required field
8635	Token *string `locationName:"token" type:"string" required:"true"`
8636}
8637
8638// String returns the string representation
8639func (s PutApprovalResultInput) String() string {
8640	return awsutil.Prettify(s)
8641}
8642
8643// GoString returns the string representation
8644func (s PutApprovalResultInput) GoString() string {
8645	return s.String()
8646}
8647
8648// Validate inspects the fields of the type to determine if they are valid.
8649func (s *PutApprovalResultInput) Validate() error {
8650	invalidParams := request.ErrInvalidParams{Context: "PutApprovalResultInput"}
8651	if s.ActionName == nil {
8652		invalidParams.Add(request.NewErrParamRequired("ActionName"))
8653	}
8654	if s.ActionName != nil && len(*s.ActionName) < 1 {
8655		invalidParams.Add(request.NewErrParamMinLen("ActionName", 1))
8656	}
8657	if s.PipelineName == nil {
8658		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
8659	}
8660	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
8661		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
8662	}
8663	if s.Result == nil {
8664		invalidParams.Add(request.NewErrParamRequired("Result"))
8665	}
8666	if s.StageName == nil {
8667		invalidParams.Add(request.NewErrParamRequired("StageName"))
8668	}
8669	if s.StageName != nil && len(*s.StageName) < 1 {
8670		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
8671	}
8672	if s.Token == nil {
8673		invalidParams.Add(request.NewErrParamRequired("Token"))
8674	}
8675	if s.Result != nil {
8676		if err := s.Result.Validate(); err != nil {
8677			invalidParams.AddNested("Result", err.(request.ErrInvalidParams))
8678		}
8679	}
8680
8681	if invalidParams.Len() > 0 {
8682		return invalidParams
8683	}
8684	return nil
8685}
8686
8687// SetActionName sets the ActionName field's value.
8688func (s *PutApprovalResultInput) SetActionName(v string) *PutApprovalResultInput {
8689	s.ActionName = &v
8690	return s
8691}
8692
8693// SetPipelineName sets the PipelineName field's value.
8694func (s *PutApprovalResultInput) SetPipelineName(v string) *PutApprovalResultInput {
8695	s.PipelineName = &v
8696	return s
8697}
8698
8699// SetResult sets the Result field's value.
8700func (s *PutApprovalResultInput) SetResult(v *ApprovalResult) *PutApprovalResultInput {
8701	s.Result = v
8702	return s
8703}
8704
8705// SetStageName sets the StageName field's value.
8706func (s *PutApprovalResultInput) SetStageName(v string) *PutApprovalResultInput {
8707	s.StageName = &v
8708	return s
8709}
8710
8711// SetToken sets the Token field's value.
8712func (s *PutApprovalResultInput) SetToken(v string) *PutApprovalResultInput {
8713	s.Token = &v
8714	return s
8715}
8716
8717// Represents the output of a PutApprovalResult action.
8718type PutApprovalResultOutput struct {
8719	_ struct{} `type:"structure"`
8720
8721	// The timestamp showing when the approval or rejection was submitted.
8722	ApprovedAt *time.Time `locationName:"approvedAt" type:"timestamp"`
8723}
8724
8725// String returns the string representation
8726func (s PutApprovalResultOutput) String() string {
8727	return awsutil.Prettify(s)
8728}
8729
8730// GoString returns the string representation
8731func (s PutApprovalResultOutput) GoString() string {
8732	return s.String()
8733}
8734
8735// SetApprovedAt sets the ApprovedAt field's value.
8736func (s *PutApprovalResultOutput) SetApprovedAt(v time.Time) *PutApprovalResultOutput {
8737	s.ApprovedAt = &v
8738	return s
8739}
8740
8741// Represents the input of a PutJobFailureResult action.
8742type PutJobFailureResultInput struct {
8743	_ struct{} `type:"structure"`
8744
8745	// The details about the failure of a job.
8746	//
8747	// FailureDetails is a required field
8748	FailureDetails *FailureDetails `locationName:"failureDetails" type:"structure" required:"true"`
8749
8750	// The unique system-generated ID of the job that failed. This is the same ID
8751	// returned from PollForJobs.
8752	//
8753	// JobId is a required field
8754	JobId *string `locationName:"jobId" type:"string" required:"true"`
8755}
8756
8757// String returns the string representation
8758func (s PutJobFailureResultInput) String() string {
8759	return awsutil.Prettify(s)
8760}
8761
8762// GoString returns the string representation
8763func (s PutJobFailureResultInput) GoString() string {
8764	return s.String()
8765}
8766
8767// Validate inspects the fields of the type to determine if they are valid.
8768func (s *PutJobFailureResultInput) Validate() error {
8769	invalidParams := request.ErrInvalidParams{Context: "PutJobFailureResultInput"}
8770	if s.FailureDetails == nil {
8771		invalidParams.Add(request.NewErrParamRequired("FailureDetails"))
8772	}
8773	if s.JobId == nil {
8774		invalidParams.Add(request.NewErrParamRequired("JobId"))
8775	}
8776	if s.FailureDetails != nil {
8777		if err := s.FailureDetails.Validate(); err != nil {
8778			invalidParams.AddNested("FailureDetails", err.(request.ErrInvalidParams))
8779		}
8780	}
8781
8782	if invalidParams.Len() > 0 {
8783		return invalidParams
8784	}
8785	return nil
8786}
8787
8788// SetFailureDetails sets the FailureDetails field's value.
8789func (s *PutJobFailureResultInput) SetFailureDetails(v *FailureDetails) *PutJobFailureResultInput {
8790	s.FailureDetails = v
8791	return s
8792}
8793
8794// SetJobId sets the JobId field's value.
8795func (s *PutJobFailureResultInput) SetJobId(v string) *PutJobFailureResultInput {
8796	s.JobId = &v
8797	return s
8798}
8799
8800type PutJobFailureResultOutput struct {
8801	_ struct{} `type:"structure"`
8802}
8803
8804// String returns the string representation
8805func (s PutJobFailureResultOutput) String() string {
8806	return awsutil.Prettify(s)
8807}
8808
8809// GoString returns the string representation
8810func (s PutJobFailureResultOutput) GoString() string {
8811	return s.String()
8812}
8813
8814// Represents the input of a PutJobSuccessResult action.
8815type PutJobSuccessResultInput struct {
8816	_ struct{} `type:"structure"`
8817
8818	// A token generated by a job worker, such as an AWS CodeDeploy deployment ID,
8819	// that a successful job provides to identify a custom action in progress. Future
8820	// jobs use this token to identify the running instance of the action. It can
8821	// be reused to return more information about the progress of the custom action.
8822	// When the action is complete, no continuation token should be supplied.
8823	ContinuationToken *string `locationName:"continuationToken" min:"1" type:"string"`
8824
8825	// The ID of the current revision of the artifact successfully worked on by
8826	// the job.
8827	CurrentRevision *CurrentRevision `locationName:"currentRevision" type:"structure"`
8828
8829	// The execution details of the successful job, such as the actions taken by
8830	// the job worker.
8831	ExecutionDetails *ExecutionDetails `locationName:"executionDetails" type:"structure"`
8832
8833	// The unique system-generated ID of the job that succeeded. This is the same
8834	// ID returned from PollForJobs.
8835	//
8836	// JobId is a required field
8837	JobId *string `locationName:"jobId" type:"string" required:"true"`
8838
8839	// Key-value pairs produced as output by a job worker that can be made available
8840	// to a downstream action configuration. outputVariables can be included only
8841	// when there is no continuation token on the request.
8842	OutputVariables map[string]*string `locationName:"outputVariables" type:"map"`
8843}
8844
8845// String returns the string representation
8846func (s PutJobSuccessResultInput) String() string {
8847	return awsutil.Prettify(s)
8848}
8849
8850// GoString returns the string representation
8851func (s PutJobSuccessResultInput) GoString() string {
8852	return s.String()
8853}
8854
8855// Validate inspects the fields of the type to determine if they are valid.
8856func (s *PutJobSuccessResultInput) Validate() error {
8857	invalidParams := request.ErrInvalidParams{Context: "PutJobSuccessResultInput"}
8858	if s.ContinuationToken != nil && len(*s.ContinuationToken) < 1 {
8859		invalidParams.Add(request.NewErrParamMinLen("ContinuationToken", 1))
8860	}
8861	if s.JobId == nil {
8862		invalidParams.Add(request.NewErrParamRequired("JobId"))
8863	}
8864	if s.CurrentRevision != nil {
8865		if err := s.CurrentRevision.Validate(); err != nil {
8866			invalidParams.AddNested("CurrentRevision", err.(request.ErrInvalidParams))
8867		}
8868	}
8869	if s.ExecutionDetails != nil {
8870		if err := s.ExecutionDetails.Validate(); err != nil {
8871			invalidParams.AddNested("ExecutionDetails", err.(request.ErrInvalidParams))
8872		}
8873	}
8874
8875	if invalidParams.Len() > 0 {
8876		return invalidParams
8877	}
8878	return nil
8879}
8880
8881// SetContinuationToken sets the ContinuationToken field's value.
8882func (s *PutJobSuccessResultInput) SetContinuationToken(v string) *PutJobSuccessResultInput {
8883	s.ContinuationToken = &v
8884	return s
8885}
8886
8887// SetCurrentRevision sets the CurrentRevision field's value.
8888func (s *PutJobSuccessResultInput) SetCurrentRevision(v *CurrentRevision) *PutJobSuccessResultInput {
8889	s.CurrentRevision = v
8890	return s
8891}
8892
8893// SetExecutionDetails sets the ExecutionDetails field's value.
8894func (s *PutJobSuccessResultInput) SetExecutionDetails(v *ExecutionDetails) *PutJobSuccessResultInput {
8895	s.ExecutionDetails = v
8896	return s
8897}
8898
8899// SetJobId sets the JobId field's value.
8900func (s *PutJobSuccessResultInput) SetJobId(v string) *PutJobSuccessResultInput {
8901	s.JobId = &v
8902	return s
8903}
8904
8905// SetOutputVariables sets the OutputVariables field's value.
8906func (s *PutJobSuccessResultInput) SetOutputVariables(v map[string]*string) *PutJobSuccessResultInput {
8907	s.OutputVariables = v
8908	return s
8909}
8910
8911type PutJobSuccessResultOutput struct {
8912	_ struct{} `type:"structure"`
8913}
8914
8915// String returns the string representation
8916func (s PutJobSuccessResultOutput) String() string {
8917	return awsutil.Prettify(s)
8918}
8919
8920// GoString returns the string representation
8921func (s PutJobSuccessResultOutput) GoString() string {
8922	return s.String()
8923}
8924
8925// Represents the input of a PutThirdPartyJobFailureResult action.
8926type PutThirdPartyJobFailureResultInput struct {
8927	_ struct{} `type:"structure"`
8928
8929	// The clientToken portion of the clientId and clientToken pair used to verify
8930	// that the calling entity is allowed access to the job and its details.
8931	//
8932	// ClientToken is a required field
8933	ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"`
8934
8935	// Represents information about failure details.
8936	//
8937	// FailureDetails is a required field
8938	FailureDetails *FailureDetails `locationName:"failureDetails" type:"structure" required:"true"`
8939
8940	// The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.
8941	//
8942	// JobId is a required field
8943	JobId *string `locationName:"jobId" min:"1" type:"string" required:"true"`
8944}
8945
8946// String returns the string representation
8947func (s PutThirdPartyJobFailureResultInput) String() string {
8948	return awsutil.Prettify(s)
8949}
8950
8951// GoString returns the string representation
8952func (s PutThirdPartyJobFailureResultInput) GoString() string {
8953	return s.String()
8954}
8955
8956// Validate inspects the fields of the type to determine if they are valid.
8957func (s *PutThirdPartyJobFailureResultInput) Validate() error {
8958	invalidParams := request.ErrInvalidParams{Context: "PutThirdPartyJobFailureResultInput"}
8959	if s.ClientToken == nil {
8960		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
8961	}
8962	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
8963		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
8964	}
8965	if s.FailureDetails == nil {
8966		invalidParams.Add(request.NewErrParamRequired("FailureDetails"))
8967	}
8968	if s.JobId == nil {
8969		invalidParams.Add(request.NewErrParamRequired("JobId"))
8970	}
8971	if s.JobId != nil && len(*s.JobId) < 1 {
8972		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
8973	}
8974	if s.FailureDetails != nil {
8975		if err := s.FailureDetails.Validate(); err != nil {
8976			invalidParams.AddNested("FailureDetails", err.(request.ErrInvalidParams))
8977		}
8978	}
8979
8980	if invalidParams.Len() > 0 {
8981		return invalidParams
8982	}
8983	return nil
8984}
8985
8986// SetClientToken sets the ClientToken field's value.
8987func (s *PutThirdPartyJobFailureResultInput) SetClientToken(v string) *PutThirdPartyJobFailureResultInput {
8988	s.ClientToken = &v
8989	return s
8990}
8991
8992// SetFailureDetails sets the FailureDetails field's value.
8993func (s *PutThirdPartyJobFailureResultInput) SetFailureDetails(v *FailureDetails) *PutThirdPartyJobFailureResultInput {
8994	s.FailureDetails = v
8995	return s
8996}
8997
8998// SetJobId sets the JobId field's value.
8999func (s *PutThirdPartyJobFailureResultInput) SetJobId(v string) *PutThirdPartyJobFailureResultInput {
9000	s.JobId = &v
9001	return s
9002}
9003
9004type PutThirdPartyJobFailureResultOutput struct {
9005	_ struct{} `type:"structure"`
9006}
9007
9008// String returns the string representation
9009func (s PutThirdPartyJobFailureResultOutput) String() string {
9010	return awsutil.Prettify(s)
9011}
9012
9013// GoString returns the string representation
9014func (s PutThirdPartyJobFailureResultOutput) GoString() string {
9015	return s.String()
9016}
9017
9018// Represents the input of a PutThirdPartyJobSuccessResult action.
9019type PutThirdPartyJobSuccessResultInput struct {
9020	_ struct{} `type:"structure"`
9021
9022	// The clientToken portion of the clientId and clientToken pair used to verify
9023	// that the calling entity is allowed access to the job and its details.
9024	//
9025	// ClientToken is a required field
9026	ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"`
9027
9028	// A token generated by a job worker, such as an AWS CodeDeploy deployment ID,
9029	// that a successful job provides to identify a partner action in progress.
9030	// Future jobs use this token to identify the running instance of the action.
9031	// It can be reused to return more information about the progress of the partner
9032	// action. When the action is complete, no continuation token should be supplied.
9033	ContinuationToken *string `locationName:"continuationToken" min:"1" type:"string"`
9034
9035	// Represents information about a current revision.
9036	CurrentRevision *CurrentRevision `locationName:"currentRevision" type:"structure"`
9037
9038	// The details of the actions taken and results produced on an artifact as it
9039	// passes through stages in the pipeline.
9040	ExecutionDetails *ExecutionDetails `locationName:"executionDetails" type:"structure"`
9041
9042	// The ID of the job that successfully completed. This is the same ID returned
9043	// from PollForThirdPartyJobs.
9044	//
9045	// JobId is a required field
9046	JobId *string `locationName:"jobId" min:"1" type:"string" required:"true"`
9047}
9048
9049// String returns the string representation
9050func (s PutThirdPartyJobSuccessResultInput) String() string {
9051	return awsutil.Prettify(s)
9052}
9053
9054// GoString returns the string representation
9055func (s PutThirdPartyJobSuccessResultInput) GoString() string {
9056	return s.String()
9057}
9058
9059// Validate inspects the fields of the type to determine if they are valid.
9060func (s *PutThirdPartyJobSuccessResultInput) Validate() error {
9061	invalidParams := request.ErrInvalidParams{Context: "PutThirdPartyJobSuccessResultInput"}
9062	if s.ClientToken == nil {
9063		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
9064	}
9065	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
9066		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
9067	}
9068	if s.ContinuationToken != nil && len(*s.ContinuationToken) < 1 {
9069		invalidParams.Add(request.NewErrParamMinLen("ContinuationToken", 1))
9070	}
9071	if s.JobId == nil {
9072		invalidParams.Add(request.NewErrParamRequired("JobId"))
9073	}
9074	if s.JobId != nil && len(*s.JobId) < 1 {
9075		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
9076	}
9077	if s.CurrentRevision != nil {
9078		if err := s.CurrentRevision.Validate(); err != nil {
9079			invalidParams.AddNested("CurrentRevision", err.(request.ErrInvalidParams))
9080		}
9081	}
9082	if s.ExecutionDetails != nil {
9083		if err := s.ExecutionDetails.Validate(); err != nil {
9084			invalidParams.AddNested("ExecutionDetails", err.(request.ErrInvalidParams))
9085		}
9086	}
9087
9088	if invalidParams.Len() > 0 {
9089		return invalidParams
9090	}
9091	return nil
9092}
9093
9094// SetClientToken sets the ClientToken field's value.
9095func (s *PutThirdPartyJobSuccessResultInput) SetClientToken(v string) *PutThirdPartyJobSuccessResultInput {
9096	s.ClientToken = &v
9097	return s
9098}
9099
9100// SetContinuationToken sets the ContinuationToken field's value.
9101func (s *PutThirdPartyJobSuccessResultInput) SetContinuationToken(v string) *PutThirdPartyJobSuccessResultInput {
9102	s.ContinuationToken = &v
9103	return s
9104}
9105
9106// SetCurrentRevision sets the CurrentRevision field's value.
9107func (s *PutThirdPartyJobSuccessResultInput) SetCurrentRevision(v *CurrentRevision) *PutThirdPartyJobSuccessResultInput {
9108	s.CurrentRevision = v
9109	return s
9110}
9111
9112// SetExecutionDetails sets the ExecutionDetails field's value.
9113func (s *PutThirdPartyJobSuccessResultInput) SetExecutionDetails(v *ExecutionDetails) *PutThirdPartyJobSuccessResultInput {
9114	s.ExecutionDetails = v
9115	return s
9116}
9117
9118// SetJobId sets the JobId field's value.
9119func (s *PutThirdPartyJobSuccessResultInput) SetJobId(v string) *PutThirdPartyJobSuccessResultInput {
9120	s.JobId = &v
9121	return s
9122}
9123
9124type PutThirdPartyJobSuccessResultOutput struct {
9125	_ struct{} `type:"structure"`
9126}
9127
9128// String returns the string representation
9129func (s PutThirdPartyJobSuccessResultOutput) String() string {
9130	return awsutil.Prettify(s)
9131}
9132
9133// GoString returns the string representation
9134func (s PutThirdPartyJobSuccessResultOutput) GoString() string {
9135	return s.String()
9136}
9137
9138type PutWebhookInput struct {
9139	_ struct{} `type:"structure"`
9140
9141	// The tags for the webhook.
9142	Tags []*Tag `locationName:"tags" type:"list"`
9143
9144	// The detail provided in an input file to create the webhook, such as the webhook
9145	// name, the pipeline name, and the action name. Give the webhook a unique name
9146	// that helps you identify it. You might name the webhook after the pipeline
9147	// and action it targets so that you can easily recognize what it's used for
9148	// later.
9149	//
9150	// Webhook is a required field
9151	Webhook *WebhookDefinition `locationName:"webhook" type:"structure" required:"true"`
9152}
9153
9154// String returns the string representation
9155func (s PutWebhookInput) String() string {
9156	return awsutil.Prettify(s)
9157}
9158
9159// GoString returns the string representation
9160func (s PutWebhookInput) GoString() string {
9161	return s.String()
9162}
9163
9164// Validate inspects the fields of the type to determine if they are valid.
9165func (s *PutWebhookInput) Validate() error {
9166	invalidParams := request.ErrInvalidParams{Context: "PutWebhookInput"}
9167	if s.Webhook == nil {
9168		invalidParams.Add(request.NewErrParamRequired("Webhook"))
9169	}
9170	if s.Tags != nil {
9171		for i, v := range s.Tags {
9172			if v == nil {
9173				continue
9174			}
9175			if err := v.Validate(); err != nil {
9176				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9177			}
9178		}
9179	}
9180	if s.Webhook != nil {
9181		if err := s.Webhook.Validate(); err != nil {
9182			invalidParams.AddNested("Webhook", err.(request.ErrInvalidParams))
9183		}
9184	}
9185
9186	if invalidParams.Len() > 0 {
9187		return invalidParams
9188	}
9189	return nil
9190}
9191
9192// SetTags sets the Tags field's value.
9193func (s *PutWebhookInput) SetTags(v []*Tag) *PutWebhookInput {
9194	s.Tags = v
9195	return s
9196}
9197
9198// SetWebhook sets the Webhook field's value.
9199func (s *PutWebhookInput) SetWebhook(v *WebhookDefinition) *PutWebhookInput {
9200	s.Webhook = v
9201	return s
9202}
9203
9204type PutWebhookOutput struct {
9205	_ struct{} `type:"structure"`
9206
9207	// The detail returned from creating the webhook, such as the webhook name,
9208	// webhook URL, and webhook ARN.
9209	Webhook *ListWebhookItem `locationName:"webhook" type:"structure"`
9210}
9211
9212// String returns the string representation
9213func (s PutWebhookOutput) String() string {
9214	return awsutil.Prettify(s)
9215}
9216
9217// GoString returns the string representation
9218func (s PutWebhookOutput) GoString() string {
9219	return s.String()
9220}
9221
9222// SetWebhook sets the Webhook field's value.
9223func (s *PutWebhookOutput) SetWebhook(v *ListWebhookItem) *PutWebhookOutput {
9224	s.Webhook = v
9225	return s
9226}
9227
9228type RegisterWebhookWithThirdPartyInput struct {
9229	_ struct{} `type:"structure"`
9230
9231	// The name of an existing webhook created with PutWebhook to register with
9232	// a supported third party.
9233	WebhookName *string `locationName:"webhookName" min:"1" type:"string"`
9234}
9235
9236// String returns the string representation
9237func (s RegisterWebhookWithThirdPartyInput) String() string {
9238	return awsutil.Prettify(s)
9239}
9240
9241// GoString returns the string representation
9242func (s RegisterWebhookWithThirdPartyInput) GoString() string {
9243	return s.String()
9244}
9245
9246// Validate inspects the fields of the type to determine if they are valid.
9247func (s *RegisterWebhookWithThirdPartyInput) Validate() error {
9248	invalidParams := request.ErrInvalidParams{Context: "RegisterWebhookWithThirdPartyInput"}
9249	if s.WebhookName != nil && len(*s.WebhookName) < 1 {
9250		invalidParams.Add(request.NewErrParamMinLen("WebhookName", 1))
9251	}
9252
9253	if invalidParams.Len() > 0 {
9254		return invalidParams
9255	}
9256	return nil
9257}
9258
9259// SetWebhookName sets the WebhookName field's value.
9260func (s *RegisterWebhookWithThirdPartyInput) SetWebhookName(v string) *RegisterWebhookWithThirdPartyInput {
9261	s.WebhookName = &v
9262	return s
9263}
9264
9265type RegisterWebhookWithThirdPartyOutput struct {
9266	_ struct{} `type:"structure"`
9267}
9268
9269// String returns the string representation
9270func (s RegisterWebhookWithThirdPartyOutput) String() string {
9271	return awsutil.Prettify(s)
9272}
9273
9274// GoString returns the string representation
9275func (s RegisterWebhookWithThirdPartyOutput) GoString() string {
9276	return s.String()
9277}
9278
9279// Represents the input of a RetryStageExecution action.
9280type RetryStageExecutionInput struct {
9281	_ struct{} `type:"structure"`
9282
9283	// The ID of the pipeline execution in the failed stage to be retried. Use the
9284	// GetPipelineState action to retrieve the current pipelineExecutionId of the
9285	// failed stage
9286	//
9287	// PipelineExecutionId is a required field
9288	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string" required:"true"`
9289
9290	// The name of the pipeline that contains the failed stage.
9291	//
9292	// PipelineName is a required field
9293	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
9294
9295	// The scope of the retry attempt. Currently, the only supported value is FAILED_ACTIONS.
9296	//
9297	// RetryMode is a required field
9298	RetryMode *string `locationName:"retryMode" type:"string" required:"true" enum:"StageRetryMode"`
9299
9300	// The name of the failed stage to be retried.
9301	//
9302	// StageName is a required field
9303	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
9304}
9305
9306// String returns the string representation
9307func (s RetryStageExecutionInput) String() string {
9308	return awsutil.Prettify(s)
9309}
9310
9311// GoString returns the string representation
9312func (s RetryStageExecutionInput) GoString() string {
9313	return s.String()
9314}
9315
9316// Validate inspects the fields of the type to determine if they are valid.
9317func (s *RetryStageExecutionInput) Validate() error {
9318	invalidParams := request.ErrInvalidParams{Context: "RetryStageExecutionInput"}
9319	if s.PipelineExecutionId == nil {
9320		invalidParams.Add(request.NewErrParamRequired("PipelineExecutionId"))
9321	}
9322	if s.PipelineName == nil {
9323		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
9324	}
9325	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
9326		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
9327	}
9328	if s.RetryMode == nil {
9329		invalidParams.Add(request.NewErrParamRequired("RetryMode"))
9330	}
9331	if s.StageName == nil {
9332		invalidParams.Add(request.NewErrParamRequired("StageName"))
9333	}
9334	if s.StageName != nil && len(*s.StageName) < 1 {
9335		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
9336	}
9337
9338	if invalidParams.Len() > 0 {
9339		return invalidParams
9340	}
9341	return nil
9342}
9343
9344// SetPipelineExecutionId sets the PipelineExecutionId field's value.
9345func (s *RetryStageExecutionInput) SetPipelineExecutionId(v string) *RetryStageExecutionInput {
9346	s.PipelineExecutionId = &v
9347	return s
9348}
9349
9350// SetPipelineName sets the PipelineName field's value.
9351func (s *RetryStageExecutionInput) SetPipelineName(v string) *RetryStageExecutionInput {
9352	s.PipelineName = &v
9353	return s
9354}
9355
9356// SetRetryMode sets the RetryMode field's value.
9357func (s *RetryStageExecutionInput) SetRetryMode(v string) *RetryStageExecutionInput {
9358	s.RetryMode = &v
9359	return s
9360}
9361
9362// SetStageName sets the StageName field's value.
9363func (s *RetryStageExecutionInput) SetStageName(v string) *RetryStageExecutionInput {
9364	s.StageName = &v
9365	return s
9366}
9367
9368// Represents the output of a RetryStageExecution action.
9369type RetryStageExecutionOutput struct {
9370	_ struct{} `type:"structure"`
9371
9372	// The ID of the current workflow execution in the failed stage.
9373	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
9374}
9375
9376// String returns the string representation
9377func (s RetryStageExecutionOutput) String() string {
9378	return awsutil.Prettify(s)
9379}
9380
9381// GoString returns the string representation
9382func (s RetryStageExecutionOutput) GoString() string {
9383	return s.String()
9384}
9385
9386// SetPipelineExecutionId sets the PipelineExecutionId field's value.
9387func (s *RetryStageExecutionOutput) SetPipelineExecutionId(v string) *RetryStageExecutionOutput {
9388	s.PipelineExecutionId = &v
9389	return s
9390}
9391
9392// The location of the Amazon S3 bucket that contains a revision.
9393type S3ArtifactLocation struct {
9394	_ struct{} `type:"structure"`
9395
9396	// The name of the Amazon S3 bucket.
9397	//
9398	// BucketName is a required field
9399	BucketName *string `locationName:"bucketName" type:"string" required:"true"`
9400
9401	// The key of the object in the Amazon S3 bucket, which uniquely identifies
9402	// the object in the bucket.
9403	//
9404	// ObjectKey is a required field
9405	ObjectKey *string `locationName:"objectKey" type:"string" required:"true"`
9406}
9407
9408// String returns the string representation
9409func (s S3ArtifactLocation) String() string {
9410	return awsutil.Prettify(s)
9411}
9412
9413// GoString returns the string representation
9414func (s S3ArtifactLocation) GoString() string {
9415	return s.String()
9416}
9417
9418// SetBucketName sets the BucketName field's value.
9419func (s *S3ArtifactLocation) SetBucketName(v string) *S3ArtifactLocation {
9420	s.BucketName = &v
9421	return s
9422}
9423
9424// SetObjectKey sets the ObjectKey field's value.
9425func (s *S3ArtifactLocation) SetObjectKey(v string) *S3ArtifactLocation {
9426	s.ObjectKey = &v
9427	return s
9428}
9429
9430// The Amazon S3 artifact location for an action's artifacts.
9431type S3Location struct {
9432	_ struct{} `type:"structure"`
9433
9434	// The Amazon S3 artifact bucket for an action's artifacts.
9435	Bucket *string `locationName:"bucket" min:"3" type:"string"`
9436
9437	// The artifact name.
9438	Key *string `locationName:"key" min:"1" type:"string"`
9439}
9440
9441// String returns the string representation
9442func (s S3Location) String() string {
9443	return awsutil.Prettify(s)
9444}
9445
9446// GoString returns the string representation
9447func (s S3Location) GoString() string {
9448	return s.String()
9449}
9450
9451// SetBucket sets the Bucket field's value.
9452func (s *S3Location) SetBucket(v string) *S3Location {
9453	s.Bucket = &v
9454	return s
9455}
9456
9457// SetKey sets the Key field's value.
9458func (s *S3Location) SetKey(v string) *S3Location {
9459	s.Key = &v
9460	return s
9461}
9462
9463// Information about the version (or revision) of a source artifact that initiated
9464// a pipeline execution.
9465type SourceRevision struct {
9466	_ struct{} `type:"structure"`
9467
9468	// The name of the action that processed the revision to the source artifact.
9469	//
9470	// ActionName is a required field
9471	ActionName *string `locationName:"actionName" min:"1" type:"string" required:"true"`
9472
9473	// The system-generated unique ID that identifies the revision number of the
9474	// artifact.
9475	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
9476
9477	// Summary information about the most recent revision of the artifact. For GitHub
9478	// and AWS CodeCommit repositories, the commit message. For Amazon S3 buckets
9479	// or actions, the user-provided content of a codepipeline-artifact-revision-summary
9480	// key specified in the object metadata.
9481	RevisionSummary *string `locationName:"revisionSummary" min:"1" type:"string"`
9482
9483	// The commit ID for the artifact revision. For artifacts stored in GitHub or
9484	// AWS CodeCommit repositories, the commit ID is linked to a commit details
9485	// page.
9486	RevisionUrl *string `locationName:"revisionUrl" min:"1" type:"string"`
9487}
9488
9489// String returns the string representation
9490func (s SourceRevision) String() string {
9491	return awsutil.Prettify(s)
9492}
9493
9494// GoString returns the string representation
9495func (s SourceRevision) GoString() string {
9496	return s.String()
9497}
9498
9499// SetActionName sets the ActionName field's value.
9500func (s *SourceRevision) SetActionName(v string) *SourceRevision {
9501	s.ActionName = &v
9502	return s
9503}
9504
9505// SetRevisionId sets the RevisionId field's value.
9506func (s *SourceRevision) SetRevisionId(v string) *SourceRevision {
9507	s.RevisionId = &v
9508	return s
9509}
9510
9511// SetRevisionSummary sets the RevisionSummary field's value.
9512func (s *SourceRevision) SetRevisionSummary(v string) *SourceRevision {
9513	s.RevisionSummary = &v
9514	return s
9515}
9516
9517// SetRevisionUrl sets the RevisionUrl field's value.
9518func (s *SourceRevision) SetRevisionUrl(v string) *SourceRevision {
9519	s.RevisionUrl = &v
9520	return s
9521}
9522
9523// Represents information about a stage to a job worker.
9524type StageContext struct {
9525	_ struct{} `type:"structure"`
9526
9527	// The name of the stage.
9528	Name *string `locationName:"name" min:"1" type:"string"`
9529}
9530
9531// String returns the string representation
9532func (s StageContext) String() string {
9533	return awsutil.Prettify(s)
9534}
9535
9536// GoString returns the string representation
9537func (s StageContext) GoString() string {
9538	return s.String()
9539}
9540
9541// SetName sets the Name field's value.
9542func (s *StageContext) SetName(v string) *StageContext {
9543	s.Name = &v
9544	return s
9545}
9546
9547// Represents information about a stage and its definition.
9548type StageDeclaration struct {
9549	_ struct{} `type:"structure"`
9550
9551	// The actions included in a stage.
9552	//
9553	// Actions is a required field
9554	Actions []*ActionDeclaration `locationName:"actions" type:"list" required:"true"`
9555
9556	// Reserved for future use.
9557	Blockers []*BlockerDeclaration `locationName:"blockers" type:"list"`
9558
9559	// The name of the stage.
9560	//
9561	// Name is a required field
9562	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9563}
9564
9565// String returns the string representation
9566func (s StageDeclaration) String() string {
9567	return awsutil.Prettify(s)
9568}
9569
9570// GoString returns the string representation
9571func (s StageDeclaration) GoString() string {
9572	return s.String()
9573}
9574
9575// Validate inspects the fields of the type to determine if they are valid.
9576func (s *StageDeclaration) Validate() error {
9577	invalidParams := request.ErrInvalidParams{Context: "StageDeclaration"}
9578	if s.Actions == nil {
9579		invalidParams.Add(request.NewErrParamRequired("Actions"))
9580	}
9581	if s.Name == nil {
9582		invalidParams.Add(request.NewErrParamRequired("Name"))
9583	}
9584	if s.Name != nil && len(*s.Name) < 1 {
9585		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9586	}
9587	if s.Actions != nil {
9588		for i, v := range s.Actions {
9589			if v == nil {
9590				continue
9591			}
9592			if err := v.Validate(); err != nil {
9593				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
9594			}
9595		}
9596	}
9597	if s.Blockers != nil {
9598		for i, v := range s.Blockers {
9599			if v == nil {
9600				continue
9601			}
9602			if err := v.Validate(); err != nil {
9603				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Blockers", i), err.(request.ErrInvalidParams))
9604			}
9605		}
9606	}
9607
9608	if invalidParams.Len() > 0 {
9609		return invalidParams
9610	}
9611	return nil
9612}
9613
9614// SetActions sets the Actions field's value.
9615func (s *StageDeclaration) SetActions(v []*ActionDeclaration) *StageDeclaration {
9616	s.Actions = v
9617	return s
9618}
9619
9620// SetBlockers sets the Blockers field's value.
9621func (s *StageDeclaration) SetBlockers(v []*BlockerDeclaration) *StageDeclaration {
9622	s.Blockers = v
9623	return s
9624}
9625
9626// SetName sets the Name field's value.
9627func (s *StageDeclaration) SetName(v string) *StageDeclaration {
9628	s.Name = &v
9629	return s
9630}
9631
9632// Represents information about the run of a stage.
9633type StageExecution struct {
9634	_ struct{} `type:"structure"`
9635
9636	// The ID of the pipeline execution associated with the stage.
9637	//
9638	// PipelineExecutionId is a required field
9639	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string" required:"true"`
9640
9641	// The status of the stage, or for a completed stage, the last status of the
9642	// stage.
9643	//
9644	// Status is a required field
9645	Status *string `locationName:"status" type:"string" required:"true" enum:"StageExecutionStatus"`
9646}
9647
9648// String returns the string representation
9649func (s StageExecution) String() string {
9650	return awsutil.Prettify(s)
9651}
9652
9653// GoString returns the string representation
9654func (s StageExecution) GoString() string {
9655	return s.String()
9656}
9657
9658// SetPipelineExecutionId sets the PipelineExecutionId field's value.
9659func (s *StageExecution) SetPipelineExecutionId(v string) *StageExecution {
9660	s.PipelineExecutionId = &v
9661	return s
9662}
9663
9664// SetStatus sets the Status field's value.
9665func (s *StageExecution) SetStatus(v string) *StageExecution {
9666	s.Status = &v
9667	return s
9668}
9669
9670// Represents information about the state of the stage.
9671type StageState struct {
9672	_ struct{} `type:"structure"`
9673
9674	// The state of the stage.
9675	ActionStates []*ActionState `locationName:"actionStates" type:"list"`
9676
9677	// The state of the inbound transition, which is either enabled or disabled.
9678	InboundTransitionState *TransitionState `locationName:"inboundTransitionState" type:"structure"`
9679
9680	// Information about the latest execution in the stage, including its ID and
9681	// status.
9682	LatestExecution *StageExecution `locationName:"latestExecution" type:"structure"`
9683
9684	// The name of the stage.
9685	StageName *string `locationName:"stageName" min:"1" type:"string"`
9686}
9687
9688// String returns the string representation
9689func (s StageState) String() string {
9690	return awsutil.Prettify(s)
9691}
9692
9693// GoString returns the string representation
9694func (s StageState) GoString() string {
9695	return s.String()
9696}
9697
9698// SetActionStates sets the ActionStates field's value.
9699func (s *StageState) SetActionStates(v []*ActionState) *StageState {
9700	s.ActionStates = v
9701	return s
9702}
9703
9704// SetInboundTransitionState sets the InboundTransitionState field's value.
9705func (s *StageState) SetInboundTransitionState(v *TransitionState) *StageState {
9706	s.InboundTransitionState = v
9707	return s
9708}
9709
9710// SetLatestExecution sets the LatestExecution field's value.
9711func (s *StageState) SetLatestExecution(v *StageExecution) *StageState {
9712	s.LatestExecution = v
9713	return s
9714}
9715
9716// SetStageName sets the StageName field's value.
9717func (s *StageState) SetStageName(v string) *StageState {
9718	s.StageName = &v
9719	return s
9720}
9721
9722// Represents the input of a StartPipelineExecution action.
9723type StartPipelineExecutionInput struct {
9724	_ struct{} `type:"structure"`
9725
9726	// The system-generated unique ID used to identify a unique execution request.
9727	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
9728
9729	// The name of the pipeline to start.
9730	//
9731	// Name is a required field
9732	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9733}
9734
9735// String returns the string representation
9736func (s StartPipelineExecutionInput) String() string {
9737	return awsutil.Prettify(s)
9738}
9739
9740// GoString returns the string representation
9741func (s StartPipelineExecutionInput) GoString() string {
9742	return s.String()
9743}
9744
9745// Validate inspects the fields of the type to determine if they are valid.
9746func (s *StartPipelineExecutionInput) Validate() error {
9747	invalidParams := request.ErrInvalidParams{Context: "StartPipelineExecutionInput"}
9748	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
9749		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
9750	}
9751	if s.Name == nil {
9752		invalidParams.Add(request.NewErrParamRequired("Name"))
9753	}
9754	if s.Name != nil && len(*s.Name) < 1 {
9755		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9756	}
9757
9758	if invalidParams.Len() > 0 {
9759		return invalidParams
9760	}
9761	return nil
9762}
9763
9764// SetClientRequestToken sets the ClientRequestToken field's value.
9765func (s *StartPipelineExecutionInput) SetClientRequestToken(v string) *StartPipelineExecutionInput {
9766	s.ClientRequestToken = &v
9767	return s
9768}
9769
9770// SetName sets the Name field's value.
9771func (s *StartPipelineExecutionInput) SetName(v string) *StartPipelineExecutionInput {
9772	s.Name = &v
9773	return s
9774}
9775
9776// Represents the output of a StartPipelineExecution action.
9777type StartPipelineExecutionOutput struct {
9778	_ struct{} `type:"structure"`
9779
9780	// The unique system-generated ID of the pipeline execution that was started.
9781	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
9782}
9783
9784// String returns the string representation
9785func (s StartPipelineExecutionOutput) String() string {
9786	return awsutil.Prettify(s)
9787}
9788
9789// GoString returns the string representation
9790func (s StartPipelineExecutionOutput) GoString() string {
9791	return s.String()
9792}
9793
9794// SetPipelineExecutionId sets the PipelineExecutionId field's value.
9795func (s *StartPipelineExecutionOutput) SetPipelineExecutionId(v string) *StartPipelineExecutionOutput {
9796	s.PipelineExecutionId = &v
9797	return s
9798}
9799
9800// A tag is a key-value pair that is used to manage the resource.
9801type Tag struct {
9802	_ struct{} `type:"structure"`
9803
9804	// The tag's key.
9805	//
9806	// Key is a required field
9807	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
9808
9809	// The tag's value.
9810	//
9811	// Value is a required field
9812	Value *string `locationName:"value" type:"string" required:"true"`
9813}
9814
9815// String returns the string representation
9816func (s Tag) String() string {
9817	return awsutil.Prettify(s)
9818}
9819
9820// GoString returns the string representation
9821func (s Tag) GoString() string {
9822	return s.String()
9823}
9824
9825// Validate inspects the fields of the type to determine if they are valid.
9826func (s *Tag) Validate() error {
9827	invalidParams := request.ErrInvalidParams{Context: "Tag"}
9828	if s.Key == nil {
9829		invalidParams.Add(request.NewErrParamRequired("Key"))
9830	}
9831	if s.Key != nil && len(*s.Key) < 1 {
9832		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9833	}
9834	if s.Value == nil {
9835		invalidParams.Add(request.NewErrParamRequired("Value"))
9836	}
9837
9838	if invalidParams.Len() > 0 {
9839		return invalidParams
9840	}
9841	return nil
9842}
9843
9844// SetKey sets the Key field's value.
9845func (s *Tag) SetKey(v string) *Tag {
9846	s.Key = &v
9847	return s
9848}
9849
9850// SetValue sets the Value field's value.
9851func (s *Tag) SetValue(v string) *Tag {
9852	s.Value = &v
9853	return s
9854}
9855
9856type TagResourceInput struct {
9857	_ struct{} `type:"structure"`
9858
9859	// The Amazon Resource Name (ARN) of the resource you want to add tags to.
9860	//
9861	// ResourceArn is a required field
9862	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
9863
9864	// The tags you want to modify or add to the resource.
9865	//
9866	// Tags is a required field
9867	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
9868}
9869
9870// String returns the string representation
9871func (s TagResourceInput) String() string {
9872	return awsutil.Prettify(s)
9873}
9874
9875// GoString returns the string representation
9876func (s TagResourceInput) GoString() string {
9877	return s.String()
9878}
9879
9880// Validate inspects the fields of the type to determine if they are valid.
9881func (s *TagResourceInput) Validate() error {
9882	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
9883	if s.ResourceArn == nil {
9884		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9885	}
9886	if s.Tags == nil {
9887		invalidParams.Add(request.NewErrParamRequired("Tags"))
9888	}
9889	if s.Tags != nil {
9890		for i, v := range s.Tags {
9891			if v == nil {
9892				continue
9893			}
9894			if err := v.Validate(); err != nil {
9895				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9896			}
9897		}
9898	}
9899
9900	if invalidParams.Len() > 0 {
9901		return invalidParams
9902	}
9903	return nil
9904}
9905
9906// SetResourceArn sets the ResourceArn field's value.
9907func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
9908	s.ResourceArn = &v
9909	return s
9910}
9911
9912// SetTags sets the Tags field's value.
9913func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
9914	s.Tags = v
9915	return s
9916}
9917
9918type TagResourceOutput struct {
9919	_ struct{} `type:"structure"`
9920}
9921
9922// String returns the string representation
9923func (s TagResourceOutput) String() string {
9924	return awsutil.Prettify(s)
9925}
9926
9927// GoString returns the string representation
9928func (s TagResourceOutput) GoString() string {
9929	return s.String()
9930}
9931
9932// A response to a PollForThirdPartyJobs request returned by AWS CodePipeline
9933// when there is a job to be worked on by a partner action.
9934type ThirdPartyJob struct {
9935	_ struct{} `type:"structure"`
9936
9937	// The clientToken portion of the clientId and clientToken pair used to verify
9938	// that the calling entity is allowed access to the job and its details.
9939	ClientId *string `locationName:"clientId" type:"string"`
9940
9941	// The identifier used to identify the job in AWS CodePipeline.
9942	JobId *string `locationName:"jobId" type:"string"`
9943}
9944
9945// String returns the string representation
9946func (s ThirdPartyJob) String() string {
9947	return awsutil.Prettify(s)
9948}
9949
9950// GoString returns the string representation
9951func (s ThirdPartyJob) GoString() string {
9952	return s.String()
9953}
9954
9955// SetClientId sets the ClientId field's value.
9956func (s *ThirdPartyJob) SetClientId(v string) *ThirdPartyJob {
9957	s.ClientId = &v
9958	return s
9959}
9960
9961// SetJobId sets the JobId field's value.
9962func (s *ThirdPartyJob) SetJobId(v string) *ThirdPartyJob {
9963	s.JobId = &v
9964	return s
9965}
9966
9967// Represents information about the job data for a partner action.
9968type ThirdPartyJobData struct {
9969	_ struct{} `type:"structure"`
9970
9971	// Represents information about an action configuration.
9972	ActionConfiguration *ActionConfiguration `locationName:"actionConfiguration" type:"structure"`
9973
9974	// Represents information about an action type.
9975	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure"`
9976
9977	// Represents an AWS session credentials object. These credentials are temporary
9978	// credentials that are issued by AWS Secure Token Service (STS). They can be
9979	// used to access input and output artifacts in the Amazon S3 bucket used to
9980	// store artifact for the pipeline in AWS CodePipeline.
9981	ArtifactCredentials *AWSSessionCredentials `locationName:"artifactCredentials" type:"structure" sensitive:"true"`
9982
9983	// A system-generated token, such as a AWS CodeDeploy deployment ID, that a
9984	// job requires to continue the job asynchronously.
9985	ContinuationToken *string `locationName:"continuationToken" min:"1" type:"string"`
9986
9987	// The encryption key used to encrypt and decrypt data in the artifact store
9988	// for the pipeline, such as an AWS Key Management Service (AWS KMS) key. This
9989	// is optional and might not be present.
9990	EncryptionKey *EncryptionKey `locationName:"encryptionKey" type:"structure"`
9991
9992	// The name of the artifact that is worked on by the action, if any. This name
9993	// might be system-generated, such as "MyApp", or it might be defined by the
9994	// user when the action is created. The input artifact name must match the name
9995	// of an output artifact generated by an action in an earlier action or stage
9996	// of the pipeline.
9997	InputArtifacts []*Artifact `locationName:"inputArtifacts" type:"list"`
9998
9999	// The name of the artifact that is the result of the action, if any. This name
10000	// might be system-generated, such as "MyBuiltApp", or it might be defined by
10001	// the user when the action is created.
10002	OutputArtifacts []*Artifact `locationName:"outputArtifacts" type:"list"`
10003
10004	// Represents information about a pipeline to a job worker.
10005	//
10006	// Does not include pipelineArn and pipelineExecutionId for ThirdParty jobs.
10007	PipelineContext *PipelineContext `locationName:"pipelineContext" type:"structure"`
10008}
10009
10010// String returns the string representation
10011func (s ThirdPartyJobData) String() string {
10012	return awsutil.Prettify(s)
10013}
10014
10015// GoString returns the string representation
10016func (s ThirdPartyJobData) GoString() string {
10017	return s.String()
10018}
10019
10020// SetActionConfiguration sets the ActionConfiguration field's value.
10021func (s *ThirdPartyJobData) SetActionConfiguration(v *ActionConfiguration) *ThirdPartyJobData {
10022	s.ActionConfiguration = v
10023	return s
10024}
10025
10026// SetActionTypeId sets the ActionTypeId field's value.
10027func (s *ThirdPartyJobData) SetActionTypeId(v *ActionTypeId) *ThirdPartyJobData {
10028	s.ActionTypeId = v
10029	return s
10030}
10031
10032// SetArtifactCredentials sets the ArtifactCredentials field's value.
10033func (s *ThirdPartyJobData) SetArtifactCredentials(v *AWSSessionCredentials) *ThirdPartyJobData {
10034	s.ArtifactCredentials = v
10035	return s
10036}
10037
10038// SetContinuationToken sets the ContinuationToken field's value.
10039func (s *ThirdPartyJobData) SetContinuationToken(v string) *ThirdPartyJobData {
10040	s.ContinuationToken = &v
10041	return s
10042}
10043
10044// SetEncryptionKey sets the EncryptionKey field's value.
10045func (s *ThirdPartyJobData) SetEncryptionKey(v *EncryptionKey) *ThirdPartyJobData {
10046	s.EncryptionKey = v
10047	return s
10048}
10049
10050// SetInputArtifacts sets the InputArtifacts field's value.
10051func (s *ThirdPartyJobData) SetInputArtifacts(v []*Artifact) *ThirdPartyJobData {
10052	s.InputArtifacts = v
10053	return s
10054}
10055
10056// SetOutputArtifacts sets the OutputArtifacts field's value.
10057func (s *ThirdPartyJobData) SetOutputArtifacts(v []*Artifact) *ThirdPartyJobData {
10058	s.OutputArtifacts = v
10059	return s
10060}
10061
10062// SetPipelineContext sets the PipelineContext field's value.
10063func (s *ThirdPartyJobData) SetPipelineContext(v *PipelineContext) *ThirdPartyJobData {
10064	s.PipelineContext = v
10065	return s
10066}
10067
10068// The details of a job sent in response to a GetThirdPartyJobDetails request.
10069type ThirdPartyJobDetails struct {
10070	_ struct{} `type:"structure"`
10071
10072	// The data to be returned by the third party job worker.
10073	Data *ThirdPartyJobData `locationName:"data" type:"structure"`
10074
10075	// The identifier used to identify the job details in AWS CodePipeline.
10076	Id *string `locationName:"id" min:"1" type:"string"`
10077
10078	// A system-generated random number that AWS CodePipeline uses to ensure that
10079	// the job is being worked on by only one job worker. Use this number in an
10080	// AcknowledgeThirdPartyJob request.
10081	Nonce *string `locationName:"nonce" min:"1" type:"string"`
10082}
10083
10084// String returns the string representation
10085func (s ThirdPartyJobDetails) String() string {
10086	return awsutil.Prettify(s)
10087}
10088
10089// GoString returns the string representation
10090func (s ThirdPartyJobDetails) GoString() string {
10091	return s.String()
10092}
10093
10094// SetData sets the Data field's value.
10095func (s *ThirdPartyJobDetails) SetData(v *ThirdPartyJobData) *ThirdPartyJobDetails {
10096	s.Data = v
10097	return s
10098}
10099
10100// SetId sets the Id field's value.
10101func (s *ThirdPartyJobDetails) SetId(v string) *ThirdPartyJobDetails {
10102	s.Id = &v
10103	return s
10104}
10105
10106// SetNonce sets the Nonce field's value.
10107func (s *ThirdPartyJobDetails) SetNonce(v string) *ThirdPartyJobDetails {
10108	s.Nonce = &v
10109	return s
10110}
10111
10112// Represents information about the state of transitions between one stage and
10113// another stage.
10114type TransitionState struct {
10115	_ struct{} `type:"structure"`
10116
10117	// The user-specified reason why the transition between two stages of a pipeline
10118	// was disabled.
10119	DisabledReason *string `locationName:"disabledReason" min:"1" type:"string"`
10120
10121	// Whether the transition between stages is enabled (true) or disabled (false).
10122	Enabled *bool `locationName:"enabled" type:"boolean"`
10123
10124	// The timestamp when the transition state was last changed.
10125	LastChangedAt *time.Time `locationName:"lastChangedAt" type:"timestamp"`
10126
10127	// The ID of the user who last changed the transition state.
10128	LastChangedBy *string `locationName:"lastChangedBy" type:"string"`
10129}
10130
10131// String returns the string representation
10132func (s TransitionState) String() string {
10133	return awsutil.Prettify(s)
10134}
10135
10136// GoString returns the string representation
10137func (s TransitionState) GoString() string {
10138	return s.String()
10139}
10140
10141// SetDisabledReason sets the DisabledReason field's value.
10142func (s *TransitionState) SetDisabledReason(v string) *TransitionState {
10143	s.DisabledReason = &v
10144	return s
10145}
10146
10147// SetEnabled sets the Enabled field's value.
10148func (s *TransitionState) SetEnabled(v bool) *TransitionState {
10149	s.Enabled = &v
10150	return s
10151}
10152
10153// SetLastChangedAt sets the LastChangedAt field's value.
10154func (s *TransitionState) SetLastChangedAt(v time.Time) *TransitionState {
10155	s.LastChangedAt = &v
10156	return s
10157}
10158
10159// SetLastChangedBy sets the LastChangedBy field's value.
10160func (s *TransitionState) SetLastChangedBy(v string) *TransitionState {
10161	s.LastChangedBy = &v
10162	return s
10163}
10164
10165type UntagResourceInput struct {
10166	_ struct{} `type:"structure"`
10167
10168	// The Amazon Resource Name (ARN) of the resource to remove tags from.
10169	//
10170	// ResourceArn is a required field
10171	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
10172
10173	// The list of keys for the tags to be removed from the resource.
10174	//
10175	// TagKeys is a required field
10176	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
10177}
10178
10179// String returns the string representation
10180func (s UntagResourceInput) String() string {
10181	return awsutil.Prettify(s)
10182}
10183
10184// GoString returns the string representation
10185func (s UntagResourceInput) GoString() string {
10186	return s.String()
10187}
10188
10189// Validate inspects the fields of the type to determine if they are valid.
10190func (s *UntagResourceInput) Validate() error {
10191	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10192	if s.ResourceArn == nil {
10193		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10194	}
10195	if s.TagKeys == nil {
10196		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10197	}
10198
10199	if invalidParams.Len() > 0 {
10200		return invalidParams
10201	}
10202	return nil
10203}
10204
10205// SetResourceArn sets the ResourceArn field's value.
10206func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
10207	s.ResourceArn = &v
10208	return s
10209}
10210
10211// SetTagKeys sets the TagKeys field's value.
10212func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10213	s.TagKeys = v
10214	return s
10215}
10216
10217type UntagResourceOutput struct {
10218	_ struct{} `type:"structure"`
10219}
10220
10221// String returns the string representation
10222func (s UntagResourceOutput) String() string {
10223	return awsutil.Prettify(s)
10224}
10225
10226// GoString returns the string representation
10227func (s UntagResourceOutput) GoString() string {
10228	return s.String()
10229}
10230
10231// Represents the input of an UpdatePipeline action.
10232type UpdatePipelineInput struct {
10233	_ struct{} `type:"structure"`
10234
10235	// The name of the pipeline to be updated.
10236	//
10237	// Pipeline is a required field
10238	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure" required:"true"`
10239}
10240
10241// String returns the string representation
10242func (s UpdatePipelineInput) String() string {
10243	return awsutil.Prettify(s)
10244}
10245
10246// GoString returns the string representation
10247func (s UpdatePipelineInput) GoString() string {
10248	return s.String()
10249}
10250
10251// Validate inspects the fields of the type to determine if they are valid.
10252func (s *UpdatePipelineInput) Validate() error {
10253	invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineInput"}
10254	if s.Pipeline == nil {
10255		invalidParams.Add(request.NewErrParamRequired("Pipeline"))
10256	}
10257	if s.Pipeline != nil {
10258		if err := s.Pipeline.Validate(); err != nil {
10259			invalidParams.AddNested("Pipeline", err.(request.ErrInvalidParams))
10260		}
10261	}
10262
10263	if invalidParams.Len() > 0 {
10264		return invalidParams
10265	}
10266	return nil
10267}
10268
10269// SetPipeline sets the Pipeline field's value.
10270func (s *UpdatePipelineInput) SetPipeline(v *PipelineDeclaration) *UpdatePipelineInput {
10271	s.Pipeline = v
10272	return s
10273}
10274
10275// Represents the output of an UpdatePipeline action.
10276type UpdatePipelineOutput struct {
10277	_ struct{} `type:"structure"`
10278
10279	// The structure of the updated pipeline.
10280	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure"`
10281}
10282
10283// String returns the string representation
10284func (s UpdatePipelineOutput) String() string {
10285	return awsutil.Prettify(s)
10286}
10287
10288// GoString returns the string representation
10289func (s UpdatePipelineOutput) GoString() string {
10290	return s.String()
10291}
10292
10293// SetPipeline sets the Pipeline field's value.
10294func (s *UpdatePipelineOutput) SetPipeline(v *PipelineDeclaration) *UpdatePipelineOutput {
10295	s.Pipeline = v
10296	return s
10297}
10298
10299// The authentication applied to incoming webhook trigger requests.
10300type WebhookAuthConfiguration struct {
10301	_ struct{} `type:"structure"`
10302
10303	// The property used to configure acceptance of webhooks in an IP address range.
10304	// For IP, only the AllowedIPRange property must be set. This property must
10305	// be set to a valid CIDR range.
10306	AllowedIPRange *string `min:"1" type:"string"`
10307
10308	// The property used to configure GitHub authentication. For GITHUB_HMAC, only
10309	// the SecretToken property must be set.
10310	SecretToken *string `min:"1" type:"string"`
10311}
10312
10313// String returns the string representation
10314func (s WebhookAuthConfiguration) String() string {
10315	return awsutil.Prettify(s)
10316}
10317
10318// GoString returns the string representation
10319func (s WebhookAuthConfiguration) GoString() string {
10320	return s.String()
10321}
10322
10323// Validate inspects the fields of the type to determine if they are valid.
10324func (s *WebhookAuthConfiguration) Validate() error {
10325	invalidParams := request.ErrInvalidParams{Context: "WebhookAuthConfiguration"}
10326	if s.AllowedIPRange != nil && len(*s.AllowedIPRange) < 1 {
10327		invalidParams.Add(request.NewErrParamMinLen("AllowedIPRange", 1))
10328	}
10329	if s.SecretToken != nil && len(*s.SecretToken) < 1 {
10330		invalidParams.Add(request.NewErrParamMinLen("SecretToken", 1))
10331	}
10332
10333	if invalidParams.Len() > 0 {
10334		return invalidParams
10335	}
10336	return nil
10337}
10338
10339// SetAllowedIPRange sets the AllowedIPRange field's value.
10340func (s *WebhookAuthConfiguration) SetAllowedIPRange(v string) *WebhookAuthConfiguration {
10341	s.AllowedIPRange = &v
10342	return s
10343}
10344
10345// SetSecretToken sets the SecretToken field's value.
10346func (s *WebhookAuthConfiguration) SetSecretToken(v string) *WebhookAuthConfiguration {
10347	s.SecretToken = &v
10348	return s
10349}
10350
10351// Represents information about a webhook and its definition.
10352type WebhookDefinition struct {
10353	_ struct{} `type:"structure"`
10354
10355	// Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.
10356	//
10357	//    * For information about the authentication scheme implemented by GITHUB_HMAC,
10358	//    see Securing your webhooks (https://developer.github.com/webhooks/securing/)
10359	//    on the GitHub Developer website.
10360	//
10361	//    * IP rejects webhooks trigger requests unless they originate from an IP
10362	//    address in the IP range whitelisted in the authentication configuration.
10363	//
10364	//    * UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
10365	//
10366	// Authentication is a required field
10367	Authentication *string `locationName:"authentication" type:"string" required:"true" enum:"WebhookAuthenticationType"`
10368
10369	// Properties that configure the authentication applied to incoming webhook
10370	// trigger requests. The required properties depend on the authentication type.
10371	// For GITHUB_HMAC, only the SecretToken property must be set. For IP, only
10372	// the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED,
10373	// no properties can be set.
10374	//
10375	// AuthenticationConfiguration is a required field
10376	AuthenticationConfiguration *WebhookAuthConfiguration `locationName:"authenticationConfiguration" type:"structure" required:"true"`
10377
10378	// A list of rules applied to the body/payload sent in the POST request to a
10379	// webhook URL. All defined rules must pass for the request to be accepted and
10380	// the pipeline started.
10381	//
10382	// Filters is a required field
10383	Filters []*WebhookFilterRule `locationName:"filters" type:"list" required:"true"`
10384
10385	// The name of the webhook.
10386	//
10387	// Name is a required field
10388	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
10389
10390	// The name of the action in a pipeline you want to connect to the webhook.
10391	// The action must be from the source (first) stage of the pipeline.
10392	//
10393	// TargetAction is a required field
10394	TargetAction *string `locationName:"targetAction" min:"1" type:"string" required:"true"`
10395
10396	// The name of the pipeline you want to connect to the webhook.
10397	//
10398	// TargetPipeline is a required field
10399	TargetPipeline *string `locationName:"targetPipeline" min:"1" type:"string" required:"true"`
10400}
10401
10402// String returns the string representation
10403func (s WebhookDefinition) String() string {
10404	return awsutil.Prettify(s)
10405}
10406
10407// GoString returns the string representation
10408func (s WebhookDefinition) GoString() string {
10409	return s.String()
10410}
10411
10412// Validate inspects the fields of the type to determine if they are valid.
10413func (s *WebhookDefinition) Validate() error {
10414	invalidParams := request.ErrInvalidParams{Context: "WebhookDefinition"}
10415	if s.Authentication == nil {
10416		invalidParams.Add(request.NewErrParamRequired("Authentication"))
10417	}
10418	if s.AuthenticationConfiguration == nil {
10419		invalidParams.Add(request.NewErrParamRequired("AuthenticationConfiguration"))
10420	}
10421	if s.Filters == nil {
10422		invalidParams.Add(request.NewErrParamRequired("Filters"))
10423	}
10424	if s.Name == nil {
10425		invalidParams.Add(request.NewErrParamRequired("Name"))
10426	}
10427	if s.Name != nil && len(*s.Name) < 1 {
10428		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10429	}
10430	if s.TargetAction == nil {
10431		invalidParams.Add(request.NewErrParamRequired("TargetAction"))
10432	}
10433	if s.TargetAction != nil && len(*s.TargetAction) < 1 {
10434		invalidParams.Add(request.NewErrParamMinLen("TargetAction", 1))
10435	}
10436	if s.TargetPipeline == nil {
10437		invalidParams.Add(request.NewErrParamRequired("TargetPipeline"))
10438	}
10439	if s.TargetPipeline != nil && len(*s.TargetPipeline) < 1 {
10440		invalidParams.Add(request.NewErrParamMinLen("TargetPipeline", 1))
10441	}
10442	if s.AuthenticationConfiguration != nil {
10443		if err := s.AuthenticationConfiguration.Validate(); err != nil {
10444			invalidParams.AddNested("AuthenticationConfiguration", err.(request.ErrInvalidParams))
10445		}
10446	}
10447	if s.Filters != nil {
10448		for i, v := range s.Filters {
10449			if v == nil {
10450				continue
10451			}
10452			if err := v.Validate(); err != nil {
10453				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10454			}
10455		}
10456	}
10457
10458	if invalidParams.Len() > 0 {
10459		return invalidParams
10460	}
10461	return nil
10462}
10463
10464// SetAuthentication sets the Authentication field's value.
10465func (s *WebhookDefinition) SetAuthentication(v string) *WebhookDefinition {
10466	s.Authentication = &v
10467	return s
10468}
10469
10470// SetAuthenticationConfiguration sets the AuthenticationConfiguration field's value.
10471func (s *WebhookDefinition) SetAuthenticationConfiguration(v *WebhookAuthConfiguration) *WebhookDefinition {
10472	s.AuthenticationConfiguration = v
10473	return s
10474}
10475
10476// SetFilters sets the Filters field's value.
10477func (s *WebhookDefinition) SetFilters(v []*WebhookFilterRule) *WebhookDefinition {
10478	s.Filters = v
10479	return s
10480}
10481
10482// SetName sets the Name field's value.
10483func (s *WebhookDefinition) SetName(v string) *WebhookDefinition {
10484	s.Name = &v
10485	return s
10486}
10487
10488// SetTargetAction sets the TargetAction field's value.
10489func (s *WebhookDefinition) SetTargetAction(v string) *WebhookDefinition {
10490	s.TargetAction = &v
10491	return s
10492}
10493
10494// SetTargetPipeline sets the TargetPipeline field's value.
10495func (s *WebhookDefinition) SetTargetPipeline(v string) *WebhookDefinition {
10496	s.TargetPipeline = &v
10497	return s
10498}
10499
10500// The event criteria that specify when a webhook notification is sent to your
10501// URL.
10502type WebhookFilterRule struct {
10503	_ struct{} `type:"structure"`
10504
10505	// A JsonPath expression that is applied to the body/payload of the webhook.
10506	// The value selected by the JsonPath expression must match the value specified
10507	// in the MatchEquals field. Otherwise, the request is ignored. For more information,
10508	// see Java JsonPath implementation (https://github.com/json-path/JsonPath)
10509	// in GitHub.
10510	//
10511	// JsonPath is a required field
10512	JsonPath *string `locationName:"jsonPath" min:"1" type:"string" required:"true"`
10513
10514	// The value selected by the JsonPath expression must match what is supplied
10515	// in the MatchEquals field. Otherwise, the request is ignored. Properties from
10516	// the target action configuration can be included as placeholders in this value
10517	// by surrounding the action configuration key with curly brackets. For example,
10518	// if the value supplied here is "refs/heads/{Branch}" and the target action
10519	// has an action configuration property called "Branch" with a value of "master",
10520	// the MatchEquals value is evaluated as "refs/heads/master". For a list of
10521	// action configuration properties for built-in action types, see Pipeline Structure
10522	// Reference Action Requirements (https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements).
10523	MatchEquals *string `locationName:"matchEquals" min:"1" type:"string"`
10524}
10525
10526// String returns the string representation
10527func (s WebhookFilterRule) String() string {
10528	return awsutil.Prettify(s)
10529}
10530
10531// GoString returns the string representation
10532func (s WebhookFilterRule) GoString() string {
10533	return s.String()
10534}
10535
10536// Validate inspects the fields of the type to determine if they are valid.
10537func (s *WebhookFilterRule) Validate() error {
10538	invalidParams := request.ErrInvalidParams{Context: "WebhookFilterRule"}
10539	if s.JsonPath == nil {
10540		invalidParams.Add(request.NewErrParamRequired("JsonPath"))
10541	}
10542	if s.JsonPath != nil && len(*s.JsonPath) < 1 {
10543		invalidParams.Add(request.NewErrParamMinLen("JsonPath", 1))
10544	}
10545	if s.MatchEquals != nil && len(*s.MatchEquals) < 1 {
10546		invalidParams.Add(request.NewErrParamMinLen("MatchEquals", 1))
10547	}
10548
10549	if invalidParams.Len() > 0 {
10550		return invalidParams
10551	}
10552	return nil
10553}
10554
10555// SetJsonPath sets the JsonPath field's value.
10556func (s *WebhookFilterRule) SetJsonPath(v string) *WebhookFilterRule {
10557	s.JsonPath = &v
10558	return s
10559}
10560
10561// SetMatchEquals sets the MatchEquals field's value.
10562func (s *WebhookFilterRule) SetMatchEquals(v string) *WebhookFilterRule {
10563	s.MatchEquals = &v
10564	return s
10565}
10566
10567const (
10568	// ActionCategorySource is a ActionCategory enum value
10569	ActionCategorySource = "Source"
10570
10571	// ActionCategoryBuild is a ActionCategory enum value
10572	ActionCategoryBuild = "Build"
10573
10574	// ActionCategoryDeploy is a ActionCategory enum value
10575	ActionCategoryDeploy = "Deploy"
10576
10577	// ActionCategoryTest is a ActionCategory enum value
10578	ActionCategoryTest = "Test"
10579
10580	// ActionCategoryInvoke is a ActionCategory enum value
10581	ActionCategoryInvoke = "Invoke"
10582
10583	// ActionCategoryApproval is a ActionCategory enum value
10584	ActionCategoryApproval = "Approval"
10585)
10586
10587const (
10588	// ActionConfigurationPropertyTypeString is a ActionConfigurationPropertyType enum value
10589	ActionConfigurationPropertyTypeString = "String"
10590
10591	// ActionConfigurationPropertyTypeNumber is a ActionConfigurationPropertyType enum value
10592	ActionConfigurationPropertyTypeNumber = "Number"
10593
10594	// ActionConfigurationPropertyTypeBoolean is a ActionConfigurationPropertyType enum value
10595	ActionConfigurationPropertyTypeBoolean = "Boolean"
10596)
10597
10598const (
10599	// ActionExecutionStatusInProgress is a ActionExecutionStatus enum value
10600	ActionExecutionStatusInProgress = "InProgress"
10601
10602	// ActionExecutionStatusSucceeded is a ActionExecutionStatus enum value
10603	ActionExecutionStatusSucceeded = "Succeeded"
10604
10605	// ActionExecutionStatusFailed is a ActionExecutionStatus enum value
10606	ActionExecutionStatusFailed = "Failed"
10607)
10608
10609const (
10610	// ActionOwnerAws is a ActionOwner enum value
10611	ActionOwnerAws = "AWS"
10612
10613	// ActionOwnerThirdParty is a ActionOwner enum value
10614	ActionOwnerThirdParty = "ThirdParty"
10615
10616	// ActionOwnerCustom is a ActionOwner enum value
10617	ActionOwnerCustom = "Custom"
10618)
10619
10620const (
10621	// ApprovalStatusApproved is a ApprovalStatus enum value
10622	ApprovalStatusApproved = "Approved"
10623
10624	// ApprovalStatusRejected is a ApprovalStatus enum value
10625	ApprovalStatusRejected = "Rejected"
10626)
10627
10628const (
10629	// ArtifactLocationTypeS3 is a ArtifactLocationType enum value
10630	ArtifactLocationTypeS3 = "S3"
10631)
10632
10633const (
10634	// ArtifactStoreTypeS3 is a ArtifactStoreType enum value
10635	ArtifactStoreTypeS3 = "S3"
10636)
10637
10638const (
10639	// BlockerTypeSchedule is a BlockerType enum value
10640	BlockerTypeSchedule = "Schedule"
10641)
10642
10643const (
10644	// EncryptionKeyTypeKms is a EncryptionKeyType enum value
10645	EncryptionKeyTypeKms = "KMS"
10646)
10647
10648const (
10649	// FailureTypeJobFailed is a FailureType enum value
10650	FailureTypeJobFailed = "JobFailed"
10651
10652	// FailureTypeConfigurationError is a FailureType enum value
10653	FailureTypeConfigurationError = "ConfigurationError"
10654
10655	// FailureTypePermissionError is a FailureType enum value
10656	FailureTypePermissionError = "PermissionError"
10657
10658	// FailureTypeRevisionOutOfSync is a FailureType enum value
10659	FailureTypeRevisionOutOfSync = "RevisionOutOfSync"
10660
10661	// FailureTypeRevisionUnavailable is a FailureType enum value
10662	FailureTypeRevisionUnavailable = "RevisionUnavailable"
10663
10664	// FailureTypeSystemUnavailable is a FailureType enum value
10665	FailureTypeSystemUnavailable = "SystemUnavailable"
10666)
10667
10668const (
10669	// JobStatusCreated is a JobStatus enum value
10670	JobStatusCreated = "Created"
10671
10672	// JobStatusQueued is a JobStatus enum value
10673	JobStatusQueued = "Queued"
10674
10675	// JobStatusDispatched is a JobStatus enum value
10676	JobStatusDispatched = "Dispatched"
10677
10678	// JobStatusInProgress is a JobStatus enum value
10679	JobStatusInProgress = "InProgress"
10680
10681	// JobStatusTimedOut is a JobStatus enum value
10682	JobStatusTimedOut = "TimedOut"
10683
10684	// JobStatusSucceeded is a JobStatus enum value
10685	JobStatusSucceeded = "Succeeded"
10686
10687	// JobStatusFailed is a JobStatus enum value
10688	JobStatusFailed = "Failed"
10689)
10690
10691const (
10692	// PipelineExecutionStatusInProgress is a PipelineExecutionStatus enum value
10693	PipelineExecutionStatusInProgress = "InProgress"
10694
10695	// PipelineExecutionStatusSucceeded is a PipelineExecutionStatus enum value
10696	PipelineExecutionStatusSucceeded = "Succeeded"
10697
10698	// PipelineExecutionStatusSuperseded is a PipelineExecutionStatus enum value
10699	PipelineExecutionStatusSuperseded = "Superseded"
10700
10701	// PipelineExecutionStatusFailed is a PipelineExecutionStatus enum value
10702	PipelineExecutionStatusFailed = "Failed"
10703)
10704
10705const (
10706	// StageExecutionStatusInProgress is a StageExecutionStatus enum value
10707	StageExecutionStatusInProgress = "InProgress"
10708
10709	// StageExecutionStatusFailed is a StageExecutionStatus enum value
10710	StageExecutionStatusFailed = "Failed"
10711
10712	// StageExecutionStatusSucceeded is a StageExecutionStatus enum value
10713	StageExecutionStatusSucceeded = "Succeeded"
10714)
10715
10716const (
10717	// StageRetryModeFailedActions is a StageRetryMode enum value
10718	StageRetryModeFailedActions = "FAILED_ACTIONS"
10719)
10720
10721const (
10722	// StageTransitionTypeInbound is a StageTransitionType enum value
10723	StageTransitionTypeInbound = "Inbound"
10724
10725	// StageTransitionTypeOutbound is a StageTransitionType enum value
10726	StageTransitionTypeOutbound = "Outbound"
10727)
10728
10729const (
10730	// TriggerTypeCreatePipeline is a TriggerType enum value
10731	TriggerTypeCreatePipeline = "CreatePipeline"
10732
10733	// TriggerTypeStartPipelineExecution is a TriggerType enum value
10734	TriggerTypeStartPipelineExecution = "StartPipelineExecution"
10735
10736	// TriggerTypePollForSourceChanges is a TriggerType enum value
10737	TriggerTypePollForSourceChanges = "PollForSourceChanges"
10738
10739	// TriggerTypeWebhook is a TriggerType enum value
10740	TriggerTypeWebhook = "Webhook"
10741
10742	// TriggerTypeCloudWatchEvent is a TriggerType enum value
10743	TriggerTypeCloudWatchEvent = "CloudWatchEvent"
10744
10745	// TriggerTypePutActionRevision is a TriggerType enum value
10746	TriggerTypePutActionRevision = "PutActionRevision"
10747)
10748
10749const (
10750	// WebhookAuthenticationTypeGithubHmac is a WebhookAuthenticationType enum value
10751	WebhookAuthenticationTypeGithubHmac = "GITHUB_HMAC"
10752
10753	// WebhookAuthenticationTypeIp is a WebhookAuthenticationType enum value
10754	WebhookAuthenticationTypeIp = "IP"
10755
10756	// WebhookAuthenticationTypeUnauthenticated is a WebhookAuthenticationType enum value
10757	WebhookAuthenticationTypeUnauthenticated = "UNAUTHENTICATED"
10758)
10759