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 Types:
71//   * ValidationException
72//   The validation was specified in an invalid format.
73//
74//   * InvalidNonceException
75//   The nonce was specified in an invalid format.
76//
77//   * 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 Types:
157//   * ValidationException
158//   The validation was specified in an invalid format.
159//
160//   * InvalidNonceException
161//   The nonce was specified in an invalid format.
162//
163//   * JobNotFoundException
164//   The job was specified in an invalid format or cannot be found.
165//
166//   * 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 Types:
246//   * ValidationException
247//   The validation was specified in an invalid format.
248//
249//   * LimitExceededException
250//   The number of pipelines associated with the AWS account has exceeded the
251//   limit allowed for the account.
252//
253//   * TooManyTagsException
254//   The tags limit for a resource has been exceeded.
255//
256//   * InvalidTagsException
257//   The specified resource tags are invalid.
258//
259//   * 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 Types:
342//   * ValidationException
343//   The validation was specified in an invalid format.
344//
345//   * PipelineNameInUseException
346//   The specified pipeline name is already in use.
347//
348//   * InvalidStageDeclarationException
349//   The stage declaration was specified in an invalid format.
350//
351//   * InvalidActionDeclarationException
352//   The action declaration was specified in an invalid format.
353//
354//   * InvalidBlockerDeclarationException
355//   Reserved for future use.
356//
357//   * InvalidStructureException
358//   The structure was specified in an invalid format.
359//
360//   * LimitExceededException
361//   The number of pipelines associated with the AWS account has exceeded the
362//   limit allowed for the account.
363//
364//   * TooManyTagsException
365//   The tags limit for a resource has been exceeded.
366//
367//   * InvalidTagsException
368//   The specified resource tags are invalid.
369//
370//   * 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 Types:
457//   * ValidationException
458//   The validation was specified in an invalid format.
459//
460//   * 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 Types:
540//   * ValidationException
541//   The validation was specified in an invalid format.
542//
543//   * 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 Types:
627//   * ValidationException
628//   The validation was specified in an invalid format.
629//
630//   * 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 Types:
712//   * ValidationException
713//   The validation was specified in an invalid format.
714//
715//   * 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 Types:
796//   * ValidationException
797//   The validation was specified in an invalid format.
798//
799//   * PipelineNotFoundException
800//   The pipeline was specified in an invalid format or cannot be found.
801//
802//   * 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 Types:
882//   * ValidationException
883//   The validation was specified in an invalid format.
884//
885//   * PipelineNotFoundException
886//   The pipeline was specified in an invalid format or cannot be found.
887//
888//   * 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 S3 bucket used to store artifacts for the pipeline, if the action requires
961// access to that S3 bucket for input or output artifacts. This API also returns
962// 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 Types:
972//   * ValidationException
973//   The validation was specified in an invalid format.
974//
975//   * 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 Types:
1056//   * ValidationException
1057//   The validation was specified in an invalid format.
1058//
1059//   * PipelineNotFoundException
1060//   The pipeline was specified in an invalid format or cannot be found.
1061//
1062//   * 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 Types:
1143//   * ValidationException
1144//   The validation was specified in an invalid format.
1145//
1146//   * PipelineNotFoundException
1147//   The pipeline was specified in an invalid format or cannot be found.
1148//
1149//   * 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 Types:
1233//   * ValidationException
1234//   The validation was specified in an invalid format.
1235//
1236//   * 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 S3 bucket used to store artifacts for the pipeline, if the action requires
1310// access to that S3 bucket for input or output artifacts. This API also returns
1311// 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 Types:
1321//   * JobNotFoundException
1322//   The job was specified in an invalid format or cannot be found.
1323//
1324//   * ValidationException
1325//   The validation was specified in an invalid format.
1326//
1327//   * InvalidClientTokenException
1328//   The client token was specified in an invalid format
1329//
1330//   * 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 Types:
1415//   * ValidationException
1416//   The validation was specified in an invalid format.
1417//
1418//   * PipelineNotFoundException
1419//   The pipeline was specified in an invalid format or cannot be found.
1420//
1421//   * 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//   * 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 Types:
1564//   * ValidationException
1565//   The validation was specified in an invalid format.
1566//
1567//   * 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 Types:
1705//   * ValidationException
1706//   The validation was specified in an invalid format.
1707//
1708//   * PipelineNotFoundException
1709//   The pipeline was specified in an invalid format or cannot be found.
1710//
1711//   * 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 Types:
1849//   * ValidationException
1850//   The validation was specified in an invalid format.
1851//
1852//   * 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 Types:
1990//   * ValidationException
1991//   The validation was specified in an invalid format.
1992//
1993//   * ResourceNotFoundException
1994//   The resource was specified in an invalid format.
1995//
1996//   * 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//   * 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 Types:
2139//   * ValidationException
2140//   The validation was specified in an invalid format.
2141//
2142//   * 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 S3 bucket used to store artifacts for the pipeline, if the action requires
2271// access to that S3 bucket for input or output artifacts. This API also returns
2272// 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 Types:
2282//   * ValidationException
2283//   The validation was specified in an invalid format.
2284//
2285//   * 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 S3 bucket used to store artifacts for the pipeline, if the action requires
2359// access to that 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 Types:
2369//   * ActionTypeNotFoundException
2370//   The specified action type cannot be found.
2371//
2372//   * 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 Types:
2451//   * PipelineNotFoundException
2452//   The pipeline was specified in an invalid format or cannot be found.
2453//
2454//   * StageNotFoundException
2455//   The stage was specified in an invalid format or cannot be found.
2456//
2457//   * ActionNotFoundException
2458//   The specified action cannot be found.
2459//
2460//   * 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 Types:
2540//   * InvalidApprovalTokenException
2541//   The approval request already received a response or has expired.
2542//
2543//   * ApprovalAlreadyCompletedException
2544//   The approval action has already been approved or rejected.
2545//
2546//   * PipelineNotFoundException
2547//   The pipeline was specified in an invalid format or cannot be found.
2548//
2549//   * StageNotFoundException
2550//   The stage was specified in an invalid format or cannot be found.
2551//
2552//   * ActionNotFoundException
2553//   The specified action cannot be found.
2554//
2555//   * 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 Types:
2636//   * ValidationException
2637//   The validation was specified in an invalid format.
2638//
2639//   * JobNotFoundException
2640//   The job was specified in an invalid format or cannot be found.
2641//
2642//   * 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 Types:
2723//   * ValidationException
2724//   The validation was specified in an invalid format.
2725//
2726//   * JobNotFoundException
2727//   The job was specified in an invalid format or cannot be found.
2728//
2729//   * InvalidJobStateException
2730//   The job state was specified in an invalid format.
2731//
2732//   * 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 Types:
2813//   * ValidationException
2814//   The validation was specified in an invalid format.
2815//
2816//   * JobNotFoundException
2817//   The job was specified in an invalid format or cannot be found.
2818//
2819//   * InvalidJobStateException
2820//   The job state was specified in an invalid format.
2821//
2822//   * 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 Types:
2903//   * ValidationException
2904//   The validation was specified in an invalid format.
2905//
2906//   * JobNotFoundException
2907//   The job was specified in an invalid format or cannot be found.
2908//
2909//   * InvalidJobStateException
2910//   The job state was specified in an invalid format.
2911//
2912//   * 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 Types:
2998//   * ValidationException
2999//   The validation was specified in an invalid format.
3000//
3001//   * LimitExceededException
3002//   The number of pipelines associated with the AWS account has exceeded the
3003//   limit allowed for the account.
3004//
3005//   * InvalidWebhookFilterPatternException
3006//   The specified event filter rule is in an invalid format.
3007//
3008//   * InvalidWebhookAuthenticationParametersException
3009//   The specified authentication type is in an invalid format.
3010//
3011//   * PipelineNotFoundException
3012//   The pipeline was specified in an invalid format or cannot be found.
3013//
3014//   * TooManyTagsException
3015//   The tags limit for a resource has been exceeded.
3016//
3017//   * InvalidTagsException
3018//   The specified resource tags are invalid.
3019//
3020//   * 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 Types:
3101//   * ValidationException
3102//   The validation was specified in an invalid format.
3103//
3104//   * 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 Types:
3186//   * ValidationException
3187//   The validation was specified in an invalid format.
3188//
3189//   * PipelineNotFoundException
3190//   The pipeline was specified in an invalid format or cannot be found.
3191//
3192//   * StageNotFoundException
3193//   The stage was specified in an invalid format or cannot be found.
3194//
3195//   * 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//   * 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 Types:
3280//   * ValidationException
3281//   The validation was specified in an invalid format.
3282//
3283//   * 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 opStopPipelineExecution = "StopPipelineExecution"
3309
3310// StopPipelineExecutionRequest generates a "aws/request.Request" representing the
3311// client's request for the StopPipelineExecution 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 StopPipelineExecution for more information on using the StopPipelineExecution
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 StopPipelineExecutionRequest method.
3326//    req, resp := client.StopPipelineExecutionRequest(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/StopPipelineExecution
3334func (c *CodePipeline) StopPipelineExecutionRequest(input *StopPipelineExecutionInput) (req *request.Request, output *StopPipelineExecutionOutput) {
3335	op := &request.Operation{
3336		Name:       opStopPipelineExecution,
3337		HTTPMethod: "POST",
3338		HTTPPath:   "/",
3339	}
3340
3341	if input == nil {
3342		input = &StopPipelineExecutionInput{}
3343	}
3344
3345	output = &StopPipelineExecutionOutput{}
3346	req = c.newRequest(op, input, output)
3347	return
3348}
3349
3350// StopPipelineExecution API operation for AWS CodePipeline.
3351//
3352// Stops the specified pipeline execution. You choose to either stop the pipeline
3353// execution by completing in-progress actions without starting subsequent actions,
3354// or by abandoning in-progress actions. While completing or abandoning in-progress
3355// actions, the pipeline execution is in a Stopping state. After all in-progress
3356// actions are completed or abandoned, the pipeline execution is in a Stopped
3357// state.
3358//
3359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3360// with awserr.Error's Code and Message methods to get detailed information about
3361// the error.
3362//
3363// See the AWS API reference guide for AWS CodePipeline's
3364// API operation StopPipelineExecution for usage and error information.
3365//
3366// Returned Error Types:
3367//   * ValidationException
3368//   The validation was specified in an invalid format.
3369//
3370//   * PipelineNotFoundException
3371//   The pipeline was specified in an invalid format or cannot be found.
3372//
3373//   * PipelineExecutionNotStoppableException
3374//   Unable to stop the pipeline execution. The execution might already be in
3375//   a Stopped state, or it might no longer be in progress.
3376//
3377//   * DuplicatedStopRequestException
3378//   The pipeline execution is already in a Stopping state. If you already chose
3379//   to stop and wait, you cannot make that request again. You can choose to stop
3380//   and abandon now, but be aware that this option can lead to failed tasks or
3381//   out of sequence tasks. If you already chose to stop and abandon, you cannot
3382//   make that request again.
3383//
3384// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/StopPipelineExecution
3385func (c *CodePipeline) StopPipelineExecution(input *StopPipelineExecutionInput) (*StopPipelineExecutionOutput, error) {
3386	req, out := c.StopPipelineExecutionRequest(input)
3387	return out, req.Send()
3388}
3389
3390// StopPipelineExecutionWithContext is the same as StopPipelineExecution with the addition of
3391// the ability to pass a context and additional request options.
3392//
3393// See StopPipelineExecution for details on how to use this API operation.
3394//
3395// The context must be non-nil and will be used for request cancellation. If
3396// the context is nil a panic will occur. In the future the SDK may create
3397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3398// for more information on using Contexts.
3399func (c *CodePipeline) StopPipelineExecutionWithContext(ctx aws.Context, input *StopPipelineExecutionInput, opts ...request.Option) (*StopPipelineExecutionOutput, error) {
3400	req, out := c.StopPipelineExecutionRequest(input)
3401	req.SetContext(ctx)
3402	req.ApplyOptions(opts...)
3403	return out, req.Send()
3404}
3405
3406const opTagResource = "TagResource"
3407
3408// TagResourceRequest generates a "aws/request.Request" representing the
3409// client's request for the TagResource operation. The "output" return
3410// value will be populated with the request's response once the request completes
3411// successfully.
3412//
3413// Use "Send" method on the returned Request to send the API call to the service.
3414// the "output" return value is not valid until after Send returns without error.
3415//
3416// See TagResource for more information on using the TagResource
3417// API call, and error handling.
3418//
3419// This method is useful when you want to inject custom logic or configuration
3420// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3421//
3422//
3423//    // Example sending a request using the TagResourceRequest method.
3424//    req, resp := client.TagResourceRequest(params)
3425//
3426//    err := req.Send()
3427//    if err == nil { // resp is now filled
3428//        fmt.Println(resp)
3429//    }
3430//
3431// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/TagResource
3432func (c *CodePipeline) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3433	op := &request.Operation{
3434		Name:       opTagResource,
3435		HTTPMethod: "POST",
3436		HTTPPath:   "/",
3437	}
3438
3439	if input == nil {
3440		input = &TagResourceInput{}
3441	}
3442
3443	output = &TagResourceOutput{}
3444	req = c.newRequest(op, input, output)
3445	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3446	return
3447}
3448
3449// TagResource API operation for AWS CodePipeline.
3450//
3451// Adds to or modifies the tags of the given resource. Tags are metadata that
3452// can be used to manage a resource.
3453//
3454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3455// with awserr.Error's Code and Message methods to get detailed information about
3456// the error.
3457//
3458// See the AWS API reference guide for AWS CodePipeline's
3459// API operation TagResource for usage and error information.
3460//
3461// Returned Error Types:
3462//   * ValidationException
3463//   The validation was specified in an invalid format.
3464//
3465//   * ResourceNotFoundException
3466//   The resource was specified in an invalid format.
3467//
3468//   * InvalidArnException
3469//   The specified resource ARN is invalid.
3470//
3471//   * TooManyTagsException
3472//   The tags limit for a resource has been exceeded.
3473//
3474//   * InvalidTagsException
3475//   The specified resource tags are invalid.
3476//
3477//   * ConcurrentModificationException
3478//   Unable to modify the tag due to a simultaneous update request.
3479//
3480// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/TagResource
3481func (c *CodePipeline) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3482	req, out := c.TagResourceRequest(input)
3483	return out, req.Send()
3484}
3485
3486// TagResourceWithContext is the same as TagResource with the addition of
3487// the ability to pass a context and additional request options.
3488//
3489// See TagResource for details on how to use this API operation.
3490//
3491// The context must be non-nil and will be used for request cancellation. If
3492// the context is nil a panic will occur. In the future the SDK may create
3493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3494// for more information on using Contexts.
3495func (c *CodePipeline) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3496	req, out := c.TagResourceRequest(input)
3497	req.SetContext(ctx)
3498	req.ApplyOptions(opts...)
3499	return out, req.Send()
3500}
3501
3502const opUntagResource = "UntagResource"
3503
3504// UntagResourceRequest generates a "aws/request.Request" representing the
3505// client's request for the UntagResource operation. The "output" return
3506// value will be populated with the request's response once the request completes
3507// successfully.
3508//
3509// Use "Send" method on the returned Request to send the API call to the service.
3510// the "output" return value is not valid until after Send returns without error.
3511//
3512// See UntagResource for more information on using the UntagResource
3513// API call, and error handling.
3514//
3515// This method is useful when you want to inject custom logic or configuration
3516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3517//
3518//
3519//    // Example sending a request using the UntagResourceRequest method.
3520//    req, resp := client.UntagResourceRequest(params)
3521//
3522//    err := req.Send()
3523//    if err == nil { // resp is now filled
3524//        fmt.Println(resp)
3525//    }
3526//
3527// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UntagResource
3528func (c *CodePipeline) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3529	op := &request.Operation{
3530		Name:       opUntagResource,
3531		HTTPMethod: "POST",
3532		HTTPPath:   "/",
3533	}
3534
3535	if input == nil {
3536		input = &UntagResourceInput{}
3537	}
3538
3539	output = &UntagResourceOutput{}
3540	req = c.newRequest(op, input, output)
3541	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3542	return
3543}
3544
3545// UntagResource API operation for AWS CodePipeline.
3546//
3547// Removes tags from an AWS resource.
3548//
3549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3550// with awserr.Error's Code and Message methods to get detailed information about
3551// the error.
3552//
3553// See the AWS API reference guide for AWS CodePipeline's
3554// API operation UntagResource for usage and error information.
3555//
3556// Returned Error Types:
3557//   * ValidationException
3558//   The validation was specified in an invalid format.
3559//
3560//   * ResourceNotFoundException
3561//   The resource was specified in an invalid format.
3562//
3563//   * InvalidArnException
3564//   The specified resource ARN is invalid.
3565//
3566//   * InvalidTagsException
3567//   The specified resource tags are invalid.
3568//
3569//   * ConcurrentModificationException
3570//   Unable to modify the tag due to a simultaneous update request.
3571//
3572// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UntagResource
3573func (c *CodePipeline) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3574	req, out := c.UntagResourceRequest(input)
3575	return out, req.Send()
3576}
3577
3578// UntagResourceWithContext is the same as UntagResource with the addition of
3579// the ability to pass a context and additional request options.
3580//
3581// See UntagResource 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) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3588	req, out := c.UntagResourceRequest(input)
3589	req.SetContext(ctx)
3590	req.ApplyOptions(opts...)
3591	return out, req.Send()
3592}
3593
3594const opUpdatePipeline = "UpdatePipeline"
3595
3596// UpdatePipelineRequest generates a "aws/request.Request" representing the
3597// client's request for the UpdatePipeline operation. The "output" return
3598// value will be populated with the request's response once the request completes
3599// successfully.
3600//
3601// Use "Send" method on the returned Request to send the API call to the service.
3602// the "output" return value is not valid until after Send returns without error.
3603//
3604// See UpdatePipeline for more information on using the UpdatePipeline
3605// API call, and error handling.
3606//
3607// This method is useful when you want to inject custom logic or configuration
3608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3609//
3610//
3611//    // Example sending a request using the UpdatePipelineRequest method.
3612//    req, resp := client.UpdatePipelineRequest(params)
3613//
3614//    err := req.Send()
3615//    if err == nil { // resp is now filled
3616//        fmt.Println(resp)
3617//    }
3618//
3619// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UpdatePipeline
3620func (c *CodePipeline) UpdatePipelineRequest(input *UpdatePipelineInput) (req *request.Request, output *UpdatePipelineOutput) {
3621	op := &request.Operation{
3622		Name:       opUpdatePipeline,
3623		HTTPMethod: "POST",
3624		HTTPPath:   "/",
3625	}
3626
3627	if input == nil {
3628		input = &UpdatePipelineInput{}
3629	}
3630
3631	output = &UpdatePipelineOutput{}
3632	req = c.newRequest(op, input, output)
3633	return
3634}
3635
3636// UpdatePipeline API operation for AWS CodePipeline.
3637//
3638// Updates a specified pipeline with edits or changes to its structure. Use
3639// a JSON file with the pipeline structure and UpdatePipeline to provide the
3640// full structure of the pipeline. Updating the pipeline increases the version
3641// number of the pipeline by 1.
3642//
3643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3644// with awserr.Error's Code and Message methods to get detailed information about
3645// the error.
3646//
3647// See the AWS API reference guide for AWS CodePipeline's
3648// API operation UpdatePipeline for usage and error information.
3649//
3650// Returned Error Types:
3651//   * ValidationException
3652//   The validation was specified in an invalid format.
3653//
3654//   * InvalidStageDeclarationException
3655//   The stage declaration was specified in an invalid format.
3656//
3657//   * InvalidActionDeclarationException
3658//   The action declaration was specified in an invalid format.
3659//
3660//   * InvalidBlockerDeclarationException
3661//   Reserved for future use.
3662//
3663//   * InvalidStructureException
3664//   The structure was specified in an invalid format.
3665//
3666//   * LimitExceededException
3667//   The number of pipelines associated with the AWS account has exceeded the
3668//   limit allowed for the account.
3669//
3670// See also, https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UpdatePipeline
3671func (c *CodePipeline) UpdatePipeline(input *UpdatePipelineInput) (*UpdatePipelineOutput, error) {
3672	req, out := c.UpdatePipelineRequest(input)
3673	return out, req.Send()
3674}
3675
3676// UpdatePipelineWithContext is the same as UpdatePipeline with the addition of
3677// the ability to pass a context and additional request options.
3678//
3679// See UpdatePipeline for details on how to use this API operation.
3680//
3681// The context must be non-nil and will be used for request cancellation. If
3682// the context is nil a panic will occur. In the future the SDK may create
3683// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3684// for more information on using Contexts.
3685func (c *CodePipeline) UpdatePipelineWithContext(ctx aws.Context, input *UpdatePipelineInput, opts ...request.Option) (*UpdatePipelineOutput, error) {
3686	req, out := c.UpdatePipelineRequest(input)
3687	req.SetContext(ctx)
3688	req.ApplyOptions(opts...)
3689	return out, req.Send()
3690}
3691
3692// Represents an AWS session credentials object. These credentials are temporary
3693// credentials that are issued by AWS Secure Token Service (STS). They can be
3694// used to access input and output artifacts in the S3 bucket used to store
3695// artifact for the pipeline in AWS CodePipeline.
3696type AWSSessionCredentials struct {
3697	_ struct{} `type:"structure" sensitive:"true"`
3698
3699	// The access key for the session.
3700	//
3701	// AccessKeyId is a required field
3702	AccessKeyId *string `locationName:"accessKeyId" type:"string" required:"true"`
3703
3704	// The secret access key for the session.
3705	//
3706	// SecretAccessKey is a required field
3707	SecretAccessKey *string `locationName:"secretAccessKey" type:"string" required:"true"`
3708
3709	// The token for the session.
3710	//
3711	// SessionToken is a required field
3712	SessionToken *string `locationName:"sessionToken" type:"string" required:"true"`
3713}
3714
3715// String returns the string representation
3716func (s AWSSessionCredentials) String() string {
3717	return awsutil.Prettify(s)
3718}
3719
3720// GoString returns the string representation
3721func (s AWSSessionCredentials) GoString() string {
3722	return s.String()
3723}
3724
3725// SetAccessKeyId sets the AccessKeyId field's value.
3726func (s *AWSSessionCredentials) SetAccessKeyId(v string) *AWSSessionCredentials {
3727	s.AccessKeyId = &v
3728	return s
3729}
3730
3731// SetSecretAccessKey sets the SecretAccessKey field's value.
3732func (s *AWSSessionCredentials) SetSecretAccessKey(v string) *AWSSessionCredentials {
3733	s.SecretAccessKey = &v
3734	return s
3735}
3736
3737// SetSessionToken sets the SessionToken field's value.
3738func (s *AWSSessionCredentials) SetSessionToken(v string) *AWSSessionCredentials {
3739	s.SessionToken = &v
3740	return s
3741}
3742
3743// Represents the input of an AcknowledgeJob action.
3744type AcknowledgeJobInput struct {
3745	_ struct{} `type:"structure"`
3746
3747	// The unique system-generated ID of the job for which you want to confirm receipt.
3748	//
3749	// JobId is a required field
3750	JobId *string `locationName:"jobId" type:"string" required:"true"`
3751
3752	// A system-generated random number that AWS CodePipeline uses to ensure that
3753	// the job is being worked on by only one job worker. Get this number from the
3754	// response of the PollForJobs request that returned this job.
3755	//
3756	// Nonce is a required field
3757	Nonce *string `locationName:"nonce" min:"1" type:"string" required:"true"`
3758}
3759
3760// String returns the string representation
3761func (s AcknowledgeJobInput) String() string {
3762	return awsutil.Prettify(s)
3763}
3764
3765// GoString returns the string representation
3766func (s AcknowledgeJobInput) GoString() string {
3767	return s.String()
3768}
3769
3770// Validate inspects the fields of the type to determine if they are valid.
3771func (s *AcknowledgeJobInput) Validate() error {
3772	invalidParams := request.ErrInvalidParams{Context: "AcknowledgeJobInput"}
3773	if s.JobId == nil {
3774		invalidParams.Add(request.NewErrParamRequired("JobId"))
3775	}
3776	if s.Nonce == nil {
3777		invalidParams.Add(request.NewErrParamRequired("Nonce"))
3778	}
3779	if s.Nonce != nil && len(*s.Nonce) < 1 {
3780		invalidParams.Add(request.NewErrParamMinLen("Nonce", 1))
3781	}
3782
3783	if invalidParams.Len() > 0 {
3784		return invalidParams
3785	}
3786	return nil
3787}
3788
3789// SetJobId sets the JobId field's value.
3790func (s *AcknowledgeJobInput) SetJobId(v string) *AcknowledgeJobInput {
3791	s.JobId = &v
3792	return s
3793}
3794
3795// SetNonce sets the Nonce field's value.
3796func (s *AcknowledgeJobInput) SetNonce(v string) *AcknowledgeJobInput {
3797	s.Nonce = &v
3798	return s
3799}
3800
3801// Represents the output of an AcknowledgeJob action.
3802type AcknowledgeJobOutput struct {
3803	_ struct{} `type:"structure"`
3804
3805	// Whether the job worker has received the specified job.
3806	Status *string `locationName:"status" type:"string" enum:"JobStatus"`
3807}
3808
3809// String returns the string representation
3810func (s AcknowledgeJobOutput) String() string {
3811	return awsutil.Prettify(s)
3812}
3813
3814// GoString returns the string representation
3815func (s AcknowledgeJobOutput) GoString() string {
3816	return s.String()
3817}
3818
3819// SetStatus sets the Status field's value.
3820func (s *AcknowledgeJobOutput) SetStatus(v string) *AcknowledgeJobOutput {
3821	s.Status = &v
3822	return s
3823}
3824
3825// Represents the input of an AcknowledgeThirdPartyJob action.
3826type AcknowledgeThirdPartyJobInput struct {
3827	_ struct{} `type:"structure"`
3828
3829	// The clientToken portion of the clientId and clientToken pair used to verify
3830	// that the calling entity is allowed access to the job and its details.
3831	//
3832	// ClientToken is a required field
3833	ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"`
3834
3835	// The unique system-generated ID of the job.
3836	//
3837	// JobId is a required field
3838	JobId *string `locationName:"jobId" min:"1" type:"string" required:"true"`
3839
3840	// A system-generated random number that AWS CodePipeline uses to ensure that
3841	// the job is being worked on by only one job worker. Get this number from the
3842	// response to a GetThirdPartyJobDetails request.
3843	//
3844	// Nonce is a required field
3845	Nonce *string `locationName:"nonce" min:"1" type:"string" required:"true"`
3846}
3847
3848// String returns the string representation
3849func (s AcknowledgeThirdPartyJobInput) String() string {
3850	return awsutil.Prettify(s)
3851}
3852
3853// GoString returns the string representation
3854func (s AcknowledgeThirdPartyJobInput) GoString() string {
3855	return s.String()
3856}
3857
3858// Validate inspects the fields of the type to determine if they are valid.
3859func (s *AcknowledgeThirdPartyJobInput) Validate() error {
3860	invalidParams := request.ErrInvalidParams{Context: "AcknowledgeThirdPartyJobInput"}
3861	if s.ClientToken == nil {
3862		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
3863	}
3864	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
3865		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
3866	}
3867	if s.JobId == nil {
3868		invalidParams.Add(request.NewErrParamRequired("JobId"))
3869	}
3870	if s.JobId != nil && len(*s.JobId) < 1 {
3871		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
3872	}
3873	if s.Nonce == nil {
3874		invalidParams.Add(request.NewErrParamRequired("Nonce"))
3875	}
3876	if s.Nonce != nil && len(*s.Nonce) < 1 {
3877		invalidParams.Add(request.NewErrParamMinLen("Nonce", 1))
3878	}
3879
3880	if invalidParams.Len() > 0 {
3881		return invalidParams
3882	}
3883	return nil
3884}
3885
3886// SetClientToken sets the ClientToken field's value.
3887func (s *AcknowledgeThirdPartyJobInput) SetClientToken(v string) *AcknowledgeThirdPartyJobInput {
3888	s.ClientToken = &v
3889	return s
3890}
3891
3892// SetJobId sets the JobId field's value.
3893func (s *AcknowledgeThirdPartyJobInput) SetJobId(v string) *AcknowledgeThirdPartyJobInput {
3894	s.JobId = &v
3895	return s
3896}
3897
3898// SetNonce sets the Nonce field's value.
3899func (s *AcknowledgeThirdPartyJobInput) SetNonce(v string) *AcknowledgeThirdPartyJobInput {
3900	s.Nonce = &v
3901	return s
3902}
3903
3904// Represents the output of an AcknowledgeThirdPartyJob action.
3905type AcknowledgeThirdPartyJobOutput struct {
3906	_ struct{} `type:"structure"`
3907
3908	// The status information for the third party job, if any.
3909	Status *string `locationName:"status" type:"string" enum:"JobStatus"`
3910}
3911
3912// String returns the string representation
3913func (s AcknowledgeThirdPartyJobOutput) String() string {
3914	return awsutil.Prettify(s)
3915}
3916
3917// GoString returns the string representation
3918func (s AcknowledgeThirdPartyJobOutput) GoString() string {
3919	return s.String()
3920}
3921
3922// SetStatus sets the Status field's value.
3923func (s *AcknowledgeThirdPartyJobOutput) SetStatus(v string) *AcknowledgeThirdPartyJobOutput {
3924	s.Status = &v
3925	return s
3926}
3927
3928// Represents information about an action configuration.
3929type ActionConfiguration struct {
3930	_ struct{} `type:"structure"`
3931
3932	// The configuration data for the action.
3933	Configuration map[string]*string `locationName:"configuration" type:"map"`
3934}
3935
3936// String returns the string representation
3937func (s ActionConfiguration) String() string {
3938	return awsutil.Prettify(s)
3939}
3940
3941// GoString returns the string representation
3942func (s ActionConfiguration) GoString() string {
3943	return s.String()
3944}
3945
3946// SetConfiguration sets the Configuration field's value.
3947func (s *ActionConfiguration) SetConfiguration(v map[string]*string) *ActionConfiguration {
3948	s.Configuration = v
3949	return s
3950}
3951
3952// Represents information about an action configuration property.
3953type ActionConfigurationProperty struct {
3954	_ struct{} `type:"structure"`
3955
3956	// The description of the action configuration property that is displayed to
3957	// users.
3958	Description *string `locationName:"description" min:"1" type:"string"`
3959
3960	// Whether the configuration property is a key.
3961	//
3962	// Key is a required field
3963	Key *bool `locationName:"key" type:"boolean" required:"true"`
3964
3965	// The name of the action configuration property.
3966	//
3967	// Name is a required field
3968	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
3969
3970	// Indicates that the property is used with PollForJobs. When creating a custom
3971	// action, an action can have up to one queryable property. If it has one, that
3972	// property must be both required and not secret.
3973	//
3974	// If you create a pipeline with a custom action type, and that custom action
3975	// contains a queryable property, the value for that configuration property
3976	// is subject to other restrictions. The value must be less than or equal to
3977	// twenty (20) characters. The value can contain only alphanumeric characters,
3978	// underscores, and hyphens.
3979	Queryable *bool `locationName:"queryable" type:"boolean"`
3980
3981	// Whether the configuration property is a required value.
3982	//
3983	// Required is a required field
3984	Required *bool `locationName:"required" type:"boolean" required:"true"`
3985
3986	// Whether the configuration property is secret. Secrets are hidden from all
3987	// calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and
3988	// PollForThirdPartyJobs.
3989	//
3990	// When updating a pipeline, passing * * * * * without changing any other values
3991	// of the action preserves the previous value of the secret.
3992	//
3993	// Secret is a required field
3994	Secret *bool `locationName:"secret" type:"boolean" required:"true"`
3995
3996	// The type of the configuration property.
3997	Type *string `locationName:"type" type:"string" enum:"ActionConfigurationPropertyType"`
3998}
3999
4000// String returns the string representation
4001func (s ActionConfigurationProperty) String() string {
4002	return awsutil.Prettify(s)
4003}
4004
4005// GoString returns the string representation
4006func (s ActionConfigurationProperty) GoString() string {
4007	return s.String()
4008}
4009
4010// Validate inspects the fields of the type to determine if they are valid.
4011func (s *ActionConfigurationProperty) Validate() error {
4012	invalidParams := request.ErrInvalidParams{Context: "ActionConfigurationProperty"}
4013	if s.Description != nil && len(*s.Description) < 1 {
4014		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
4015	}
4016	if s.Key == nil {
4017		invalidParams.Add(request.NewErrParamRequired("Key"))
4018	}
4019	if s.Name == nil {
4020		invalidParams.Add(request.NewErrParamRequired("Name"))
4021	}
4022	if s.Name != nil && len(*s.Name) < 1 {
4023		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4024	}
4025	if s.Required == nil {
4026		invalidParams.Add(request.NewErrParamRequired("Required"))
4027	}
4028	if s.Secret == nil {
4029		invalidParams.Add(request.NewErrParamRequired("Secret"))
4030	}
4031
4032	if invalidParams.Len() > 0 {
4033		return invalidParams
4034	}
4035	return nil
4036}
4037
4038// SetDescription sets the Description field's value.
4039func (s *ActionConfigurationProperty) SetDescription(v string) *ActionConfigurationProperty {
4040	s.Description = &v
4041	return s
4042}
4043
4044// SetKey sets the Key field's value.
4045func (s *ActionConfigurationProperty) SetKey(v bool) *ActionConfigurationProperty {
4046	s.Key = &v
4047	return s
4048}
4049
4050// SetName sets the Name field's value.
4051func (s *ActionConfigurationProperty) SetName(v string) *ActionConfigurationProperty {
4052	s.Name = &v
4053	return s
4054}
4055
4056// SetQueryable sets the Queryable field's value.
4057func (s *ActionConfigurationProperty) SetQueryable(v bool) *ActionConfigurationProperty {
4058	s.Queryable = &v
4059	return s
4060}
4061
4062// SetRequired sets the Required field's value.
4063func (s *ActionConfigurationProperty) SetRequired(v bool) *ActionConfigurationProperty {
4064	s.Required = &v
4065	return s
4066}
4067
4068// SetSecret sets the Secret field's value.
4069func (s *ActionConfigurationProperty) SetSecret(v bool) *ActionConfigurationProperty {
4070	s.Secret = &v
4071	return s
4072}
4073
4074// SetType sets the Type field's value.
4075func (s *ActionConfigurationProperty) SetType(v string) *ActionConfigurationProperty {
4076	s.Type = &v
4077	return s
4078}
4079
4080// Represents the context of an action in the stage of a pipeline to a job worker.
4081type ActionContext struct {
4082	_ struct{} `type:"structure"`
4083
4084	// The system-generated unique ID that corresponds to an action's execution.
4085	ActionExecutionId *string `locationName:"actionExecutionId" type:"string"`
4086
4087	// The name of the action in the context of a job.
4088	Name *string `locationName:"name" min:"1" type:"string"`
4089}
4090
4091// String returns the string representation
4092func (s ActionContext) String() string {
4093	return awsutil.Prettify(s)
4094}
4095
4096// GoString returns the string representation
4097func (s ActionContext) GoString() string {
4098	return s.String()
4099}
4100
4101// SetActionExecutionId sets the ActionExecutionId field's value.
4102func (s *ActionContext) SetActionExecutionId(v string) *ActionContext {
4103	s.ActionExecutionId = &v
4104	return s
4105}
4106
4107// SetName sets the Name field's value.
4108func (s *ActionContext) SetName(v string) *ActionContext {
4109	s.Name = &v
4110	return s
4111}
4112
4113// Represents information about an action declaration.
4114type ActionDeclaration struct {
4115	_ struct{} `type:"structure"`
4116
4117	// Specifies the action type and the provider of the action.
4118	//
4119	// ActionTypeId is a required field
4120	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure" required:"true"`
4121
4122	// The action's configuration. These are key-value pairs that specify input
4123	// values for an action. For more information, see Action Structure Requirements
4124	// in CodePipeline (https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements).
4125	// For the list of configuration properties for the AWS CloudFormation action
4126	// type in CodePipeline, see Configuration Properties Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html)
4127	// in the AWS CloudFormation User Guide. For template snippets with examples,
4128	// see Using Parameter Override Functions with CodePipeline Pipelines (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html)
4129	// in the AWS CloudFormation User Guide.
4130	//
4131	// The values can be represented in either JSON or YAML format. For example,
4132	// the JSON configuration item format is as follows:
4133	//
4134	// JSON:
4135	//
4136	// "Configuration" : { Key : Value },
4137	Configuration map[string]*string `locationName:"configuration" type:"map"`
4138
4139	// The name or ID of the artifact consumed by the action, such as a test or
4140	// build artifact.
4141	InputArtifacts []*InputArtifact `locationName:"inputArtifacts" type:"list"`
4142
4143	// The action declaration's name.
4144	//
4145	// Name is a required field
4146	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4147
4148	// The variable namespace associated with the action. All variables produced
4149	// as output by this action fall under this namespace.
4150	Namespace *string `locationName:"namespace" min:"1" type:"string"`
4151
4152	// The name or ID of the result of the action declaration, such as a test or
4153	// build artifact.
4154	OutputArtifacts []*OutputArtifact `locationName:"outputArtifacts" type:"list"`
4155
4156	// The action declaration's AWS Region, such as us-east-1.
4157	Region *string `locationName:"region" min:"4" type:"string"`
4158
4159	// The ARN of the IAM service role that performs the declared action. This is
4160	// assumed through the roleArn for the pipeline.
4161	RoleArn *string `locationName:"roleArn" type:"string"`
4162
4163	// The order in which actions are run.
4164	RunOrder *int64 `locationName:"runOrder" min:"1" type:"integer"`
4165}
4166
4167// String returns the string representation
4168func (s ActionDeclaration) String() string {
4169	return awsutil.Prettify(s)
4170}
4171
4172// GoString returns the string representation
4173func (s ActionDeclaration) GoString() string {
4174	return s.String()
4175}
4176
4177// Validate inspects the fields of the type to determine if they are valid.
4178func (s *ActionDeclaration) Validate() error {
4179	invalidParams := request.ErrInvalidParams{Context: "ActionDeclaration"}
4180	if s.ActionTypeId == nil {
4181		invalidParams.Add(request.NewErrParamRequired("ActionTypeId"))
4182	}
4183	if s.Name == nil {
4184		invalidParams.Add(request.NewErrParamRequired("Name"))
4185	}
4186	if s.Name != nil && len(*s.Name) < 1 {
4187		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4188	}
4189	if s.Namespace != nil && len(*s.Namespace) < 1 {
4190		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
4191	}
4192	if s.Region != nil && len(*s.Region) < 4 {
4193		invalidParams.Add(request.NewErrParamMinLen("Region", 4))
4194	}
4195	if s.RunOrder != nil && *s.RunOrder < 1 {
4196		invalidParams.Add(request.NewErrParamMinValue("RunOrder", 1))
4197	}
4198	if s.ActionTypeId != nil {
4199		if err := s.ActionTypeId.Validate(); err != nil {
4200			invalidParams.AddNested("ActionTypeId", err.(request.ErrInvalidParams))
4201		}
4202	}
4203	if s.InputArtifacts != nil {
4204		for i, v := range s.InputArtifacts {
4205			if v == nil {
4206				continue
4207			}
4208			if err := v.Validate(); err != nil {
4209				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputArtifacts", i), err.(request.ErrInvalidParams))
4210			}
4211		}
4212	}
4213	if s.OutputArtifacts != nil {
4214		for i, v := range s.OutputArtifacts {
4215			if v == nil {
4216				continue
4217			}
4218			if err := v.Validate(); err != nil {
4219				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputArtifacts", i), err.(request.ErrInvalidParams))
4220			}
4221		}
4222	}
4223
4224	if invalidParams.Len() > 0 {
4225		return invalidParams
4226	}
4227	return nil
4228}
4229
4230// SetActionTypeId sets the ActionTypeId field's value.
4231func (s *ActionDeclaration) SetActionTypeId(v *ActionTypeId) *ActionDeclaration {
4232	s.ActionTypeId = v
4233	return s
4234}
4235
4236// SetConfiguration sets the Configuration field's value.
4237func (s *ActionDeclaration) SetConfiguration(v map[string]*string) *ActionDeclaration {
4238	s.Configuration = v
4239	return s
4240}
4241
4242// SetInputArtifacts sets the InputArtifacts field's value.
4243func (s *ActionDeclaration) SetInputArtifacts(v []*InputArtifact) *ActionDeclaration {
4244	s.InputArtifacts = v
4245	return s
4246}
4247
4248// SetName sets the Name field's value.
4249func (s *ActionDeclaration) SetName(v string) *ActionDeclaration {
4250	s.Name = &v
4251	return s
4252}
4253
4254// SetNamespace sets the Namespace field's value.
4255func (s *ActionDeclaration) SetNamespace(v string) *ActionDeclaration {
4256	s.Namespace = &v
4257	return s
4258}
4259
4260// SetOutputArtifacts sets the OutputArtifacts field's value.
4261func (s *ActionDeclaration) SetOutputArtifacts(v []*OutputArtifact) *ActionDeclaration {
4262	s.OutputArtifacts = v
4263	return s
4264}
4265
4266// SetRegion sets the Region field's value.
4267func (s *ActionDeclaration) SetRegion(v string) *ActionDeclaration {
4268	s.Region = &v
4269	return s
4270}
4271
4272// SetRoleArn sets the RoleArn field's value.
4273func (s *ActionDeclaration) SetRoleArn(v string) *ActionDeclaration {
4274	s.RoleArn = &v
4275	return s
4276}
4277
4278// SetRunOrder sets the RunOrder field's value.
4279func (s *ActionDeclaration) SetRunOrder(v int64) *ActionDeclaration {
4280	s.RunOrder = &v
4281	return s
4282}
4283
4284// Represents information about the run of an action.
4285type ActionExecution struct {
4286	_ struct{} `type:"structure"`
4287
4288	// The details of an error returned by a URL external to AWS.
4289	ErrorDetails *ErrorDetails `locationName:"errorDetails" type:"structure"`
4290
4291	// The external ID of the run of the action.
4292	ExternalExecutionId *string `locationName:"externalExecutionId" min:"1" type:"string"`
4293
4294	// The URL of a resource external to AWS that is used when running the action
4295	// (for example, an external repository URL).
4296	ExternalExecutionUrl *string `locationName:"externalExecutionUrl" min:"1" type:"string"`
4297
4298	// The last status change of the action.
4299	LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
4300
4301	// The ARN of the user who last changed the pipeline.
4302	LastUpdatedBy *string `locationName:"lastUpdatedBy" type:"string"`
4303
4304	// A percentage of completeness of the action as it runs.
4305	PercentComplete *int64 `locationName:"percentComplete" type:"integer"`
4306
4307	// The status of the action, or for a completed action, the last status of the
4308	// action.
4309	Status *string `locationName:"status" type:"string" enum:"ActionExecutionStatus"`
4310
4311	// A summary of the run of the action.
4312	Summary *string `locationName:"summary" min:"1" type:"string"`
4313
4314	// The system-generated token used to identify a unique approval request. The
4315	// token for each open approval request can be obtained using the GetPipelineState
4316	// command. It is used to validate that the approval request corresponding to
4317	// this token is still valid.
4318	Token *string `locationName:"token" type:"string"`
4319}
4320
4321// String returns the string representation
4322func (s ActionExecution) String() string {
4323	return awsutil.Prettify(s)
4324}
4325
4326// GoString returns the string representation
4327func (s ActionExecution) GoString() string {
4328	return s.String()
4329}
4330
4331// SetErrorDetails sets the ErrorDetails field's value.
4332func (s *ActionExecution) SetErrorDetails(v *ErrorDetails) *ActionExecution {
4333	s.ErrorDetails = v
4334	return s
4335}
4336
4337// SetExternalExecutionId sets the ExternalExecutionId field's value.
4338func (s *ActionExecution) SetExternalExecutionId(v string) *ActionExecution {
4339	s.ExternalExecutionId = &v
4340	return s
4341}
4342
4343// SetExternalExecutionUrl sets the ExternalExecutionUrl field's value.
4344func (s *ActionExecution) SetExternalExecutionUrl(v string) *ActionExecution {
4345	s.ExternalExecutionUrl = &v
4346	return s
4347}
4348
4349// SetLastStatusChange sets the LastStatusChange field's value.
4350func (s *ActionExecution) SetLastStatusChange(v time.Time) *ActionExecution {
4351	s.LastStatusChange = &v
4352	return s
4353}
4354
4355// SetLastUpdatedBy sets the LastUpdatedBy field's value.
4356func (s *ActionExecution) SetLastUpdatedBy(v string) *ActionExecution {
4357	s.LastUpdatedBy = &v
4358	return s
4359}
4360
4361// SetPercentComplete sets the PercentComplete field's value.
4362func (s *ActionExecution) SetPercentComplete(v int64) *ActionExecution {
4363	s.PercentComplete = &v
4364	return s
4365}
4366
4367// SetStatus sets the Status field's value.
4368func (s *ActionExecution) SetStatus(v string) *ActionExecution {
4369	s.Status = &v
4370	return s
4371}
4372
4373// SetSummary sets the Summary field's value.
4374func (s *ActionExecution) SetSummary(v string) *ActionExecution {
4375	s.Summary = &v
4376	return s
4377}
4378
4379// SetToken sets the Token field's value.
4380func (s *ActionExecution) SetToken(v string) *ActionExecution {
4381	s.Token = &v
4382	return s
4383}
4384
4385// Returns information about an execution of an action, including the action
4386// execution ID, and the name, version, and timing of the action.
4387type ActionExecutionDetail struct {
4388	_ struct{} `type:"structure"`
4389
4390	// The action execution ID.
4391	ActionExecutionId *string `locationName:"actionExecutionId" type:"string"`
4392
4393	// The name of the action.
4394	ActionName *string `locationName:"actionName" min:"1" type:"string"`
4395
4396	// Input details for the action execution, such as role ARN, Region, and input
4397	// artifacts.
4398	Input *ActionExecutionInput `locationName:"input" type:"structure"`
4399
4400	// The last update time of the action execution.
4401	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
4402
4403	// Output details for the action execution, such as the action execution result.
4404	Output *ActionExecutionOutput `locationName:"output" type:"structure"`
4405
4406	// The pipeline execution ID for the action execution.
4407	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
4408
4409	// The version of the pipeline where the action was run.
4410	PipelineVersion *int64 `locationName:"pipelineVersion" min:"1" type:"integer"`
4411
4412	// The name of the stage that contains the action.
4413	StageName *string `locationName:"stageName" min:"1" type:"string"`
4414
4415	// The start time of the action execution.
4416	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
4417
4418	// The status of the action execution. Status categories are InProgress, Succeeded,
4419	// and Failed.
4420	Status *string `locationName:"status" type:"string" enum:"ActionExecutionStatus"`
4421}
4422
4423// String returns the string representation
4424func (s ActionExecutionDetail) String() string {
4425	return awsutil.Prettify(s)
4426}
4427
4428// GoString returns the string representation
4429func (s ActionExecutionDetail) GoString() string {
4430	return s.String()
4431}
4432
4433// SetActionExecutionId sets the ActionExecutionId field's value.
4434func (s *ActionExecutionDetail) SetActionExecutionId(v string) *ActionExecutionDetail {
4435	s.ActionExecutionId = &v
4436	return s
4437}
4438
4439// SetActionName sets the ActionName field's value.
4440func (s *ActionExecutionDetail) SetActionName(v string) *ActionExecutionDetail {
4441	s.ActionName = &v
4442	return s
4443}
4444
4445// SetInput sets the Input field's value.
4446func (s *ActionExecutionDetail) SetInput(v *ActionExecutionInput) *ActionExecutionDetail {
4447	s.Input = v
4448	return s
4449}
4450
4451// SetLastUpdateTime sets the LastUpdateTime field's value.
4452func (s *ActionExecutionDetail) SetLastUpdateTime(v time.Time) *ActionExecutionDetail {
4453	s.LastUpdateTime = &v
4454	return s
4455}
4456
4457// SetOutput sets the Output field's value.
4458func (s *ActionExecutionDetail) SetOutput(v *ActionExecutionOutput) *ActionExecutionDetail {
4459	s.Output = v
4460	return s
4461}
4462
4463// SetPipelineExecutionId sets the PipelineExecutionId field's value.
4464func (s *ActionExecutionDetail) SetPipelineExecutionId(v string) *ActionExecutionDetail {
4465	s.PipelineExecutionId = &v
4466	return s
4467}
4468
4469// SetPipelineVersion sets the PipelineVersion field's value.
4470func (s *ActionExecutionDetail) SetPipelineVersion(v int64) *ActionExecutionDetail {
4471	s.PipelineVersion = &v
4472	return s
4473}
4474
4475// SetStageName sets the StageName field's value.
4476func (s *ActionExecutionDetail) SetStageName(v string) *ActionExecutionDetail {
4477	s.StageName = &v
4478	return s
4479}
4480
4481// SetStartTime sets the StartTime field's value.
4482func (s *ActionExecutionDetail) SetStartTime(v time.Time) *ActionExecutionDetail {
4483	s.StartTime = &v
4484	return s
4485}
4486
4487// SetStatus sets the Status field's value.
4488func (s *ActionExecutionDetail) SetStatus(v string) *ActionExecutionDetail {
4489	s.Status = &v
4490	return s
4491}
4492
4493// Filter values for the action execution.
4494type ActionExecutionFilter struct {
4495	_ struct{} `type:"structure"`
4496
4497	// The pipeline execution ID used to filter action execution history.
4498	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
4499}
4500
4501// String returns the string representation
4502func (s ActionExecutionFilter) String() string {
4503	return awsutil.Prettify(s)
4504}
4505
4506// GoString returns the string representation
4507func (s ActionExecutionFilter) GoString() string {
4508	return s.String()
4509}
4510
4511// SetPipelineExecutionId sets the PipelineExecutionId field's value.
4512func (s *ActionExecutionFilter) SetPipelineExecutionId(v string) *ActionExecutionFilter {
4513	s.PipelineExecutionId = &v
4514	return s
4515}
4516
4517// Input information used for an action execution.
4518type ActionExecutionInput struct {
4519	_ struct{} `type:"structure"`
4520
4521	// Represents information about an action type.
4522	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure"`
4523
4524	// Configuration data for an action execution.
4525	Configuration map[string]*string `locationName:"configuration" type:"map"`
4526
4527	// Details of input artifacts of the action that correspond to the action execution.
4528	InputArtifacts []*ArtifactDetail `locationName:"inputArtifacts" type:"list"`
4529
4530	// The variable namespace associated with the action. All variables produced
4531	// as output by this action fall under this namespace.
4532	Namespace *string `locationName:"namespace" min:"1" type:"string"`
4533
4534	// The AWS Region for the action, such as us-east-1.
4535	Region *string `locationName:"region" min:"4" type:"string"`
4536
4537	// Configuration data for an action execution with all variable references replaced
4538	// with their real values for the execution.
4539	ResolvedConfiguration map[string]*string `locationName:"resolvedConfiguration" type:"map"`
4540
4541	// The ARN of the IAM service role that performs the declared action. This is
4542	// assumed through the roleArn for the pipeline.
4543	RoleArn *string `locationName:"roleArn" type:"string"`
4544}
4545
4546// String returns the string representation
4547func (s ActionExecutionInput) String() string {
4548	return awsutil.Prettify(s)
4549}
4550
4551// GoString returns the string representation
4552func (s ActionExecutionInput) GoString() string {
4553	return s.String()
4554}
4555
4556// SetActionTypeId sets the ActionTypeId field's value.
4557func (s *ActionExecutionInput) SetActionTypeId(v *ActionTypeId) *ActionExecutionInput {
4558	s.ActionTypeId = v
4559	return s
4560}
4561
4562// SetConfiguration sets the Configuration field's value.
4563func (s *ActionExecutionInput) SetConfiguration(v map[string]*string) *ActionExecutionInput {
4564	s.Configuration = v
4565	return s
4566}
4567
4568// SetInputArtifacts sets the InputArtifacts field's value.
4569func (s *ActionExecutionInput) SetInputArtifacts(v []*ArtifactDetail) *ActionExecutionInput {
4570	s.InputArtifacts = v
4571	return s
4572}
4573
4574// SetNamespace sets the Namespace field's value.
4575func (s *ActionExecutionInput) SetNamespace(v string) *ActionExecutionInput {
4576	s.Namespace = &v
4577	return s
4578}
4579
4580// SetRegion sets the Region field's value.
4581func (s *ActionExecutionInput) SetRegion(v string) *ActionExecutionInput {
4582	s.Region = &v
4583	return s
4584}
4585
4586// SetResolvedConfiguration sets the ResolvedConfiguration field's value.
4587func (s *ActionExecutionInput) SetResolvedConfiguration(v map[string]*string) *ActionExecutionInput {
4588	s.ResolvedConfiguration = v
4589	return s
4590}
4591
4592// SetRoleArn sets the RoleArn field's value.
4593func (s *ActionExecutionInput) SetRoleArn(v string) *ActionExecutionInput {
4594	s.RoleArn = &v
4595	return s
4596}
4597
4598// Output details listed for an action execution, such as the action execution
4599// result.
4600type ActionExecutionOutput struct {
4601	_ struct{} `type:"structure"`
4602
4603	// Execution result information listed in the output details for an action execution.
4604	ExecutionResult *ActionExecutionResult `locationName:"executionResult" type:"structure"`
4605
4606	// Details of output artifacts of the action that correspond to the action execution.
4607	OutputArtifacts []*ArtifactDetail `locationName:"outputArtifacts" type:"list"`
4608
4609	// The outputVariables field shows the key-value pairs that were output as part
4610	// of that execution.
4611	OutputVariables map[string]*string `locationName:"outputVariables" type:"map"`
4612}
4613
4614// String returns the string representation
4615func (s ActionExecutionOutput) String() string {
4616	return awsutil.Prettify(s)
4617}
4618
4619// GoString returns the string representation
4620func (s ActionExecutionOutput) GoString() string {
4621	return s.String()
4622}
4623
4624// SetExecutionResult sets the ExecutionResult field's value.
4625func (s *ActionExecutionOutput) SetExecutionResult(v *ActionExecutionResult) *ActionExecutionOutput {
4626	s.ExecutionResult = v
4627	return s
4628}
4629
4630// SetOutputArtifacts sets the OutputArtifacts field's value.
4631func (s *ActionExecutionOutput) SetOutputArtifacts(v []*ArtifactDetail) *ActionExecutionOutput {
4632	s.OutputArtifacts = v
4633	return s
4634}
4635
4636// SetOutputVariables sets the OutputVariables field's value.
4637func (s *ActionExecutionOutput) SetOutputVariables(v map[string]*string) *ActionExecutionOutput {
4638	s.OutputVariables = v
4639	return s
4640}
4641
4642// Execution result information, such as the external execution ID.
4643type ActionExecutionResult struct {
4644	_ struct{} `type:"structure"`
4645
4646	// The action provider's external ID for the action execution.
4647	ExternalExecutionId *string `locationName:"externalExecutionId" type:"string"`
4648
4649	// The action provider's summary for the action execution.
4650	ExternalExecutionSummary *string `locationName:"externalExecutionSummary" type:"string"`
4651
4652	// The deepest external link to the external resource (for example, a repository
4653	// URL or deployment endpoint) that is used when running the action.
4654	ExternalExecutionUrl *string `locationName:"externalExecutionUrl" min:"1" type:"string"`
4655}
4656
4657// String returns the string representation
4658func (s ActionExecutionResult) String() string {
4659	return awsutil.Prettify(s)
4660}
4661
4662// GoString returns the string representation
4663func (s ActionExecutionResult) GoString() string {
4664	return s.String()
4665}
4666
4667// SetExternalExecutionId sets the ExternalExecutionId field's value.
4668func (s *ActionExecutionResult) SetExternalExecutionId(v string) *ActionExecutionResult {
4669	s.ExternalExecutionId = &v
4670	return s
4671}
4672
4673// SetExternalExecutionSummary sets the ExternalExecutionSummary field's value.
4674func (s *ActionExecutionResult) SetExternalExecutionSummary(v string) *ActionExecutionResult {
4675	s.ExternalExecutionSummary = &v
4676	return s
4677}
4678
4679// SetExternalExecutionUrl sets the ExternalExecutionUrl field's value.
4680func (s *ActionExecutionResult) SetExternalExecutionUrl(v string) *ActionExecutionResult {
4681	s.ExternalExecutionUrl = &v
4682	return s
4683}
4684
4685// The specified action cannot be found.
4686type ActionNotFoundException struct {
4687	_            struct{}                  `type:"structure"`
4688	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4689
4690	Message_ *string `locationName:"message" type:"string"`
4691}
4692
4693// String returns the string representation
4694func (s ActionNotFoundException) String() string {
4695	return awsutil.Prettify(s)
4696}
4697
4698// GoString returns the string representation
4699func (s ActionNotFoundException) GoString() string {
4700	return s.String()
4701}
4702
4703func newErrorActionNotFoundException(v protocol.ResponseMetadata) error {
4704	return &ActionNotFoundException{
4705		RespMetadata: v,
4706	}
4707}
4708
4709// Code returns the exception type name.
4710func (s *ActionNotFoundException) Code() string {
4711	return "ActionNotFoundException"
4712}
4713
4714// Message returns the exception's message.
4715func (s *ActionNotFoundException) Message() string {
4716	if s.Message_ != nil {
4717		return *s.Message_
4718	}
4719	return ""
4720}
4721
4722// OrigErr always returns nil, satisfies awserr.Error interface.
4723func (s *ActionNotFoundException) OrigErr() error {
4724	return nil
4725}
4726
4727func (s *ActionNotFoundException) Error() string {
4728	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4729}
4730
4731// Status code returns the HTTP status code for the request's response error.
4732func (s *ActionNotFoundException) StatusCode() int {
4733	return s.RespMetadata.StatusCode
4734}
4735
4736// RequestID returns the service's response RequestID for request.
4737func (s *ActionNotFoundException) RequestID() string {
4738	return s.RespMetadata.RequestID
4739}
4740
4741// Represents information about the version (or revision) of an action.
4742type ActionRevision struct {
4743	_ struct{} `type:"structure"`
4744
4745	// The date and time when the most recent version of the action was created,
4746	// in timestamp format.
4747	//
4748	// Created is a required field
4749	Created *time.Time `locationName:"created" type:"timestamp" required:"true"`
4750
4751	// The unique identifier of the change that set the state to this revision (for
4752	// example, a deployment ID or timestamp).
4753	//
4754	// RevisionChangeId is a required field
4755	RevisionChangeId *string `locationName:"revisionChangeId" min:"1" type:"string" required:"true"`
4756
4757	// The system-generated unique ID that identifies the revision number of the
4758	// action.
4759	//
4760	// RevisionId is a required field
4761	RevisionId *string `locationName:"revisionId" min:"1" type:"string" required:"true"`
4762}
4763
4764// String returns the string representation
4765func (s ActionRevision) String() string {
4766	return awsutil.Prettify(s)
4767}
4768
4769// GoString returns the string representation
4770func (s ActionRevision) GoString() string {
4771	return s.String()
4772}
4773
4774// Validate inspects the fields of the type to determine if they are valid.
4775func (s *ActionRevision) Validate() error {
4776	invalidParams := request.ErrInvalidParams{Context: "ActionRevision"}
4777	if s.Created == nil {
4778		invalidParams.Add(request.NewErrParamRequired("Created"))
4779	}
4780	if s.RevisionChangeId == nil {
4781		invalidParams.Add(request.NewErrParamRequired("RevisionChangeId"))
4782	}
4783	if s.RevisionChangeId != nil && len(*s.RevisionChangeId) < 1 {
4784		invalidParams.Add(request.NewErrParamMinLen("RevisionChangeId", 1))
4785	}
4786	if s.RevisionId == nil {
4787		invalidParams.Add(request.NewErrParamRequired("RevisionId"))
4788	}
4789	if s.RevisionId != nil && len(*s.RevisionId) < 1 {
4790		invalidParams.Add(request.NewErrParamMinLen("RevisionId", 1))
4791	}
4792
4793	if invalidParams.Len() > 0 {
4794		return invalidParams
4795	}
4796	return nil
4797}
4798
4799// SetCreated sets the Created field's value.
4800func (s *ActionRevision) SetCreated(v time.Time) *ActionRevision {
4801	s.Created = &v
4802	return s
4803}
4804
4805// SetRevisionChangeId sets the RevisionChangeId field's value.
4806func (s *ActionRevision) SetRevisionChangeId(v string) *ActionRevision {
4807	s.RevisionChangeId = &v
4808	return s
4809}
4810
4811// SetRevisionId sets the RevisionId field's value.
4812func (s *ActionRevision) SetRevisionId(v string) *ActionRevision {
4813	s.RevisionId = &v
4814	return s
4815}
4816
4817// Represents information about the state of an action.
4818type ActionState struct {
4819	_ struct{} `type:"structure"`
4820
4821	// The name of the action.
4822	ActionName *string `locationName:"actionName" min:"1" type:"string"`
4823
4824	// Represents information about the version (or revision) of an action.
4825	CurrentRevision *ActionRevision `locationName:"currentRevision" type:"structure"`
4826
4827	// A URL link for more information about the state of the action, such as a
4828	// deployment group details page.
4829	EntityUrl *string `locationName:"entityUrl" min:"1" type:"string"`
4830
4831	// Represents information about the run of an action.
4832	LatestExecution *ActionExecution `locationName:"latestExecution" type:"structure"`
4833
4834	// A URL link for more information about the revision, such as a commit details
4835	// page.
4836	RevisionUrl *string `locationName:"revisionUrl" min:"1" type:"string"`
4837}
4838
4839// String returns the string representation
4840func (s ActionState) String() string {
4841	return awsutil.Prettify(s)
4842}
4843
4844// GoString returns the string representation
4845func (s ActionState) GoString() string {
4846	return s.String()
4847}
4848
4849// SetActionName sets the ActionName field's value.
4850func (s *ActionState) SetActionName(v string) *ActionState {
4851	s.ActionName = &v
4852	return s
4853}
4854
4855// SetCurrentRevision sets the CurrentRevision field's value.
4856func (s *ActionState) SetCurrentRevision(v *ActionRevision) *ActionState {
4857	s.CurrentRevision = v
4858	return s
4859}
4860
4861// SetEntityUrl sets the EntityUrl field's value.
4862func (s *ActionState) SetEntityUrl(v string) *ActionState {
4863	s.EntityUrl = &v
4864	return s
4865}
4866
4867// SetLatestExecution sets the LatestExecution field's value.
4868func (s *ActionState) SetLatestExecution(v *ActionExecution) *ActionState {
4869	s.LatestExecution = v
4870	return s
4871}
4872
4873// SetRevisionUrl sets the RevisionUrl field's value.
4874func (s *ActionState) SetRevisionUrl(v string) *ActionState {
4875	s.RevisionUrl = &v
4876	return s
4877}
4878
4879// Returns information about the details of an action type.
4880type ActionType struct {
4881	_ struct{} `type:"structure"`
4882
4883	// The configuration properties for the action type.
4884	ActionConfigurationProperties []*ActionConfigurationProperty `locationName:"actionConfigurationProperties" type:"list"`
4885
4886	// Represents information about an action type.
4887	//
4888	// Id is a required field
4889	Id *ActionTypeId `locationName:"id" type:"structure" required:"true"`
4890
4891	// The details of the input artifact for the action, such as its commit ID.
4892	//
4893	// InputArtifactDetails is a required field
4894	InputArtifactDetails *ArtifactDetails `locationName:"inputArtifactDetails" type:"structure" required:"true"`
4895
4896	// The details of the output artifact of the action, such as its commit ID.
4897	//
4898	// OutputArtifactDetails is a required field
4899	OutputArtifactDetails *ArtifactDetails `locationName:"outputArtifactDetails" type:"structure" required:"true"`
4900
4901	// The settings for the action type.
4902	Settings *ActionTypeSettings `locationName:"settings" type:"structure"`
4903}
4904
4905// String returns the string representation
4906func (s ActionType) String() string {
4907	return awsutil.Prettify(s)
4908}
4909
4910// GoString returns the string representation
4911func (s ActionType) GoString() string {
4912	return s.String()
4913}
4914
4915// SetActionConfigurationProperties sets the ActionConfigurationProperties field's value.
4916func (s *ActionType) SetActionConfigurationProperties(v []*ActionConfigurationProperty) *ActionType {
4917	s.ActionConfigurationProperties = v
4918	return s
4919}
4920
4921// SetId sets the Id field's value.
4922func (s *ActionType) SetId(v *ActionTypeId) *ActionType {
4923	s.Id = v
4924	return s
4925}
4926
4927// SetInputArtifactDetails sets the InputArtifactDetails field's value.
4928func (s *ActionType) SetInputArtifactDetails(v *ArtifactDetails) *ActionType {
4929	s.InputArtifactDetails = v
4930	return s
4931}
4932
4933// SetOutputArtifactDetails sets the OutputArtifactDetails field's value.
4934func (s *ActionType) SetOutputArtifactDetails(v *ArtifactDetails) *ActionType {
4935	s.OutputArtifactDetails = v
4936	return s
4937}
4938
4939// SetSettings sets the Settings field's value.
4940func (s *ActionType) SetSettings(v *ActionTypeSettings) *ActionType {
4941	s.Settings = v
4942	return s
4943}
4944
4945// Represents information about an action type.
4946type ActionTypeId struct {
4947	_ struct{} `type:"structure"`
4948
4949	// A category defines what kind of action can be taken in the stage, and constrains
4950	// the provider type for the action. Valid categories are limited to one of
4951	// the following values.
4952	//
4953	// Category is a required field
4954	Category *string `locationName:"category" type:"string" required:"true" enum:"ActionCategory"`
4955
4956	// The creator of the action being called.
4957	//
4958	// Owner is a required field
4959	Owner *string `locationName:"owner" type:"string" required:"true" enum:"ActionOwner"`
4960
4961	// The provider of the service being called by the action. Valid providers are
4962	// determined by the action category. For example, an action in the Deploy category
4963	// type might have a provider of AWS CodeDeploy, which would be specified as
4964	// CodeDeploy. For more information, see Valid Action Types and Providers in
4965	// CodePipeline (https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers).
4966	//
4967	// Provider is a required field
4968	Provider *string `locationName:"provider" min:"1" type:"string" required:"true"`
4969
4970	// A string that describes the action version.
4971	//
4972	// Version is a required field
4973	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
4974}
4975
4976// String returns the string representation
4977func (s ActionTypeId) String() string {
4978	return awsutil.Prettify(s)
4979}
4980
4981// GoString returns the string representation
4982func (s ActionTypeId) GoString() string {
4983	return s.String()
4984}
4985
4986// Validate inspects the fields of the type to determine if they are valid.
4987func (s *ActionTypeId) Validate() error {
4988	invalidParams := request.ErrInvalidParams{Context: "ActionTypeId"}
4989	if s.Category == nil {
4990		invalidParams.Add(request.NewErrParamRequired("Category"))
4991	}
4992	if s.Owner == nil {
4993		invalidParams.Add(request.NewErrParamRequired("Owner"))
4994	}
4995	if s.Provider == nil {
4996		invalidParams.Add(request.NewErrParamRequired("Provider"))
4997	}
4998	if s.Provider != nil && len(*s.Provider) < 1 {
4999		invalidParams.Add(request.NewErrParamMinLen("Provider", 1))
5000	}
5001	if s.Version == nil {
5002		invalidParams.Add(request.NewErrParamRequired("Version"))
5003	}
5004	if s.Version != nil && len(*s.Version) < 1 {
5005		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
5006	}
5007
5008	if invalidParams.Len() > 0 {
5009		return invalidParams
5010	}
5011	return nil
5012}
5013
5014// SetCategory sets the Category field's value.
5015func (s *ActionTypeId) SetCategory(v string) *ActionTypeId {
5016	s.Category = &v
5017	return s
5018}
5019
5020// SetOwner sets the Owner field's value.
5021func (s *ActionTypeId) SetOwner(v string) *ActionTypeId {
5022	s.Owner = &v
5023	return s
5024}
5025
5026// SetProvider sets the Provider field's value.
5027func (s *ActionTypeId) SetProvider(v string) *ActionTypeId {
5028	s.Provider = &v
5029	return s
5030}
5031
5032// SetVersion sets the Version field's value.
5033func (s *ActionTypeId) SetVersion(v string) *ActionTypeId {
5034	s.Version = &v
5035	return s
5036}
5037
5038// The specified action type cannot be found.
5039type ActionTypeNotFoundException struct {
5040	_            struct{}                  `type:"structure"`
5041	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5042
5043	Message_ *string `locationName:"message" type:"string"`
5044}
5045
5046// String returns the string representation
5047func (s ActionTypeNotFoundException) String() string {
5048	return awsutil.Prettify(s)
5049}
5050
5051// GoString returns the string representation
5052func (s ActionTypeNotFoundException) GoString() string {
5053	return s.String()
5054}
5055
5056func newErrorActionTypeNotFoundException(v protocol.ResponseMetadata) error {
5057	return &ActionTypeNotFoundException{
5058		RespMetadata: v,
5059	}
5060}
5061
5062// Code returns the exception type name.
5063func (s *ActionTypeNotFoundException) Code() string {
5064	return "ActionTypeNotFoundException"
5065}
5066
5067// Message returns the exception's message.
5068func (s *ActionTypeNotFoundException) Message() string {
5069	if s.Message_ != nil {
5070		return *s.Message_
5071	}
5072	return ""
5073}
5074
5075// OrigErr always returns nil, satisfies awserr.Error interface.
5076func (s *ActionTypeNotFoundException) OrigErr() error {
5077	return nil
5078}
5079
5080func (s *ActionTypeNotFoundException) Error() string {
5081	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5082}
5083
5084// Status code returns the HTTP status code for the request's response error.
5085func (s *ActionTypeNotFoundException) StatusCode() int {
5086	return s.RespMetadata.StatusCode
5087}
5088
5089// RequestID returns the service's response RequestID for request.
5090func (s *ActionTypeNotFoundException) RequestID() string {
5091	return s.RespMetadata.RequestID
5092}
5093
5094// Returns information about the settings for an action type.
5095type ActionTypeSettings struct {
5096	_ struct{} `type:"structure"`
5097
5098	// The URL returned to the AWS CodePipeline console that provides a deep link
5099	// to the resources of the external system, such as the configuration page for
5100	// an AWS CodeDeploy deployment group. This link is provided as part of the
5101	// action display in the pipeline.
5102	EntityUrlTemplate *string `locationName:"entityUrlTemplate" min:"1" type:"string"`
5103
5104	// The URL returned to the AWS CodePipeline console that contains a link to
5105	// the top-level landing page for the external system, such as the console page
5106	// for AWS CodeDeploy. This link is shown on the pipeline view page in the AWS
5107	// CodePipeline console and provides a link to the execution entity of the external
5108	// action.
5109	ExecutionUrlTemplate *string `locationName:"executionUrlTemplate" min:"1" type:"string"`
5110
5111	// The URL returned to the AWS CodePipeline console that contains a link to
5112	// the page where customers can update or change the configuration of the external
5113	// action.
5114	RevisionUrlTemplate *string `locationName:"revisionUrlTemplate" min:"1" type:"string"`
5115
5116	// The URL of a sign-up page where users can sign up for an external service
5117	// and perform initial configuration of the action provided by that service.
5118	ThirdPartyConfigurationUrl *string `locationName:"thirdPartyConfigurationUrl" min:"1" type:"string"`
5119}
5120
5121// String returns the string representation
5122func (s ActionTypeSettings) String() string {
5123	return awsutil.Prettify(s)
5124}
5125
5126// GoString returns the string representation
5127func (s ActionTypeSettings) GoString() string {
5128	return s.String()
5129}
5130
5131// Validate inspects the fields of the type to determine if they are valid.
5132func (s *ActionTypeSettings) Validate() error {
5133	invalidParams := request.ErrInvalidParams{Context: "ActionTypeSettings"}
5134	if s.EntityUrlTemplate != nil && len(*s.EntityUrlTemplate) < 1 {
5135		invalidParams.Add(request.NewErrParamMinLen("EntityUrlTemplate", 1))
5136	}
5137	if s.ExecutionUrlTemplate != nil && len(*s.ExecutionUrlTemplate) < 1 {
5138		invalidParams.Add(request.NewErrParamMinLen("ExecutionUrlTemplate", 1))
5139	}
5140	if s.RevisionUrlTemplate != nil && len(*s.RevisionUrlTemplate) < 1 {
5141		invalidParams.Add(request.NewErrParamMinLen("RevisionUrlTemplate", 1))
5142	}
5143	if s.ThirdPartyConfigurationUrl != nil && len(*s.ThirdPartyConfigurationUrl) < 1 {
5144		invalidParams.Add(request.NewErrParamMinLen("ThirdPartyConfigurationUrl", 1))
5145	}
5146
5147	if invalidParams.Len() > 0 {
5148		return invalidParams
5149	}
5150	return nil
5151}
5152
5153// SetEntityUrlTemplate sets the EntityUrlTemplate field's value.
5154func (s *ActionTypeSettings) SetEntityUrlTemplate(v string) *ActionTypeSettings {
5155	s.EntityUrlTemplate = &v
5156	return s
5157}
5158
5159// SetExecutionUrlTemplate sets the ExecutionUrlTemplate field's value.
5160func (s *ActionTypeSettings) SetExecutionUrlTemplate(v string) *ActionTypeSettings {
5161	s.ExecutionUrlTemplate = &v
5162	return s
5163}
5164
5165// SetRevisionUrlTemplate sets the RevisionUrlTemplate field's value.
5166func (s *ActionTypeSettings) SetRevisionUrlTemplate(v string) *ActionTypeSettings {
5167	s.RevisionUrlTemplate = &v
5168	return s
5169}
5170
5171// SetThirdPartyConfigurationUrl sets the ThirdPartyConfigurationUrl field's value.
5172func (s *ActionTypeSettings) SetThirdPartyConfigurationUrl(v string) *ActionTypeSettings {
5173	s.ThirdPartyConfigurationUrl = &v
5174	return s
5175}
5176
5177// The approval action has already been approved or rejected.
5178type ApprovalAlreadyCompletedException struct {
5179	_            struct{}                  `type:"structure"`
5180	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5181
5182	Message_ *string `locationName:"message" type:"string"`
5183}
5184
5185// String returns the string representation
5186func (s ApprovalAlreadyCompletedException) String() string {
5187	return awsutil.Prettify(s)
5188}
5189
5190// GoString returns the string representation
5191func (s ApprovalAlreadyCompletedException) GoString() string {
5192	return s.String()
5193}
5194
5195func newErrorApprovalAlreadyCompletedException(v protocol.ResponseMetadata) error {
5196	return &ApprovalAlreadyCompletedException{
5197		RespMetadata: v,
5198	}
5199}
5200
5201// Code returns the exception type name.
5202func (s *ApprovalAlreadyCompletedException) Code() string {
5203	return "ApprovalAlreadyCompletedException"
5204}
5205
5206// Message returns the exception's message.
5207func (s *ApprovalAlreadyCompletedException) Message() string {
5208	if s.Message_ != nil {
5209		return *s.Message_
5210	}
5211	return ""
5212}
5213
5214// OrigErr always returns nil, satisfies awserr.Error interface.
5215func (s *ApprovalAlreadyCompletedException) OrigErr() error {
5216	return nil
5217}
5218
5219func (s *ApprovalAlreadyCompletedException) Error() string {
5220	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5221}
5222
5223// Status code returns the HTTP status code for the request's response error.
5224func (s *ApprovalAlreadyCompletedException) StatusCode() int {
5225	return s.RespMetadata.StatusCode
5226}
5227
5228// RequestID returns the service's response RequestID for request.
5229func (s *ApprovalAlreadyCompletedException) RequestID() string {
5230	return s.RespMetadata.RequestID
5231}
5232
5233// Represents information about the result of an approval request.
5234type ApprovalResult struct {
5235	_ struct{} `type:"structure"`
5236
5237	// The response submitted by a reviewer assigned to an approval action request.
5238	//
5239	// Status is a required field
5240	Status *string `locationName:"status" type:"string" required:"true" enum:"ApprovalStatus"`
5241
5242	// The summary of the current status of the approval request.
5243	//
5244	// Summary is a required field
5245	Summary *string `locationName:"summary" type:"string" required:"true"`
5246}
5247
5248// String returns the string representation
5249func (s ApprovalResult) String() string {
5250	return awsutil.Prettify(s)
5251}
5252
5253// GoString returns the string representation
5254func (s ApprovalResult) GoString() string {
5255	return s.String()
5256}
5257
5258// Validate inspects the fields of the type to determine if they are valid.
5259func (s *ApprovalResult) Validate() error {
5260	invalidParams := request.ErrInvalidParams{Context: "ApprovalResult"}
5261	if s.Status == nil {
5262		invalidParams.Add(request.NewErrParamRequired("Status"))
5263	}
5264	if s.Summary == nil {
5265		invalidParams.Add(request.NewErrParamRequired("Summary"))
5266	}
5267
5268	if invalidParams.Len() > 0 {
5269		return invalidParams
5270	}
5271	return nil
5272}
5273
5274// SetStatus sets the Status field's value.
5275func (s *ApprovalResult) SetStatus(v string) *ApprovalResult {
5276	s.Status = &v
5277	return s
5278}
5279
5280// SetSummary sets the Summary field's value.
5281func (s *ApprovalResult) SetSummary(v string) *ApprovalResult {
5282	s.Summary = &v
5283	return s
5284}
5285
5286// Represents information about an artifact that is worked on by actions in
5287// the pipeline.
5288type Artifact struct {
5289	_ struct{} `type:"structure"`
5290
5291	// The location of an artifact.
5292	Location *ArtifactLocation `locationName:"location" type:"structure"`
5293
5294	// The artifact's name.
5295	Name *string `locationName:"name" min:"1" type:"string"`
5296
5297	// The artifact's revision ID. Depending on the type of object, this could be
5298	// a commit ID (GitHub) or a revision ID (Amazon S3).
5299	Revision *string `locationName:"revision" min:"1" type:"string"`
5300}
5301
5302// String returns the string representation
5303func (s Artifact) String() string {
5304	return awsutil.Prettify(s)
5305}
5306
5307// GoString returns the string representation
5308func (s Artifact) GoString() string {
5309	return s.String()
5310}
5311
5312// SetLocation sets the Location field's value.
5313func (s *Artifact) SetLocation(v *ArtifactLocation) *Artifact {
5314	s.Location = v
5315	return s
5316}
5317
5318// SetName sets the Name field's value.
5319func (s *Artifact) SetName(v string) *Artifact {
5320	s.Name = &v
5321	return s
5322}
5323
5324// SetRevision sets the Revision field's value.
5325func (s *Artifact) SetRevision(v string) *Artifact {
5326	s.Revision = &v
5327	return s
5328}
5329
5330// Artifact details for the action execution, such as the artifact location.
5331type ArtifactDetail struct {
5332	_ struct{} `type:"structure"`
5333
5334	// The artifact object name for the action execution.
5335	Name *string `locationName:"name" min:"1" type:"string"`
5336
5337	// The Amazon S3 artifact location for the action execution.
5338	S3location *S3Location `locationName:"s3location" type:"structure"`
5339}
5340
5341// String returns the string representation
5342func (s ArtifactDetail) String() string {
5343	return awsutil.Prettify(s)
5344}
5345
5346// GoString returns the string representation
5347func (s ArtifactDetail) GoString() string {
5348	return s.String()
5349}
5350
5351// SetName sets the Name field's value.
5352func (s *ArtifactDetail) SetName(v string) *ArtifactDetail {
5353	s.Name = &v
5354	return s
5355}
5356
5357// SetS3location sets the S3location field's value.
5358func (s *ArtifactDetail) SetS3location(v *S3Location) *ArtifactDetail {
5359	s.S3location = v
5360	return s
5361}
5362
5363// Returns information about the details of an artifact.
5364type ArtifactDetails struct {
5365	_ struct{} `type:"structure"`
5366
5367	// The maximum number of artifacts allowed for the action type.
5368	//
5369	// MaximumCount is a required field
5370	MaximumCount *int64 `locationName:"maximumCount" type:"integer" required:"true"`
5371
5372	// The minimum number of artifacts allowed for the action type.
5373	//
5374	// MinimumCount is a required field
5375	MinimumCount *int64 `locationName:"minimumCount" type:"integer" required:"true"`
5376}
5377
5378// String returns the string representation
5379func (s ArtifactDetails) String() string {
5380	return awsutil.Prettify(s)
5381}
5382
5383// GoString returns the string representation
5384func (s ArtifactDetails) GoString() string {
5385	return s.String()
5386}
5387
5388// Validate inspects the fields of the type to determine if they are valid.
5389func (s *ArtifactDetails) Validate() error {
5390	invalidParams := request.ErrInvalidParams{Context: "ArtifactDetails"}
5391	if s.MaximumCount == nil {
5392		invalidParams.Add(request.NewErrParamRequired("MaximumCount"))
5393	}
5394	if s.MinimumCount == nil {
5395		invalidParams.Add(request.NewErrParamRequired("MinimumCount"))
5396	}
5397
5398	if invalidParams.Len() > 0 {
5399		return invalidParams
5400	}
5401	return nil
5402}
5403
5404// SetMaximumCount sets the MaximumCount field's value.
5405func (s *ArtifactDetails) SetMaximumCount(v int64) *ArtifactDetails {
5406	s.MaximumCount = &v
5407	return s
5408}
5409
5410// SetMinimumCount sets the MinimumCount field's value.
5411func (s *ArtifactDetails) SetMinimumCount(v int64) *ArtifactDetails {
5412	s.MinimumCount = &v
5413	return s
5414}
5415
5416// Represents information about the location of an artifact.
5417type ArtifactLocation struct {
5418	_ struct{} `type:"structure"`
5419
5420	// The S3 bucket that contains the artifact.
5421	S3Location *S3ArtifactLocation `locationName:"s3Location" type:"structure"`
5422
5423	// The type of artifact in the location.
5424	Type *string `locationName:"type" type:"string" enum:"ArtifactLocationType"`
5425}
5426
5427// String returns the string representation
5428func (s ArtifactLocation) String() string {
5429	return awsutil.Prettify(s)
5430}
5431
5432// GoString returns the string representation
5433func (s ArtifactLocation) GoString() string {
5434	return s.String()
5435}
5436
5437// SetS3Location sets the S3Location field's value.
5438func (s *ArtifactLocation) SetS3Location(v *S3ArtifactLocation) *ArtifactLocation {
5439	s.S3Location = v
5440	return s
5441}
5442
5443// SetType sets the Type field's value.
5444func (s *ArtifactLocation) SetType(v string) *ArtifactLocation {
5445	s.Type = &v
5446	return s
5447}
5448
5449// Represents revision details of an artifact.
5450type ArtifactRevision struct {
5451	_ struct{} `type:"structure"`
5452
5453	// The date and time when the most recent revision of the artifact was created,
5454	// in timestamp format.
5455	Created *time.Time `locationName:"created" type:"timestamp"`
5456
5457	// The name of an artifact. This name might be system-generated, such as "MyApp",
5458	// or defined by the user when an action is created.
5459	Name *string `locationName:"name" min:"1" type:"string"`
5460
5461	// An additional identifier for a revision, such as a commit date or, for artifacts
5462	// stored in Amazon S3 buckets, the ETag value.
5463	RevisionChangeIdentifier *string `locationName:"revisionChangeIdentifier" min:"1" type:"string"`
5464
5465	// The revision ID of the artifact.
5466	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
5467
5468	// Summary information about the most recent revision of the artifact. For GitHub
5469	// and AWS CodeCommit repositories, the commit message. For Amazon S3 buckets
5470	// or actions, the user-provided content of a codepipeline-artifact-revision-summary
5471	// key specified in the object metadata.
5472	RevisionSummary *string `locationName:"revisionSummary" min:"1" type:"string"`
5473
5474	// The commit ID for the artifact revision. For artifacts stored in GitHub or
5475	// AWS CodeCommit repositories, the commit ID is linked to a commit details
5476	// page.
5477	RevisionUrl *string `locationName:"revisionUrl" min:"1" type:"string"`
5478}
5479
5480// String returns the string representation
5481func (s ArtifactRevision) String() string {
5482	return awsutil.Prettify(s)
5483}
5484
5485// GoString returns the string representation
5486func (s ArtifactRevision) GoString() string {
5487	return s.String()
5488}
5489
5490// SetCreated sets the Created field's value.
5491func (s *ArtifactRevision) SetCreated(v time.Time) *ArtifactRevision {
5492	s.Created = &v
5493	return s
5494}
5495
5496// SetName sets the Name field's value.
5497func (s *ArtifactRevision) SetName(v string) *ArtifactRevision {
5498	s.Name = &v
5499	return s
5500}
5501
5502// SetRevisionChangeIdentifier sets the RevisionChangeIdentifier field's value.
5503func (s *ArtifactRevision) SetRevisionChangeIdentifier(v string) *ArtifactRevision {
5504	s.RevisionChangeIdentifier = &v
5505	return s
5506}
5507
5508// SetRevisionId sets the RevisionId field's value.
5509func (s *ArtifactRevision) SetRevisionId(v string) *ArtifactRevision {
5510	s.RevisionId = &v
5511	return s
5512}
5513
5514// SetRevisionSummary sets the RevisionSummary field's value.
5515func (s *ArtifactRevision) SetRevisionSummary(v string) *ArtifactRevision {
5516	s.RevisionSummary = &v
5517	return s
5518}
5519
5520// SetRevisionUrl sets the RevisionUrl field's value.
5521func (s *ArtifactRevision) SetRevisionUrl(v string) *ArtifactRevision {
5522	s.RevisionUrl = &v
5523	return s
5524}
5525
5526// The S3 bucket where artifacts for the pipeline are stored.
5527//
5528// You must include either artifactStore or artifactStores in your pipeline,
5529// but you cannot use both. If you create a cross-region action in your pipeline,
5530// you must use artifactStores.
5531type ArtifactStore struct {
5532	_ struct{} `type:"structure"`
5533
5534	// The encryption key used to encrypt the data in the artifact store, such as
5535	// an AWS Key Management Service (AWS KMS) key. If this is undefined, the default
5536	// key for Amazon S3 is used.
5537	EncryptionKey *EncryptionKey `locationName:"encryptionKey" type:"structure"`
5538
5539	// The S3 bucket used for storing the artifacts for a pipeline. You can specify
5540	// the name of an S3 bucket but not a folder in the bucket. A folder to contain
5541	// the pipeline artifacts is created for you based on the name of the pipeline.
5542	// You can use any S3 bucket in the same AWS Region as the pipeline to store
5543	// your pipeline artifacts.
5544	//
5545	// Location is a required field
5546	Location *string `locationName:"location" min:"3" type:"string" required:"true"`
5547
5548	// The type of the artifact store, such as S3.
5549	//
5550	// Type is a required field
5551	Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactStoreType"`
5552}
5553
5554// String returns the string representation
5555func (s ArtifactStore) String() string {
5556	return awsutil.Prettify(s)
5557}
5558
5559// GoString returns the string representation
5560func (s ArtifactStore) GoString() string {
5561	return s.String()
5562}
5563
5564// Validate inspects the fields of the type to determine if they are valid.
5565func (s *ArtifactStore) Validate() error {
5566	invalidParams := request.ErrInvalidParams{Context: "ArtifactStore"}
5567	if s.Location == nil {
5568		invalidParams.Add(request.NewErrParamRequired("Location"))
5569	}
5570	if s.Location != nil && len(*s.Location) < 3 {
5571		invalidParams.Add(request.NewErrParamMinLen("Location", 3))
5572	}
5573	if s.Type == nil {
5574		invalidParams.Add(request.NewErrParamRequired("Type"))
5575	}
5576	if s.EncryptionKey != nil {
5577		if err := s.EncryptionKey.Validate(); err != nil {
5578			invalidParams.AddNested("EncryptionKey", err.(request.ErrInvalidParams))
5579		}
5580	}
5581
5582	if invalidParams.Len() > 0 {
5583		return invalidParams
5584	}
5585	return nil
5586}
5587
5588// SetEncryptionKey sets the EncryptionKey field's value.
5589func (s *ArtifactStore) SetEncryptionKey(v *EncryptionKey) *ArtifactStore {
5590	s.EncryptionKey = v
5591	return s
5592}
5593
5594// SetLocation sets the Location field's value.
5595func (s *ArtifactStore) SetLocation(v string) *ArtifactStore {
5596	s.Location = &v
5597	return s
5598}
5599
5600// SetType sets the Type field's value.
5601func (s *ArtifactStore) SetType(v string) *ArtifactStore {
5602	s.Type = &v
5603	return s
5604}
5605
5606// Reserved for future use.
5607type BlockerDeclaration struct {
5608	_ struct{} `type:"structure"`
5609
5610	// Reserved for future use.
5611	//
5612	// Name is a required field
5613	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5614
5615	// Reserved for future use.
5616	//
5617	// Type is a required field
5618	Type *string `locationName:"type" type:"string" required:"true" enum:"BlockerType"`
5619}
5620
5621// String returns the string representation
5622func (s BlockerDeclaration) String() string {
5623	return awsutil.Prettify(s)
5624}
5625
5626// GoString returns the string representation
5627func (s BlockerDeclaration) GoString() string {
5628	return s.String()
5629}
5630
5631// Validate inspects the fields of the type to determine if they are valid.
5632func (s *BlockerDeclaration) Validate() error {
5633	invalidParams := request.ErrInvalidParams{Context: "BlockerDeclaration"}
5634	if s.Name == nil {
5635		invalidParams.Add(request.NewErrParamRequired("Name"))
5636	}
5637	if s.Name != nil && len(*s.Name) < 1 {
5638		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5639	}
5640	if s.Type == nil {
5641		invalidParams.Add(request.NewErrParamRequired("Type"))
5642	}
5643
5644	if invalidParams.Len() > 0 {
5645		return invalidParams
5646	}
5647	return nil
5648}
5649
5650// SetName sets the Name field's value.
5651func (s *BlockerDeclaration) SetName(v string) *BlockerDeclaration {
5652	s.Name = &v
5653	return s
5654}
5655
5656// SetType sets the Type field's value.
5657func (s *BlockerDeclaration) SetType(v string) *BlockerDeclaration {
5658	s.Type = &v
5659	return s
5660}
5661
5662// Unable to modify the tag due to a simultaneous update request.
5663type ConcurrentModificationException struct {
5664	_            struct{}                  `type:"structure"`
5665	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5666
5667	Message_ *string `locationName:"message" min:"1" type:"string"`
5668}
5669
5670// String returns the string representation
5671func (s ConcurrentModificationException) String() string {
5672	return awsutil.Prettify(s)
5673}
5674
5675// GoString returns the string representation
5676func (s ConcurrentModificationException) GoString() string {
5677	return s.String()
5678}
5679
5680func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
5681	return &ConcurrentModificationException{
5682		RespMetadata: v,
5683	}
5684}
5685
5686// Code returns the exception type name.
5687func (s *ConcurrentModificationException) Code() string {
5688	return "ConcurrentModificationException"
5689}
5690
5691// Message returns the exception's message.
5692func (s *ConcurrentModificationException) Message() string {
5693	if s.Message_ != nil {
5694		return *s.Message_
5695	}
5696	return ""
5697}
5698
5699// OrigErr always returns nil, satisfies awserr.Error interface.
5700func (s *ConcurrentModificationException) OrigErr() error {
5701	return nil
5702}
5703
5704func (s *ConcurrentModificationException) Error() string {
5705	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5706}
5707
5708// Status code returns the HTTP status code for the request's response error.
5709func (s *ConcurrentModificationException) StatusCode() int {
5710	return s.RespMetadata.StatusCode
5711}
5712
5713// RequestID returns the service's response RequestID for request.
5714func (s *ConcurrentModificationException) RequestID() string {
5715	return s.RespMetadata.RequestID
5716}
5717
5718// Represents the input of a CreateCustomActionType operation.
5719type CreateCustomActionTypeInput struct {
5720	_ struct{} `type:"structure"`
5721
5722	// The category of the custom action, such as a build action or a test action.
5723	//
5724	// Although Source and Approval are listed as valid values, they are not currently
5725	// functional. These values are reserved for future use.
5726	//
5727	// Category is a required field
5728	Category *string `locationName:"category" type:"string" required:"true" enum:"ActionCategory"`
5729
5730	// The configuration properties for the custom action.
5731	//
5732	// You can refer to a name in the configuration properties of the custom action
5733	// within the URL templates by following the format of {Config:name}, as long
5734	// as the configuration property is both required and not secret. For more information,
5735	// see Create a Custom Action for a Pipeline (https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html).
5736	ConfigurationProperties []*ActionConfigurationProperty `locationName:"configurationProperties" type:"list"`
5737
5738	// The details of the input artifact for the action, such as its commit ID.
5739	//
5740	// InputArtifactDetails is a required field
5741	InputArtifactDetails *ArtifactDetails `locationName:"inputArtifactDetails" type:"structure" required:"true"`
5742
5743	// The details of the output artifact of the action, such as its commit ID.
5744	//
5745	// OutputArtifactDetails is a required field
5746	OutputArtifactDetails *ArtifactDetails `locationName:"outputArtifactDetails" type:"structure" required:"true"`
5747
5748	// The provider of the service used in the custom action, such as AWS CodeDeploy.
5749	//
5750	// Provider is a required field
5751	Provider *string `locationName:"provider" min:"1" type:"string" required:"true"`
5752
5753	// URLs that provide users information about this custom action.
5754	Settings *ActionTypeSettings `locationName:"settings" type:"structure"`
5755
5756	// The tags for the custom action.
5757	Tags []*Tag `locationName:"tags" type:"list"`
5758
5759	// The version identifier of the custom action.
5760	//
5761	// Version is a required field
5762	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
5763}
5764
5765// String returns the string representation
5766func (s CreateCustomActionTypeInput) String() string {
5767	return awsutil.Prettify(s)
5768}
5769
5770// GoString returns the string representation
5771func (s CreateCustomActionTypeInput) GoString() string {
5772	return s.String()
5773}
5774
5775// Validate inspects the fields of the type to determine if they are valid.
5776func (s *CreateCustomActionTypeInput) Validate() error {
5777	invalidParams := request.ErrInvalidParams{Context: "CreateCustomActionTypeInput"}
5778	if s.Category == nil {
5779		invalidParams.Add(request.NewErrParamRequired("Category"))
5780	}
5781	if s.InputArtifactDetails == nil {
5782		invalidParams.Add(request.NewErrParamRequired("InputArtifactDetails"))
5783	}
5784	if s.OutputArtifactDetails == nil {
5785		invalidParams.Add(request.NewErrParamRequired("OutputArtifactDetails"))
5786	}
5787	if s.Provider == nil {
5788		invalidParams.Add(request.NewErrParamRequired("Provider"))
5789	}
5790	if s.Provider != nil && len(*s.Provider) < 1 {
5791		invalidParams.Add(request.NewErrParamMinLen("Provider", 1))
5792	}
5793	if s.Version == nil {
5794		invalidParams.Add(request.NewErrParamRequired("Version"))
5795	}
5796	if s.Version != nil && len(*s.Version) < 1 {
5797		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
5798	}
5799	if s.ConfigurationProperties != nil {
5800		for i, v := range s.ConfigurationProperties {
5801			if v == nil {
5802				continue
5803			}
5804			if err := v.Validate(); err != nil {
5805				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConfigurationProperties", i), err.(request.ErrInvalidParams))
5806			}
5807		}
5808	}
5809	if s.InputArtifactDetails != nil {
5810		if err := s.InputArtifactDetails.Validate(); err != nil {
5811			invalidParams.AddNested("InputArtifactDetails", err.(request.ErrInvalidParams))
5812		}
5813	}
5814	if s.OutputArtifactDetails != nil {
5815		if err := s.OutputArtifactDetails.Validate(); err != nil {
5816			invalidParams.AddNested("OutputArtifactDetails", err.(request.ErrInvalidParams))
5817		}
5818	}
5819	if s.Settings != nil {
5820		if err := s.Settings.Validate(); err != nil {
5821			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
5822		}
5823	}
5824	if s.Tags != nil {
5825		for i, v := range s.Tags {
5826			if v == nil {
5827				continue
5828			}
5829			if err := v.Validate(); err != nil {
5830				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5831			}
5832		}
5833	}
5834
5835	if invalidParams.Len() > 0 {
5836		return invalidParams
5837	}
5838	return nil
5839}
5840
5841// SetCategory sets the Category field's value.
5842func (s *CreateCustomActionTypeInput) SetCategory(v string) *CreateCustomActionTypeInput {
5843	s.Category = &v
5844	return s
5845}
5846
5847// SetConfigurationProperties sets the ConfigurationProperties field's value.
5848func (s *CreateCustomActionTypeInput) SetConfigurationProperties(v []*ActionConfigurationProperty) *CreateCustomActionTypeInput {
5849	s.ConfigurationProperties = v
5850	return s
5851}
5852
5853// SetInputArtifactDetails sets the InputArtifactDetails field's value.
5854func (s *CreateCustomActionTypeInput) SetInputArtifactDetails(v *ArtifactDetails) *CreateCustomActionTypeInput {
5855	s.InputArtifactDetails = v
5856	return s
5857}
5858
5859// SetOutputArtifactDetails sets the OutputArtifactDetails field's value.
5860func (s *CreateCustomActionTypeInput) SetOutputArtifactDetails(v *ArtifactDetails) *CreateCustomActionTypeInput {
5861	s.OutputArtifactDetails = v
5862	return s
5863}
5864
5865// SetProvider sets the Provider field's value.
5866func (s *CreateCustomActionTypeInput) SetProvider(v string) *CreateCustomActionTypeInput {
5867	s.Provider = &v
5868	return s
5869}
5870
5871// SetSettings sets the Settings field's value.
5872func (s *CreateCustomActionTypeInput) SetSettings(v *ActionTypeSettings) *CreateCustomActionTypeInput {
5873	s.Settings = v
5874	return s
5875}
5876
5877// SetTags sets the Tags field's value.
5878func (s *CreateCustomActionTypeInput) SetTags(v []*Tag) *CreateCustomActionTypeInput {
5879	s.Tags = v
5880	return s
5881}
5882
5883// SetVersion sets the Version field's value.
5884func (s *CreateCustomActionTypeInput) SetVersion(v string) *CreateCustomActionTypeInput {
5885	s.Version = &v
5886	return s
5887}
5888
5889// Represents the output of a CreateCustomActionType operation.
5890type CreateCustomActionTypeOutput struct {
5891	_ struct{} `type:"structure"`
5892
5893	// Returns information about the details of an action type.
5894	//
5895	// ActionType is a required field
5896	ActionType *ActionType `locationName:"actionType" type:"structure" required:"true"`
5897
5898	// Specifies the tags applied to the custom action.
5899	Tags []*Tag `locationName:"tags" type:"list"`
5900}
5901
5902// String returns the string representation
5903func (s CreateCustomActionTypeOutput) String() string {
5904	return awsutil.Prettify(s)
5905}
5906
5907// GoString returns the string representation
5908func (s CreateCustomActionTypeOutput) GoString() string {
5909	return s.String()
5910}
5911
5912// SetActionType sets the ActionType field's value.
5913func (s *CreateCustomActionTypeOutput) SetActionType(v *ActionType) *CreateCustomActionTypeOutput {
5914	s.ActionType = v
5915	return s
5916}
5917
5918// SetTags sets the Tags field's value.
5919func (s *CreateCustomActionTypeOutput) SetTags(v []*Tag) *CreateCustomActionTypeOutput {
5920	s.Tags = v
5921	return s
5922}
5923
5924// Represents the input of a CreatePipeline action.
5925type CreatePipelineInput struct {
5926	_ struct{} `type:"structure"`
5927
5928	// Represents the structure of actions and stages to be performed in the pipeline.
5929	//
5930	// Pipeline is a required field
5931	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure" required:"true"`
5932
5933	// The tags for the pipeline.
5934	Tags []*Tag `locationName:"tags" type:"list"`
5935}
5936
5937// String returns the string representation
5938func (s CreatePipelineInput) String() string {
5939	return awsutil.Prettify(s)
5940}
5941
5942// GoString returns the string representation
5943func (s CreatePipelineInput) GoString() string {
5944	return s.String()
5945}
5946
5947// Validate inspects the fields of the type to determine if they are valid.
5948func (s *CreatePipelineInput) Validate() error {
5949	invalidParams := request.ErrInvalidParams{Context: "CreatePipelineInput"}
5950	if s.Pipeline == nil {
5951		invalidParams.Add(request.NewErrParamRequired("Pipeline"))
5952	}
5953	if s.Pipeline != nil {
5954		if err := s.Pipeline.Validate(); err != nil {
5955			invalidParams.AddNested("Pipeline", err.(request.ErrInvalidParams))
5956		}
5957	}
5958	if s.Tags != nil {
5959		for i, v := range s.Tags {
5960			if v == nil {
5961				continue
5962			}
5963			if err := v.Validate(); err != nil {
5964				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5965			}
5966		}
5967	}
5968
5969	if invalidParams.Len() > 0 {
5970		return invalidParams
5971	}
5972	return nil
5973}
5974
5975// SetPipeline sets the Pipeline field's value.
5976func (s *CreatePipelineInput) SetPipeline(v *PipelineDeclaration) *CreatePipelineInput {
5977	s.Pipeline = v
5978	return s
5979}
5980
5981// SetTags sets the Tags field's value.
5982func (s *CreatePipelineInput) SetTags(v []*Tag) *CreatePipelineInput {
5983	s.Tags = v
5984	return s
5985}
5986
5987// Represents the output of a CreatePipeline action.
5988type CreatePipelineOutput struct {
5989	_ struct{} `type:"structure"`
5990
5991	// Represents the structure of actions and stages to be performed in the pipeline.
5992	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure"`
5993
5994	// Specifies the tags applied to the pipeline.
5995	Tags []*Tag `locationName:"tags" type:"list"`
5996}
5997
5998// String returns the string representation
5999func (s CreatePipelineOutput) String() string {
6000	return awsutil.Prettify(s)
6001}
6002
6003// GoString returns the string representation
6004func (s CreatePipelineOutput) GoString() string {
6005	return s.String()
6006}
6007
6008// SetPipeline sets the Pipeline field's value.
6009func (s *CreatePipelineOutput) SetPipeline(v *PipelineDeclaration) *CreatePipelineOutput {
6010	s.Pipeline = v
6011	return s
6012}
6013
6014// SetTags sets the Tags field's value.
6015func (s *CreatePipelineOutput) SetTags(v []*Tag) *CreatePipelineOutput {
6016	s.Tags = v
6017	return s
6018}
6019
6020// Represents information about a current revision.
6021type CurrentRevision struct {
6022	_ struct{} `type:"structure"`
6023
6024	// The change identifier for the current revision.
6025	//
6026	// ChangeIdentifier is a required field
6027	ChangeIdentifier *string `locationName:"changeIdentifier" min:"1" type:"string" required:"true"`
6028
6029	// The date and time when the most recent revision of the artifact was created,
6030	// in timestamp format.
6031	Created *time.Time `locationName:"created" type:"timestamp"`
6032
6033	// The revision ID of the current version of an artifact.
6034	//
6035	// Revision is a required field
6036	Revision *string `locationName:"revision" min:"1" type:"string" required:"true"`
6037
6038	// The summary of the most recent revision of the artifact.
6039	RevisionSummary *string `locationName:"revisionSummary" min:"1" type:"string"`
6040}
6041
6042// String returns the string representation
6043func (s CurrentRevision) String() string {
6044	return awsutil.Prettify(s)
6045}
6046
6047// GoString returns the string representation
6048func (s CurrentRevision) GoString() string {
6049	return s.String()
6050}
6051
6052// Validate inspects the fields of the type to determine if they are valid.
6053func (s *CurrentRevision) Validate() error {
6054	invalidParams := request.ErrInvalidParams{Context: "CurrentRevision"}
6055	if s.ChangeIdentifier == nil {
6056		invalidParams.Add(request.NewErrParamRequired("ChangeIdentifier"))
6057	}
6058	if s.ChangeIdentifier != nil && len(*s.ChangeIdentifier) < 1 {
6059		invalidParams.Add(request.NewErrParamMinLen("ChangeIdentifier", 1))
6060	}
6061	if s.Revision == nil {
6062		invalidParams.Add(request.NewErrParamRequired("Revision"))
6063	}
6064	if s.Revision != nil && len(*s.Revision) < 1 {
6065		invalidParams.Add(request.NewErrParamMinLen("Revision", 1))
6066	}
6067	if s.RevisionSummary != nil && len(*s.RevisionSummary) < 1 {
6068		invalidParams.Add(request.NewErrParamMinLen("RevisionSummary", 1))
6069	}
6070
6071	if invalidParams.Len() > 0 {
6072		return invalidParams
6073	}
6074	return nil
6075}
6076
6077// SetChangeIdentifier sets the ChangeIdentifier field's value.
6078func (s *CurrentRevision) SetChangeIdentifier(v string) *CurrentRevision {
6079	s.ChangeIdentifier = &v
6080	return s
6081}
6082
6083// SetCreated sets the Created field's value.
6084func (s *CurrentRevision) SetCreated(v time.Time) *CurrentRevision {
6085	s.Created = &v
6086	return s
6087}
6088
6089// SetRevision sets the Revision field's value.
6090func (s *CurrentRevision) SetRevision(v string) *CurrentRevision {
6091	s.Revision = &v
6092	return s
6093}
6094
6095// SetRevisionSummary sets the RevisionSummary field's value.
6096func (s *CurrentRevision) SetRevisionSummary(v string) *CurrentRevision {
6097	s.RevisionSummary = &v
6098	return s
6099}
6100
6101// Represents the input of a DeleteCustomActionType operation. The custom action
6102// will be marked as deleted.
6103type DeleteCustomActionTypeInput struct {
6104	_ struct{} `type:"structure"`
6105
6106	// The category of the custom action that you want to delete, such as source
6107	// or deploy.
6108	//
6109	// Category is a required field
6110	Category *string `locationName:"category" type:"string" required:"true" enum:"ActionCategory"`
6111
6112	// The provider of the service used in the custom action, such as AWS CodeDeploy.
6113	//
6114	// Provider is a required field
6115	Provider *string `locationName:"provider" min:"1" type:"string" required:"true"`
6116
6117	// The version of the custom action to delete.
6118	//
6119	// Version is a required field
6120	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
6121}
6122
6123// String returns the string representation
6124func (s DeleteCustomActionTypeInput) String() string {
6125	return awsutil.Prettify(s)
6126}
6127
6128// GoString returns the string representation
6129func (s DeleteCustomActionTypeInput) GoString() string {
6130	return s.String()
6131}
6132
6133// Validate inspects the fields of the type to determine if they are valid.
6134func (s *DeleteCustomActionTypeInput) Validate() error {
6135	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomActionTypeInput"}
6136	if s.Category == nil {
6137		invalidParams.Add(request.NewErrParamRequired("Category"))
6138	}
6139	if s.Provider == nil {
6140		invalidParams.Add(request.NewErrParamRequired("Provider"))
6141	}
6142	if s.Provider != nil && len(*s.Provider) < 1 {
6143		invalidParams.Add(request.NewErrParamMinLen("Provider", 1))
6144	}
6145	if s.Version == nil {
6146		invalidParams.Add(request.NewErrParamRequired("Version"))
6147	}
6148	if s.Version != nil && len(*s.Version) < 1 {
6149		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
6150	}
6151
6152	if invalidParams.Len() > 0 {
6153		return invalidParams
6154	}
6155	return nil
6156}
6157
6158// SetCategory sets the Category field's value.
6159func (s *DeleteCustomActionTypeInput) SetCategory(v string) *DeleteCustomActionTypeInput {
6160	s.Category = &v
6161	return s
6162}
6163
6164// SetProvider sets the Provider field's value.
6165func (s *DeleteCustomActionTypeInput) SetProvider(v string) *DeleteCustomActionTypeInput {
6166	s.Provider = &v
6167	return s
6168}
6169
6170// SetVersion sets the Version field's value.
6171func (s *DeleteCustomActionTypeInput) SetVersion(v string) *DeleteCustomActionTypeInput {
6172	s.Version = &v
6173	return s
6174}
6175
6176type DeleteCustomActionTypeOutput struct {
6177	_ struct{} `type:"structure"`
6178}
6179
6180// String returns the string representation
6181func (s DeleteCustomActionTypeOutput) String() string {
6182	return awsutil.Prettify(s)
6183}
6184
6185// GoString returns the string representation
6186func (s DeleteCustomActionTypeOutput) GoString() string {
6187	return s.String()
6188}
6189
6190// Represents the input of a DeletePipeline action.
6191type DeletePipelineInput struct {
6192	_ struct{} `type:"structure"`
6193
6194	// The name of the pipeline to be deleted.
6195	//
6196	// Name is a required field
6197	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6198}
6199
6200// String returns the string representation
6201func (s DeletePipelineInput) String() string {
6202	return awsutil.Prettify(s)
6203}
6204
6205// GoString returns the string representation
6206func (s DeletePipelineInput) GoString() string {
6207	return s.String()
6208}
6209
6210// Validate inspects the fields of the type to determine if they are valid.
6211func (s *DeletePipelineInput) Validate() error {
6212	invalidParams := request.ErrInvalidParams{Context: "DeletePipelineInput"}
6213	if s.Name == nil {
6214		invalidParams.Add(request.NewErrParamRequired("Name"))
6215	}
6216	if s.Name != nil && len(*s.Name) < 1 {
6217		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6218	}
6219
6220	if invalidParams.Len() > 0 {
6221		return invalidParams
6222	}
6223	return nil
6224}
6225
6226// SetName sets the Name field's value.
6227func (s *DeletePipelineInput) SetName(v string) *DeletePipelineInput {
6228	s.Name = &v
6229	return s
6230}
6231
6232type DeletePipelineOutput struct {
6233	_ struct{} `type:"structure"`
6234}
6235
6236// String returns the string representation
6237func (s DeletePipelineOutput) String() string {
6238	return awsutil.Prettify(s)
6239}
6240
6241// GoString returns the string representation
6242func (s DeletePipelineOutput) GoString() string {
6243	return s.String()
6244}
6245
6246type DeleteWebhookInput struct {
6247	_ struct{} `type:"structure"`
6248
6249	// The name of the webhook you want to delete.
6250	//
6251	// Name is a required field
6252	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6253}
6254
6255// String returns the string representation
6256func (s DeleteWebhookInput) String() string {
6257	return awsutil.Prettify(s)
6258}
6259
6260// GoString returns the string representation
6261func (s DeleteWebhookInput) GoString() string {
6262	return s.String()
6263}
6264
6265// Validate inspects the fields of the type to determine if they are valid.
6266func (s *DeleteWebhookInput) Validate() error {
6267	invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"}
6268	if s.Name == nil {
6269		invalidParams.Add(request.NewErrParamRequired("Name"))
6270	}
6271	if s.Name != nil && len(*s.Name) < 1 {
6272		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6273	}
6274
6275	if invalidParams.Len() > 0 {
6276		return invalidParams
6277	}
6278	return nil
6279}
6280
6281// SetName sets the Name field's value.
6282func (s *DeleteWebhookInput) SetName(v string) *DeleteWebhookInput {
6283	s.Name = &v
6284	return s
6285}
6286
6287type DeleteWebhookOutput struct {
6288	_ struct{} `type:"structure"`
6289}
6290
6291// String returns the string representation
6292func (s DeleteWebhookOutput) String() string {
6293	return awsutil.Prettify(s)
6294}
6295
6296// GoString returns the string representation
6297func (s DeleteWebhookOutput) GoString() string {
6298	return s.String()
6299}
6300
6301type DeregisterWebhookWithThirdPartyInput struct {
6302	_ struct{} `type:"structure"`
6303
6304	// The name of the webhook you want to deregister.
6305	WebhookName *string `locationName:"webhookName" min:"1" type:"string"`
6306}
6307
6308// String returns the string representation
6309func (s DeregisterWebhookWithThirdPartyInput) String() string {
6310	return awsutil.Prettify(s)
6311}
6312
6313// GoString returns the string representation
6314func (s DeregisterWebhookWithThirdPartyInput) GoString() string {
6315	return s.String()
6316}
6317
6318// Validate inspects the fields of the type to determine if they are valid.
6319func (s *DeregisterWebhookWithThirdPartyInput) Validate() error {
6320	invalidParams := request.ErrInvalidParams{Context: "DeregisterWebhookWithThirdPartyInput"}
6321	if s.WebhookName != nil && len(*s.WebhookName) < 1 {
6322		invalidParams.Add(request.NewErrParamMinLen("WebhookName", 1))
6323	}
6324
6325	if invalidParams.Len() > 0 {
6326		return invalidParams
6327	}
6328	return nil
6329}
6330
6331// SetWebhookName sets the WebhookName field's value.
6332func (s *DeregisterWebhookWithThirdPartyInput) SetWebhookName(v string) *DeregisterWebhookWithThirdPartyInput {
6333	s.WebhookName = &v
6334	return s
6335}
6336
6337type DeregisterWebhookWithThirdPartyOutput struct {
6338	_ struct{} `type:"structure"`
6339}
6340
6341// String returns the string representation
6342func (s DeregisterWebhookWithThirdPartyOutput) String() string {
6343	return awsutil.Prettify(s)
6344}
6345
6346// GoString returns the string representation
6347func (s DeregisterWebhookWithThirdPartyOutput) GoString() string {
6348	return s.String()
6349}
6350
6351// Represents the input of a DisableStageTransition action.
6352type DisableStageTransitionInput struct {
6353	_ struct{} `type:"structure"`
6354
6355	// The name of the pipeline in which you want to disable the flow of artifacts
6356	// from one stage to another.
6357	//
6358	// PipelineName is a required field
6359	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
6360
6361	// The reason given to the user that a stage is disabled, such as waiting for
6362	// manual approval or manual tests. This message is displayed in the pipeline
6363	// console UI.
6364	//
6365	// Reason is a required field
6366	Reason *string `locationName:"reason" min:"1" type:"string" required:"true"`
6367
6368	// The name of the stage where you want to disable the inbound or outbound transition
6369	// of artifacts.
6370	//
6371	// StageName is a required field
6372	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
6373
6374	// Specifies whether artifacts are prevented from transitioning into the stage
6375	// and being processed by the actions in that stage (inbound), or prevented
6376	// from transitioning from the stage after they have been processed by the actions
6377	// in that stage (outbound).
6378	//
6379	// TransitionType is a required field
6380	TransitionType *string `locationName:"transitionType" type:"string" required:"true" enum:"StageTransitionType"`
6381}
6382
6383// String returns the string representation
6384func (s DisableStageTransitionInput) String() string {
6385	return awsutil.Prettify(s)
6386}
6387
6388// GoString returns the string representation
6389func (s DisableStageTransitionInput) GoString() string {
6390	return s.String()
6391}
6392
6393// Validate inspects the fields of the type to determine if they are valid.
6394func (s *DisableStageTransitionInput) Validate() error {
6395	invalidParams := request.ErrInvalidParams{Context: "DisableStageTransitionInput"}
6396	if s.PipelineName == nil {
6397		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
6398	}
6399	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
6400		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
6401	}
6402	if s.Reason == nil {
6403		invalidParams.Add(request.NewErrParamRequired("Reason"))
6404	}
6405	if s.Reason != nil && len(*s.Reason) < 1 {
6406		invalidParams.Add(request.NewErrParamMinLen("Reason", 1))
6407	}
6408	if s.StageName == nil {
6409		invalidParams.Add(request.NewErrParamRequired("StageName"))
6410	}
6411	if s.StageName != nil && len(*s.StageName) < 1 {
6412		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
6413	}
6414	if s.TransitionType == nil {
6415		invalidParams.Add(request.NewErrParamRequired("TransitionType"))
6416	}
6417
6418	if invalidParams.Len() > 0 {
6419		return invalidParams
6420	}
6421	return nil
6422}
6423
6424// SetPipelineName sets the PipelineName field's value.
6425func (s *DisableStageTransitionInput) SetPipelineName(v string) *DisableStageTransitionInput {
6426	s.PipelineName = &v
6427	return s
6428}
6429
6430// SetReason sets the Reason field's value.
6431func (s *DisableStageTransitionInput) SetReason(v string) *DisableStageTransitionInput {
6432	s.Reason = &v
6433	return s
6434}
6435
6436// SetStageName sets the StageName field's value.
6437func (s *DisableStageTransitionInput) SetStageName(v string) *DisableStageTransitionInput {
6438	s.StageName = &v
6439	return s
6440}
6441
6442// SetTransitionType sets the TransitionType field's value.
6443func (s *DisableStageTransitionInput) SetTransitionType(v string) *DisableStageTransitionInput {
6444	s.TransitionType = &v
6445	return s
6446}
6447
6448type DisableStageTransitionOutput struct {
6449	_ struct{} `type:"structure"`
6450}
6451
6452// String returns the string representation
6453func (s DisableStageTransitionOutput) String() string {
6454	return awsutil.Prettify(s)
6455}
6456
6457// GoString returns the string representation
6458func (s DisableStageTransitionOutput) GoString() string {
6459	return s.String()
6460}
6461
6462// The pipeline execution is already in a Stopping state. If you already chose
6463// to stop and wait, you cannot make that request again. You can choose to stop
6464// and abandon now, but be aware that this option can lead to failed tasks or
6465// out of sequence tasks. If you already chose to stop and abandon, you cannot
6466// make that request again.
6467type DuplicatedStopRequestException struct {
6468	_            struct{}                  `type:"structure"`
6469	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6470
6471	Message_ *string `locationName:"message" min:"1" type:"string"`
6472}
6473
6474// String returns the string representation
6475func (s DuplicatedStopRequestException) String() string {
6476	return awsutil.Prettify(s)
6477}
6478
6479// GoString returns the string representation
6480func (s DuplicatedStopRequestException) GoString() string {
6481	return s.String()
6482}
6483
6484func newErrorDuplicatedStopRequestException(v protocol.ResponseMetadata) error {
6485	return &DuplicatedStopRequestException{
6486		RespMetadata: v,
6487	}
6488}
6489
6490// Code returns the exception type name.
6491func (s *DuplicatedStopRequestException) Code() string {
6492	return "DuplicatedStopRequestException"
6493}
6494
6495// Message returns the exception's message.
6496func (s *DuplicatedStopRequestException) Message() string {
6497	if s.Message_ != nil {
6498		return *s.Message_
6499	}
6500	return ""
6501}
6502
6503// OrigErr always returns nil, satisfies awserr.Error interface.
6504func (s *DuplicatedStopRequestException) OrigErr() error {
6505	return nil
6506}
6507
6508func (s *DuplicatedStopRequestException) Error() string {
6509	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6510}
6511
6512// Status code returns the HTTP status code for the request's response error.
6513func (s *DuplicatedStopRequestException) StatusCode() int {
6514	return s.RespMetadata.StatusCode
6515}
6516
6517// RequestID returns the service's response RequestID for request.
6518func (s *DuplicatedStopRequestException) RequestID() string {
6519	return s.RespMetadata.RequestID
6520}
6521
6522// Represents the input of an EnableStageTransition action.
6523type EnableStageTransitionInput struct {
6524	_ struct{} `type:"structure"`
6525
6526	// The name of the pipeline in which you want to enable the flow of artifacts
6527	// from one stage to another.
6528	//
6529	// PipelineName is a required field
6530	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
6531
6532	// The name of the stage where you want to enable the transition of artifacts,
6533	// either into the stage (inbound) or from that stage to the next stage (outbound).
6534	//
6535	// StageName is a required field
6536	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
6537
6538	// Specifies whether artifacts are allowed to enter the stage and be processed
6539	// by the actions in that stage (inbound) or whether already processed artifacts
6540	// are allowed to transition to the next stage (outbound).
6541	//
6542	// TransitionType is a required field
6543	TransitionType *string `locationName:"transitionType" type:"string" required:"true" enum:"StageTransitionType"`
6544}
6545
6546// String returns the string representation
6547func (s EnableStageTransitionInput) String() string {
6548	return awsutil.Prettify(s)
6549}
6550
6551// GoString returns the string representation
6552func (s EnableStageTransitionInput) GoString() string {
6553	return s.String()
6554}
6555
6556// Validate inspects the fields of the type to determine if they are valid.
6557func (s *EnableStageTransitionInput) Validate() error {
6558	invalidParams := request.ErrInvalidParams{Context: "EnableStageTransitionInput"}
6559	if s.PipelineName == nil {
6560		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
6561	}
6562	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
6563		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
6564	}
6565	if s.StageName == nil {
6566		invalidParams.Add(request.NewErrParamRequired("StageName"))
6567	}
6568	if s.StageName != nil && len(*s.StageName) < 1 {
6569		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
6570	}
6571	if s.TransitionType == nil {
6572		invalidParams.Add(request.NewErrParamRequired("TransitionType"))
6573	}
6574
6575	if invalidParams.Len() > 0 {
6576		return invalidParams
6577	}
6578	return nil
6579}
6580
6581// SetPipelineName sets the PipelineName field's value.
6582func (s *EnableStageTransitionInput) SetPipelineName(v string) *EnableStageTransitionInput {
6583	s.PipelineName = &v
6584	return s
6585}
6586
6587// SetStageName sets the StageName field's value.
6588func (s *EnableStageTransitionInput) SetStageName(v string) *EnableStageTransitionInput {
6589	s.StageName = &v
6590	return s
6591}
6592
6593// SetTransitionType sets the TransitionType field's value.
6594func (s *EnableStageTransitionInput) SetTransitionType(v string) *EnableStageTransitionInput {
6595	s.TransitionType = &v
6596	return s
6597}
6598
6599type EnableStageTransitionOutput struct {
6600	_ struct{} `type:"structure"`
6601}
6602
6603// String returns the string representation
6604func (s EnableStageTransitionOutput) String() string {
6605	return awsutil.Prettify(s)
6606}
6607
6608// GoString returns the string representation
6609func (s EnableStageTransitionOutput) GoString() string {
6610	return s.String()
6611}
6612
6613// Represents information about the key used to encrypt data in the artifact
6614// store, such as an AWS Key Management Service (AWS KMS) key.
6615type EncryptionKey struct {
6616	_ struct{} `type:"structure"`
6617
6618	// The ID used to identify the key. For an AWS KMS key, you can use the key
6619	// ID, the key ARN, or the alias ARN.
6620	//
6621	// Aliases are recognized only in the account that created the customer master
6622	// key (CMK). For cross-account actions, you can only use the key ID or key
6623	// ARN to identify the key.
6624	//
6625	// Id is a required field
6626	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
6627
6628	// The type of encryption key, such as an AWS Key Management Service (AWS KMS)
6629	// key. When creating or updating a pipeline, the value must be set to 'KMS'.
6630	//
6631	// Type is a required field
6632	Type *string `locationName:"type" type:"string" required:"true" enum:"EncryptionKeyType"`
6633}
6634
6635// String returns the string representation
6636func (s EncryptionKey) String() string {
6637	return awsutil.Prettify(s)
6638}
6639
6640// GoString returns the string representation
6641func (s EncryptionKey) GoString() string {
6642	return s.String()
6643}
6644
6645// Validate inspects the fields of the type to determine if they are valid.
6646func (s *EncryptionKey) Validate() error {
6647	invalidParams := request.ErrInvalidParams{Context: "EncryptionKey"}
6648	if s.Id == nil {
6649		invalidParams.Add(request.NewErrParamRequired("Id"))
6650	}
6651	if s.Id != nil && len(*s.Id) < 1 {
6652		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6653	}
6654	if s.Type == nil {
6655		invalidParams.Add(request.NewErrParamRequired("Type"))
6656	}
6657
6658	if invalidParams.Len() > 0 {
6659		return invalidParams
6660	}
6661	return nil
6662}
6663
6664// SetId sets the Id field's value.
6665func (s *EncryptionKey) SetId(v string) *EncryptionKey {
6666	s.Id = &v
6667	return s
6668}
6669
6670// SetType sets the Type field's value.
6671func (s *EncryptionKey) SetType(v string) *EncryptionKey {
6672	s.Type = &v
6673	return s
6674}
6675
6676// Represents information about an error in AWS CodePipeline.
6677type ErrorDetails struct {
6678	_ struct{} `type:"structure"`
6679
6680	// The system ID or number code of the error.
6681	Code *string `locationName:"code" type:"string"`
6682
6683	// The text of the error message.
6684	Message *string `locationName:"message" min:"1" type:"string"`
6685}
6686
6687// String returns the string representation
6688func (s ErrorDetails) String() string {
6689	return awsutil.Prettify(s)
6690}
6691
6692// GoString returns the string representation
6693func (s ErrorDetails) GoString() string {
6694	return s.String()
6695}
6696
6697// SetCode sets the Code field's value.
6698func (s *ErrorDetails) SetCode(v string) *ErrorDetails {
6699	s.Code = &v
6700	return s
6701}
6702
6703// SetMessage sets the Message field's value.
6704func (s *ErrorDetails) SetMessage(v string) *ErrorDetails {
6705	s.Message = &v
6706	return s
6707}
6708
6709// The details of the actions taken and results produced on an artifact as it
6710// passes through stages in the pipeline.
6711type ExecutionDetails struct {
6712	_ struct{} `type:"structure"`
6713
6714	// The system-generated unique ID of this action used to identify this job worker
6715	// in any external systems, such as AWS CodeDeploy.
6716	ExternalExecutionId *string `locationName:"externalExecutionId" min:"1" type:"string"`
6717
6718	// The percentage of work completed on the action, represented on a scale of
6719	// 0 to 100 percent.
6720	PercentComplete *int64 `locationName:"percentComplete" type:"integer"`
6721
6722	// The summary of the current status of the actions.
6723	Summary *string `locationName:"summary" min:"1" type:"string"`
6724}
6725
6726// String returns the string representation
6727func (s ExecutionDetails) String() string {
6728	return awsutil.Prettify(s)
6729}
6730
6731// GoString returns the string representation
6732func (s ExecutionDetails) GoString() string {
6733	return s.String()
6734}
6735
6736// Validate inspects the fields of the type to determine if they are valid.
6737func (s *ExecutionDetails) Validate() error {
6738	invalidParams := request.ErrInvalidParams{Context: "ExecutionDetails"}
6739	if s.ExternalExecutionId != nil && len(*s.ExternalExecutionId) < 1 {
6740		invalidParams.Add(request.NewErrParamMinLen("ExternalExecutionId", 1))
6741	}
6742	if s.Summary != nil && len(*s.Summary) < 1 {
6743		invalidParams.Add(request.NewErrParamMinLen("Summary", 1))
6744	}
6745
6746	if invalidParams.Len() > 0 {
6747		return invalidParams
6748	}
6749	return nil
6750}
6751
6752// SetExternalExecutionId sets the ExternalExecutionId field's value.
6753func (s *ExecutionDetails) SetExternalExecutionId(v string) *ExecutionDetails {
6754	s.ExternalExecutionId = &v
6755	return s
6756}
6757
6758// SetPercentComplete sets the PercentComplete field's value.
6759func (s *ExecutionDetails) SetPercentComplete(v int64) *ExecutionDetails {
6760	s.PercentComplete = &v
6761	return s
6762}
6763
6764// SetSummary sets the Summary field's value.
6765func (s *ExecutionDetails) SetSummary(v string) *ExecutionDetails {
6766	s.Summary = &v
6767	return s
6768}
6769
6770// The interaction or event that started a pipeline execution.
6771type ExecutionTrigger struct {
6772	_ struct{} `type:"structure"`
6773
6774	// Detail related to the event that started a pipeline execution, such as the
6775	// webhook ARN of the webhook that triggered the pipeline execution or the user
6776	// ARN for a user-initiated start-pipeline-execution CLI command.
6777	TriggerDetail *string `locationName:"triggerDetail" type:"string"`
6778
6779	// The type of change-detection method, command, or user interaction that started
6780	// a pipeline execution.
6781	TriggerType *string `locationName:"triggerType" type:"string" enum:"TriggerType"`
6782}
6783
6784// String returns the string representation
6785func (s ExecutionTrigger) String() string {
6786	return awsutil.Prettify(s)
6787}
6788
6789// GoString returns the string representation
6790func (s ExecutionTrigger) GoString() string {
6791	return s.String()
6792}
6793
6794// SetTriggerDetail sets the TriggerDetail field's value.
6795func (s *ExecutionTrigger) SetTriggerDetail(v string) *ExecutionTrigger {
6796	s.TriggerDetail = &v
6797	return s
6798}
6799
6800// SetTriggerType sets the TriggerType field's value.
6801func (s *ExecutionTrigger) SetTriggerType(v string) *ExecutionTrigger {
6802	s.TriggerType = &v
6803	return s
6804}
6805
6806// Represents information about failure details.
6807type FailureDetails struct {
6808	_ struct{} `type:"structure"`
6809
6810	// The external ID of the run of the action that failed.
6811	ExternalExecutionId *string `locationName:"externalExecutionId" min:"1" type:"string"`
6812
6813	// The message about the failure.
6814	//
6815	// Message is a required field
6816	Message *string `locationName:"message" min:"1" type:"string" required:"true"`
6817
6818	// The type of the failure.
6819	//
6820	// Type is a required field
6821	Type *string `locationName:"type" type:"string" required:"true" enum:"FailureType"`
6822}
6823
6824// String returns the string representation
6825func (s FailureDetails) String() string {
6826	return awsutil.Prettify(s)
6827}
6828
6829// GoString returns the string representation
6830func (s FailureDetails) GoString() string {
6831	return s.String()
6832}
6833
6834// Validate inspects the fields of the type to determine if they are valid.
6835func (s *FailureDetails) Validate() error {
6836	invalidParams := request.ErrInvalidParams{Context: "FailureDetails"}
6837	if s.ExternalExecutionId != nil && len(*s.ExternalExecutionId) < 1 {
6838		invalidParams.Add(request.NewErrParamMinLen("ExternalExecutionId", 1))
6839	}
6840	if s.Message == nil {
6841		invalidParams.Add(request.NewErrParamRequired("Message"))
6842	}
6843	if s.Message != nil && len(*s.Message) < 1 {
6844		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
6845	}
6846	if s.Type == nil {
6847		invalidParams.Add(request.NewErrParamRequired("Type"))
6848	}
6849
6850	if invalidParams.Len() > 0 {
6851		return invalidParams
6852	}
6853	return nil
6854}
6855
6856// SetExternalExecutionId sets the ExternalExecutionId field's value.
6857func (s *FailureDetails) SetExternalExecutionId(v string) *FailureDetails {
6858	s.ExternalExecutionId = &v
6859	return s
6860}
6861
6862// SetMessage sets the Message field's value.
6863func (s *FailureDetails) SetMessage(v string) *FailureDetails {
6864	s.Message = &v
6865	return s
6866}
6867
6868// SetType sets the Type field's value.
6869func (s *FailureDetails) SetType(v string) *FailureDetails {
6870	s.Type = &v
6871	return s
6872}
6873
6874// Represents the input of a GetJobDetails action.
6875type GetJobDetailsInput struct {
6876	_ struct{} `type:"structure"`
6877
6878	// The unique system-generated ID for the job.
6879	//
6880	// JobId is a required field
6881	JobId *string `locationName:"jobId" type:"string" required:"true"`
6882}
6883
6884// String returns the string representation
6885func (s GetJobDetailsInput) String() string {
6886	return awsutil.Prettify(s)
6887}
6888
6889// GoString returns the string representation
6890func (s GetJobDetailsInput) GoString() string {
6891	return s.String()
6892}
6893
6894// Validate inspects the fields of the type to determine if they are valid.
6895func (s *GetJobDetailsInput) Validate() error {
6896	invalidParams := request.ErrInvalidParams{Context: "GetJobDetailsInput"}
6897	if s.JobId == nil {
6898		invalidParams.Add(request.NewErrParamRequired("JobId"))
6899	}
6900
6901	if invalidParams.Len() > 0 {
6902		return invalidParams
6903	}
6904	return nil
6905}
6906
6907// SetJobId sets the JobId field's value.
6908func (s *GetJobDetailsInput) SetJobId(v string) *GetJobDetailsInput {
6909	s.JobId = &v
6910	return s
6911}
6912
6913// Represents the output of a GetJobDetails action.
6914type GetJobDetailsOutput struct {
6915	_ struct{} `type:"structure"`
6916
6917	// The details of the job.
6918	//
6919	// If AWSSessionCredentials is used, a long-running job can call GetJobDetails
6920	// again to obtain new credentials.
6921	JobDetails *JobDetails `locationName:"jobDetails" type:"structure"`
6922}
6923
6924// String returns the string representation
6925func (s GetJobDetailsOutput) String() string {
6926	return awsutil.Prettify(s)
6927}
6928
6929// GoString returns the string representation
6930func (s GetJobDetailsOutput) GoString() string {
6931	return s.String()
6932}
6933
6934// SetJobDetails sets the JobDetails field's value.
6935func (s *GetJobDetailsOutput) SetJobDetails(v *JobDetails) *GetJobDetailsOutput {
6936	s.JobDetails = v
6937	return s
6938}
6939
6940// Represents the input of a GetPipelineExecution action.
6941type GetPipelineExecutionInput struct {
6942	_ struct{} `type:"structure"`
6943
6944	// The ID of the pipeline execution about which you want to get execution details.
6945	//
6946	// PipelineExecutionId is a required field
6947	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string" required:"true"`
6948
6949	// The name of the pipeline about which you want to get execution details.
6950	//
6951	// PipelineName is a required field
6952	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
6953}
6954
6955// String returns the string representation
6956func (s GetPipelineExecutionInput) String() string {
6957	return awsutil.Prettify(s)
6958}
6959
6960// GoString returns the string representation
6961func (s GetPipelineExecutionInput) GoString() string {
6962	return s.String()
6963}
6964
6965// Validate inspects the fields of the type to determine if they are valid.
6966func (s *GetPipelineExecutionInput) Validate() error {
6967	invalidParams := request.ErrInvalidParams{Context: "GetPipelineExecutionInput"}
6968	if s.PipelineExecutionId == nil {
6969		invalidParams.Add(request.NewErrParamRequired("PipelineExecutionId"))
6970	}
6971	if s.PipelineName == nil {
6972		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
6973	}
6974	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
6975		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
6976	}
6977
6978	if invalidParams.Len() > 0 {
6979		return invalidParams
6980	}
6981	return nil
6982}
6983
6984// SetPipelineExecutionId sets the PipelineExecutionId field's value.
6985func (s *GetPipelineExecutionInput) SetPipelineExecutionId(v string) *GetPipelineExecutionInput {
6986	s.PipelineExecutionId = &v
6987	return s
6988}
6989
6990// SetPipelineName sets the PipelineName field's value.
6991func (s *GetPipelineExecutionInput) SetPipelineName(v string) *GetPipelineExecutionInput {
6992	s.PipelineName = &v
6993	return s
6994}
6995
6996// Represents the output of a GetPipelineExecution action.
6997type GetPipelineExecutionOutput struct {
6998	_ struct{} `type:"structure"`
6999
7000	// Represents information about the execution of a pipeline.
7001	PipelineExecution *PipelineExecution `locationName:"pipelineExecution" type:"structure"`
7002}
7003
7004// String returns the string representation
7005func (s GetPipelineExecutionOutput) String() string {
7006	return awsutil.Prettify(s)
7007}
7008
7009// GoString returns the string representation
7010func (s GetPipelineExecutionOutput) GoString() string {
7011	return s.String()
7012}
7013
7014// SetPipelineExecution sets the PipelineExecution field's value.
7015func (s *GetPipelineExecutionOutput) SetPipelineExecution(v *PipelineExecution) *GetPipelineExecutionOutput {
7016	s.PipelineExecution = v
7017	return s
7018}
7019
7020// Represents the input of a GetPipeline action.
7021type GetPipelineInput struct {
7022	_ struct{} `type:"structure"`
7023
7024	// The name of the pipeline for which you want to get information. Pipeline
7025	// names must be unique under an AWS user account.
7026	//
7027	// Name is a required field
7028	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7029
7030	// The version number of the pipeline. If you do not specify a version, defaults
7031	// to the current version.
7032	Version *int64 `locationName:"version" min:"1" type:"integer"`
7033}
7034
7035// String returns the string representation
7036func (s GetPipelineInput) String() string {
7037	return awsutil.Prettify(s)
7038}
7039
7040// GoString returns the string representation
7041func (s GetPipelineInput) GoString() string {
7042	return s.String()
7043}
7044
7045// Validate inspects the fields of the type to determine if they are valid.
7046func (s *GetPipelineInput) Validate() error {
7047	invalidParams := request.ErrInvalidParams{Context: "GetPipelineInput"}
7048	if s.Name == nil {
7049		invalidParams.Add(request.NewErrParamRequired("Name"))
7050	}
7051	if s.Name != nil && len(*s.Name) < 1 {
7052		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7053	}
7054	if s.Version != nil && *s.Version < 1 {
7055		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
7056	}
7057
7058	if invalidParams.Len() > 0 {
7059		return invalidParams
7060	}
7061	return nil
7062}
7063
7064// SetName sets the Name field's value.
7065func (s *GetPipelineInput) SetName(v string) *GetPipelineInput {
7066	s.Name = &v
7067	return s
7068}
7069
7070// SetVersion sets the Version field's value.
7071func (s *GetPipelineInput) SetVersion(v int64) *GetPipelineInput {
7072	s.Version = &v
7073	return s
7074}
7075
7076// Represents the output of a GetPipeline action.
7077type GetPipelineOutput struct {
7078	_ struct{} `type:"structure"`
7079
7080	// Represents the pipeline metadata information returned as part of the output
7081	// of a GetPipeline action.
7082	Metadata *PipelineMetadata `locationName:"metadata" type:"structure"`
7083
7084	// Represents the structure of actions and stages to be performed in the pipeline.
7085	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure"`
7086}
7087
7088// String returns the string representation
7089func (s GetPipelineOutput) String() string {
7090	return awsutil.Prettify(s)
7091}
7092
7093// GoString returns the string representation
7094func (s GetPipelineOutput) GoString() string {
7095	return s.String()
7096}
7097
7098// SetMetadata sets the Metadata field's value.
7099func (s *GetPipelineOutput) SetMetadata(v *PipelineMetadata) *GetPipelineOutput {
7100	s.Metadata = v
7101	return s
7102}
7103
7104// SetPipeline sets the Pipeline field's value.
7105func (s *GetPipelineOutput) SetPipeline(v *PipelineDeclaration) *GetPipelineOutput {
7106	s.Pipeline = v
7107	return s
7108}
7109
7110// Represents the input of a GetPipelineState action.
7111type GetPipelineStateInput struct {
7112	_ struct{} `type:"structure"`
7113
7114	// The name of the pipeline about which you want to get information.
7115	//
7116	// Name is a required field
7117	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7118}
7119
7120// String returns the string representation
7121func (s GetPipelineStateInput) String() string {
7122	return awsutil.Prettify(s)
7123}
7124
7125// GoString returns the string representation
7126func (s GetPipelineStateInput) GoString() string {
7127	return s.String()
7128}
7129
7130// Validate inspects the fields of the type to determine if they are valid.
7131func (s *GetPipelineStateInput) Validate() error {
7132	invalidParams := request.ErrInvalidParams{Context: "GetPipelineStateInput"}
7133	if s.Name == nil {
7134		invalidParams.Add(request.NewErrParamRequired("Name"))
7135	}
7136	if s.Name != nil && len(*s.Name) < 1 {
7137		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7138	}
7139
7140	if invalidParams.Len() > 0 {
7141		return invalidParams
7142	}
7143	return nil
7144}
7145
7146// SetName sets the Name field's value.
7147func (s *GetPipelineStateInput) SetName(v string) *GetPipelineStateInput {
7148	s.Name = &v
7149	return s
7150}
7151
7152// Represents the output of a GetPipelineState action.
7153type GetPipelineStateOutput struct {
7154	_ struct{} `type:"structure"`
7155
7156	// The date and time the pipeline was created, in timestamp format.
7157	Created *time.Time `locationName:"created" type:"timestamp"`
7158
7159	// The name of the pipeline for which you want to get the state.
7160	PipelineName *string `locationName:"pipelineName" min:"1" type:"string"`
7161
7162	// The version number of the pipeline.
7163	//
7164	// A newly created pipeline is always assigned a version number of 1.
7165	PipelineVersion *int64 `locationName:"pipelineVersion" min:"1" type:"integer"`
7166
7167	// A list of the pipeline stage output information, including stage name, state,
7168	// most recent run details, whether the stage is disabled, and other data.
7169	StageStates []*StageState `locationName:"stageStates" type:"list"`
7170
7171	// The date and time the pipeline was last updated, in timestamp format.
7172	Updated *time.Time `locationName:"updated" type:"timestamp"`
7173}
7174
7175// String returns the string representation
7176func (s GetPipelineStateOutput) String() string {
7177	return awsutil.Prettify(s)
7178}
7179
7180// GoString returns the string representation
7181func (s GetPipelineStateOutput) GoString() string {
7182	return s.String()
7183}
7184
7185// SetCreated sets the Created field's value.
7186func (s *GetPipelineStateOutput) SetCreated(v time.Time) *GetPipelineStateOutput {
7187	s.Created = &v
7188	return s
7189}
7190
7191// SetPipelineName sets the PipelineName field's value.
7192func (s *GetPipelineStateOutput) SetPipelineName(v string) *GetPipelineStateOutput {
7193	s.PipelineName = &v
7194	return s
7195}
7196
7197// SetPipelineVersion sets the PipelineVersion field's value.
7198func (s *GetPipelineStateOutput) SetPipelineVersion(v int64) *GetPipelineStateOutput {
7199	s.PipelineVersion = &v
7200	return s
7201}
7202
7203// SetStageStates sets the StageStates field's value.
7204func (s *GetPipelineStateOutput) SetStageStates(v []*StageState) *GetPipelineStateOutput {
7205	s.StageStates = v
7206	return s
7207}
7208
7209// SetUpdated sets the Updated field's value.
7210func (s *GetPipelineStateOutput) SetUpdated(v time.Time) *GetPipelineStateOutput {
7211	s.Updated = &v
7212	return s
7213}
7214
7215// Represents the input of a GetThirdPartyJobDetails action.
7216type GetThirdPartyJobDetailsInput struct {
7217	_ struct{} `type:"structure"`
7218
7219	// The clientToken portion of the clientId and clientToken pair used to verify
7220	// that the calling entity is allowed access to the job and its details.
7221	//
7222	// ClientToken is a required field
7223	ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"`
7224
7225	// The unique system-generated ID used for identifying the job.
7226	//
7227	// JobId is a required field
7228	JobId *string `locationName:"jobId" min:"1" type:"string" required:"true"`
7229}
7230
7231// String returns the string representation
7232func (s GetThirdPartyJobDetailsInput) String() string {
7233	return awsutil.Prettify(s)
7234}
7235
7236// GoString returns the string representation
7237func (s GetThirdPartyJobDetailsInput) GoString() string {
7238	return s.String()
7239}
7240
7241// Validate inspects the fields of the type to determine if they are valid.
7242func (s *GetThirdPartyJobDetailsInput) Validate() error {
7243	invalidParams := request.ErrInvalidParams{Context: "GetThirdPartyJobDetailsInput"}
7244	if s.ClientToken == nil {
7245		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
7246	}
7247	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
7248		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
7249	}
7250	if s.JobId == nil {
7251		invalidParams.Add(request.NewErrParamRequired("JobId"))
7252	}
7253	if s.JobId != nil && len(*s.JobId) < 1 {
7254		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
7255	}
7256
7257	if invalidParams.Len() > 0 {
7258		return invalidParams
7259	}
7260	return nil
7261}
7262
7263// SetClientToken sets the ClientToken field's value.
7264func (s *GetThirdPartyJobDetailsInput) SetClientToken(v string) *GetThirdPartyJobDetailsInput {
7265	s.ClientToken = &v
7266	return s
7267}
7268
7269// SetJobId sets the JobId field's value.
7270func (s *GetThirdPartyJobDetailsInput) SetJobId(v string) *GetThirdPartyJobDetailsInput {
7271	s.JobId = &v
7272	return s
7273}
7274
7275// Represents the output of a GetThirdPartyJobDetails action.
7276type GetThirdPartyJobDetailsOutput struct {
7277	_ struct{} `type:"structure"`
7278
7279	// The details of the job, including any protected values defined for the job.
7280	JobDetails *ThirdPartyJobDetails `locationName:"jobDetails" type:"structure"`
7281}
7282
7283// String returns the string representation
7284func (s GetThirdPartyJobDetailsOutput) String() string {
7285	return awsutil.Prettify(s)
7286}
7287
7288// GoString returns the string representation
7289func (s GetThirdPartyJobDetailsOutput) GoString() string {
7290	return s.String()
7291}
7292
7293// SetJobDetails sets the JobDetails field's value.
7294func (s *GetThirdPartyJobDetailsOutput) SetJobDetails(v *ThirdPartyJobDetails) *GetThirdPartyJobDetailsOutput {
7295	s.JobDetails = v
7296	return s
7297}
7298
7299// Represents information about an artifact to be worked on, such as a test
7300// or build artifact.
7301type InputArtifact struct {
7302	_ struct{} `type:"structure"`
7303
7304	// The name of the artifact to be worked on (for example, "My App").
7305	//
7306	// The input artifact of an action must exactly match the output artifact declared
7307	// in a preceding action, but the input artifact does not have to be the next
7308	// action in strict sequence from the action that provided the output artifact.
7309	// Actions in parallel can declare different output artifacts, which are in
7310	// turn consumed by different following actions.
7311	//
7312	// Name is a required field
7313	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7314}
7315
7316// String returns the string representation
7317func (s InputArtifact) String() string {
7318	return awsutil.Prettify(s)
7319}
7320
7321// GoString returns the string representation
7322func (s InputArtifact) GoString() string {
7323	return s.String()
7324}
7325
7326// Validate inspects the fields of the type to determine if they are valid.
7327func (s *InputArtifact) Validate() error {
7328	invalidParams := request.ErrInvalidParams{Context: "InputArtifact"}
7329	if s.Name == nil {
7330		invalidParams.Add(request.NewErrParamRequired("Name"))
7331	}
7332	if s.Name != nil && len(*s.Name) < 1 {
7333		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7334	}
7335
7336	if invalidParams.Len() > 0 {
7337		return invalidParams
7338	}
7339	return nil
7340}
7341
7342// SetName sets the Name field's value.
7343func (s *InputArtifact) SetName(v string) *InputArtifact {
7344	s.Name = &v
7345	return s
7346}
7347
7348// The action declaration was specified in an invalid format.
7349type InvalidActionDeclarationException struct {
7350	_            struct{}                  `type:"structure"`
7351	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7352
7353	Message_ *string `locationName:"message" type:"string"`
7354}
7355
7356// String returns the string representation
7357func (s InvalidActionDeclarationException) String() string {
7358	return awsutil.Prettify(s)
7359}
7360
7361// GoString returns the string representation
7362func (s InvalidActionDeclarationException) GoString() string {
7363	return s.String()
7364}
7365
7366func newErrorInvalidActionDeclarationException(v protocol.ResponseMetadata) error {
7367	return &InvalidActionDeclarationException{
7368		RespMetadata: v,
7369	}
7370}
7371
7372// Code returns the exception type name.
7373func (s *InvalidActionDeclarationException) Code() string {
7374	return "InvalidActionDeclarationException"
7375}
7376
7377// Message returns the exception's message.
7378func (s *InvalidActionDeclarationException) Message() string {
7379	if s.Message_ != nil {
7380		return *s.Message_
7381	}
7382	return ""
7383}
7384
7385// OrigErr always returns nil, satisfies awserr.Error interface.
7386func (s *InvalidActionDeclarationException) OrigErr() error {
7387	return nil
7388}
7389
7390func (s *InvalidActionDeclarationException) Error() string {
7391	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7392}
7393
7394// Status code returns the HTTP status code for the request's response error.
7395func (s *InvalidActionDeclarationException) StatusCode() int {
7396	return s.RespMetadata.StatusCode
7397}
7398
7399// RequestID returns the service's response RequestID for request.
7400func (s *InvalidActionDeclarationException) RequestID() string {
7401	return s.RespMetadata.RequestID
7402}
7403
7404// The approval request already received a response or has expired.
7405type InvalidApprovalTokenException struct {
7406	_            struct{}                  `type:"structure"`
7407	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7408
7409	Message_ *string `locationName:"message" type:"string"`
7410}
7411
7412// String returns the string representation
7413func (s InvalidApprovalTokenException) String() string {
7414	return awsutil.Prettify(s)
7415}
7416
7417// GoString returns the string representation
7418func (s InvalidApprovalTokenException) GoString() string {
7419	return s.String()
7420}
7421
7422func newErrorInvalidApprovalTokenException(v protocol.ResponseMetadata) error {
7423	return &InvalidApprovalTokenException{
7424		RespMetadata: v,
7425	}
7426}
7427
7428// Code returns the exception type name.
7429func (s *InvalidApprovalTokenException) Code() string {
7430	return "InvalidApprovalTokenException"
7431}
7432
7433// Message returns the exception's message.
7434func (s *InvalidApprovalTokenException) Message() string {
7435	if s.Message_ != nil {
7436		return *s.Message_
7437	}
7438	return ""
7439}
7440
7441// OrigErr always returns nil, satisfies awserr.Error interface.
7442func (s *InvalidApprovalTokenException) OrigErr() error {
7443	return nil
7444}
7445
7446func (s *InvalidApprovalTokenException) Error() string {
7447	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7448}
7449
7450// Status code returns the HTTP status code for the request's response error.
7451func (s *InvalidApprovalTokenException) StatusCode() int {
7452	return s.RespMetadata.StatusCode
7453}
7454
7455// RequestID returns the service's response RequestID for request.
7456func (s *InvalidApprovalTokenException) RequestID() string {
7457	return s.RespMetadata.RequestID
7458}
7459
7460// The specified resource ARN is invalid.
7461type InvalidArnException struct {
7462	_            struct{}                  `type:"structure"`
7463	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7464
7465	Message_ *string `locationName:"message" min:"1" type:"string"`
7466}
7467
7468// String returns the string representation
7469func (s InvalidArnException) String() string {
7470	return awsutil.Prettify(s)
7471}
7472
7473// GoString returns the string representation
7474func (s InvalidArnException) GoString() string {
7475	return s.String()
7476}
7477
7478func newErrorInvalidArnException(v protocol.ResponseMetadata) error {
7479	return &InvalidArnException{
7480		RespMetadata: v,
7481	}
7482}
7483
7484// Code returns the exception type name.
7485func (s *InvalidArnException) Code() string {
7486	return "InvalidArnException"
7487}
7488
7489// Message returns the exception's message.
7490func (s *InvalidArnException) Message() string {
7491	if s.Message_ != nil {
7492		return *s.Message_
7493	}
7494	return ""
7495}
7496
7497// OrigErr always returns nil, satisfies awserr.Error interface.
7498func (s *InvalidArnException) OrigErr() error {
7499	return nil
7500}
7501
7502func (s *InvalidArnException) Error() string {
7503	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7504}
7505
7506// Status code returns the HTTP status code for the request's response error.
7507func (s *InvalidArnException) StatusCode() int {
7508	return s.RespMetadata.StatusCode
7509}
7510
7511// RequestID returns the service's response RequestID for request.
7512func (s *InvalidArnException) RequestID() string {
7513	return s.RespMetadata.RequestID
7514}
7515
7516// Reserved for future use.
7517type InvalidBlockerDeclarationException struct {
7518	_            struct{}                  `type:"structure"`
7519	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7520
7521	Message_ *string `locationName:"message" type:"string"`
7522}
7523
7524// String returns the string representation
7525func (s InvalidBlockerDeclarationException) String() string {
7526	return awsutil.Prettify(s)
7527}
7528
7529// GoString returns the string representation
7530func (s InvalidBlockerDeclarationException) GoString() string {
7531	return s.String()
7532}
7533
7534func newErrorInvalidBlockerDeclarationException(v protocol.ResponseMetadata) error {
7535	return &InvalidBlockerDeclarationException{
7536		RespMetadata: v,
7537	}
7538}
7539
7540// Code returns the exception type name.
7541func (s *InvalidBlockerDeclarationException) Code() string {
7542	return "InvalidBlockerDeclarationException"
7543}
7544
7545// Message returns the exception's message.
7546func (s *InvalidBlockerDeclarationException) Message() string {
7547	if s.Message_ != nil {
7548		return *s.Message_
7549	}
7550	return ""
7551}
7552
7553// OrigErr always returns nil, satisfies awserr.Error interface.
7554func (s *InvalidBlockerDeclarationException) OrigErr() error {
7555	return nil
7556}
7557
7558func (s *InvalidBlockerDeclarationException) Error() string {
7559	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7560}
7561
7562// Status code returns the HTTP status code for the request's response error.
7563func (s *InvalidBlockerDeclarationException) StatusCode() int {
7564	return s.RespMetadata.StatusCode
7565}
7566
7567// RequestID returns the service's response RequestID for request.
7568func (s *InvalidBlockerDeclarationException) RequestID() string {
7569	return s.RespMetadata.RequestID
7570}
7571
7572// The client token was specified in an invalid format
7573type InvalidClientTokenException struct {
7574	_            struct{}                  `type:"structure"`
7575	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7576
7577	Message_ *string `locationName:"message" type:"string"`
7578}
7579
7580// String returns the string representation
7581func (s InvalidClientTokenException) String() string {
7582	return awsutil.Prettify(s)
7583}
7584
7585// GoString returns the string representation
7586func (s InvalidClientTokenException) GoString() string {
7587	return s.String()
7588}
7589
7590func newErrorInvalidClientTokenException(v protocol.ResponseMetadata) error {
7591	return &InvalidClientTokenException{
7592		RespMetadata: v,
7593	}
7594}
7595
7596// Code returns the exception type name.
7597func (s *InvalidClientTokenException) Code() string {
7598	return "InvalidClientTokenException"
7599}
7600
7601// Message returns the exception's message.
7602func (s *InvalidClientTokenException) Message() string {
7603	if s.Message_ != nil {
7604		return *s.Message_
7605	}
7606	return ""
7607}
7608
7609// OrigErr always returns nil, satisfies awserr.Error interface.
7610func (s *InvalidClientTokenException) OrigErr() error {
7611	return nil
7612}
7613
7614func (s *InvalidClientTokenException) Error() string {
7615	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7616}
7617
7618// Status code returns the HTTP status code for the request's response error.
7619func (s *InvalidClientTokenException) StatusCode() int {
7620	return s.RespMetadata.StatusCode
7621}
7622
7623// RequestID returns the service's response RequestID for request.
7624func (s *InvalidClientTokenException) RequestID() string {
7625	return s.RespMetadata.RequestID
7626}
7627
7628// The job was specified in an invalid format or cannot be found.
7629type InvalidJobException struct {
7630	_            struct{}                  `type:"structure"`
7631	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7632
7633	Message_ *string `locationName:"message" type:"string"`
7634}
7635
7636// String returns the string representation
7637func (s InvalidJobException) String() string {
7638	return awsutil.Prettify(s)
7639}
7640
7641// GoString returns the string representation
7642func (s InvalidJobException) GoString() string {
7643	return s.String()
7644}
7645
7646func newErrorInvalidJobException(v protocol.ResponseMetadata) error {
7647	return &InvalidJobException{
7648		RespMetadata: v,
7649	}
7650}
7651
7652// Code returns the exception type name.
7653func (s *InvalidJobException) Code() string {
7654	return "InvalidJobException"
7655}
7656
7657// Message returns the exception's message.
7658func (s *InvalidJobException) Message() string {
7659	if s.Message_ != nil {
7660		return *s.Message_
7661	}
7662	return ""
7663}
7664
7665// OrigErr always returns nil, satisfies awserr.Error interface.
7666func (s *InvalidJobException) OrigErr() error {
7667	return nil
7668}
7669
7670func (s *InvalidJobException) Error() string {
7671	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7672}
7673
7674// Status code returns the HTTP status code for the request's response error.
7675func (s *InvalidJobException) StatusCode() int {
7676	return s.RespMetadata.StatusCode
7677}
7678
7679// RequestID returns the service's response RequestID for request.
7680func (s *InvalidJobException) RequestID() string {
7681	return s.RespMetadata.RequestID
7682}
7683
7684// The job state was specified in an invalid format.
7685type InvalidJobStateException struct {
7686	_            struct{}                  `type:"structure"`
7687	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7688
7689	Message_ *string `locationName:"message" type:"string"`
7690}
7691
7692// String returns the string representation
7693func (s InvalidJobStateException) String() string {
7694	return awsutil.Prettify(s)
7695}
7696
7697// GoString returns the string representation
7698func (s InvalidJobStateException) GoString() string {
7699	return s.String()
7700}
7701
7702func newErrorInvalidJobStateException(v protocol.ResponseMetadata) error {
7703	return &InvalidJobStateException{
7704		RespMetadata: v,
7705	}
7706}
7707
7708// Code returns the exception type name.
7709func (s *InvalidJobStateException) Code() string {
7710	return "InvalidJobStateException"
7711}
7712
7713// Message returns the exception's message.
7714func (s *InvalidJobStateException) Message() string {
7715	if s.Message_ != nil {
7716		return *s.Message_
7717	}
7718	return ""
7719}
7720
7721// OrigErr always returns nil, satisfies awserr.Error interface.
7722func (s *InvalidJobStateException) OrigErr() error {
7723	return nil
7724}
7725
7726func (s *InvalidJobStateException) Error() string {
7727	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7728}
7729
7730// Status code returns the HTTP status code for the request's response error.
7731func (s *InvalidJobStateException) StatusCode() int {
7732	return s.RespMetadata.StatusCode
7733}
7734
7735// RequestID returns the service's response RequestID for request.
7736func (s *InvalidJobStateException) RequestID() string {
7737	return s.RespMetadata.RequestID
7738}
7739
7740// The next token was specified in an invalid format. Make sure that the next
7741// token you provide is the token returned by a previous call.
7742type InvalidNextTokenException struct {
7743	_            struct{}                  `type:"structure"`
7744	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7745
7746	Message_ *string `locationName:"message" type:"string"`
7747}
7748
7749// String returns the string representation
7750func (s InvalidNextTokenException) String() string {
7751	return awsutil.Prettify(s)
7752}
7753
7754// GoString returns the string representation
7755func (s InvalidNextTokenException) GoString() string {
7756	return s.String()
7757}
7758
7759func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
7760	return &InvalidNextTokenException{
7761		RespMetadata: v,
7762	}
7763}
7764
7765// Code returns the exception type name.
7766func (s *InvalidNextTokenException) Code() string {
7767	return "InvalidNextTokenException"
7768}
7769
7770// Message returns the exception's message.
7771func (s *InvalidNextTokenException) Message() string {
7772	if s.Message_ != nil {
7773		return *s.Message_
7774	}
7775	return ""
7776}
7777
7778// OrigErr always returns nil, satisfies awserr.Error interface.
7779func (s *InvalidNextTokenException) OrigErr() error {
7780	return nil
7781}
7782
7783func (s *InvalidNextTokenException) Error() string {
7784	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7785}
7786
7787// Status code returns the HTTP status code for the request's response error.
7788func (s *InvalidNextTokenException) StatusCode() int {
7789	return s.RespMetadata.StatusCode
7790}
7791
7792// RequestID returns the service's response RequestID for request.
7793func (s *InvalidNextTokenException) RequestID() string {
7794	return s.RespMetadata.RequestID
7795}
7796
7797// The nonce was specified in an invalid format.
7798type InvalidNonceException struct {
7799	_            struct{}                  `type:"structure"`
7800	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7801
7802	Message_ *string `locationName:"message" type:"string"`
7803}
7804
7805// String returns the string representation
7806func (s InvalidNonceException) String() string {
7807	return awsutil.Prettify(s)
7808}
7809
7810// GoString returns the string representation
7811func (s InvalidNonceException) GoString() string {
7812	return s.String()
7813}
7814
7815func newErrorInvalidNonceException(v protocol.ResponseMetadata) error {
7816	return &InvalidNonceException{
7817		RespMetadata: v,
7818	}
7819}
7820
7821// Code returns the exception type name.
7822func (s *InvalidNonceException) Code() string {
7823	return "InvalidNonceException"
7824}
7825
7826// Message returns the exception's message.
7827func (s *InvalidNonceException) Message() string {
7828	if s.Message_ != nil {
7829		return *s.Message_
7830	}
7831	return ""
7832}
7833
7834// OrigErr always returns nil, satisfies awserr.Error interface.
7835func (s *InvalidNonceException) OrigErr() error {
7836	return nil
7837}
7838
7839func (s *InvalidNonceException) Error() string {
7840	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7841}
7842
7843// Status code returns the HTTP status code for the request's response error.
7844func (s *InvalidNonceException) StatusCode() int {
7845	return s.RespMetadata.StatusCode
7846}
7847
7848// RequestID returns the service's response RequestID for request.
7849func (s *InvalidNonceException) RequestID() string {
7850	return s.RespMetadata.RequestID
7851}
7852
7853// The stage declaration was specified in an invalid format.
7854type InvalidStageDeclarationException struct {
7855	_            struct{}                  `type:"structure"`
7856	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7857
7858	Message_ *string `locationName:"message" type:"string"`
7859}
7860
7861// String returns the string representation
7862func (s InvalidStageDeclarationException) String() string {
7863	return awsutil.Prettify(s)
7864}
7865
7866// GoString returns the string representation
7867func (s InvalidStageDeclarationException) GoString() string {
7868	return s.String()
7869}
7870
7871func newErrorInvalidStageDeclarationException(v protocol.ResponseMetadata) error {
7872	return &InvalidStageDeclarationException{
7873		RespMetadata: v,
7874	}
7875}
7876
7877// Code returns the exception type name.
7878func (s *InvalidStageDeclarationException) Code() string {
7879	return "InvalidStageDeclarationException"
7880}
7881
7882// Message returns the exception's message.
7883func (s *InvalidStageDeclarationException) Message() string {
7884	if s.Message_ != nil {
7885		return *s.Message_
7886	}
7887	return ""
7888}
7889
7890// OrigErr always returns nil, satisfies awserr.Error interface.
7891func (s *InvalidStageDeclarationException) OrigErr() error {
7892	return nil
7893}
7894
7895func (s *InvalidStageDeclarationException) Error() string {
7896	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7897}
7898
7899// Status code returns the HTTP status code for the request's response error.
7900func (s *InvalidStageDeclarationException) StatusCode() int {
7901	return s.RespMetadata.StatusCode
7902}
7903
7904// RequestID returns the service's response RequestID for request.
7905func (s *InvalidStageDeclarationException) RequestID() string {
7906	return s.RespMetadata.RequestID
7907}
7908
7909// The structure was specified in an invalid format.
7910type InvalidStructureException struct {
7911	_            struct{}                  `type:"structure"`
7912	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7913
7914	Message_ *string `locationName:"message" type:"string"`
7915}
7916
7917// String returns the string representation
7918func (s InvalidStructureException) String() string {
7919	return awsutil.Prettify(s)
7920}
7921
7922// GoString returns the string representation
7923func (s InvalidStructureException) GoString() string {
7924	return s.String()
7925}
7926
7927func newErrorInvalidStructureException(v protocol.ResponseMetadata) error {
7928	return &InvalidStructureException{
7929		RespMetadata: v,
7930	}
7931}
7932
7933// Code returns the exception type name.
7934func (s *InvalidStructureException) Code() string {
7935	return "InvalidStructureException"
7936}
7937
7938// Message returns the exception's message.
7939func (s *InvalidStructureException) Message() string {
7940	if s.Message_ != nil {
7941		return *s.Message_
7942	}
7943	return ""
7944}
7945
7946// OrigErr always returns nil, satisfies awserr.Error interface.
7947func (s *InvalidStructureException) OrigErr() error {
7948	return nil
7949}
7950
7951func (s *InvalidStructureException) Error() string {
7952	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7953}
7954
7955// Status code returns the HTTP status code for the request's response error.
7956func (s *InvalidStructureException) StatusCode() int {
7957	return s.RespMetadata.StatusCode
7958}
7959
7960// RequestID returns the service's response RequestID for request.
7961func (s *InvalidStructureException) RequestID() string {
7962	return s.RespMetadata.RequestID
7963}
7964
7965// The specified resource tags are invalid.
7966type InvalidTagsException struct {
7967	_            struct{}                  `type:"structure"`
7968	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7969
7970	Message_ *string `locationName:"message" min:"1" type:"string"`
7971}
7972
7973// String returns the string representation
7974func (s InvalidTagsException) String() string {
7975	return awsutil.Prettify(s)
7976}
7977
7978// GoString returns the string representation
7979func (s InvalidTagsException) GoString() string {
7980	return s.String()
7981}
7982
7983func newErrorInvalidTagsException(v protocol.ResponseMetadata) error {
7984	return &InvalidTagsException{
7985		RespMetadata: v,
7986	}
7987}
7988
7989// Code returns the exception type name.
7990func (s *InvalidTagsException) Code() string {
7991	return "InvalidTagsException"
7992}
7993
7994// Message returns the exception's message.
7995func (s *InvalidTagsException) Message() string {
7996	if s.Message_ != nil {
7997		return *s.Message_
7998	}
7999	return ""
8000}
8001
8002// OrigErr always returns nil, satisfies awserr.Error interface.
8003func (s *InvalidTagsException) OrigErr() error {
8004	return nil
8005}
8006
8007func (s *InvalidTagsException) Error() string {
8008	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8009}
8010
8011// Status code returns the HTTP status code for the request's response error.
8012func (s *InvalidTagsException) StatusCode() int {
8013	return s.RespMetadata.StatusCode
8014}
8015
8016// RequestID returns the service's response RequestID for request.
8017func (s *InvalidTagsException) RequestID() string {
8018	return s.RespMetadata.RequestID
8019}
8020
8021// The specified authentication type is in an invalid format.
8022type InvalidWebhookAuthenticationParametersException struct {
8023	_            struct{}                  `type:"structure"`
8024	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8025
8026	Message_ *string `locationName:"message" type:"string"`
8027}
8028
8029// String returns the string representation
8030func (s InvalidWebhookAuthenticationParametersException) String() string {
8031	return awsutil.Prettify(s)
8032}
8033
8034// GoString returns the string representation
8035func (s InvalidWebhookAuthenticationParametersException) GoString() string {
8036	return s.String()
8037}
8038
8039func newErrorInvalidWebhookAuthenticationParametersException(v protocol.ResponseMetadata) error {
8040	return &InvalidWebhookAuthenticationParametersException{
8041		RespMetadata: v,
8042	}
8043}
8044
8045// Code returns the exception type name.
8046func (s *InvalidWebhookAuthenticationParametersException) Code() string {
8047	return "InvalidWebhookAuthenticationParametersException"
8048}
8049
8050// Message returns the exception's message.
8051func (s *InvalidWebhookAuthenticationParametersException) Message() string {
8052	if s.Message_ != nil {
8053		return *s.Message_
8054	}
8055	return ""
8056}
8057
8058// OrigErr always returns nil, satisfies awserr.Error interface.
8059func (s *InvalidWebhookAuthenticationParametersException) OrigErr() error {
8060	return nil
8061}
8062
8063func (s *InvalidWebhookAuthenticationParametersException) Error() string {
8064	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8065}
8066
8067// Status code returns the HTTP status code for the request's response error.
8068func (s *InvalidWebhookAuthenticationParametersException) StatusCode() int {
8069	return s.RespMetadata.StatusCode
8070}
8071
8072// RequestID returns the service's response RequestID for request.
8073func (s *InvalidWebhookAuthenticationParametersException) RequestID() string {
8074	return s.RespMetadata.RequestID
8075}
8076
8077// The specified event filter rule is in an invalid format.
8078type InvalidWebhookFilterPatternException struct {
8079	_            struct{}                  `type:"structure"`
8080	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8081
8082	Message_ *string `locationName:"message" type:"string"`
8083}
8084
8085// String returns the string representation
8086func (s InvalidWebhookFilterPatternException) String() string {
8087	return awsutil.Prettify(s)
8088}
8089
8090// GoString returns the string representation
8091func (s InvalidWebhookFilterPatternException) GoString() string {
8092	return s.String()
8093}
8094
8095func newErrorInvalidWebhookFilterPatternException(v protocol.ResponseMetadata) error {
8096	return &InvalidWebhookFilterPatternException{
8097		RespMetadata: v,
8098	}
8099}
8100
8101// Code returns the exception type name.
8102func (s *InvalidWebhookFilterPatternException) Code() string {
8103	return "InvalidWebhookFilterPatternException"
8104}
8105
8106// Message returns the exception's message.
8107func (s *InvalidWebhookFilterPatternException) Message() string {
8108	if s.Message_ != nil {
8109		return *s.Message_
8110	}
8111	return ""
8112}
8113
8114// OrigErr always returns nil, satisfies awserr.Error interface.
8115func (s *InvalidWebhookFilterPatternException) OrigErr() error {
8116	return nil
8117}
8118
8119func (s *InvalidWebhookFilterPatternException) Error() string {
8120	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8121}
8122
8123// Status code returns the HTTP status code for the request's response error.
8124func (s *InvalidWebhookFilterPatternException) StatusCode() int {
8125	return s.RespMetadata.StatusCode
8126}
8127
8128// RequestID returns the service's response RequestID for request.
8129func (s *InvalidWebhookFilterPatternException) RequestID() string {
8130	return s.RespMetadata.RequestID
8131}
8132
8133// Represents information about a job.
8134type Job struct {
8135	_ struct{} `type:"structure"`
8136
8137	// The ID of the AWS account to use when performing the job.
8138	AccountId *string `locationName:"accountId" type:"string"`
8139
8140	// Other data about a job.
8141	Data *JobData `locationName:"data" type:"structure"`
8142
8143	// The unique system-generated ID of the job.
8144	Id *string `locationName:"id" type:"string"`
8145
8146	// A system-generated random number that AWS CodePipeline uses to ensure that
8147	// the job is being worked on by only one job worker. Use this number in an
8148	// AcknowledgeJob request.
8149	Nonce *string `locationName:"nonce" min:"1" type:"string"`
8150}
8151
8152// String returns the string representation
8153func (s Job) String() string {
8154	return awsutil.Prettify(s)
8155}
8156
8157// GoString returns the string representation
8158func (s Job) GoString() string {
8159	return s.String()
8160}
8161
8162// SetAccountId sets the AccountId field's value.
8163func (s *Job) SetAccountId(v string) *Job {
8164	s.AccountId = &v
8165	return s
8166}
8167
8168// SetData sets the Data field's value.
8169func (s *Job) SetData(v *JobData) *Job {
8170	s.Data = v
8171	return s
8172}
8173
8174// SetId sets the Id field's value.
8175func (s *Job) SetId(v string) *Job {
8176	s.Id = &v
8177	return s
8178}
8179
8180// SetNonce sets the Nonce field's value.
8181func (s *Job) SetNonce(v string) *Job {
8182	s.Nonce = &v
8183	return s
8184}
8185
8186// Represents other information about a job required for a job worker to complete
8187// the job.
8188type JobData struct {
8189	_ struct{} `type:"structure"`
8190
8191	// Represents information about an action configuration.
8192	ActionConfiguration *ActionConfiguration `locationName:"actionConfiguration" type:"structure"`
8193
8194	// Represents information about an action type.
8195	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure"`
8196
8197	// Represents an AWS session credentials object. These credentials are temporary
8198	// credentials that are issued by AWS Secure Token Service (STS). They can be
8199	// used to access input and output artifacts in the S3 bucket used to store
8200	// artifacts for the pipeline in AWS CodePipeline.
8201	ArtifactCredentials *AWSSessionCredentials `locationName:"artifactCredentials" type:"structure" sensitive:"true"`
8202
8203	// A system-generated token, such as a AWS CodeDeploy deployment ID, required
8204	// by a job to continue the job asynchronously.
8205	ContinuationToken *string `locationName:"continuationToken" min:"1" type:"string"`
8206
8207	// Represents information about the key used to encrypt data in the artifact
8208	// store, such as an AWS Key Management Service (AWS KMS) key.
8209	EncryptionKey *EncryptionKey `locationName:"encryptionKey" type:"structure"`
8210
8211	// The artifact supplied to the job.
8212	InputArtifacts []*Artifact `locationName:"inputArtifacts" type:"list"`
8213
8214	// The output of the job.
8215	OutputArtifacts []*Artifact `locationName:"outputArtifacts" type:"list"`
8216
8217	// Represents information about a pipeline to a job worker.
8218	//
8219	// Includes pipelineArn and pipelineExecutionId for custom jobs.
8220	PipelineContext *PipelineContext `locationName:"pipelineContext" type:"structure"`
8221}
8222
8223// String returns the string representation
8224func (s JobData) String() string {
8225	return awsutil.Prettify(s)
8226}
8227
8228// GoString returns the string representation
8229func (s JobData) GoString() string {
8230	return s.String()
8231}
8232
8233// SetActionConfiguration sets the ActionConfiguration field's value.
8234func (s *JobData) SetActionConfiguration(v *ActionConfiguration) *JobData {
8235	s.ActionConfiguration = v
8236	return s
8237}
8238
8239// SetActionTypeId sets the ActionTypeId field's value.
8240func (s *JobData) SetActionTypeId(v *ActionTypeId) *JobData {
8241	s.ActionTypeId = v
8242	return s
8243}
8244
8245// SetArtifactCredentials sets the ArtifactCredentials field's value.
8246func (s *JobData) SetArtifactCredentials(v *AWSSessionCredentials) *JobData {
8247	s.ArtifactCredentials = v
8248	return s
8249}
8250
8251// SetContinuationToken sets the ContinuationToken field's value.
8252func (s *JobData) SetContinuationToken(v string) *JobData {
8253	s.ContinuationToken = &v
8254	return s
8255}
8256
8257// SetEncryptionKey sets the EncryptionKey field's value.
8258func (s *JobData) SetEncryptionKey(v *EncryptionKey) *JobData {
8259	s.EncryptionKey = v
8260	return s
8261}
8262
8263// SetInputArtifacts sets the InputArtifacts field's value.
8264func (s *JobData) SetInputArtifacts(v []*Artifact) *JobData {
8265	s.InputArtifacts = v
8266	return s
8267}
8268
8269// SetOutputArtifacts sets the OutputArtifacts field's value.
8270func (s *JobData) SetOutputArtifacts(v []*Artifact) *JobData {
8271	s.OutputArtifacts = v
8272	return s
8273}
8274
8275// SetPipelineContext sets the PipelineContext field's value.
8276func (s *JobData) SetPipelineContext(v *PipelineContext) *JobData {
8277	s.PipelineContext = v
8278	return s
8279}
8280
8281// Represents information about the details of a job.
8282type JobDetails struct {
8283	_ struct{} `type:"structure"`
8284
8285	// The AWS account ID associated with the job.
8286	AccountId *string `locationName:"accountId" type:"string"`
8287
8288	// Represents other information about a job required for a job worker to complete
8289	// the job.
8290	Data *JobData `locationName:"data" type:"structure"`
8291
8292	// The unique system-generated ID of the job.
8293	Id *string `locationName:"id" type:"string"`
8294}
8295
8296// String returns the string representation
8297func (s JobDetails) String() string {
8298	return awsutil.Prettify(s)
8299}
8300
8301// GoString returns the string representation
8302func (s JobDetails) GoString() string {
8303	return s.String()
8304}
8305
8306// SetAccountId sets the AccountId field's value.
8307func (s *JobDetails) SetAccountId(v string) *JobDetails {
8308	s.AccountId = &v
8309	return s
8310}
8311
8312// SetData sets the Data field's value.
8313func (s *JobDetails) SetData(v *JobData) *JobDetails {
8314	s.Data = v
8315	return s
8316}
8317
8318// SetId sets the Id field's value.
8319func (s *JobDetails) SetId(v string) *JobDetails {
8320	s.Id = &v
8321	return s
8322}
8323
8324// The job was specified in an invalid format or cannot be found.
8325type JobNotFoundException struct {
8326	_            struct{}                  `type:"structure"`
8327	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8328
8329	Message_ *string `locationName:"message" type:"string"`
8330}
8331
8332// String returns the string representation
8333func (s JobNotFoundException) String() string {
8334	return awsutil.Prettify(s)
8335}
8336
8337// GoString returns the string representation
8338func (s JobNotFoundException) GoString() string {
8339	return s.String()
8340}
8341
8342func newErrorJobNotFoundException(v protocol.ResponseMetadata) error {
8343	return &JobNotFoundException{
8344		RespMetadata: v,
8345	}
8346}
8347
8348// Code returns the exception type name.
8349func (s *JobNotFoundException) Code() string {
8350	return "JobNotFoundException"
8351}
8352
8353// Message returns the exception's message.
8354func (s *JobNotFoundException) Message() string {
8355	if s.Message_ != nil {
8356		return *s.Message_
8357	}
8358	return ""
8359}
8360
8361// OrigErr always returns nil, satisfies awserr.Error interface.
8362func (s *JobNotFoundException) OrigErr() error {
8363	return nil
8364}
8365
8366func (s *JobNotFoundException) Error() string {
8367	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8368}
8369
8370// Status code returns the HTTP status code for the request's response error.
8371func (s *JobNotFoundException) StatusCode() int {
8372	return s.RespMetadata.StatusCode
8373}
8374
8375// RequestID returns the service's response RequestID for request.
8376func (s *JobNotFoundException) RequestID() string {
8377	return s.RespMetadata.RequestID
8378}
8379
8380// The number of pipelines associated with the AWS account has exceeded the
8381// limit allowed for the account.
8382type LimitExceededException struct {
8383	_            struct{}                  `type:"structure"`
8384	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8385
8386	Message_ *string `locationName:"message" type:"string"`
8387}
8388
8389// String returns the string representation
8390func (s LimitExceededException) String() string {
8391	return awsutil.Prettify(s)
8392}
8393
8394// GoString returns the string representation
8395func (s LimitExceededException) GoString() string {
8396	return s.String()
8397}
8398
8399func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
8400	return &LimitExceededException{
8401		RespMetadata: v,
8402	}
8403}
8404
8405// Code returns the exception type name.
8406func (s *LimitExceededException) Code() string {
8407	return "LimitExceededException"
8408}
8409
8410// Message returns the exception's message.
8411func (s *LimitExceededException) Message() string {
8412	if s.Message_ != nil {
8413		return *s.Message_
8414	}
8415	return ""
8416}
8417
8418// OrigErr always returns nil, satisfies awserr.Error interface.
8419func (s *LimitExceededException) OrigErr() error {
8420	return nil
8421}
8422
8423func (s *LimitExceededException) Error() string {
8424	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8425}
8426
8427// Status code returns the HTTP status code for the request's response error.
8428func (s *LimitExceededException) StatusCode() int {
8429	return s.RespMetadata.StatusCode
8430}
8431
8432// RequestID returns the service's response RequestID for request.
8433func (s *LimitExceededException) RequestID() string {
8434	return s.RespMetadata.RequestID
8435}
8436
8437type ListActionExecutionsInput struct {
8438	_ struct{} `type:"structure"`
8439
8440	// Input information used to filter action execution history.
8441	Filter *ActionExecutionFilter `locationName:"filter" type:"structure"`
8442
8443	// The maximum number of results to return in a single call. To retrieve the
8444	// remaining results, make another call with the returned nextToken value. Action
8445	// execution history is retained for up to 12 months, based on action execution
8446	// start times. Default value is 100.
8447	//
8448	// Detailed execution history is available for executions run on or after February
8449	// 21, 2019.
8450	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
8451
8452	// The token that was returned from the previous ListActionExecutions call,
8453	// which can be used to return the next set of action executions in the list.
8454	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8455
8456	// The name of the pipeline for which you want to list action execution history.
8457	//
8458	// PipelineName is a required field
8459	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
8460}
8461
8462// String returns the string representation
8463func (s ListActionExecutionsInput) String() string {
8464	return awsutil.Prettify(s)
8465}
8466
8467// GoString returns the string representation
8468func (s ListActionExecutionsInput) GoString() string {
8469	return s.String()
8470}
8471
8472// Validate inspects the fields of the type to determine if they are valid.
8473func (s *ListActionExecutionsInput) Validate() error {
8474	invalidParams := request.ErrInvalidParams{Context: "ListActionExecutionsInput"}
8475	if s.MaxResults != nil && *s.MaxResults < 1 {
8476		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8477	}
8478	if s.NextToken != nil && len(*s.NextToken) < 1 {
8479		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8480	}
8481	if s.PipelineName == nil {
8482		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
8483	}
8484	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
8485		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
8486	}
8487
8488	if invalidParams.Len() > 0 {
8489		return invalidParams
8490	}
8491	return nil
8492}
8493
8494// SetFilter sets the Filter field's value.
8495func (s *ListActionExecutionsInput) SetFilter(v *ActionExecutionFilter) *ListActionExecutionsInput {
8496	s.Filter = v
8497	return s
8498}
8499
8500// SetMaxResults sets the MaxResults field's value.
8501func (s *ListActionExecutionsInput) SetMaxResults(v int64) *ListActionExecutionsInput {
8502	s.MaxResults = &v
8503	return s
8504}
8505
8506// SetNextToken sets the NextToken field's value.
8507func (s *ListActionExecutionsInput) SetNextToken(v string) *ListActionExecutionsInput {
8508	s.NextToken = &v
8509	return s
8510}
8511
8512// SetPipelineName sets the PipelineName field's value.
8513func (s *ListActionExecutionsInput) SetPipelineName(v string) *ListActionExecutionsInput {
8514	s.PipelineName = &v
8515	return s
8516}
8517
8518type ListActionExecutionsOutput struct {
8519	_ struct{} `type:"structure"`
8520
8521	// The details for a list of recent executions, such as action execution ID.
8522	ActionExecutionDetails []*ActionExecutionDetail `locationName:"actionExecutionDetails" type:"list"`
8523
8524	// If the amount of returned information is significantly large, an identifier
8525	// is also returned and can be used in a subsequent ListActionExecutions call
8526	// to return the next set of action executions in the list.
8527	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8528}
8529
8530// String returns the string representation
8531func (s ListActionExecutionsOutput) String() string {
8532	return awsutil.Prettify(s)
8533}
8534
8535// GoString returns the string representation
8536func (s ListActionExecutionsOutput) GoString() string {
8537	return s.String()
8538}
8539
8540// SetActionExecutionDetails sets the ActionExecutionDetails field's value.
8541func (s *ListActionExecutionsOutput) SetActionExecutionDetails(v []*ActionExecutionDetail) *ListActionExecutionsOutput {
8542	s.ActionExecutionDetails = v
8543	return s
8544}
8545
8546// SetNextToken sets the NextToken field's value.
8547func (s *ListActionExecutionsOutput) SetNextToken(v string) *ListActionExecutionsOutput {
8548	s.NextToken = &v
8549	return s
8550}
8551
8552// Represents the input of a ListActionTypes action.
8553type ListActionTypesInput struct {
8554	_ struct{} `type:"structure"`
8555
8556	// Filters the list of action types to those created by a specified entity.
8557	ActionOwnerFilter *string `locationName:"actionOwnerFilter" type:"string" enum:"ActionOwner"`
8558
8559	// An identifier that was returned from the previous list action types call,
8560	// which can be used to return the next set of action types in the list.
8561	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8562}
8563
8564// String returns the string representation
8565func (s ListActionTypesInput) String() string {
8566	return awsutil.Prettify(s)
8567}
8568
8569// GoString returns the string representation
8570func (s ListActionTypesInput) GoString() string {
8571	return s.String()
8572}
8573
8574// Validate inspects the fields of the type to determine if they are valid.
8575func (s *ListActionTypesInput) Validate() error {
8576	invalidParams := request.ErrInvalidParams{Context: "ListActionTypesInput"}
8577	if s.NextToken != nil && len(*s.NextToken) < 1 {
8578		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8579	}
8580
8581	if invalidParams.Len() > 0 {
8582		return invalidParams
8583	}
8584	return nil
8585}
8586
8587// SetActionOwnerFilter sets the ActionOwnerFilter field's value.
8588func (s *ListActionTypesInput) SetActionOwnerFilter(v string) *ListActionTypesInput {
8589	s.ActionOwnerFilter = &v
8590	return s
8591}
8592
8593// SetNextToken sets the NextToken field's value.
8594func (s *ListActionTypesInput) SetNextToken(v string) *ListActionTypesInput {
8595	s.NextToken = &v
8596	return s
8597}
8598
8599// Represents the output of a ListActionTypes action.
8600type ListActionTypesOutput struct {
8601	_ struct{} `type:"structure"`
8602
8603	// Provides details of the action types.
8604	//
8605	// ActionTypes is a required field
8606	ActionTypes []*ActionType `locationName:"actionTypes" type:"list" required:"true"`
8607
8608	// If the amount of returned information is significantly large, an identifier
8609	// is also returned. It can be used in a subsequent list action types call to
8610	// return the next set of action types in the list.
8611	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8612}
8613
8614// String returns the string representation
8615func (s ListActionTypesOutput) String() string {
8616	return awsutil.Prettify(s)
8617}
8618
8619// GoString returns the string representation
8620func (s ListActionTypesOutput) GoString() string {
8621	return s.String()
8622}
8623
8624// SetActionTypes sets the ActionTypes field's value.
8625func (s *ListActionTypesOutput) SetActionTypes(v []*ActionType) *ListActionTypesOutput {
8626	s.ActionTypes = v
8627	return s
8628}
8629
8630// SetNextToken sets the NextToken field's value.
8631func (s *ListActionTypesOutput) SetNextToken(v string) *ListActionTypesOutput {
8632	s.NextToken = &v
8633	return s
8634}
8635
8636// Represents the input of a ListPipelineExecutions action.
8637type ListPipelineExecutionsInput struct {
8638	_ struct{} `type:"structure"`
8639
8640	// The maximum number of results to return in a single call. To retrieve the
8641	// remaining results, make another call with the returned nextToken value. Pipeline
8642	// history is limited to the most recent 12 months, based on pipeline execution
8643	// start times. Default value is 100.
8644	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
8645
8646	// The token that was returned from the previous ListPipelineExecutions call,
8647	// which can be used to return the next set of pipeline executions in the list.
8648	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8649
8650	// The name of the pipeline for which you want to get execution summary information.
8651	//
8652	// PipelineName is a required field
8653	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
8654}
8655
8656// String returns the string representation
8657func (s ListPipelineExecutionsInput) String() string {
8658	return awsutil.Prettify(s)
8659}
8660
8661// GoString returns the string representation
8662func (s ListPipelineExecutionsInput) GoString() string {
8663	return s.String()
8664}
8665
8666// Validate inspects the fields of the type to determine if they are valid.
8667func (s *ListPipelineExecutionsInput) Validate() error {
8668	invalidParams := request.ErrInvalidParams{Context: "ListPipelineExecutionsInput"}
8669	if s.MaxResults != nil && *s.MaxResults < 1 {
8670		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8671	}
8672	if s.NextToken != nil && len(*s.NextToken) < 1 {
8673		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8674	}
8675	if s.PipelineName == nil {
8676		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
8677	}
8678	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
8679		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
8680	}
8681
8682	if invalidParams.Len() > 0 {
8683		return invalidParams
8684	}
8685	return nil
8686}
8687
8688// SetMaxResults sets the MaxResults field's value.
8689func (s *ListPipelineExecutionsInput) SetMaxResults(v int64) *ListPipelineExecutionsInput {
8690	s.MaxResults = &v
8691	return s
8692}
8693
8694// SetNextToken sets the NextToken field's value.
8695func (s *ListPipelineExecutionsInput) SetNextToken(v string) *ListPipelineExecutionsInput {
8696	s.NextToken = &v
8697	return s
8698}
8699
8700// SetPipelineName sets the PipelineName field's value.
8701func (s *ListPipelineExecutionsInput) SetPipelineName(v string) *ListPipelineExecutionsInput {
8702	s.PipelineName = &v
8703	return s
8704}
8705
8706// Represents the output of a ListPipelineExecutions action.
8707type ListPipelineExecutionsOutput struct {
8708	_ struct{} `type:"structure"`
8709
8710	// A token that can be used in the next ListPipelineExecutions call. To view
8711	// all items in the list, continue to call this operation with each subsequent
8712	// token until no more nextToken values are returned.
8713	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8714
8715	// A list of executions in the history of a pipeline.
8716	PipelineExecutionSummaries []*PipelineExecutionSummary `locationName:"pipelineExecutionSummaries" type:"list"`
8717}
8718
8719// String returns the string representation
8720func (s ListPipelineExecutionsOutput) String() string {
8721	return awsutil.Prettify(s)
8722}
8723
8724// GoString returns the string representation
8725func (s ListPipelineExecutionsOutput) GoString() string {
8726	return s.String()
8727}
8728
8729// SetNextToken sets the NextToken field's value.
8730func (s *ListPipelineExecutionsOutput) SetNextToken(v string) *ListPipelineExecutionsOutput {
8731	s.NextToken = &v
8732	return s
8733}
8734
8735// SetPipelineExecutionSummaries sets the PipelineExecutionSummaries field's value.
8736func (s *ListPipelineExecutionsOutput) SetPipelineExecutionSummaries(v []*PipelineExecutionSummary) *ListPipelineExecutionsOutput {
8737	s.PipelineExecutionSummaries = v
8738	return s
8739}
8740
8741// Represents the input of a ListPipelines action.
8742type ListPipelinesInput struct {
8743	_ struct{} `type:"structure"`
8744
8745	// An identifier that was returned from the previous list pipelines call. It
8746	// can be used to return the next set of pipelines in the list.
8747	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8748}
8749
8750// String returns the string representation
8751func (s ListPipelinesInput) String() string {
8752	return awsutil.Prettify(s)
8753}
8754
8755// GoString returns the string representation
8756func (s ListPipelinesInput) GoString() string {
8757	return s.String()
8758}
8759
8760// Validate inspects the fields of the type to determine if they are valid.
8761func (s *ListPipelinesInput) Validate() error {
8762	invalidParams := request.ErrInvalidParams{Context: "ListPipelinesInput"}
8763	if s.NextToken != nil && len(*s.NextToken) < 1 {
8764		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8765	}
8766
8767	if invalidParams.Len() > 0 {
8768		return invalidParams
8769	}
8770	return nil
8771}
8772
8773// SetNextToken sets the NextToken field's value.
8774func (s *ListPipelinesInput) SetNextToken(v string) *ListPipelinesInput {
8775	s.NextToken = &v
8776	return s
8777}
8778
8779// Represents the output of a ListPipelines action.
8780type ListPipelinesOutput struct {
8781	_ struct{} `type:"structure"`
8782
8783	// If the amount of returned information is significantly large, an identifier
8784	// is also returned. It can be used in a subsequent list pipelines call to return
8785	// the next set of pipelines in the list.
8786	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8787
8788	// The list of pipelines.
8789	Pipelines []*PipelineSummary `locationName:"pipelines" type:"list"`
8790}
8791
8792// String returns the string representation
8793func (s ListPipelinesOutput) String() string {
8794	return awsutil.Prettify(s)
8795}
8796
8797// GoString returns the string representation
8798func (s ListPipelinesOutput) GoString() string {
8799	return s.String()
8800}
8801
8802// SetNextToken sets the NextToken field's value.
8803func (s *ListPipelinesOutput) SetNextToken(v string) *ListPipelinesOutput {
8804	s.NextToken = &v
8805	return s
8806}
8807
8808// SetPipelines sets the Pipelines field's value.
8809func (s *ListPipelinesOutput) SetPipelines(v []*PipelineSummary) *ListPipelinesOutput {
8810	s.Pipelines = v
8811	return s
8812}
8813
8814type ListTagsForResourceInput struct {
8815	_ struct{} `type:"structure"`
8816
8817	// The maximum number of results to return in a single call.
8818	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
8819
8820	// The token that was returned from the previous API call, which would be used
8821	// to return the next page of the list. The ListTagsforResource call lists all
8822	// available tags in one call and does not use pagination.
8823	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8824
8825	// The Amazon Resource Name (ARN) of the resource to get tags for.
8826	//
8827	// ResourceArn is a required field
8828	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
8829}
8830
8831// String returns the string representation
8832func (s ListTagsForResourceInput) String() string {
8833	return awsutil.Prettify(s)
8834}
8835
8836// GoString returns the string representation
8837func (s ListTagsForResourceInput) GoString() string {
8838	return s.String()
8839}
8840
8841// Validate inspects the fields of the type to determine if they are valid.
8842func (s *ListTagsForResourceInput) Validate() error {
8843	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8844	if s.MaxResults != nil && *s.MaxResults < 1 {
8845		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8846	}
8847	if s.NextToken != nil && len(*s.NextToken) < 1 {
8848		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8849	}
8850	if s.ResourceArn == nil {
8851		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8852	}
8853
8854	if invalidParams.Len() > 0 {
8855		return invalidParams
8856	}
8857	return nil
8858}
8859
8860// SetMaxResults sets the MaxResults field's value.
8861func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
8862	s.MaxResults = &v
8863	return s
8864}
8865
8866// SetNextToken sets the NextToken field's value.
8867func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
8868	s.NextToken = &v
8869	return s
8870}
8871
8872// SetResourceArn sets the ResourceArn field's value.
8873func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8874	s.ResourceArn = &v
8875	return s
8876}
8877
8878type ListTagsForResourceOutput struct {
8879	_ struct{} `type:"structure"`
8880
8881	// If the amount of returned information is significantly large, an identifier
8882	// is also returned and can be used in a subsequent API call to return the next
8883	// page of the list. The ListTagsforResource call lists all available tags in
8884	// one call and does not use pagination.
8885	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8886
8887	// The tags for the resource.
8888	Tags []*Tag `locationName:"tags" type:"list"`
8889}
8890
8891// String returns the string representation
8892func (s ListTagsForResourceOutput) String() string {
8893	return awsutil.Prettify(s)
8894}
8895
8896// GoString returns the string representation
8897func (s ListTagsForResourceOutput) GoString() string {
8898	return s.String()
8899}
8900
8901// SetNextToken sets the NextToken field's value.
8902func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
8903	s.NextToken = &v
8904	return s
8905}
8906
8907// SetTags sets the Tags field's value.
8908func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
8909	s.Tags = v
8910	return s
8911}
8912
8913// The detail returned for each webhook after listing webhooks, such as the
8914// webhook URL, the webhook name, and the webhook ARN.
8915type ListWebhookItem struct {
8916	_ struct{} `type:"structure"`
8917
8918	// The Amazon Resource Name (ARN) of the webhook.
8919	Arn *string `locationName:"arn" type:"string"`
8920
8921	// The detail returned for each webhook, such as the webhook authentication
8922	// type and filter rules.
8923	//
8924	// Definition is a required field
8925	Definition *WebhookDefinition `locationName:"definition" type:"structure" required:"true"`
8926
8927	// The number code of the error.
8928	ErrorCode *string `locationName:"errorCode" type:"string"`
8929
8930	// The text of the error message about the webhook.
8931	ErrorMessage *string `locationName:"errorMessage" type:"string"`
8932
8933	// The date and time a webhook was last successfully triggered, in timestamp
8934	// format.
8935	LastTriggered *time.Time `locationName:"lastTriggered" type:"timestamp"`
8936
8937	// Specifies the tags applied to the webhook.
8938	Tags []*Tag `locationName:"tags" type:"list"`
8939
8940	// A unique URL generated by CodePipeline. When a POST request is made to this
8941	// URL, the defined pipeline is started as long as the body of the post request
8942	// satisfies the defined authentication and filtering conditions. Deleting and
8943	// re-creating a webhook makes the old URL invalid and generates a new one.
8944	//
8945	// Url is a required field
8946	Url *string `locationName:"url" min:"1" type:"string" required:"true"`
8947}
8948
8949// String returns the string representation
8950func (s ListWebhookItem) String() string {
8951	return awsutil.Prettify(s)
8952}
8953
8954// GoString returns the string representation
8955func (s ListWebhookItem) GoString() string {
8956	return s.String()
8957}
8958
8959// SetArn sets the Arn field's value.
8960func (s *ListWebhookItem) SetArn(v string) *ListWebhookItem {
8961	s.Arn = &v
8962	return s
8963}
8964
8965// SetDefinition sets the Definition field's value.
8966func (s *ListWebhookItem) SetDefinition(v *WebhookDefinition) *ListWebhookItem {
8967	s.Definition = v
8968	return s
8969}
8970
8971// SetErrorCode sets the ErrorCode field's value.
8972func (s *ListWebhookItem) SetErrorCode(v string) *ListWebhookItem {
8973	s.ErrorCode = &v
8974	return s
8975}
8976
8977// SetErrorMessage sets the ErrorMessage field's value.
8978func (s *ListWebhookItem) SetErrorMessage(v string) *ListWebhookItem {
8979	s.ErrorMessage = &v
8980	return s
8981}
8982
8983// SetLastTriggered sets the LastTriggered field's value.
8984func (s *ListWebhookItem) SetLastTriggered(v time.Time) *ListWebhookItem {
8985	s.LastTriggered = &v
8986	return s
8987}
8988
8989// SetTags sets the Tags field's value.
8990func (s *ListWebhookItem) SetTags(v []*Tag) *ListWebhookItem {
8991	s.Tags = v
8992	return s
8993}
8994
8995// SetUrl sets the Url field's value.
8996func (s *ListWebhookItem) SetUrl(v string) *ListWebhookItem {
8997	s.Url = &v
8998	return s
8999}
9000
9001type ListWebhooksInput struct {
9002	_ struct{} `type:"structure"`
9003
9004	// The maximum number of results to return in a single call. To retrieve the
9005	// remaining results, make another call with the returned nextToken value.
9006	MaxResults *int64 `min:"1" type:"integer"`
9007
9008	// The token that was returned from the previous ListWebhooks call, which can
9009	// be used to return the next set of webhooks in the list.
9010	NextToken *string `min:"1" type:"string"`
9011}
9012
9013// String returns the string representation
9014func (s ListWebhooksInput) String() string {
9015	return awsutil.Prettify(s)
9016}
9017
9018// GoString returns the string representation
9019func (s ListWebhooksInput) GoString() string {
9020	return s.String()
9021}
9022
9023// Validate inspects the fields of the type to determine if they are valid.
9024func (s *ListWebhooksInput) Validate() error {
9025	invalidParams := request.ErrInvalidParams{Context: "ListWebhooksInput"}
9026	if s.MaxResults != nil && *s.MaxResults < 1 {
9027		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9028	}
9029	if s.NextToken != nil && len(*s.NextToken) < 1 {
9030		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9031	}
9032
9033	if invalidParams.Len() > 0 {
9034		return invalidParams
9035	}
9036	return nil
9037}
9038
9039// SetMaxResults sets the MaxResults field's value.
9040func (s *ListWebhooksInput) SetMaxResults(v int64) *ListWebhooksInput {
9041	s.MaxResults = &v
9042	return s
9043}
9044
9045// SetNextToken sets the NextToken field's value.
9046func (s *ListWebhooksInput) SetNextToken(v string) *ListWebhooksInput {
9047	s.NextToken = &v
9048	return s
9049}
9050
9051type ListWebhooksOutput struct {
9052	_ struct{} `type:"structure"`
9053
9054	// If the amount of returned information is significantly large, an identifier
9055	// is also returned and can be used in a subsequent ListWebhooks call to return
9056	// the next set of webhooks in the list.
9057	NextToken *string `min:"1" type:"string"`
9058
9059	// The JSON detail returned for each webhook in the list output for the ListWebhooks
9060	// call.
9061	Webhooks []*ListWebhookItem `locationName:"webhooks" type:"list"`
9062}
9063
9064// String returns the string representation
9065func (s ListWebhooksOutput) String() string {
9066	return awsutil.Prettify(s)
9067}
9068
9069// GoString returns the string representation
9070func (s ListWebhooksOutput) GoString() string {
9071	return s.String()
9072}
9073
9074// SetNextToken sets the NextToken field's value.
9075func (s *ListWebhooksOutput) SetNextToken(v string) *ListWebhooksOutput {
9076	s.NextToken = &v
9077	return s
9078}
9079
9080// SetWebhooks sets the Webhooks field's value.
9081func (s *ListWebhooksOutput) SetWebhooks(v []*ListWebhookItem) *ListWebhooksOutput {
9082	s.Webhooks = v
9083	return s
9084}
9085
9086// The stage has failed in a later run of the pipeline and the pipelineExecutionId
9087// associated with the request is out of date.
9088type NotLatestPipelineExecutionException struct {
9089	_            struct{}                  `type:"structure"`
9090	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9091
9092	Message_ *string `locationName:"message" type:"string"`
9093}
9094
9095// String returns the string representation
9096func (s NotLatestPipelineExecutionException) String() string {
9097	return awsutil.Prettify(s)
9098}
9099
9100// GoString returns the string representation
9101func (s NotLatestPipelineExecutionException) GoString() string {
9102	return s.String()
9103}
9104
9105func newErrorNotLatestPipelineExecutionException(v protocol.ResponseMetadata) error {
9106	return &NotLatestPipelineExecutionException{
9107		RespMetadata: v,
9108	}
9109}
9110
9111// Code returns the exception type name.
9112func (s *NotLatestPipelineExecutionException) Code() string {
9113	return "NotLatestPipelineExecutionException"
9114}
9115
9116// Message returns the exception's message.
9117func (s *NotLatestPipelineExecutionException) Message() string {
9118	if s.Message_ != nil {
9119		return *s.Message_
9120	}
9121	return ""
9122}
9123
9124// OrigErr always returns nil, satisfies awserr.Error interface.
9125func (s *NotLatestPipelineExecutionException) OrigErr() error {
9126	return nil
9127}
9128
9129func (s *NotLatestPipelineExecutionException) Error() string {
9130	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9131}
9132
9133// Status code returns the HTTP status code for the request's response error.
9134func (s *NotLatestPipelineExecutionException) StatusCode() int {
9135	return s.RespMetadata.StatusCode
9136}
9137
9138// RequestID returns the service's response RequestID for request.
9139func (s *NotLatestPipelineExecutionException) RequestID() string {
9140	return s.RespMetadata.RequestID
9141}
9142
9143// Represents information about the output of an action.
9144type OutputArtifact struct {
9145	_ struct{} `type:"structure"`
9146
9147	// The name of the output of an artifact, such as "My App".
9148	//
9149	// The input artifact of an action must exactly match the output artifact declared
9150	// in a preceding action, but the input artifact does not have to be the next
9151	// action in strict sequence from the action that provided the output artifact.
9152	// Actions in parallel can declare different output artifacts, which are in
9153	// turn consumed by different following actions.
9154	//
9155	// Output artifact names must be unique within a pipeline.
9156	//
9157	// Name is a required field
9158	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9159}
9160
9161// String returns the string representation
9162func (s OutputArtifact) String() string {
9163	return awsutil.Prettify(s)
9164}
9165
9166// GoString returns the string representation
9167func (s OutputArtifact) GoString() string {
9168	return s.String()
9169}
9170
9171// Validate inspects the fields of the type to determine if they are valid.
9172func (s *OutputArtifact) Validate() error {
9173	invalidParams := request.ErrInvalidParams{Context: "OutputArtifact"}
9174	if s.Name == nil {
9175		invalidParams.Add(request.NewErrParamRequired("Name"))
9176	}
9177	if s.Name != nil && len(*s.Name) < 1 {
9178		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9179	}
9180
9181	if invalidParams.Len() > 0 {
9182		return invalidParams
9183	}
9184	return nil
9185}
9186
9187// SetName sets the Name field's value.
9188func (s *OutputArtifact) SetName(v string) *OutputArtifact {
9189	s.Name = &v
9190	return s
9191}
9192
9193// Exceeded the total size limit for all variables in the pipeline.
9194type OutputVariablesSizeExceededException struct {
9195	_            struct{}                  `type:"structure"`
9196	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9197
9198	Message_ *string `locationName:"message" min:"1" type:"string"`
9199}
9200
9201// String returns the string representation
9202func (s OutputVariablesSizeExceededException) String() string {
9203	return awsutil.Prettify(s)
9204}
9205
9206// GoString returns the string representation
9207func (s OutputVariablesSizeExceededException) GoString() string {
9208	return s.String()
9209}
9210
9211func newErrorOutputVariablesSizeExceededException(v protocol.ResponseMetadata) error {
9212	return &OutputVariablesSizeExceededException{
9213		RespMetadata: v,
9214	}
9215}
9216
9217// Code returns the exception type name.
9218func (s *OutputVariablesSizeExceededException) Code() string {
9219	return "OutputVariablesSizeExceededException"
9220}
9221
9222// Message returns the exception's message.
9223func (s *OutputVariablesSizeExceededException) Message() string {
9224	if s.Message_ != nil {
9225		return *s.Message_
9226	}
9227	return ""
9228}
9229
9230// OrigErr always returns nil, satisfies awserr.Error interface.
9231func (s *OutputVariablesSizeExceededException) OrigErr() error {
9232	return nil
9233}
9234
9235func (s *OutputVariablesSizeExceededException) Error() string {
9236	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9237}
9238
9239// Status code returns the HTTP status code for the request's response error.
9240func (s *OutputVariablesSizeExceededException) StatusCode() int {
9241	return s.RespMetadata.StatusCode
9242}
9243
9244// RequestID returns the service's response RequestID for request.
9245func (s *OutputVariablesSizeExceededException) RequestID() string {
9246	return s.RespMetadata.RequestID
9247}
9248
9249// Represents information about a pipeline to a job worker.
9250//
9251// PipelineContext contains pipelineArn and pipelineExecutionId for custom action
9252// jobs. The pipelineArn and pipelineExecutionId fields are not populated for
9253// ThirdParty action jobs.
9254type PipelineContext struct {
9255	_ struct{} `type:"structure"`
9256
9257	// The context of an action to a job worker in the stage of a pipeline.
9258	Action *ActionContext `locationName:"action" type:"structure"`
9259
9260	// The Amazon Resource Name (ARN) of the pipeline.
9261	PipelineArn *string `locationName:"pipelineArn" type:"string"`
9262
9263	// The execution ID of the pipeline.
9264	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
9265
9266	// The name of the pipeline. This is a user-specified value. Pipeline names
9267	// must be unique across all pipeline names under an Amazon Web Services account.
9268	PipelineName *string `locationName:"pipelineName" min:"1" type:"string"`
9269
9270	// The stage of the pipeline.
9271	Stage *StageContext `locationName:"stage" type:"structure"`
9272}
9273
9274// String returns the string representation
9275func (s PipelineContext) String() string {
9276	return awsutil.Prettify(s)
9277}
9278
9279// GoString returns the string representation
9280func (s PipelineContext) GoString() string {
9281	return s.String()
9282}
9283
9284// SetAction sets the Action field's value.
9285func (s *PipelineContext) SetAction(v *ActionContext) *PipelineContext {
9286	s.Action = v
9287	return s
9288}
9289
9290// SetPipelineArn sets the PipelineArn field's value.
9291func (s *PipelineContext) SetPipelineArn(v string) *PipelineContext {
9292	s.PipelineArn = &v
9293	return s
9294}
9295
9296// SetPipelineExecutionId sets the PipelineExecutionId field's value.
9297func (s *PipelineContext) SetPipelineExecutionId(v string) *PipelineContext {
9298	s.PipelineExecutionId = &v
9299	return s
9300}
9301
9302// SetPipelineName sets the PipelineName field's value.
9303func (s *PipelineContext) SetPipelineName(v string) *PipelineContext {
9304	s.PipelineName = &v
9305	return s
9306}
9307
9308// SetStage sets the Stage field's value.
9309func (s *PipelineContext) SetStage(v *StageContext) *PipelineContext {
9310	s.Stage = v
9311	return s
9312}
9313
9314// Represents the structure of actions and stages to be performed in the pipeline.
9315type PipelineDeclaration struct {
9316	_ struct{} `type:"structure"`
9317
9318	// Represents information about the S3 bucket where artifacts are stored for
9319	// the pipeline.
9320	//
9321	// You must include either artifactStore or artifactStores in your pipeline,
9322	// but you cannot use both. If you create a cross-region action in your pipeline,
9323	// you must use artifactStores.
9324	ArtifactStore *ArtifactStore `locationName:"artifactStore" type:"structure"`
9325
9326	// A mapping of artifactStore objects and their corresponding AWS Regions. There
9327	// must be an artifact store for the pipeline Region and for each cross-region
9328	// action in the pipeline.
9329	//
9330	// You must include either artifactStore or artifactStores in your pipeline,
9331	// but you cannot use both. If you create a cross-region action in your pipeline,
9332	// you must use artifactStores.
9333	ArtifactStores map[string]*ArtifactStore `locationName:"artifactStores" type:"map"`
9334
9335	// The name of the action to be performed.
9336	//
9337	// Name is a required field
9338	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9339
9340	// The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform
9341	// actions with no actionRoleArn, or to use to assume roles for actions with
9342	// an actionRoleArn.
9343	//
9344	// RoleArn is a required field
9345	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
9346
9347	// The stage in which to perform the action.
9348	//
9349	// Stages is a required field
9350	Stages []*StageDeclaration `locationName:"stages" type:"list" required:"true"`
9351
9352	// The version number of the pipeline. A new pipeline always has a version number
9353	// of 1. This number is incremented when a pipeline is updated.
9354	Version *int64 `locationName:"version" min:"1" type:"integer"`
9355}
9356
9357// String returns the string representation
9358func (s PipelineDeclaration) String() string {
9359	return awsutil.Prettify(s)
9360}
9361
9362// GoString returns the string representation
9363func (s PipelineDeclaration) GoString() string {
9364	return s.String()
9365}
9366
9367// Validate inspects the fields of the type to determine if they are valid.
9368func (s *PipelineDeclaration) Validate() error {
9369	invalidParams := request.ErrInvalidParams{Context: "PipelineDeclaration"}
9370	if s.Name == nil {
9371		invalidParams.Add(request.NewErrParamRequired("Name"))
9372	}
9373	if s.Name != nil && len(*s.Name) < 1 {
9374		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9375	}
9376	if s.RoleArn == nil {
9377		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
9378	}
9379	if s.Stages == nil {
9380		invalidParams.Add(request.NewErrParamRequired("Stages"))
9381	}
9382	if s.Version != nil && *s.Version < 1 {
9383		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
9384	}
9385	if s.ArtifactStore != nil {
9386		if err := s.ArtifactStore.Validate(); err != nil {
9387			invalidParams.AddNested("ArtifactStore", err.(request.ErrInvalidParams))
9388		}
9389	}
9390	if s.ArtifactStores != nil {
9391		for i, v := range s.ArtifactStores {
9392			if v == nil {
9393				continue
9394			}
9395			if err := v.Validate(); err != nil {
9396				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ArtifactStores", i), err.(request.ErrInvalidParams))
9397			}
9398		}
9399	}
9400	if s.Stages != nil {
9401		for i, v := range s.Stages {
9402			if v == nil {
9403				continue
9404			}
9405			if err := v.Validate(); err != nil {
9406				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Stages", i), err.(request.ErrInvalidParams))
9407			}
9408		}
9409	}
9410
9411	if invalidParams.Len() > 0 {
9412		return invalidParams
9413	}
9414	return nil
9415}
9416
9417// SetArtifactStore sets the ArtifactStore field's value.
9418func (s *PipelineDeclaration) SetArtifactStore(v *ArtifactStore) *PipelineDeclaration {
9419	s.ArtifactStore = v
9420	return s
9421}
9422
9423// SetArtifactStores sets the ArtifactStores field's value.
9424func (s *PipelineDeclaration) SetArtifactStores(v map[string]*ArtifactStore) *PipelineDeclaration {
9425	s.ArtifactStores = v
9426	return s
9427}
9428
9429// SetName sets the Name field's value.
9430func (s *PipelineDeclaration) SetName(v string) *PipelineDeclaration {
9431	s.Name = &v
9432	return s
9433}
9434
9435// SetRoleArn sets the RoleArn field's value.
9436func (s *PipelineDeclaration) SetRoleArn(v string) *PipelineDeclaration {
9437	s.RoleArn = &v
9438	return s
9439}
9440
9441// SetStages sets the Stages field's value.
9442func (s *PipelineDeclaration) SetStages(v []*StageDeclaration) *PipelineDeclaration {
9443	s.Stages = v
9444	return s
9445}
9446
9447// SetVersion sets the Version field's value.
9448func (s *PipelineDeclaration) SetVersion(v int64) *PipelineDeclaration {
9449	s.Version = &v
9450	return s
9451}
9452
9453// Represents information about an execution of a pipeline.
9454type PipelineExecution struct {
9455	_ struct{} `type:"structure"`
9456
9457	// A list of ArtifactRevision objects included in a pipeline execution.
9458	ArtifactRevisions []*ArtifactRevision `locationName:"artifactRevisions" type:"list"`
9459
9460	// The ID of the pipeline execution.
9461	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
9462
9463	// The name of the pipeline with the specified pipeline execution.
9464	PipelineName *string `locationName:"pipelineName" min:"1" type:"string"`
9465
9466	// The version number of the pipeline with the specified pipeline execution.
9467	PipelineVersion *int64 `locationName:"pipelineVersion" min:"1" type:"integer"`
9468
9469	// The status of the pipeline execution.
9470	//
9471	//    * InProgress: The pipeline execution is currently running.
9472	//
9473	//    * Stopped: The pipeline execution was manually stopped. For more information,
9474	//    see Stopped Executions (https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#concepts-executions-stopped).
9475	//
9476	//    * Stopping: The pipeline execution received a request to be manually stopped.
9477	//    Depending on the selected stop mode, the execution is either completing
9478	//    or abandoning in-progress actions. For more information, see Stopped Executions
9479	//    (https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#concepts-executions-stopped).
9480	//
9481	//    * Succeeded: The pipeline execution was completed successfully.
9482	//
9483	//    * Superseded: While this pipeline execution was waiting for the next stage
9484	//    to be completed, a newer pipeline execution advanced and continued through
9485	//    the pipeline instead. For more information, see Superseded Executions
9486	//    (https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#concepts-superseded).
9487	//
9488	//    * Failed: The pipeline execution was not completed successfully.
9489	Status *string `locationName:"status" type:"string" enum:"PipelineExecutionStatus"`
9490}
9491
9492// String returns the string representation
9493func (s PipelineExecution) String() string {
9494	return awsutil.Prettify(s)
9495}
9496
9497// GoString returns the string representation
9498func (s PipelineExecution) GoString() string {
9499	return s.String()
9500}
9501
9502// SetArtifactRevisions sets the ArtifactRevisions field's value.
9503func (s *PipelineExecution) SetArtifactRevisions(v []*ArtifactRevision) *PipelineExecution {
9504	s.ArtifactRevisions = v
9505	return s
9506}
9507
9508// SetPipelineExecutionId sets the PipelineExecutionId field's value.
9509func (s *PipelineExecution) SetPipelineExecutionId(v string) *PipelineExecution {
9510	s.PipelineExecutionId = &v
9511	return s
9512}
9513
9514// SetPipelineName sets the PipelineName field's value.
9515func (s *PipelineExecution) SetPipelineName(v string) *PipelineExecution {
9516	s.PipelineName = &v
9517	return s
9518}
9519
9520// SetPipelineVersion sets the PipelineVersion field's value.
9521func (s *PipelineExecution) SetPipelineVersion(v int64) *PipelineExecution {
9522	s.PipelineVersion = &v
9523	return s
9524}
9525
9526// SetStatus sets the Status field's value.
9527func (s *PipelineExecution) SetStatus(v string) *PipelineExecution {
9528	s.Status = &v
9529	return s
9530}
9531
9532// The pipeline execution was specified in an invalid format or cannot be found,
9533// or an execution ID does not belong to the specified pipeline.
9534type PipelineExecutionNotFoundException struct {
9535	_            struct{}                  `type:"structure"`
9536	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9537
9538	Message_ *string `locationName:"message" type:"string"`
9539}
9540
9541// String returns the string representation
9542func (s PipelineExecutionNotFoundException) String() string {
9543	return awsutil.Prettify(s)
9544}
9545
9546// GoString returns the string representation
9547func (s PipelineExecutionNotFoundException) GoString() string {
9548	return s.String()
9549}
9550
9551func newErrorPipelineExecutionNotFoundException(v protocol.ResponseMetadata) error {
9552	return &PipelineExecutionNotFoundException{
9553		RespMetadata: v,
9554	}
9555}
9556
9557// Code returns the exception type name.
9558func (s *PipelineExecutionNotFoundException) Code() string {
9559	return "PipelineExecutionNotFoundException"
9560}
9561
9562// Message returns the exception's message.
9563func (s *PipelineExecutionNotFoundException) Message() string {
9564	if s.Message_ != nil {
9565		return *s.Message_
9566	}
9567	return ""
9568}
9569
9570// OrigErr always returns nil, satisfies awserr.Error interface.
9571func (s *PipelineExecutionNotFoundException) OrigErr() error {
9572	return nil
9573}
9574
9575func (s *PipelineExecutionNotFoundException) Error() string {
9576	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9577}
9578
9579// Status code returns the HTTP status code for the request's response error.
9580func (s *PipelineExecutionNotFoundException) StatusCode() int {
9581	return s.RespMetadata.StatusCode
9582}
9583
9584// RequestID returns the service's response RequestID for request.
9585func (s *PipelineExecutionNotFoundException) RequestID() string {
9586	return s.RespMetadata.RequestID
9587}
9588
9589// Unable to stop the pipeline execution. The execution might already be in
9590// a Stopped state, or it might no longer be in progress.
9591type PipelineExecutionNotStoppableException struct {
9592	_            struct{}                  `type:"structure"`
9593	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9594
9595	Message_ *string `locationName:"message" min:"1" type:"string"`
9596}
9597
9598// String returns the string representation
9599func (s PipelineExecutionNotStoppableException) String() string {
9600	return awsutil.Prettify(s)
9601}
9602
9603// GoString returns the string representation
9604func (s PipelineExecutionNotStoppableException) GoString() string {
9605	return s.String()
9606}
9607
9608func newErrorPipelineExecutionNotStoppableException(v protocol.ResponseMetadata) error {
9609	return &PipelineExecutionNotStoppableException{
9610		RespMetadata: v,
9611	}
9612}
9613
9614// Code returns the exception type name.
9615func (s *PipelineExecutionNotStoppableException) Code() string {
9616	return "PipelineExecutionNotStoppableException"
9617}
9618
9619// Message returns the exception's message.
9620func (s *PipelineExecutionNotStoppableException) Message() string {
9621	if s.Message_ != nil {
9622		return *s.Message_
9623	}
9624	return ""
9625}
9626
9627// OrigErr always returns nil, satisfies awserr.Error interface.
9628func (s *PipelineExecutionNotStoppableException) OrigErr() error {
9629	return nil
9630}
9631
9632func (s *PipelineExecutionNotStoppableException) Error() string {
9633	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9634}
9635
9636// Status code returns the HTTP status code for the request's response error.
9637func (s *PipelineExecutionNotStoppableException) StatusCode() int {
9638	return s.RespMetadata.StatusCode
9639}
9640
9641// RequestID returns the service's response RequestID for request.
9642func (s *PipelineExecutionNotStoppableException) RequestID() string {
9643	return s.RespMetadata.RequestID
9644}
9645
9646// Summary information about a pipeline execution.
9647type PipelineExecutionSummary struct {
9648	_ struct{} `type:"structure"`
9649
9650	// The date and time of the last change to the pipeline execution, in timestamp
9651	// format.
9652	LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"`
9653
9654	// The ID of the pipeline execution.
9655	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
9656
9657	// A list of the source artifact revisions that initiated a pipeline execution.
9658	SourceRevisions []*SourceRevision `locationName:"sourceRevisions" type:"list"`
9659
9660	// The date and time when the pipeline execution began, in timestamp format.
9661	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
9662
9663	// The status of the pipeline execution.
9664	//
9665	//    * InProgress: The pipeline execution is currently running.
9666	//
9667	//    * Stopped: The pipeline execution was manually stopped. For more information,
9668	//    see Stopped Executions (https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#concepts-executions-stopped).
9669	//
9670	//    * Stopping: The pipeline execution received a request to be manually stopped.
9671	//    Depending on the selected stop mode, the execution is either completing
9672	//    or abandoning in-progress actions. For more information, see Stopped Executions
9673	//    (https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#concepts-executions-stopped).
9674	//
9675	//    * Succeeded: The pipeline execution was completed successfully.
9676	//
9677	//    * Superseded: While this pipeline execution was waiting for the next stage
9678	//    to be completed, a newer pipeline execution advanced and continued through
9679	//    the pipeline instead. For more information, see Superseded Executions
9680	//    (https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#concepts-superseded).
9681	//
9682	//    * Failed: The pipeline execution was not completed successfully.
9683	Status *string `locationName:"status" type:"string" enum:"PipelineExecutionStatus"`
9684
9685	// The interaction that stopped a pipeline execution.
9686	StopTrigger *StopExecutionTrigger `locationName:"stopTrigger" type:"structure"`
9687
9688	// The interaction or event that started a pipeline execution, such as automated
9689	// change detection or a StartPipelineExecution API call.
9690	Trigger *ExecutionTrigger `locationName:"trigger" type:"structure"`
9691}
9692
9693// String returns the string representation
9694func (s PipelineExecutionSummary) String() string {
9695	return awsutil.Prettify(s)
9696}
9697
9698// GoString returns the string representation
9699func (s PipelineExecutionSummary) GoString() string {
9700	return s.String()
9701}
9702
9703// SetLastUpdateTime sets the LastUpdateTime field's value.
9704func (s *PipelineExecutionSummary) SetLastUpdateTime(v time.Time) *PipelineExecutionSummary {
9705	s.LastUpdateTime = &v
9706	return s
9707}
9708
9709// SetPipelineExecutionId sets the PipelineExecutionId field's value.
9710func (s *PipelineExecutionSummary) SetPipelineExecutionId(v string) *PipelineExecutionSummary {
9711	s.PipelineExecutionId = &v
9712	return s
9713}
9714
9715// SetSourceRevisions sets the SourceRevisions field's value.
9716func (s *PipelineExecutionSummary) SetSourceRevisions(v []*SourceRevision) *PipelineExecutionSummary {
9717	s.SourceRevisions = v
9718	return s
9719}
9720
9721// SetStartTime sets the StartTime field's value.
9722func (s *PipelineExecutionSummary) SetStartTime(v time.Time) *PipelineExecutionSummary {
9723	s.StartTime = &v
9724	return s
9725}
9726
9727// SetStatus sets the Status field's value.
9728func (s *PipelineExecutionSummary) SetStatus(v string) *PipelineExecutionSummary {
9729	s.Status = &v
9730	return s
9731}
9732
9733// SetStopTrigger sets the StopTrigger field's value.
9734func (s *PipelineExecutionSummary) SetStopTrigger(v *StopExecutionTrigger) *PipelineExecutionSummary {
9735	s.StopTrigger = v
9736	return s
9737}
9738
9739// SetTrigger sets the Trigger field's value.
9740func (s *PipelineExecutionSummary) SetTrigger(v *ExecutionTrigger) *PipelineExecutionSummary {
9741	s.Trigger = v
9742	return s
9743}
9744
9745// Information about a pipeline.
9746type PipelineMetadata struct {
9747	_ struct{} `type:"structure"`
9748
9749	// The date and time the pipeline was created, in timestamp format.
9750	Created *time.Time `locationName:"created" type:"timestamp"`
9751
9752	// The Amazon Resource Name (ARN) of the pipeline.
9753	PipelineArn *string `locationName:"pipelineArn" type:"string"`
9754
9755	// The date and time the pipeline was last updated, in timestamp format.
9756	Updated *time.Time `locationName:"updated" type:"timestamp"`
9757}
9758
9759// String returns the string representation
9760func (s PipelineMetadata) String() string {
9761	return awsutil.Prettify(s)
9762}
9763
9764// GoString returns the string representation
9765func (s PipelineMetadata) GoString() string {
9766	return s.String()
9767}
9768
9769// SetCreated sets the Created field's value.
9770func (s *PipelineMetadata) SetCreated(v time.Time) *PipelineMetadata {
9771	s.Created = &v
9772	return s
9773}
9774
9775// SetPipelineArn sets the PipelineArn field's value.
9776func (s *PipelineMetadata) SetPipelineArn(v string) *PipelineMetadata {
9777	s.PipelineArn = &v
9778	return s
9779}
9780
9781// SetUpdated sets the Updated field's value.
9782func (s *PipelineMetadata) SetUpdated(v time.Time) *PipelineMetadata {
9783	s.Updated = &v
9784	return s
9785}
9786
9787// The specified pipeline name is already in use.
9788type PipelineNameInUseException struct {
9789	_            struct{}                  `type:"structure"`
9790	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9791
9792	Message_ *string `locationName:"message" type:"string"`
9793}
9794
9795// String returns the string representation
9796func (s PipelineNameInUseException) String() string {
9797	return awsutil.Prettify(s)
9798}
9799
9800// GoString returns the string representation
9801func (s PipelineNameInUseException) GoString() string {
9802	return s.String()
9803}
9804
9805func newErrorPipelineNameInUseException(v protocol.ResponseMetadata) error {
9806	return &PipelineNameInUseException{
9807		RespMetadata: v,
9808	}
9809}
9810
9811// Code returns the exception type name.
9812func (s *PipelineNameInUseException) Code() string {
9813	return "PipelineNameInUseException"
9814}
9815
9816// Message returns the exception's message.
9817func (s *PipelineNameInUseException) Message() string {
9818	if s.Message_ != nil {
9819		return *s.Message_
9820	}
9821	return ""
9822}
9823
9824// OrigErr always returns nil, satisfies awserr.Error interface.
9825func (s *PipelineNameInUseException) OrigErr() error {
9826	return nil
9827}
9828
9829func (s *PipelineNameInUseException) Error() string {
9830	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9831}
9832
9833// Status code returns the HTTP status code for the request's response error.
9834func (s *PipelineNameInUseException) StatusCode() int {
9835	return s.RespMetadata.StatusCode
9836}
9837
9838// RequestID returns the service's response RequestID for request.
9839func (s *PipelineNameInUseException) RequestID() string {
9840	return s.RespMetadata.RequestID
9841}
9842
9843// The pipeline was specified in an invalid format or cannot be found.
9844type PipelineNotFoundException struct {
9845	_            struct{}                  `type:"structure"`
9846	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9847
9848	Message_ *string `locationName:"message" type:"string"`
9849}
9850
9851// String returns the string representation
9852func (s PipelineNotFoundException) String() string {
9853	return awsutil.Prettify(s)
9854}
9855
9856// GoString returns the string representation
9857func (s PipelineNotFoundException) GoString() string {
9858	return s.String()
9859}
9860
9861func newErrorPipelineNotFoundException(v protocol.ResponseMetadata) error {
9862	return &PipelineNotFoundException{
9863		RespMetadata: v,
9864	}
9865}
9866
9867// Code returns the exception type name.
9868func (s *PipelineNotFoundException) Code() string {
9869	return "PipelineNotFoundException"
9870}
9871
9872// Message returns the exception's message.
9873func (s *PipelineNotFoundException) Message() string {
9874	if s.Message_ != nil {
9875		return *s.Message_
9876	}
9877	return ""
9878}
9879
9880// OrigErr always returns nil, satisfies awserr.Error interface.
9881func (s *PipelineNotFoundException) OrigErr() error {
9882	return nil
9883}
9884
9885func (s *PipelineNotFoundException) Error() string {
9886	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9887}
9888
9889// Status code returns the HTTP status code for the request's response error.
9890func (s *PipelineNotFoundException) StatusCode() int {
9891	return s.RespMetadata.StatusCode
9892}
9893
9894// RequestID returns the service's response RequestID for request.
9895func (s *PipelineNotFoundException) RequestID() string {
9896	return s.RespMetadata.RequestID
9897}
9898
9899// Returns a summary of a pipeline.
9900type PipelineSummary struct {
9901	_ struct{} `type:"structure"`
9902
9903	// The date and time the pipeline was created, in timestamp format.
9904	Created *time.Time `locationName:"created" type:"timestamp"`
9905
9906	// The name of the pipeline.
9907	Name *string `locationName:"name" min:"1" type:"string"`
9908
9909	// The date and time of the last update to the pipeline, in timestamp format.
9910	Updated *time.Time `locationName:"updated" type:"timestamp"`
9911
9912	// The version number of the pipeline.
9913	Version *int64 `locationName:"version" min:"1" type:"integer"`
9914}
9915
9916// String returns the string representation
9917func (s PipelineSummary) String() string {
9918	return awsutil.Prettify(s)
9919}
9920
9921// GoString returns the string representation
9922func (s PipelineSummary) GoString() string {
9923	return s.String()
9924}
9925
9926// SetCreated sets the Created field's value.
9927func (s *PipelineSummary) SetCreated(v time.Time) *PipelineSummary {
9928	s.Created = &v
9929	return s
9930}
9931
9932// SetName sets the Name field's value.
9933func (s *PipelineSummary) SetName(v string) *PipelineSummary {
9934	s.Name = &v
9935	return s
9936}
9937
9938// SetUpdated sets the Updated field's value.
9939func (s *PipelineSummary) SetUpdated(v time.Time) *PipelineSummary {
9940	s.Updated = &v
9941	return s
9942}
9943
9944// SetVersion sets the Version field's value.
9945func (s *PipelineSummary) SetVersion(v int64) *PipelineSummary {
9946	s.Version = &v
9947	return s
9948}
9949
9950// The pipeline version was specified in an invalid format or cannot be found.
9951type PipelineVersionNotFoundException struct {
9952	_            struct{}                  `type:"structure"`
9953	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9954
9955	Message_ *string `locationName:"message" type:"string"`
9956}
9957
9958// String returns the string representation
9959func (s PipelineVersionNotFoundException) String() string {
9960	return awsutil.Prettify(s)
9961}
9962
9963// GoString returns the string representation
9964func (s PipelineVersionNotFoundException) GoString() string {
9965	return s.String()
9966}
9967
9968func newErrorPipelineVersionNotFoundException(v protocol.ResponseMetadata) error {
9969	return &PipelineVersionNotFoundException{
9970		RespMetadata: v,
9971	}
9972}
9973
9974// Code returns the exception type name.
9975func (s *PipelineVersionNotFoundException) Code() string {
9976	return "PipelineVersionNotFoundException"
9977}
9978
9979// Message returns the exception's message.
9980func (s *PipelineVersionNotFoundException) Message() string {
9981	if s.Message_ != nil {
9982		return *s.Message_
9983	}
9984	return ""
9985}
9986
9987// OrigErr always returns nil, satisfies awserr.Error interface.
9988func (s *PipelineVersionNotFoundException) OrigErr() error {
9989	return nil
9990}
9991
9992func (s *PipelineVersionNotFoundException) Error() string {
9993	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9994}
9995
9996// Status code returns the HTTP status code for the request's response error.
9997func (s *PipelineVersionNotFoundException) StatusCode() int {
9998	return s.RespMetadata.StatusCode
9999}
10000
10001// RequestID returns the service's response RequestID for request.
10002func (s *PipelineVersionNotFoundException) RequestID() string {
10003	return s.RespMetadata.RequestID
10004}
10005
10006// Represents the input of a PollForJobs action.
10007type PollForJobsInput struct {
10008	_ struct{} `type:"structure"`
10009
10010	// Represents information about an action type.
10011	//
10012	// ActionTypeId is a required field
10013	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure" required:"true"`
10014
10015	// The maximum number of jobs to return in a poll for jobs call.
10016	MaxBatchSize *int64 `locationName:"maxBatchSize" min:"1" type:"integer"`
10017
10018	// A map of property names and values. For an action type with no queryable
10019	// properties, this value must be null or an empty map. For an action type with
10020	// a queryable property, you must supply that property as a key in the map.
10021	// Only jobs whose action configuration matches the mapped value are returned.
10022	QueryParam map[string]*string `locationName:"queryParam" type:"map"`
10023}
10024
10025// String returns the string representation
10026func (s PollForJobsInput) String() string {
10027	return awsutil.Prettify(s)
10028}
10029
10030// GoString returns the string representation
10031func (s PollForJobsInput) GoString() string {
10032	return s.String()
10033}
10034
10035// Validate inspects the fields of the type to determine if they are valid.
10036func (s *PollForJobsInput) Validate() error {
10037	invalidParams := request.ErrInvalidParams{Context: "PollForJobsInput"}
10038	if s.ActionTypeId == nil {
10039		invalidParams.Add(request.NewErrParamRequired("ActionTypeId"))
10040	}
10041	if s.MaxBatchSize != nil && *s.MaxBatchSize < 1 {
10042		invalidParams.Add(request.NewErrParamMinValue("MaxBatchSize", 1))
10043	}
10044	if s.ActionTypeId != nil {
10045		if err := s.ActionTypeId.Validate(); err != nil {
10046			invalidParams.AddNested("ActionTypeId", err.(request.ErrInvalidParams))
10047		}
10048	}
10049
10050	if invalidParams.Len() > 0 {
10051		return invalidParams
10052	}
10053	return nil
10054}
10055
10056// SetActionTypeId sets the ActionTypeId field's value.
10057func (s *PollForJobsInput) SetActionTypeId(v *ActionTypeId) *PollForJobsInput {
10058	s.ActionTypeId = v
10059	return s
10060}
10061
10062// SetMaxBatchSize sets the MaxBatchSize field's value.
10063func (s *PollForJobsInput) SetMaxBatchSize(v int64) *PollForJobsInput {
10064	s.MaxBatchSize = &v
10065	return s
10066}
10067
10068// SetQueryParam sets the QueryParam field's value.
10069func (s *PollForJobsInput) SetQueryParam(v map[string]*string) *PollForJobsInput {
10070	s.QueryParam = v
10071	return s
10072}
10073
10074// Represents the output of a PollForJobs action.
10075type PollForJobsOutput struct {
10076	_ struct{} `type:"structure"`
10077
10078	// Information about the jobs to take action on.
10079	Jobs []*Job `locationName:"jobs" type:"list"`
10080}
10081
10082// String returns the string representation
10083func (s PollForJobsOutput) String() string {
10084	return awsutil.Prettify(s)
10085}
10086
10087// GoString returns the string representation
10088func (s PollForJobsOutput) GoString() string {
10089	return s.String()
10090}
10091
10092// SetJobs sets the Jobs field's value.
10093func (s *PollForJobsOutput) SetJobs(v []*Job) *PollForJobsOutput {
10094	s.Jobs = v
10095	return s
10096}
10097
10098// Represents the input of a PollForThirdPartyJobs action.
10099type PollForThirdPartyJobsInput struct {
10100	_ struct{} `type:"structure"`
10101
10102	// Represents information about an action type.
10103	//
10104	// ActionTypeId is a required field
10105	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure" required:"true"`
10106
10107	// The maximum number of jobs to return in a poll for jobs call.
10108	MaxBatchSize *int64 `locationName:"maxBatchSize" min:"1" type:"integer"`
10109}
10110
10111// String returns the string representation
10112func (s PollForThirdPartyJobsInput) String() string {
10113	return awsutil.Prettify(s)
10114}
10115
10116// GoString returns the string representation
10117func (s PollForThirdPartyJobsInput) GoString() string {
10118	return s.String()
10119}
10120
10121// Validate inspects the fields of the type to determine if they are valid.
10122func (s *PollForThirdPartyJobsInput) Validate() error {
10123	invalidParams := request.ErrInvalidParams{Context: "PollForThirdPartyJobsInput"}
10124	if s.ActionTypeId == nil {
10125		invalidParams.Add(request.NewErrParamRequired("ActionTypeId"))
10126	}
10127	if s.MaxBatchSize != nil && *s.MaxBatchSize < 1 {
10128		invalidParams.Add(request.NewErrParamMinValue("MaxBatchSize", 1))
10129	}
10130	if s.ActionTypeId != nil {
10131		if err := s.ActionTypeId.Validate(); err != nil {
10132			invalidParams.AddNested("ActionTypeId", err.(request.ErrInvalidParams))
10133		}
10134	}
10135
10136	if invalidParams.Len() > 0 {
10137		return invalidParams
10138	}
10139	return nil
10140}
10141
10142// SetActionTypeId sets the ActionTypeId field's value.
10143func (s *PollForThirdPartyJobsInput) SetActionTypeId(v *ActionTypeId) *PollForThirdPartyJobsInput {
10144	s.ActionTypeId = v
10145	return s
10146}
10147
10148// SetMaxBatchSize sets the MaxBatchSize field's value.
10149func (s *PollForThirdPartyJobsInput) SetMaxBatchSize(v int64) *PollForThirdPartyJobsInput {
10150	s.MaxBatchSize = &v
10151	return s
10152}
10153
10154// Represents the output of a PollForThirdPartyJobs action.
10155type PollForThirdPartyJobsOutput struct {
10156	_ struct{} `type:"structure"`
10157
10158	// Information about the jobs to take action on.
10159	Jobs []*ThirdPartyJob `locationName:"jobs" type:"list"`
10160}
10161
10162// String returns the string representation
10163func (s PollForThirdPartyJobsOutput) String() string {
10164	return awsutil.Prettify(s)
10165}
10166
10167// GoString returns the string representation
10168func (s PollForThirdPartyJobsOutput) GoString() string {
10169	return s.String()
10170}
10171
10172// SetJobs sets the Jobs field's value.
10173func (s *PollForThirdPartyJobsOutput) SetJobs(v []*ThirdPartyJob) *PollForThirdPartyJobsOutput {
10174	s.Jobs = v
10175	return s
10176}
10177
10178// Represents the input of a PutActionRevision action.
10179type PutActionRevisionInput struct {
10180	_ struct{} `type:"structure"`
10181
10182	// The name of the action that processes the revision.
10183	//
10184	// ActionName is a required field
10185	ActionName *string `locationName:"actionName" min:"1" type:"string" required:"true"`
10186
10187	// Represents information about the version (or revision) of an action.
10188	//
10189	// ActionRevision is a required field
10190	ActionRevision *ActionRevision `locationName:"actionRevision" type:"structure" required:"true"`
10191
10192	// The name of the pipeline that starts processing the revision to the source.
10193	//
10194	// PipelineName is a required field
10195	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
10196
10197	// The name of the stage that contains the action that acts on the revision.
10198	//
10199	// StageName is a required field
10200	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
10201}
10202
10203// String returns the string representation
10204func (s PutActionRevisionInput) String() string {
10205	return awsutil.Prettify(s)
10206}
10207
10208// GoString returns the string representation
10209func (s PutActionRevisionInput) GoString() string {
10210	return s.String()
10211}
10212
10213// Validate inspects the fields of the type to determine if they are valid.
10214func (s *PutActionRevisionInput) Validate() error {
10215	invalidParams := request.ErrInvalidParams{Context: "PutActionRevisionInput"}
10216	if s.ActionName == nil {
10217		invalidParams.Add(request.NewErrParamRequired("ActionName"))
10218	}
10219	if s.ActionName != nil && len(*s.ActionName) < 1 {
10220		invalidParams.Add(request.NewErrParamMinLen("ActionName", 1))
10221	}
10222	if s.ActionRevision == nil {
10223		invalidParams.Add(request.NewErrParamRequired("ActionRevision"))
10224	}
10225	if s.PipelineName == nil {
10226		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
10227	}
10228	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
10229		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
10230	}
10231	if s.StageName == nil {
10232		invalidParams.Add(request.NewErrParamRequired("StageName"))
10233	}
10234	if s.StageName != nil && len(*s.StageName) < 1 {
10235		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
10236	}
10237	if s.ActionRevision != nil {
10238		if err := s.ActionRevision.Validate(); err != nil {
10239			invalidParams.AddNested("ActionRevision", err.(request.ErrInvalidParams))
10240		}
10241	}
10242
10243	if invalidParams.Len() > 0 {
10244		return invalidParams
10245	}
10246	return nil
10247}
10248
10249// SetActionName sets the ActionName field's value.
10250func (s *PutActionRevisionInput) SetActionName(v string) *PutActionRevisionInput {
10251	s.ActionName = &v
10252	return s
10253}
10254
10255// SetActionRevision sets the ActionRevision field's value.
10256func (s *PutActionRevisionInput) SetActionRevision(v *ActionRevision) *PutActionRevisionInput {
10257	s.ActionRevision = v
10258	return s
10259}
10260
10261// SetPipelineName sets the PipelineName field's value.
10262func (s *PutActionRevisionInput) SetPipelineName(v string) *PutActionRevisionInput {
10263	s.PipelineName = &v
10264	return s
10265}
10266
10267// SetStageName sets the StageName field's value.
10268func (s *PutActionRevisionInput) SetStageName(v string) *PutActionRevisionInput {
10269	s.StageName = &v
10270	return s
10271}
10272
10273// Represents the output of a PutActionRevision action.
10274type PutActionRevisionOutput struct {
10275	_ struct{} `type:"structure"`
10276
10277	// Indicates whether the artifact revision was previously used in an execution
10278	// of the specified pipeline.
10279	NewRevision *bool `locationName:"newRevision" type:"boolean"`
10280
10281	// The ID of the current workflow state of the pipeline.
10282	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
10283}
10284
10285// String returns the string representation
10286func (s PutActionRevisionOutput) String() string {
10287	return awsutil.Prettify(s)
10288}
10289
10290// GoString returns the string representation
10291func (s PutActionRevisionOutput) GoString() string {
10292	return s.String()
10293}
10294
10295// SetNewRevision sets the NewRevision field's value.
10296func (s *PutActionRevisionOutput) SetNewRevision(v bool) *PutActionRevisionOutput {
10297	s.NewRevision = &v
10298	return s
10299}
10300
10301// SetPipelineExecutionId sets the PipelineExecutionId field's value.
10302func (s *PutActionRevisionOutput) SetPipelineExecutionId(v string) *PutActionRevisionOutput {
10303	s.PipelineExecutionId = &v
10304	return s
10305}
10306
10307// Represents the input of a PutApprovalResult action.
10308type PutApprovalResultInput struct {
10309	_ struct{} `type:"structure"`
10310
10311	// The name of the action for which approval is requested.
10312	//
10313	// ActionName is a required field
10314	ActionName *string `locationName:"actionName" min:"1" type:"string" required:"true"`
10315
10316	// The name of the pipeline that contains the action.
10317	//
10318	// PipelineName is a required field
10319	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
10320
10321	// Represents information about the result of the approval request.
10322	//
10323	// Result is a required field
10324	Result *ApprovalResult `locationName:"result" type:"structure" required:"true"`
10325
10326	// The name of the stage that contains the action.
10327	//
10328	// StageName is a required field
10329	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
10330
10331	// The system-generated token used to identify a unique approval request. The
10332	// token for each open approval request can be obtained using the GetPipelineState
10333	// action. It is used to validate that the approval request corresponding to
10334	// this token is still valid.
10335	//
10336	// Token is a required field
10337	Token *string `locationName:"token" type:"string" required:"true"`
10338}
10339
10340// String returns the string representation
10341func (s PutApprovalResultInput) String() string {
10342	return awsutil.Prettify(s)
10343}
10344
10345// GoString returns the string representation
10346func (s PutApprovalResultInput) GoString() string {
10347	return s.String()
10348}
10349
10350// Validate inspects the fields of the type to determine if they are valid.
10351func (s *PutApprovalResultInput) Validate() error {
10352	invalidParams := request.ErrInvalidParams{Context: "PutApprovalResultInput"}
10353	if s.ActionName == nil {
10354		invalidParams.Add(request.NewErrParamRequired("ActionName"))
10355	}
10356	if s.ActionName != nil && len(*s.ActionName) < 1 {
10357		invalidParams.Add(request.NewErrParamMinLen("ActionName", 1))
10358	}
10359	if s.PipelineName == nil {
10360		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
10361	}
10362	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
10363		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
10364	}
10365	if s.Result == nil {
10366		invalidParams.Add(request.NewErrParamRequired("Result"))
10367	}
10368	if s.StageName == nil {
10369		invalidParams.Add(request.NewErrParamRequired("StageName"))
10370	}
10371	if s.StageName != nil && len(*s.StageName) < 1 {
10372		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
10373	}
10374	if s.Token == nil {
10375		invalidParams.Add(request.NewErrParamRequired("Token"))
10376	}
10377	if s.Result != nil {
10378		if err := s.Result.Validate(); err != nil {
10379			invalidParams.AddNested("Result", err.(request.ErrInvalidParams))
10380		}
10381	}
10382
10383	if invalidParams.Len() > 0 {
10384		return invalidParams
10385	}
10386	return nil
10387}
10388
10389// SetActionName sets the ActionName field's value.
10390func (s *PutApprovalResultInput) SetActionName(v string) *PutApprovalResultInput {
10391	s.ActionName = &v
10392	return s
10393}
10394
10395// SetPipelineName sets the PipelineName field's value.
10396func (s *PutApprovalResultInput) SetPipelineName(v string) *PutApprovalResultInput {
10397	s.PipelineName = &v
10398	return s
10399}
10400
10401// SetResult sets the Result field's value.
10402func (s *PutApprovalResultInput) SetResult(v *ApprovalResult) *PutApprovalResultInput {
10403	s.Result = v
10404	return s
10405}
10406
10407// SetStageName sets the StageName field's value.
10408func (s *PutApprovalResultInput) SetStageName(v string) *PutApprovalResultInput {
10409	s.StageName = &v
10410	return s
10411}
10412
10413// SetToken sets the Token field's value.
10414func (s *PutApprovalResultInput) SetToken(v string) *PutApprovalResultInput {
10415	s.Token = &v
10416	return s
10417}
10418
10419// Represents the output of a PutApprovalResult action.
10420type PutApprovalResultOutput struct {
10421	_ struct{} `type:"structure"`
10422
10423	// The timestamp showing when the approval or rejection was submitted.
10424	ApprovedAt *time.Time `locationName:"approvedAt" type:"timestamp"`
10425}
10426
10427// String returns the string representation
10428func (s PutApprovalResultOutput) String() string {
10429	return awsutil.Prettify(s)
10430}
10431
10432// GoString returns the string representation
10433func (s PutApprovalResultOutput) GoString() string {
10434	return s.String()
10435}
10436
10437// SetApprovedAt sets the ApprovedAt field's value.
10438func (s *PutApprovalResultOutput) SetApprovedAt(v time.Time) *PutApprovalResultOutput {
10439	s.ApprovedAt = &v
10440	return s
10441}
10442
10443// Represents the input of a PutJobFailureResult action.
10444type PutJobFailureResultInput struct {
10445	_ struct{} `type:"structure"`
10446
10447	// The details about the failure of a job.
10448	//
10449	// FailureDetails is a required field
10450	FailureDetails *FailureDetails `locationName:"failureDetails" type:"structure" required:"true"`
10451
10452	// The unique system-generated ID of the job that failed. This is the same ID
10453	// returned from PollForJobs.
10454	//
10455	// JobId is a required field
10456	JobId *string `locationName:"jobId" type:"string" required:"true"`
10457}
10458
10459// String returns the string representation
10460func (s PutJobFailureResultInput) String() string {
10461	return awsutil.Prettify(s)
10462}
10463
10464// GoString returns the string representation
10465func (s PutJobFailureResultInput) GoString() string {
10466	return s.String()
10467}
10468
10469// Validate inspects the fields of the type to determine if they are valid.
10470func (s *PutJobFailureResultInput) Validate() error {
10471	invalidParams := request.ErrInvalidParams{Context: "PutJobFailureResultInput"}
10472	if s.FailureDetails == nil {
10473		invalidParams.Add(request.NewErrParamRequired("FailureDetails"))
10474	}
10475	if s.JobId == nil {
10476		invalidParams.Add(request.NewErrParamRequired("JobId"))
10477	}
10478	if s.FailureDetails != nil {
10479		if err := s.FailureDetails.Validate(); err != nil {
10480			invalidParams.AddNested("FailureDetails", err.(request.ErrInvalidParams))
10481		}
10482	}
10483
10484	if invalidParams.Len() > 0 {
10485		return invalidParams
10486	}
10487	return nil
10488}
10489
10490// SetFailureDetails sets the FailureDetails field's value.
10491func (s *PutJobFailureResultInput) SetFailureDetails(v *FailureDetails) *PutJobFailureResultInput {
10492	s.FailureDetails = v
10493	return s
10494}
10495
10496// SetJobId sets the JobId field's value.
10497func (s *PutJobFailureResultInput) SetJobId(v string) *PutJobFailureResultInput {
10498	s.JobId = &v
10499	return s
10500}
10501
10502type PutJobFailureResultOutput struct {
10503	_ struct{} `type:"structure"`
10504}
10505
10506// String returns the string representation
10507func (s PutJobFailureResultOutput) String() string {
10508	return awsutil.Prettify(s)
10509}
10510
10511// GoString returns the string representation
10512func (s PutJobFailureResultOutput) GoString() string {
10513	return s.String()
10514}
10515
10516// Represents the input of a PutJobSuccessResult action.
10517type PutJobSuccessResultInput struct {
10518	_ struct{} `type:"structure"`
10519
10520	// A token generated by a job worker, such as an AWS CodeDeploy deployment ID,
10521	// that a successful job provides to identify a custom action in progress. Future
10522	// jobs use this token to identify the running instance of the action. It can
10523	// be reused to return more information about the progress of the custom action.
10524	// When the action is complete, no continuation token should be supplied.
10525	ContinuationToken *string `locationName:"continuationToken" min:"1" type:"string"`
10526
10527	// The ID of the current revision of the artifact successfully worked on by
10528	// the job.
10529	CurrentRevision *CurrentRevision `locationName:"currentRevision" type:"structure"`
10530
10531	// The execution details of the successful job, such as the actions taken by
10532	// the job worker.
10533	ExecutionDetails *ExecutionDetails `locationName:"executionDetails" type:"structure"`
10534
10535	// The unique system-generated ID of the job that succeeded. This is the same
10536	// ID returned from PollForJobs.
10537	//
10538	// JobId is a required field
10539	JobId *string `locationName:"jobId" type:"string" required:"true"`
10540
10541	// Key-value pairs produced as output by a job worker that can be made available
10542	// to a downstream action configuration. outputVariables can be included only
10543	// when there is no continuation token on the request.
10544	OutputVariables map[string]*string `locationName:"outputVariables" type:"map"`
10545}
10546
10547// String returns the string representation
10548func (s PutJobSuccessResultInput) String() string {
10549	return awsutil.Prettify(s)
10550}
10551
10552// GoString returns the string representation
10553func (s PutJobSuccessResultInput) GoString() string {
10554	return s.String()
10555}
10556
10557// Validate inspects the fields of the type to determine if they are valid.
10558func (s *PutJobSuccessResultInput) Validate() error {
10559	invalidParams := request.ErrInvalidParams{Context: "PutJobSuccessResultInput"}
10560	if s.ContinuationToken != nil && len(*s.ContinuationToken) < 1 {
10561		invalidParams.Add(request.NewErrParamMinLen("ContinuationToken", 1))
10562	}
10563	if s.JobId == nil {
10564		invalidParams.Add(request.NewErrParamRequired("JobId"))
10565	}
10566	if s.CurrentRevision != nil {
10567		if err := s.CurrentRevision.Validate(); err != nil {
10568			invalidParams.AddNested("CurrentRevision", err.(request.ErrInvalidParams))
10569		}
10570	}
10571	if s.ExecutionDetails != nil {
10572		if err := s.ExecutionDetails.Validate(); err != nil {
10573			invalidParams.AddNested("ExecutionDetails", err.(request.ErrInvalidParams))
10574		}
10575	}
10576
10577	if invalidParams.Len() > 0 {
10578		return invalidParams
10579	}
10580	return nil
10581}
10582
10583// SetContinuationToken sets the ContinuationToken field's value.
10584func (s *PutJobSuccessResultInput) SetContinuationToken(v string) *PutJobSuccessResultInput {
10585	s.ContinuationToken = &v
10586	return s
10587}
10588
10589// SetCurrentRevision sets the CurrentRevision field's value.
10590func (s *PutJobSuccessResultInput) SetCurrentRevision(v *CurrentRevision) *PutJobSuccessResultInput {
10591	s.CurrentRevision = v
10592	return s
10593}
10594
10595// SetExecutionDetails sets the ExecutionDetails field's value.
10596func (s *PutJobSuccessResultInput) SetExecutionDetails(v *ExecutionDetails) *PutJobSuccessResultInput {
10597	s.ExecutionDetails = v
10598	return s
10599}
10600
10601// SetJobId sets the JobId field's value.
10602func (s *PutJobSuccessResultInput) SetJobId(v string) *PutJobSuccessResultInput {
10603	s.JobId = &v
10604	return s
10605}
10606
10607// SetOutputVariables sets the OutputVariables field's value.
10608func (s *PutJobSuccessResultInput) SetOutputVariables(v map[string]*string) *PutJobSuccessResultInput {
10609	s.OutputVariables = v
10610	return s
10611}
10612
10613type PutJobSuccessResultOutput struct {
10614	_ struct{} `type:"structure"`
10615}
10616
10617// String returns the string representation
10618func (s PutJobSuccessResultOutput) String() string {
10619	return awsutil.Prettify(s)
10620}
10621
10622// GoString returns the string representation
10623func (s PutJobSuccessResultOutput) GoString() string {
10624	return s.String()
10625}
10626
10627// Represents the input of a PutThirdPartyJobFailureResult action.
10628type PutThirdPartyJobFailureResultInput struct {
10629	_ struct{} `type:"structure"`
10630
10631	// The clientToken portion of the clientId and clientToken pair used to verify
10632	// that the calling entity is allowed access to the job and its details.
10633	//
10634	// ClientToken is a required field
10635	ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"`
10636
10637	// Represents information about failure details.
10638	//
10639	// FailureDetails is a required field
10640	FailureDetails *FailureDetails `locationName:"failureDetails" type:"structure" required:"true"`
10641
10642	// The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.
10643	//
10644	// JobId is a required field
10645	JobId *string `locationName:"jobId" min:"1" type:"string" required:"true"`
10646}
10647
10648// String returns the string representation
10649func (s PutThirdPartyJobFailureResultInput) String() string {
10650	return awsutil.Prettify(s)
10651}
10652
10653// GoString returns the string representation
10654func (s PutThirdPartyJobFailureResultInput) GoString() string {
10655	return s.String()
10656}
10657
10658// Validate inspects the fields of the type to determine if they are valid.
10659func (s *PutThirdPartyJobFailureResultInput) Validate() error {
10660	invalidParams := request.ErrInvalidParams{Context: "PutThirdPartyJobFailureResultInput"}
10661	if s.ClientToken == nil {
10662		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
10663	}
10664	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
10665		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
10666	}
10667	if s.FailureDetails == nil {
10668		invalidParams.Add(request.NewErrParamRequired("FailureDetails"))
10669	}
10670	if s.JobId == nil {
10671		invalidParams.Add(request.NewErrParamRequired("JobId"))
10672	}
10673	if s.JobId != nil && len(*s.JobId) < 1 {
10674		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
10675	}
10676	if s.FailureDetails != nil {
10677		if err := s.FailureDetails.Validate(); err != nil {
10678			invalidParams.AddNested("FailureDetails", err.(request.ErrInvalidParams))
10679		}
10680	}
10681
10682	if invalidParams.Len() > 0 {
10683		return invalidParams
10684	}
10685	return nil
10686}
10687
10688// SetClientToken sets the ClientToken field's value.
10689func (s *PutThirdPartyJobFailureResultInput) SetClientToken(v string) *PutThirdPartyJobFailureResultInput {
10690	s.ClientToken = &v
10691	return s
10692}
10693
10694// SetFailureDetails sets the FailureDetails field's value.
10695func (s *PutThirdPartyJobFailureResultInput) SetFailureDetails(v *FailureDetails) *PutThirdPartyJobFailureResultInput {
10696	s.FailureDetails = v
10697	return s
10698}
10699
10700// SetJobId sets the JobId field's value.
10701func (s *PutThirdPartyJobFailureResultInput) SetJobId(v string) *PutThirdPartyJobFailureResultInput {
10702	s.JobId = &v
10703	return s
10704}
10705
10706type PutThirdPartyJobFailureResultOutput struct {
10707	_ struct{} `type:"structure"`
10708}
10709
10710// String returns the string representation
10711func (s PutThirdPartyJobFailureResultOutput) String() string {
10712	return awsutil.Prettify(s)
10713}
10714
10715// GoString returns the string representation
10716func (s PutThirdPartyJobFailureResultOutput) GoString() string {
10717	return s.String()
10718}
10719
10720// Represents the input of a PutThirdPartyJobSuccessResult action.
10721type PutThirdPartyJobSuccessResultInput struct {
10722	_ struct{} `type:"structure"`
10723
10724	// The clientToken portion of the clientId and clientToken pair used to verify
10725	// that the calling entity is allowed access to the job and its details.
10726	//
10727	// ClientToken is a required field
10728	ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"`
10729
10730	// A token generated by a job worker, such as an AWS CodeDeploy deployment ID,
10731	// that a successful job provides to identify a partner action in progress.
10732	// Future jobs use this token to identify the running instance of the action.
10733	// It can be reused to return more information about the progress of the partner
10734	// action. When the action is complete, no continuation token should be supplied.
10735	ContinuationToken *string `locationName:"continuationToken" min:"1" type:"string"`
10736
10737	// Represents information about a current revision.
10738	CurrentRevision *CurrentRevision `locationName:"currentRevision" type:"structure"`
10739
10740	// The details of the actions taken and results produced on an artifact as it
10741	// passes through stages in the pipeline.
10742	ExecutionDetails *ExecutionDetails `locationName:"executionDetails" type:"structure"`
10743
10744	// The ID of the job that successfully completed. This is the same ID returned
10745	// from PollForThirdPartyJobs.
10746	//
10747	// JobId is a required field
10748	JobId *string `locationName:"jobId" min:"1" type:"string" required:"true"`
10749}
10750
10751// String returns the string representation
10752func (s PutThirdPartyJobSuccessResultInput) String() string {
10753	return awsutil.Prettify(s)
10754}
10755
10756// GoString returns the string representation
10757func (s PutThirdPartyJobSuccessResultInput) GoString() string {
10758	return s.String()
10759}
10760
10761// Validate inspects the fields of the type to determine if they are valid.
10762func (s *PutThirdPartyJobSuccessResultInput) Validate() error {
10763	invalidParams := request.ErrInvalidParams{Context: "PutThirdPartyJobSuccessResultInput"}
10764	if s.ClientToken == nil {
10765		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
10766	}
10767	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
10768		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
10769	}
10770	if s.ContinuationToken != nil && len(*s.ContinuationToken) < 1 {
10771		invalidParams.Add(request.NewErrParamMinLen("ContinuationToken", 1))
10772	}
10773	if s.JobId == nil {
10774		invalidParams.Add(request.NewErrParamRequired("JobId"))
10775	}
10776	if s.JobId != nil && len(*s.JobId) < 1 {
10777		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
10778	}
10779	if s.CurrentRevision != nil {
10780		if err := s.CurrentRevision.Validate(); err != nil {
10781			invalidParams.AddNested("CurrentRevision", err.(request.ErrInvalidParams))
10782		}
10783	}
10784	if s.ExecutionDetails != nil {
10785		if err := s.ExecutionDetails.Validate(); err != nil {
10786			invalidParams.AddNested("ExecutionDetails", err.(request.ErrInvalidParams))
10787		}
10788	}
10789
10790	if invalidParams.Len() > 0 {
10791		return invalidParams
10792	}
10793	return nil
10794}
10795
10796// SetClientToken sets the ClientToken field's value.
10797func (s *PutThirdPartyJobSuccessResultInput) SetClientToken(v string) *PutThirdPartyJobSuccessResultInput {
10798	s.ClientToken = &v
10799	return s
10800}
10801
10802// SetContinuationToken sets the ContinuationToken field's value.
10803func (s *PutThirdPartyJobSuccessResultInput) SetContinuationToken(v string) *PutThirdPartyJobSuccessResultInput {
10804	s.ContinuationToken = &v
10805	return s
10806}
10807
10808// SetCurrentRevision sets the CurrentRevision field's value.
10809func (s *PutThirdPartyJobSuccessResultInput) SetCurrentRevision(v *CurrentRevision) *PutThirdPartyJobSuccessResultInput {
10810	s.CurrentRevision = v
10811	return s
10812}
10813
10814// SetExecutionDetails sets the ExecutionDetails field's value.
10815func (s *PutThirdPartyJobSuccessResultInput) SetExecutionDetails(v *ExecutionDetails) *PutThirdPartyJobSuccessResultInput {
10816	s.ExecutionDetails = v
10817	return s
10818}
10819
10820// SetJobId sets the JobId field's value.
10821func (s *PutThirdPartyJobSuccessResultInput) SetJobId(v string) *PutThirdPartyJobSuccessResultInput {
10822	s.JobId = &v
10823	return s
10824}
10825
10826type PutThirdPartyJobSuccessResultOutput struct {
10827	_ struct{} `type:"structure"`
10828}
10829
10830// String returns the string representation
10831func (s PutThirdPartyJobSuccessResultOutput) String() string {
10832	return awsutil.Prettify(s)
10833}
10834
10835// GoString returns the string representation
10836func (s PutThirdPartyJobSuccessResultOutput) GoString() string {
10837	return s.String()
10838}
10839
10840type PutWebhookInput struct {
10841	_ struct{} `type:"structure"`
10842
10843	// The tags for the webhook.
10844	Tags []*Tag `locationName:"tags" type:"list"`
10845
10846	// The detail provided in an input file to create the webhook, such as the webhook
10847	// name, the pipeline name, and the action name. Give the webhook a unique name
10848	// that helps you identify it. You might name the webhook after the pipeline
10849	// and action it targets so that you can easily recognize what it's used for
10850	// later.
10851	//
10852	// Webhook is a required field
10853	Webhook *WebhookDefinition `locationName:"webhook" type:"structure" required:"true"`
10854}
10855
10856// String returns the string representation
10857func (s PutWebhookInput) String() string {
10858	return awsutil.Prettify(s)
10859}
10860
10861// GoString returns the string representation
10862func (s PutWebhookInput) GoString() string {
10863	return s.String()
10864}
10865
10866// Validate inspects the fields of the type to determine if they are valid.
10867func (s *PutWebhookInput) Validate() error {
10868	invalidParams := request.ErrInvalidParams{Context: "PutWebhookInput"}
10869	if s.Webhook == nil {
10870		invalidParams.Add(request.NewErrParamRequired("Webhook"))
10871	}
10872	if s.Tags != nil {
10873		for i, v := range s.Tags {
10874			if v == nil {
10875				continue
10876			}
10877			if err := v.Validate(); err != nil {
10878				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10879			}
10880		}
10881	}
10882	if s.Webhook != nil {
10883		if err := s.Webhook.Validate(); err != nil {
10884			invalidParams.AddNested("Webhook", err.(request.ErrInvalidParams))
10885		}
10886	}
10887
10888	if invalidParams.Len() > 0 {
10889		return invalidParams
10890	}
10891	return nil
10892}
10893
10894// SetTags sets the Tags field's value.
10895func (s *PutWebhookInput) SetTags(v []*Tag) *PutWebhookInput {
10896	s.Tags = v
10897	return s
10898}
10899
10900// SetWebhook sets the Webhook field's value.
10901func (s *PutWebhookInput) SetWebhook(v *WebhookDefinition) *PutWebhookInput {
10902	s.Webhook = v
10903	return s
10904}
10905
10906type PutWebhookOutput struct {
10907	_ struct{} `type:"structure"`
10908
10909	// The detail returned from creating the webhook, such as the webhook name,
10910	// webhook URL, and webhook ARN.
10911	Webhook *ListWebhookItem `locationName:"webhook" type:"structure"`
10912}
10913
10914// String returns the string representation
10915func (s PutWebhookOutput) String() string {
10916	return awsutil.Prettify(s)
10917}
10918
10919// GoString returns the string representation
10920func (s PutWebhookOutput) GoString() string {
10921	return s.String()
10922}
10923
10924// SetWebhook sets the Webhook field's value.
10925func (s *PutWebhookOutput) SetWebhook(v *ListWebhookItem) *PutWebhookOutput {
10926	s.Webhook = v
10927	return s
10928}
10929
10930type RegisterWebhookWithThirdPartyInput struct {
10931	_ struct{} `type:"structure"`
10932
10933	// The name of an existing webhook created with PutWebhook to register with
10934	// a supported third party.
10935	WebhookName *string `locationName:"webhookName" min:"1" type:"string"`
10936}
10937
10938// String returns the string representation
10939func (s RegisterWebhookWithThirdPartyInput) String() string {
10940	return awsutil.Prettify(s)
10941}
10942
10943// GoString returns the string representation
10944func (s RegisterWebhookWithThirdPartyInput) GoString() string {
10945	return s.String()
10946}
10947
10948// Validate inspects the fields of the type to determine if they are valid.
10949func (s *RegisterWebhookWithThirdPartyInput) Validate() error {
10950	invalidParams := request.ErrInvalidParams{Context: "RegisterWebhookWithThirdPartyInput"}
10951	if s.WebhookName != nil && len(*s.WebhookName) < 1 {
10952		invalidParams.Add(request.NewErrParamMinLen("WebhookName", 1))
10953	}
10954
10955	if invalidParams.Len() > 0 {
10956		return invalidParams
10957	}
10958	return nil
10959}
10960
10961// SetWebhookName sets the WebhookName field's value.
10962func (s *RegisterWebhookWithThirdPartyInput) SetWebhookName(v string) *RegisterWebhookWithThirdPartyInput {
10963	s.WebhookName = &v
10964	return s
10965}
10966
10967type RegisterWebhookWithThirdPartyOutput struct {
10968	_ struct{} `type:"structure"`
10969}
10970
10971// String returns the string representation
10972func (s RegisterWebhookWithThirdPartyOutput) String() string {
10973	return awsutil.Prettify(s)
10974}
10975
10976// GoString returns the string representation
10977func (s RegisterWebhookWithThirdPartyOutput) GoString() string {
10978	return s.String()
10979}
10980
10981// The resource was specified in an invalid format.
10982type ResourceNotFoundException struct {
10983	_            struct{}                  `type:"structure"`
10984	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10985
10986	Message_ *string `locationName:"message" type:"string"`
10987}
10988
10989// String returns the string representation
10990func (s ResourceNotFoundException) String() string {
10991	return awsutil.Prettify(s)
10992}
10993
10994// GoString returns the string representation
10995func (s ResourceNotFoundException) GoString() string {
10996	return s.String()
10997}
10998
10999func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
11000	return &ResourceNotFoundException{
11001		RespMetadata: v,
11002	}
11003}
11004
11005// Code returns the exception type name.
11006func (s *ResourceNotFoundException) Code() string {
11007	return "ResourceNotFoundException"
11008}
11009
11010// Message returns the exception's message.
11011func (s *ResourceNotFoundException) Message() string {
11012	if s.Message_ != nil {
11013		return *s.Message_
11014	}
11015	return ""
11016}
11017
11018// OrigErr always returns nil, satisfies awserr.Error interface.
11019func (s *ResourceNotFoundException) OrigErr() error {
11020	return nil
11021}
11022
11023func (s *ResourceNotFoundException) Error() string {
11024	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11025}
11026
11027// Status code returns the HTTP status code for the request's response error.
11028func (s *ResourceNotFoundException) StatusCode() int {
11029	return s.RespMetadata.StatusCode
11030}
11031
11032// RequestID returns the service's response RequestID for request.
11033func (s *ResourceNotFoundException) RequestID() string {
11034	return s.RespMetadata.RequestID
11035}
11036
11037// Represents the input of a RetryStageExecution action.
11038type RetryStageExecutionInput struct {
11039	_ struct{} `type:"structure"`
11040
11041	// The ID of the pipeline execution in the failed stage to be retried. Use the
11042	// GetPipelineState action to retrieve the current pipelineExecutionId of the
11043	// failed stage
11044	//
11045	// PipelineExecutionId is a required field
11046	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string" required:"true"`
11047
11048	// The name of the pipeline that contains the failed stage.
11049	//
11050	// PipelineName is a required field
11051	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
11052
11053	// The scope of the retry attempt. Currently, the only supported value is FAILED_ACTIONS.
11054	//
11055	// RetryMode is a required field
11056	RetryMode *string `locationName:"retryMode" type:"string" required:"true" enum:"StageRetryMode"`
11057
11058	// The name of the failed stage to be retried.
11059	//
11060	// StageName is a required field
11061	StageName *string `locationName:"stageName" min:"1" type:"string" required:"true"`
11062}
11063
11064// String returns the string representation
11065func (s RetryStageExecutionInput) String() string {
11066	return awsutil.Prettify(s)
11067}
11068
11069// GoString returns the string representation
11070func (s RetryStageExecutionInput) GoString() string {
11071	return s.String()
11072}
11073
11074// Validate inspects the fields of the type to determine if they are valid.
11075func (s *RetryStageExecutionInput) Validate() error {
11076	invalidParams := request.ErrInvalidParams{Context: "RetryStageExecutionInput"}
11077	if s.PipelineExecutionId == nil {
11078		invalidParams.Add(request.NewErrParamRequired("PipelineExecutionId"))
11079	}
11080	if s.PipelineName == nil {
11081		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
11082	}
11083	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
11084		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
11085	}
11086	if s.RetryMode == nil {
11087		invalidParams.Add(request.NewErrParamRequired("RetryMode"))
11088	}
11089	if s.StageName == nil {
11090		invalidParams.Add(request.NewErrParamRequired("StageName"))
11091	}
11092	if s.StageName != nil && len(*s.StageName) < 1 {
11093		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
11094	}
11095
11096	if invalidParams.Len() > 0 {
11097		return invalidParams
11098	}
11099	return nil
11100}
11101
11102// SetPipelineExecutionId sets the PipelineExecutionId field's value.
11103func (s *RetryStageExecutionInput) SetPipelineExecutionId(v string) *RetryStageExecutionInput {
11104	s.PipelineExecutionId = &v
11105	return s
11106}
11107
11108// SetPipelineName sets the PipelineName field's value.
11109func (s *RetryStageExecutionInput) SetPipelineName(v string) *RetryStageExecutionInput {
11110	s.PipelineName = &v
11111	return s
11112}
11113
11114// SetRetryMode sets the RetryMode field's value.
11115func (s *RetryStageExecutionInput) SetRetryMode(v string) *RetryStageExecutionInput {
11116	s.RetryMode = &v
11117	return s
11118}
11119
11120// SetStageName sets the StageName field's value.
11121func (s *RetryStageExecutionInput) SetStageName(v string) *RetryStageExecutionInput {
11122	s.StageName = &v
11123	return s
11124}
11125
11126// Represents the output of a RetryStageExecution action.
11127type RetryStageExecutionOutput struct {
11128	_ struct{} `type:"structure"`
11129
11130	// The ID of the current workflow execution in the failed stage.
11131	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
11132}
11133
11134// String returns the string representation
11135func (s RetryStageExecutionOutput) String() string {
11136	return awsutil.Prettify(s)
11137}
11138
11139// GoString returns the string representation
11140func (s RetryStageExecutionOutput) GoString() string {
11141	return s.String()
11142}
11143
11144// SetPipelineExecutionId sets the PipelineExecutionId field's value.
11145func (s *RetryStageExecutionOutput) SetPipelineExecutionId(v string) *RetryStageExecutionOutput {
11146	s.PipelineExecutionId = &v
11147	return s
11148}
11149
11150// The location of the S3 bucket that contains a revision.
11151type S3ArtifactLocation struct {
11152	_ struct{} `type:"structure"`
11153
11154	// The name of the S3 bucket.
11155	//
11156	// BucketName is a required field
11157	BucketName *string `locationName:"bucketName" type:"string" required:"true"`
11158
11159	// The key of the object in the S3 bucket, which uniquely identifies the object
11160	// in the bucket.
11161	//
11162	// ObjectKey is a required field
11163	ObjectKey *string `locationName:"objectKey" type:"string" required:"true"`
11164}
11165
11166// String returns the string representation
11167func (s S3ArtifactLocation) String() string {
11168	return awsutil.Prettify(s)
11169}
11170
11171// GoString returns the string representation
11172func (s S3ArtifactLocation) GoString() string {
11173	return s.String()
11174}
11175
11176// SetBucketName sets the BucketName field's value.
11177func (s *S3ArtifactLocation) SetBucketName(v string) *S3ArtifactLocation {
11178	s.BucketName = &v
11179	return s
11180}
11181
11182// SetObjectKey sets the ObjectKey field's value.
11183func (s *S3ArtifactLocation) SetObjectKey(v string) *S3ArtifactLocation {
11184	s.ObjectKey = &v
11185	return s
11186}
11187
11188// The Amazon S3 artifact location for an action's artifacts.
11189type S3Location struct {
11190	_ struct{} `type:"structure"`
11191
11192	// The Amazon S3 artifact bucket for an action's artifacts.
11193	Bucket *string `locationName:"bucket" min:"3" type:"string"`
11194
11195	// The artifact name.
11196	Key *string `locationName:"key" min:"1" type:"string"`
11197}
11198
11199// String returns the string representation
11200func (s S3Location) String() string {
11201	return awsutil.Prettify(s)
11202}
11203
11204// GoString returns the string representation
11205func (s S3Location) GoString() string {
11206	return s.String()
11207}
11208
11209// SetBucket sets the Bucket field's value.
11210func (s *S3Location) SetBucket(v string) *S3Location {
11211	s.Bucket = &v
11212	return s
11213}
11214
11215// SetKey sets the Key field's value.
11216func (s *S3Location) SetKey(v string) *S3Location {
11217	s.Key = &v
11218	return s
11219}
11220
11221// Information about the version (or revision) of a source artifact that initiated
11222// a pipeline execution.
11223type SourceRevision struct {
11224	_ struct{} `type:"structure"`
11225
11226	// The name of the action that processed the revision to the source artifact.
11227	//
11228	// ActionName is a required field
11229	ActionName *string `locationName:"actionName" min:"1" type:"string" required:"true"`
11230
11231	// The system-generated unique ID that identifies the revision number of the
11232	// artifact.
11233	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
11234
11235	// Summary information about the most recent revision of the artifact. For GitHub
11236	// and AWS CodeCommit repositories, the commit message. For Amazon S3 buckets
11237	// or actions, the user-provided content of a codepipeline-artifact-revision-summary
11238	// key specified in the object metadata.
11239	RevisionSummary *string `locationName:"revisionSummary" min:"1" type:"string"`
11240
11241	// The commit ID for the artifact revision. For artifacts stored in GitHub or
11242	// AWS CodeCommit repositories, the commit ID is linked to a commit details
11243	// page.
11244	RevisionUrl *string `locationName:"revisionUrl" min:"1" type:"string"`
11245}
11246
11247// String returns the string representation
11248func (s SourceRevision) String() string {
11249	return awsutil.Prettify(s)
11250}
11251
11252// GoString returns the string representation
11253func (s SourceRevision) GoString() string {
11254	return s.String()
11255}
11256
11257// SetActionName sets the ActionName field's value.
11258func (s *SourceRevision) SetActionName(v string) *SourceRevision {
11259	s.ActionName = &v
11260	return s
11261}
11262
11263// SetRevisionId sets the RevisionId field's value.
11264func (s *SourceRevision) SetRevisionId(v string) *SourceRevision {
11265	s.RevisionId = &v
11266	return s
11267}
11268
11269// SetRevisionSummary sets the RevisionSummary field's value.
11270func (s *SourceRevision) SetRevisionSummary(v string) *SourceRevision {
11271	s.RevisionSummary = &v
11272	return s
11273}
11274
11275// SetRevisionUrl sets the RevisionUrl field's value.
11276func (s *SourceRevision) SetRevisionUrl(v string) *SourceRevision {
11277	s.RevisionUrl = &v
11278	return s
11279}
11280
11281// Represents information about a stage to a job worker.
11282type StageContext struct {
11283	_ struct{} `type:"structure"`
11284
11285	// The name of the stage.
11286	Name *string `locationName:"name" min:"1" type:"string"`
11287}
11288
11289// String returns the string representation
11290func (s StageContext) String() string {
11291	return awsutil.Prettify(s)
11292}
11293
11294// GoString returns the string representation
11295func (s StageContext) GoString() string {
11296	return s.String()
11297}
11298
11299// SetName sets the Name field's value.
11300func (s *StageContext) SetName(v string) *StageContext {
11301	s.Name = &v
11302	return s
11303}
11304
11305// Represents information about a stage and its definition.
11306type StageDeclaration struct {
11307	_ struct{} `type:"structure"`
11308
11309	// The actions included in a stage.
11310	//
11311	// Actions is a required field
11312	Actions []*ActionDeclaration `locationName:"actions" type:"list" required:"true"`
11313
11314	// Reserved for future use.
11315	Blockers []*BlockerDeclaration `locationName:"blockers" type:"list"`
11316
11317	// The name of the stage.
11318	//
11319	// Name is a required field
11320	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
11321}
11322
11323// String returns the string representation
11324func (s StageDeclaration) String() string {
11325	return awsutil.Prettify(s)
11326}
11327
11328// GoString returns the string representation
11329func (s StageDeclaration) GoString() string {
11330	return s.String()
11331}
11332
11333// Validate inspects the fields of the type to determine if they are valid.
11334func (s *StageDeclaration) Validate() error {
11335	invalidParams := request.ErrInvalidParams{Context: "StageDeclaration"}
11336	if s.Actions == nil {
11337		invalidParams.Add(request.NewErrParamRequired("Actions"))
11338	}
11339	if s.Name == nil {
11340		invalidParams.Add(request.NewErrParamRequired("Name"))
11341	}
11342	if s.Name != nil && len(*s.Name) < 1 {
11343		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11344	}
11345	if s.Actions != nil {
11346		for i, v := range s.Actions {
11347			if v == nil {
11348				continue
11349			}
11350			if err := v.Validate(); err != nil {
11351				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
11352			}
11353		}
11354	}
11355	if s.Blockers != nil {
11356		for i, v := range s.Blockers {
11357			if v == nil {
11358				continue
11359			}
11360			if err := v.Validate(); err != nil {
11361				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Blockers", i), err.(request.ErrInvalidParams))
11362			}
11363		}
11364	}
11365
11366	if invalidParams.Len() > 0 {
11367		return invalidParams
11368	}
11369	return nil
11370}
11371
11372// SetActions sets the Actions field's value.
11373func (s *StageDeclaration) SetActions(v []*ActionDeclaration) *StageDeclaration {
11374	s.Actions = v
11375	return s
11376}
11377
11378// SetBlockers sets the Blockers field's value.
11379func (s *StageDeclaration) SetBlockers(v []*BlockerDeclaration) *StageDeclaration {
11380	s.Blockers = v
11381	return s
11382}
11383
11384// SetName sets the Name field's value.
11385func (s *StageDeclaration) SetName(v string) *StageDeclaration {
11386	s.Name = &v
11387	return s
11388}
11389
11390// Represents information about the run of a stage.
11391type StageExecution struct {
11392	_ struct{} `type:"structure"`
11393
11394	// The ID of the pipeline execution associated with the stage.
11395	//
11396	// PipelineExecutionId is a required field
11397	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string" required:"true"`
11398
11399	// The status of the stage, or for a completed stage, the last status of the
11400	// stage.
11401	//
11402	// Status is a required field
11403	Status *string `locationName:"status" type:"string" required:"true" enum:"StageExecutionStatus"`
11404}
11405
11406// String returns the string representation
11407func (s StageExecution) String() string {
11408	return awsutil.Prettify(s)
11409}
11410
11411// GoString returns the string representation
11412func (s StageExecution) GoString() string {
11413	return s.String()
11414}
11415
11416// SetPipelineExecutionId sets the PipelineExecutionId field's value.
11417func (s *StageExecution) SetPipelineExecutionId(v string) *StageExecution {
11418	s.PipelineExecutionId = &v
11419	return s
11420}
11421
11422// SetStatus sets the Status field's value.
11423func (s *StageExecution) SetStatus(v string) *StageExecution {
11424	s.Status = &v
11425	return s
11426}
11427
11428// The stage was specified in an invalid format or cannot be found.
11429type StageNotFoundException struct {
11430	_            struct{}                  `type:"structure"`
11431	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11432
11433	Message_ *string `locationName:"message" type:"string"`
11434}
11435
11436// String returns the string representation
11437func (s StageNotFoundException) String() string {
11438	return awsutil.Prettify(s)
11439}
11440
11441// GoString returns the string representation
11442func (s StageNotFoundException) GoString() string {
11443	return s.String()
11444}
11445
11446func newErrorStageNotFoundException(v protocol.ResponseMetadata) error {
11447	return &StageNotFoundException{
11448		RespMetadata: v,
11449	}
11450}
11451
11452// Code returns the exception type name.
11453func (s *StageNotFoundException) Code() string {
11454	return "StageNotFoundException"
11455}
11456
11457// Message returns the exception's message.
11458func (s *StageNotFoundException) Message() string {
11459	if s.Message_ != nil {
11460		return *s.Message_
11461	}
11462	return ""
11463}
11464
11465// OrigErr always returns nil, satisfies awserr.Error interface.
11466func (s *StageNotFoundException) OrigErr() error {
11467	return nil
11468}
11469
11470func (s *StageNotFoundException) Error() string {
11471	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11472}
11473
11474// Status code returns the HTTP status code for the request's response error.
11475func (s *StageNotFoundException) StatusCode() int {
11476	return s.RespMetadata.StatusCode
11477}
11478
11479// RequestID returns the service's response RequestID for request.
11480func (s *StageNotFoundException) RequestID() string {
11481	return s.RespMetadata.RequestID
11482}
11483
11484// Unable to retry. The pipeline structure or stage state might have changed
11485// while actions awaited retry, or the stage contains no failed actions.
11486type StageNotRetryableException struct {
11487	_            struct{}                  `type:"structure"`
11488	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11489
11490	Message_ *string `locationName:"message" type:"string"`
11491}
11492
11493// String returns the string representation
11494func (s StageNotRetryableException) String() string {
11495	return awsutil.Prettify(s)
11496}
11497
11498// GoString returns the string representation
11499func (s StageNotRetryableException) GoString() string {
11500	return s.String()
11501}
11502
11503func newErrorStageNotRetryableException(v protocol.ResponseMetadata) error {
11504	return &StageNotRetryableException{
11505		RespMetadata: v,
11506	}
11507}
11508
11509// Code returns the exception type name.
11510func (s *StageNotRetryableException) Code() string {
11511	return "StageNotRetryableException"
11512}
11513
11514// Message returns the exception's message.
11515func (s *StageNotRetryableException) Message() string {
11516	if s.Message_ != nil {
11517		return *s.Message_
11518	}
11519	return ""
11520}
11521
11522// OrigErr always returns nil, satisfies awserr.Error interface.
11523func (s *StageNotRetryableException) OrigErr() error {
11524	return nil
11525}
11526
11527func (s *StageNotRetryableException) Error() string {
11528	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11529}
11530
11531// Status code returns the HTTP status code for the request's response error.
11532func (s *StageNotRetryableException) StatusCode() int {
11533	return s.RespMetadata.StatusCode
11534}
11535
11536// RequestID returns the service's response RequestID for request.
11537func (s *StageNotRetryableException) RequestID() string {
11538	return s.RespMetadata.RequestID
11539}
11540
11541// Represents information about the state of the stage.
11542type StageState struct {
11543	_ struct{} `type:"structure"`
11544
11545	// The state of the stage.
11546	ActionStates []*ActionState `locationName:"actionStates" type:"list"`
11547
11548	// The state of the inbound transition, which is either enabled or disabled.
11549	InboundTransitionState *TransitionState `locationName:"inboundTransitionState" type:"structure"`
11550
11551	// Information about the latest execution in the stage, including its ID and
11552	// status.
11553	LatestExecution *StageExecution `locationName:"latestExecution" type:"structure"`
11554
11555	// The name of the stage.
11556	StageName *string `locationName:"stageName" min:"1" type:"string"`
11557}
11558
11559// String returns the string representation
11560func (s StageState) String() string {
11561	return awsutil.Prettify(s)
11562}
11563
11564// GoString returns the string representation
11565func (s StageState) GoString() string {
11566	return s.String()
11567}
11568
11569// SetActionStates sets the ActionStates field's value.
11570func (s *StageState) SetActionStates(v []*ActionState) *StageState {
11571	s.ActionStates = v
11572	return s
11573}
11574
11575// SetInboundTransitionState sets the InboundTransitionState field's value.
11576func (s *StageState) SetInboundTransitionState(v *TransitionState) *StageState {
11577	s.InboundTransitionState = v
11578	return s
11579}
11580
11581// SetLatestExecution sets the LatestExecution field's value.
11582func (s *StageState) SetLatestExecution(v *StageExecution) *StageState {
11583	s.LatestExecution = v
11584	return s
11585}
11586
11587// SetStageName sets the StageName field's value.
11588func (s *StageState) SetStageName(v string) *StageState {
11589	s.StageName = &v
11590	return s
11591}
11592
11593// Represents the input of a StartPipelineExecution action.
11594type StartPipelineExecutionInput struct {
11595	_ struct{} `type:"structure"`
11596
11597	// The system-generated unique ID used to identify a unique execution request.
11598	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
11599
11600	// The name of the pipeline to start.
11601	//
11602	// Name is a required field
11603	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
11604}
11605
11606// String returns the string representation
11607func (s StartPipelineExecutionInput) String() string {
11608	return awsutil.Prettify(s)
11609}
11610
11611// GoString returns the string representation
11612func (s StartPipelineExecutionInput) GoString() string {
11613	return s.String()
11614}
11615
11616// Validate inspects the fields of the type to determine if they are valid.
11617func (s *StartPipelineExecutionInput) Validate() error {
11618	invalidParams := request.ErrInvalidParams{Context: "StartPipelineExecutionInput"}
11619	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
11620		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
11621	}
11622	if s.Name == nil {
11623		invalidParams.Add(request.NewErrParamRequired("Name"))
11624	}
11625	if s.Name != nil && len(*s.Name) < 1 {
11626		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11627	}
11628
11629	if invalidParams.Len() > 0 {
11630		return invalidParams
11631	}
11632	return nil
11633}
11634
11635// SetClientRequestToken sets the ClientRequestToken field's value.
11636func (s *StartPipelineExecutionInput) SetClientRequestToken(v string) *StartPipelineExecutionInput {
11637	s.ClientRequestToken = &v
11638	return s
11639}
11640
11641// SetName sets the Name field's value.
11642func (s *StartPipelineExecutionInput) SetName(v string) *StartPipelineExecutionInput {
11643	s.Name = &v
11644	return s
11645}
11646
11647// Represents the output of a StartPipelineExecution action.
11648type StartPipelineExecutionOutput struct {
11649	_ struct{} `type:"structure"`
11650
11651	// The unique system-generated ID of the pipeline execution that was started.
11652	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
11653}
11654
11655// String returns the string representation
11656func (s StartPipelineExecutionOutput) String() string {
11657	return awsutil.Prettify(s)
11658}
11659
11660// GoString returns the string representation
11661func (s StartPipelineExecutionOutput) GoString() string {
11662	return s.String()
11663}
11664
11665// SetPipelineExecutionId sets the PipelineExecutionId field's value.
11666func (s *StartPipelineExecutionOutput) SetPipelineExecutionId(v string) *StartPipelineExecutionOutput {
11667	s.PipelineExecutionId = &v
11668	return s
11669}
11670
11671// The interaction that stopped a pipeline execution.
11672type StopExecutionTrigger struct {
11673	_ struct{} `type:"structure"`
11674
11675	// The user-specified reason the pipeline was stopped.
11676	Reason *string `locationName:"reason" type:"string"`
11677}
11678
11679// String returns the string representation
11680func (s StopExecutionTrigger) String() string {
11681	return awsutil.Prettify(s)
11682}
11683
11684// GoString returns the string representation
11685func (s StopExecutionTrigger) GoString() string {
11686	return s.String()
11687}
11688
11689// SetReason sets the Reason field's value.
11690func (s *StopExecutionTrigger) SetReason(v string) *StopExecutionTrigger {
11691	s.Reason = &v
11692	return s
11693}
11694
11695type StopPipelineExecutionInput struct {
11696	_ struct{} `type:"structure"`
11697
11698	// Use this option to stop the pipeline execution by abandoning, rather than
11699	// finishing, in-progress actions.
11700	//
11701	// This option can lead to failed or out-of-sequence tasks.
11702	Abandon *bool `locationName:"abandon" type:"boolean"`
11703
11704	// The ID of the pipeline execution to be stopped in the current stage. Use
11705	// the GetPipelineState action to retrieve the current pipelineExecutionId.
11706	//
11707	// PipelineExecutionId is a required field
11708	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string" required:"true"`
11709
11710	// The name of the pipeline to stop.
11711	//
11712	// PipelineName is a required field
11713	PipelineName *string `locationName:"pipelineName" min:"1" type:"string" required:"true"`
11714
11715	// Use this option to enter comments, such as the reason the pipeline was stopped.
11716	Reason *string `locationName:"reason" type:"string"`
11717}
11718
11719// String returns the string representation
11720func (s StopPipelineExecutionInput) String() string {
11721	return awsutil.Prettify(s)
11722}
11723
11724// GoString returns the string representation
11725func (s StopPipelineExecutionInput) GoString() string {
11726	return s.String()
11727}
11728
11729// Validate inspects the fields of the type to determine if they are valid.
11730func (s *StopPipelineExecutionInput) Validate() error {
11731	invalidParams := request.ErrInvalidParams{Context: "StopPipelineExecutionInput"}
11732	if s.PipelineExecutionId == nil {
11733		invalidParams.Add(request.NewErrParamRequired("PipelineExecutionId"))
11734	}
11735	if s.PipelineName == nil {
11736		invalidParams.Add(request.NewErrParamRequired("PipelineName"))
11737	}
11738	if s.PipelineName != nil && len(*s.PipelineName) < 1 {
11739		invalidParams.Add(request.NewErrParamMinLen("PipelineName", 1))
11740	}
11741
11742	if invalidParams.Len() > 0 {
11743		return invalidParams
11744	}
11745	return nil
11746}
11747
11748// SetAbandon sets the Abandon field's value.
11749func (s *StopPipelineExecutionInput) SetAbandon(v bool) *StopPipelineExecutionInput {
11750	s.Abandon = &v
11751	return s
11752}
11753
11754// SetPipelineExecutionId sets the PipelineExecutionId field's value.
11755func (s *StopPipelineExecutionInput) SetPipelineExecutionId(v string) *StopPipelineExecutionInput {
11756	s.PipelineExecutionId = &v
11757	return s
11758}
11759
11760// SetPipelineName sets the PipelineName field's value.
11761func (s *StopPipelineExecutionInput) SetPipelineName(v string) *StopPipelineExecutionInput {
11762	s.PipelineName = &v
11763	return s
11764}
11765
11766// SetReason sets the Reason field's value.
11767func (s *StopPipelineExecutionInput) SetReason(v string) *StopPipelineExecutionInput {
11768	s.Reason = &v
11769	return s
11770}
11771
11772type StopPipelineExecutionOutput struct {
11773	_ struct{} `type:"structure"`
11774
11775	// The unique system-generated ID of the pipeline execution that was stopped.
11776	PipelineExecutionId *string `locationName:"pipelineExecutionId" type:"string"`
11777}
11778
11779// String returns the string representation
11780func (s StopPipelineExecutionOutput) String() string {
11781	return awsutil.Prettify(s)
11782}
11783
11784// GoString returns the string representation
11785func (s StopPipelineExecutionOutput) GoString() string {
11786	return s.String()
11787}
11788
11789// SetPipelineExecutionId sets the PipelineExecutionId field's value.
11790func (s *StopPipelineExecutionOutput) SetPipelineExecutionId(v string) *StopPipelineExecutionOutput {
11791	s.PipelineExecutionId = &v
11792	return s
11793}
11794
11795// A tag is a key-value pair that is used to manage the resource.
11796type Tag struct {
11797	_ struct{} `type:"structure"`
11798
11799	// The tag's key.
11800	//
11801	// Key is a required field
11802	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
11803
11804	// The tag's value.
11805	//
11806	// Value is a required field
11807	Value *string `locationName:"value" type:"string" required:"true"`
11808}
11809
11810// String returns the string representation
11811func (s Tag) String() string {
11812	return awsutil.Prettify(s)
11813}
11814
11815// GoString returns the string representation
11816func (s Tag) GoString() string {
11817	return s.String()
11818}
11819
11820// Validate inspects the fields of the type to determine if they are valid.
11821func (s *Tag) Validate() error {
11822	invalidParams := request.ErrInvalidParams{Context: "Tag"}
11823	if s.Key == nil {
11824		invalidParams.Add(request.NewErrParamRequired("Key"))
11825	}
11826	if s.Key != nil && len(*s.Key) < 1 {
11827		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11828	}
11829	if s.Value == nil {
11830		invalidParams.Add(request.NewErrParamRequired("Value"))
11831	}
11832
11833	if invalidParams.Len() > 0 {
11834		return invalidParams
11835	}
11836	return nil
11837}
11838
11839// SetKey sets the Key field's value.
11840func (s *Tag) SetKey(v string) *Tag {
11841	s.Key = &v
11842	return s
11843}
11844
11845// SetValue sets the Value field's value.
11846func (s *Tag) SetValue(v string) *Tag {
11847	s.Value = &v
11848	return s
11849}
11850
11851type TagResourceInput struct {
11852	_ struct{} `type:"structure"`
11853
11854	// The Amazon Resource Name (ARN) of the resource you want to add tags to.
11855	//
11856	// ResourceArn is a required field
11857	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
11858
11859	// The tags you want to modify or add to the resource.
11860	//
11861	// Tags is a required field
11862	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
11863}
11864
11865// String returns the string representation
11866func (s TagResourceInput) String() string {
11867	return awsutil.Prettify(s)
11868}
11869
11870// GoString returns the string representation
11871func (s TagResourceInput) GoString() string {
11872	return s.String()
11873}
11874
11875// Validate inspects the fields of the type to determine if they are valid.
11876func (s *TagResourceInput) Validate() error {
11877	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
11878	if s.ResourceArn == nil {
11879		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11880	}
11881	if s.Tags == nil {
11882		invalidParams.Add(request.NewErrParamRequired("Tags"))
11883	}
11884	if s.Tags != nil {
11885		for i, v := range s.Tags {
11886			if v == nil {
11887				continue
11888			}
11889			if err := v.Validate(); err != nil {
11890				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11891			}
11892		}
11893	}
11894
11895	if invalidParams.Len() > 0 {
11896		return invalidParams
11897	}
11898	return nil
11899}
11900
11901// SetResourceArn sets the ResourceArn field's value.
11902func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
11903	s.ResourceArn = &v
11904	return s
11905}
11906
11907// SetTags sets the Tags field's value.
11908func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
11909	s.Tags = v
11910	return s
11911}
11912
11913type TagResourceOutput struct {
11914	_ struct{} `type:"structure"`
11915}
11916
11917// String returns the string representation
11918func (s TagResourceOutput) String() string {
11919	return awsutil.Prettify(s)
11920}
11921
11922// GoString returns the string representation
11923func (s TagResourceOutput) GoString() string {
11924	return s.String()
11925}
11926
11927// A response to a PollForThirdPartyJobs request returned by AWS CodePipeline
11928// when there is a job to be worked on by a partner action.
11929type ThirdPartyJob struct {
11930	_ struct{} `type:"structure"`
11931
11932	// The clientToken portion of the clientId and clientToken pair used to verify
11933	// that the calling entity is allowed access to the job and its details.
11934	ClientId *string `locationName:"clientId" type:"string"`
11935
11936	// The identifier used to identify the job in AWS CodePipeline.
11937	JobId *string `locationName:"jobId" type:"string"`
11938}
11939
11940// String returns the string representation
11941func (s ThirdPartyJob) String() string {
11942	return awsutil.Prettify(s)
11943}
11944
11945// GoString returns the string representation
11946func (s ThirdPartyJob) GoString() string {
11947	return s.String()
11948}
11949
11950// SetClientId sets the ClientId field's value.
11951func (s *ThirdPartyJob) SetClientId(v string) *ThirdPartyJob {
11952	s.ClientId = &v
11953	return s
11954}
11955
11956// SetJobId sets the JobId field's value.
11957func (s *ThirdPartyJob) SetJobId(v string) *ThirdPartyJob {
11958	s.JobId = &v
11959	return s
11960}
11961
11962// Represents information about the job data for a partner action.
11963type ThirdPartyJobData struct {
11964	_ struct{} `type:"structure"`
11965
11966	// Represents information about an action configuration.
11967	ActionConfiguration *ActionConfiguration `locationName:"actionConfiguration" type:"structure"`
11968
11969	// Represents information about an action type.
11970	ActionTypeId *ActionTypeId `locationName:"actionTypeId" type:"structure"`
11971
11972	// Represents an AWS session credentials object. These credentials are temporary
11973	// credentials that are issued by AWS Secure Token Service (STS). They can be
11974	// used to access input and output artifacts in the S3 bucket used to store
11975	// artifact for the pipeline in AWS CodePipeline.
11976	ArtifactCredentials *AWSSessionCredentials `locationName:"artifactCredentials" type:"structure" sensitive:"true"`
11977
11978	// A system-generated token, such as a AWS CodeDeploy deployment ID, that a
11979	// job requires to continue the job asynchronously.
11980	ContinuationToken *string `locationName:"continuationToken" min:"1" type:"string"`
11981
11982	// The encryption key used to encrypt and decrypt data in the artifact store
11983	// for the pipeline, such as an AWS Key Management Service (AWS KMS) key. This
11984	// is optional and might not be present.
11985	EncryptionKey *EncryptionKey `locationName:"encryptionKey" type:"structure"`
11986
11987	// The name of the artifact that is worked on by the action, if any. This name
11988	// might be system-generated, such as "MyApp", or it might be defined by the
11989	// user when the action is created. The input artifact name must match the name
11990	// of an output artifact generated by an action in an earlier action or stage
11991	// of the pipeline.
11992	InputArtifacts []*Artifact `locationName:"inputArtifacts" type:"list"`
11993
11994	// The name of the artifact that is the result of the action, if any. This name
11995	// might be system-generated, such as "MyBuiltApp", or it might be defined by
11996	// the user when the action is created.
11997	OutputArtifacts []*Artifact `locationName:"outputArtifacts" type:"list"`
11998
11999	// Represents information about a pipeline to a job worker.
12000	//
12001	// Does not include pipelineArn and pipelineExecutionId for ThirdParty jobs.
12002	PipelineContext *PipelineContext `locationName:"pipelineContext" type:"structure"`
12003}
12004
12005// String returns the string representation
12006func (s ThirdPartyJobData) String() string {
12007	return awsutil.Prettify(s)
12008}
12009
12010// GoString returns the string representation
12011func (s ThirdPartyJobData) GoString() string {
12012	return s.String()
12013}
12014
12015// SetActionConfiguration sets the ActionConfiguration field's value.
12016func (s *ThirdPartyJobData) SetActionConfiguration(v *ActionConfiguration) *ThirdPartyJobData {
12017	s.ActionConfiguration = v
12018	return s
12019}
12020
12021// SetActionTypeId sets the ActionTypeId field's value.
12022func (s *ThirdPartyJobData) SetActionTypeId(v *ActionTypeId) *ThirdPartyJobData {
12023	s.ActionTypeId = v
12024	return s
12025}
12026
12027// SetArtifactCredentials sets the ArtifactCredentials field's value.
12028func (s *ThirdPartyJobData) SetArtifactCredentials(v *AWSSessionCredentials) *ThirdPartyJobData {
12029	s.ArtifactCredentials = v
12030	return s
12031}
12032
12033// SetContinuationToken sets the ContinuationToken field's value.
12034func (s *ThirdPartyJobData) SetContinuationToken(v string) *ThirdPartyJobData {
12035	s.ContinuationToken = &v
12036	return s
12037}
12038
12039// SetEncryptionKey sets the EncryptionKey field's value.
12040func (s *ThirdPartyJobData) SetEncryptionKey(v *EncryptionKey) *ThirdPartyJobData {
12041	s.EncryptionKey = v
12042	return s
12043}
12044
12045// SetInputArtifacts sets the InputArtifacts field's value.
12046func (s *ThirdPartyJobData) SetInputArtifacts(v []*Artifact) *ThirdPartyJobData {
12047	s.InputArtifacts = v
12048	return s
12049}
12050
12051// SetOutputArtifacts sets the OutputArtifacts field's value.
12052func (s *ThirdPartyJobData) SetOutputArtifacts(v []*Artifact) *ThirdPartyJobData {
12053	s.OutputArtifacts = v
12054	return s
12055}
12056
12057// SetPipelineContext sets the PipelineContext field's value.
12058func (s *ThirdPartyJobData) SetPipelineContext(v *PipelineContext) *ThirdPartyJobData {
12059	s.PipelineContext = v
12060	return s
12061}
12062
12063// The details of a job sent in response to a GetThirdPartyJobDetails request.
12064type ThirdPartyJobDetails struct {
12065	_ struct{} `type:"structure"`
12066
12067	// The data to be returned by the third party job worker.
12068	Data *ThirdPartyJobData `locationName:"data" type:"structure"`
12069
12070	// The identifier used to identify the job details in AWS CodePipeline.
12071	Id *string `locationName:"id" min:"1" type:"string"`
12072
12073	// A system-generated random number that AWS CodePipeline uses to ensure that
12074	// the job is being worked on by only one job worker. Use this number in an
12075	// AcknowledgeThirdPartyJob request.
12076	Nonce *string `locationName:"nonce" min:"1" type:"string"`
12077}
12078
12079// String returns the string representation
12080func (s ThirdPartyJobDetails) String() string {
12081	return awsutil.Prettify(s)
12082}
12083
12084// GoString returns the string representation
12085func (s ThirdPartyJobDetails) GoString() string {
12086	return s.String()
12087}
12088
12089// SetData sets the Data field's value.
12090func (s *ThirdPartyJobDetails) SetData(v *ThirdPartyJobData) *ThirdPartyJobDetails {
12091	s.Data = v
12092	return s
12093}
12094
12095// SetId sets the Id field's value.
12096func (s *ThirdPartyJobDetails) SetId(v string) *ThirdPartyJobDetails {
12097	s.Id = &v
12098	return s
12099}
12100
12101// SetNonce sets the Nonce field's value.
12102func (s *ThirdPartyJobDetails) SetNonce(v string) *ThirdPartyJobDetails {
12103	s.Nonce = &v
12104	return s
12105}
12106
12107// The tags limit for a resource has been exceeded.
12108type TooManyTagsException struct {
12109	_            struct{}                  `type:"structure"`
12110	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12111
12112	Message_ *string `locationName:"message" min:"1" type:"string"`
12113}
12114
12115// String returns the string representation
12116func (s TooManyTagsException) String() string {
12117	return awsutil.Prettify(s)
12118}
12119
12120// GoString returns the string representation
12121func (s TooManyTagsException) GoString() string {
12122	return s.String()
12123}
12124
12125func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
12126	return &TooManyTagsException{
12127		RespMetadata: v,
12128	}
12129}
12130
12131// Code returns the exception type name.
12132func (s *TooManyTagsException) Code() string {
12133	return "TooManyTagsException"
12134}
12135
12136// Message returns the exception's message.
12137func (s *TooManyTagsException) Message() string {
12138	if s.Message_ != nil {
12139		return *s.Message_
12140	}
12141	return ""
12142}
12143
12144// OrigErr always returns nil, satisfies awserr.Error interface.
12145func (s *TooManyTagsException) OrigErr() error {
12146	return nil
12147}
12148
12149func (s *TooManyTagsException) Error() string {
12150	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12151}
12152
12153// Status code returns the HTTP status code for the request's response error.
12154func (s *TooManyTagsException) StatusCode() int {
12155	return s.RespMetadata.StatusCode
12156}
12157
12158// RequestID returns the service's response RequestID for request.
12159func (s *TooManyTagsException) RequestID() string {
12160	return s.RespMetadata.RequestID
12161}
12162
12163// Represents information about the state of transitions between one stage and
12164// another stage.
12165type TransitionState struct {
12166	_ struct{} `type:"structure"`
12167
12168	// The user-specified reason why the transition between two stages of a pipeline
12169	// was disabled.
12170	DisabledReason *string `locationName:"disabledReason" min:"1" type:"string"`
12171
12172	// Whether the transition between stages is enabled (true) or disabled (false).
12173	Enabled *bool `locationName:"enabled" type:"boolean"`
12174
12175	// The timestamp when the transition state was last changed.
12176	LastChangedAt *time.Time `locationName:"lastChangedAt" type:"timestamp"`
12177
12178	// The ID of the user who last changed the transition state.
12179	LastChangedBy *string `locationName:"lastChangedBy" type:"string"`
12180}
12181
12182// String returns the string representation
12183func (s TransitionState) String() string {
12184	return awsutil.Prettify(s)
12185}
12186
12187// GoString returns the string representation
12188func (s TransitionState) GoString() string {
12189	return s.String()
12190}
12191
12192// SetDisabledReason sets the DisabledReason field's value.
12193func (s *TransitionState) SetDisabledReason(v string) *TransitionState {
12194	s.DisabledReason = &v
12195	return s
12196}
12197
12198// SetEnabled sets the Enabled field's value.
12199func (s *TransitionState) SetEnabled(v bool) *TransitionState {
12200	s.Enabled = &v
12201	return s
12202}
12203
12204// SetLastChangedAt sets the LastChangedAt field's value.
12205func (s *TransitionState) SetLastChangedAt(v time.Time) *TransitionState {
12206	s.LastChangedAt = &v
12207	return s
12208}
12209
12210// SetLastChangedBy sets the LastChangedBy field's value.
12211func (s *TransitionState) SetLastChangedBy(v string) *TransitionState {
12212	s.LastChangedBy = &v
12213	return s
12214}
12215
12216type UntagResourceInput struct {
12217	_ struct{} `type:"structure"`
12218
12219	// The Amazon Resource Name (ARN) of the resource to remove tags from.
12220	//
12221	// ResourceArn is a required field
12222	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
12223
12224	// The list of keys for the tags to be removed from the resource.
12225	//
12226	// TagKeys is a required field
12227	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
12228}
12229
12230// String returns the string representation
12231func (s UntagResourceInput) String() string {
12232	return awsutil.Prettify(s)
12233}
12234
12235// GoString returns the string representation
12236func (s UntagResourceInput) GoString() string {
12237	return s.String()
12238}
12239
12240// Validate inspects the fields of the type to determine if they are valid.
12241func (s *UntagResourceInput) Validate() error {
12242	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
12243	if s.ResourceArn == nil {
12244		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12245	}
12246	if s.TagKeys == nil {
12247		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
12248	}
12249
12250	if invalidParams.Len() > 0 {
12251		return invalidParams
12252	}
12253	return nil
12254}
12255
12256// SetResourceArn sets the ResourceArn field's value.
12257func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
12258	s.ResourceArn = &v
12259	return s
12260}
12261
12262// SetTagKeys sets the TagKeys field's value.
12263func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
12264	s.TagKeys = v
12265	return s
12266}
12267
12268type UntagResourceOutput struct {
12269	_ struct{} `type:"structure"`
12270}
12271
12272// String returns the string representation
12273func (s UntagResourceOutput) String() string {
12274	return awsutil.Prettify(s)
12275}
12276
12277// GoString returns the string representation
12278func (s UntagResourceOutput) GoString() string {
12279	return s.String()
12280}
12281
12282// Represents the input of an UpdatePipeline action.
12283type UpdatePipelineInput struct {
12284	_ struct{} `type:"structure"`
12285
12286	// The name of the pipeline to be updated.
12287	//
12288	// Pipeline is a required field
12289	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure" required:"true"`
12290}
12291
12292// String returns the string representation
12293func (s UpdatePipelineInput) String() string {
12294	return awsutil.Prettify(s)
12295}
12296
12297// GoString returns the string representation
12298func (s UpdatePipelineInput) GoString() string {
12299	return s.String()
12300}
12301
12302// Validate inspects the fields of the type to determine if they are valid.
12303func (s *UpdatePipelineInput) Validate() error {
12304	invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineInput"}
12305	if s.Pipeline == nil {
12306		invalidParams.Add(request.NewErrParamRequired("Pipeline"))
12307	}
12308	if s.Pipeline != nil {
12309		if err := s.Pipeline.Validate(); err != nil {
12310			invalidParams.AddNested("Pipeline", err.(request.ErrInvalidParams))
12311		}
12312	}
12313
12314	if invalidParams.Len() > 0 {
12315		return invalidParams
12316	}
12317	return nil
12318}
12319
12320// SetPipeline sets the Pipeline field's value.
12321func (s *UpdatePipelineInput) SetPipeline(v *PipelineDeclaration) *UpdatePipelineInput {
12322	s.Pipeline = v
12323	return s
12324}
12325
12326// Represents the output of an UpdatePipeline action.
12327type UpdatePipelineOutput struct {
12328	_ struct{} `type:"structure"`
12329
12330	// The structure of the updated pipeline.
12331	Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure"`
12332}
12333
12334// String returns the string representation
12335func (s UpdatePipelineOutput) String() string {
12336	return awsutil.Prettify(s)
12337}
12338
12339// GoString returns the string representation
12340func (s UpdatePipelineOutput) GoString() string {
12341	return s.String()
12342}
12343
12344// SetPipeline sets the Pipeline field's value.
12345func (s *UpdatePipelineOutput) SetPipeline(v *PipelineDeclaration) *UpdatePipelineOutput {
12346	s.Pipeline = v
12347	return s
12348}
12349
12350// The validation was specified in an invalid format.
12351type ValidationException struct {
12352	_            struct{}                  `type:"structure"`
12353	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12354
12355	Message_ *string `locationName:"message" type:"string"`
12356}
12357
12358// String returns the string representation
12359func (s ValidationException) String() string {
12360	return awsutil.Prettify(s)
12361}
12362
12363// GoString returns the string representation
12364func (s ValidationException) GoString() string {
12365	return s.String()
12366}
12367
12368func newErrorValidationException(v protocol.ResponseMetadata) error {
12369	return &ValidationException{
12370		RespMetadata: v,
12371	}
12372}
12373
12374// Code returns the exception type name.
12375func (s *ValidationException) Code() string {
12376	return "ValidationException"
12377}
12378
12379// Message returns the exception's message.
12380func (s *ValidationException) Message() string {
12381	if s.Message_ != nil {
12382		return *s.Message_
12383	}
12384	return ""
12385}
12386
12387// OrigErr always returns nil, satisfies awserr.Error interface.
12388func (s *ValidationException) OrigErr() error {
12389	return nil
12390}
12391
12392func (s *ValidationException) Error() string {
12393	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12394}
12395
12396// Status code returns the HTTP status code for the request's response error.
12397func (s *ValidationException) StatusCode() int {
12398	return s.RespMetadata.StatusCode
12399}
12400
12401// RequestID returns the service's response RequestID for request.
12402func (s *ValidationException) RequestID() string {
12403	return s.RespMetadata.RequestID
12404}
12405
12406// The authentication applied to incoming webhook trigger requests.
12407type WebhookAuthConfiguration struct {
12408	_ struct{} `type:"structure"`
12409
12410	// The property used to configure acceptance of webhooks in an IP address range.
12411	// For IP, only the AllowedIPRange property must be set. This property must
12412	// be set to a valid CIDR range.
12413	AllowedIPRange *string `min:"1" type:"string"`
12414
12415	// The property used to configure GitHub authentication. For GITHUB_HMAC, only
12416	// the SecretToken property must be set.
12417	SecretToken *string `min:"1" type:"string"`
12418}
12419
12420// String returns the string representation
12421func (s WebhookAuthConfiguration) String() string {
12422	return awsutil.Prettify(s)
12423}
12424
12425// GoString returns the string representation
12426func (s WebhookAuthConfiguration) GoString() string {
12427	return s.String()
12428}
12429
12430// Validate inspects the fields of the type to determine if they are valid.
12431func (s *WebhookAuthConfiguration) Validate() error {
12432	invalidParams := request.ErrInvalidParams{Context: "WebhookAuthConfiguration"}
12433	if s.AllowedIPRange != nil && len(*s.AllowedIPRange) < 1 {
12434		invalidParams.Add(request.NewErrParamMinLen("AllowedIPRange", 1))
12435	}
12436	if s.SecretToken != nil && len(*s.SecretToken) < 1 {
12437		invalidParams.Add(request.NewErrParamMinLen("SecretToken", 1))
12438	}
12439
12440	if invalidParams.Len() > 0 {
12441		return invalidParams
12442	}
12443	return nil
12444}
12445
12446// SetAllowedIPRange sets the AllowedIPRange field's value.
12447func (s *WebhookAuthConfiguration) SetAllowedIPRange(v string) *WebhookAuthConfiguration {
12448	s.AllowedIPRange = &v
12449	return s
12450}
12451
12452// SetSecretToken sets the SecretToken field's value.
12453func (s *WebhookAuthConfiguration) SetSecretToken(v string) *WebhookAuthConfiguration {
12454	s.SecretToken = &v
12455	return s
12456}
12457
12458// Represents information about a webhook and its definition.
12459type WebhookDefinition struct {
12460	_ struct{} `type:"structure"`
12461
12462	// Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.
12463	//
12464	//    * For information about the authentication scheme implemented by GITHUB_HMAC,
12465	//    see Securing your webhooks (https://developer.github.com/webhooks/securing/)
12466	//    on the GitHub Developer website.
12467	//
12468	//    * IP rejects webhooks trigger requests unless they originate from an IP
12469	//    address in the IP range whitelisted in the authentication configuration.
12470	//
12471	//    * UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
12472	//
12473	// Authentication is a required field
12474	Authentication *string `locationName:"authentication" type:"string" required:"true" enum:"WebhookAuthenticationType"`
12475
12476	// Properties that configure the authentication applied to incoming webhook
12477	// trigger requests. The required properties depend on the authentication type.
12478	// For GITHUB_HMAC, only the SecretToken property must be set. For IP, only
12479	// the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED,
12480	// no properties can be set.
12481	//
12482	// AuthenticationConfiguration is a required field
12483	AuthenticationConfiguration *WebhookAuthConfiguration `locationName:"authenticationConfiguration" type:"structure" required:"true"`
12484
12485	// A list of rules applied to the body/payload sent in the POST request to a
12486	// webhook URL. All defined rules must pass for the request to be accepted and
12487	// the pipeline started.
12488	//
12489	// Filters is a required field
12490	Filters []*WebhookFilterRule `locationName:"filters" type:"list" required:"true"`
12491
12492	// The name of the webhook.
12493	//
12494	// Name is a required field
12495	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12496
12497	// The name of the action in a pipeline you want to connect to the webhook.
12498	// The action must be from the source (first) stage of the pipeline.
12499	//
12500	// TargetAction is a required field
12501	TargetAction *string `locationName:"targetAction" min:"1" type:"string" required:"true"`
12502
12503	// The name of the pipeline you want to connect to the webhook.
12504	//
12505	// TargetPipeline is a required field
12506	TargetPipeline *string `locationName:"targetPipeline" min:"1" type:"string" required:"true"`
12507}
12508
12509// String returns the string representation
12510func (s WebhookDefinition) String() string {
12511	return awsutil.Prettify(s)
12512}
12513
12514// GoString returns the string representation
12515func (s WebhookDefinition) GoString() string {
12516	return s.String()
12517}
12518
12519// Validate inspects the fields of the type to determine if they are valid.
12520func (s *WebhookDefinition) Validate() error {
12521	invalidParams := request.ErrInvalidParams{Context: "WebhookDefinition"}
12522	if s.Authentication == nil {
12523		invalidParams.Add(request.NewErrParamRequired("Authentication"))
12524	}
12525	if s.AuthenticationConfiguration == nil {
12526		invalidParams.Add(request.NewErrParamRequired("AuthenticationConfiguration"))
12527	}
12528	if s.Filters == nil {
12529		invalidParams.Add(request.NewErrParamRequired("Filters"))
12530	}
12531	if s.Name == nil {
12532		invalidParams.Add(request.NewErrParamRequired("Name"))
12533	}
12534	if s.Name != nil && len(*s.Name) < 1 {
12535		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12536	}
12537	if s.TargetAction == nil {
12538		invalidParams.Add(request.NewErrParamRequired("TargetAction"))
12539	}
12540	if s.TargetAction != nil && len(*s.TargetAction) < 1 {
12541		invalidParams.Add(request.NewErrParamMinLen("TargetAction", 1))
12542	}
12543	if s.TargetPipeline == nil {
12544		invalidParams.Add(request.NewErrParamRequired("TargetPipeline"))
12545	}
12546	if s.TargetPipeline != nil && len(*s.TargetPipeline) < 1 {
12547		invalidParams.Add(request.NewErrParamMinLen("TargetPipeline", 1))
12548	}
12549	if s.AuthenticationConfiguration != nil {
12550		if err := s.AuthenticationConfiguration.Validate(); err != nil {
12551			invalidParams.AddNested("AuthenticationConfiguration", err.(request.ErrInvalidParams))
12552		}
12553	}
12554	if s.Filters != nil {
12555		for i, v := range s.Filters {
12556			if v == nil {
12557				continue
12558			}
12559			if err := v.Validate(); err != nil {
12560				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12561			}
12562		}
12563	}
12564
12565	if invalidParams.Len() > 0 {
12566		return invalidParams
12567	}
12568	return nil
12569}
12570
12571// SetAuthentication sets the Authentication field's value.
12572func (s *WebhookDefinition) SetAuthentication(v string) *WebhookDefinition {
12573	s.Authentication = &v
12574	return s
12575}
12576
12577// SetAuthenticationConfiguration sets the AuthenticationConfiguration field's value.
12578func (s *WebhookDefinition) SetAuthenticationConfiguration(v *WebhookAuthConfiguration) *WebhookDefinition {
12579	s.AuthenticationConfiguration = v
12580	return s
12581}
12582
12583// SetFilters sets the Filters field's value.
12584func (s *WebhookDefinition) SetFilters(v []*WebhookFilterRule) *WebhookDefinition {
12585	s.Filters = v
12586	return s
12587}
12588
12589// SetName sets the Name field's value.
12590func (s *WebhookDefinition) SetName(v string) *WebhookDefinition {
12591	s.Name = &v
12592	return s
12593}
12594
12595// SetTargetAction sets the TargetAction field's value.
12596func (s *WebhookDefinition) SetTargetAction(v string) *WebhookDefinition {
12597	s.TargetAction = &v
12598	return s
12599}
12600
12601// SetTargetPipeline sets the TargetPipeline field's value.
12602func (s *WebhookDefinition) SetTargetPipeline(v string) *WebhookDefinition {
12603	s.TargetPipeline = &v
12604	return s
12605}
12606
12607// The event criteria that specify when a webhook notification is sent to your
12608// URL.
12609type WebhookFilterRule struct {
12610	_ struct{} `type:"structure"`
12611
12612	// A JsonPath expression that is applied to the body/payload of the webhook.
12613	// The value selected by the JsonPath expression must match the value specified
12614	// in the MatchEquals field. Otherwise, the request is ignored. For more information,
12615	// see Java JsonPath implementation (https://github.com/json-path/JsonPath)
12616	// in GitHub.
12617	//
12618	// JsonPath is a required field
12619	JsonPath *string `locationName:"jsonPath" min:"1" type:"string" required:"true"`
12620
12621	// The value selected by the JsonPath expression must match what is supplied
12622	// in the MatchEquals field. Otherwise, the request is ignored. Properties from
12623	// the target action configuration can be included as placeholders in this value
12624	// by surrounding the action configuration key with curly brackets. For example,
12625	// if the value supplied here is "refs/heads/{Branch}" and the target action
12626	// has an action configuration property called "Branch" with a value of "master",
12627	// the MatchEquals value is evaluated as "refs/heads/master". For a list of
12628	// action configuration properties for built-in action types, see Pipeline Structure
12629	// Reference Action Requirements (https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements).
12630	MatchEquals *string `locationName:"matchEquals" min:"1" type:"string"`
12631}
12632
12633// String returns the string representation
12634func (s WebhookFilterRule) String() string {
12635	return awsutil.Prettify(s)
12636}
12637
12638// GoString returns the string representation
12639func (s WebhookFilterRule) GoString() string {
12640	return s.String()
12641}
12642
12643// Validate inspects the fields of the type to determine if they are valid.
12644func (s *WebhookFilterRule) Validate() error {
12645	invalidParams := request.ErrInvalidParams{Context: "WebhookFilterRule"}
12646	if s.JsonPath == nil {
12647		invalidParams.Add(request.NewErrParamRequired("JsonPath"))
12648	}
12649	if s.JsonPath != nil && len(*s.JsonPath) < 1 {
12650		invalidParams.Add(request.NewErrParamMinLen("JsonPath", 1))
12651	}
12652	if s.MatchEquals != nil && len(*s.MatchEquals) < 1 {
12653		invalidParams.Add(request.NewErrParamMinLen("MatchEquals", 1))
12654	}
12655
12656	if invalidParams.Len() > 0 {
12657		return invalidParams
12658	}
12659	return nil
12660}
12661
12662// SetJsonPath sets the JsonPath field's value.
12663func (s *WebhookFilterRule) SetJsonPath(v string) *WebhookFilterRule {
12664	s.JsonPath = &v
12665	return s
12666}
12667
12668// SetMatchEquals sets the MatchEquals field's value.
12669func (s *WebhookFilterRule) SetMatchEquals(v string) *WebhookFilterRule {
12670	s.MatchEquals = &v
12671	return s
12672}
12673
12674// The specified webhook was entered in an invalid format or cannot be found.
12675type WebhookNotFoundException struct {
12676	_            struct{}                  `type:"structure"`
12677	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12678
12679	Message_ *string `locationName:"message" type:"string"`
12680}
12681
12682// String returns the string representation
12683func (s WebhookNotFoundException) String() string {
12684	return awsutil.Prettify(s)
12685}
12686
12687// GoString returns the string representation
12688func (s WebhookNotFoundException) GoString() string {
12689	return s.String()
12690}
12691
12692func newErrorWebhookNotFoundException(v protocol.ResponseMetadata) error {
12693	return &WebhookNotFoundException{
12694		RespMetadata: v,
12695	}
12696}
12697
12698// Code returns the exception type name.
12699func (s *WebhookNotFoundException) Code() string {
12700	return "WebhookNotFoundException"
12701}
12702
12703// Message returns the exception's message.
12704func (s *WebhookNotFoundException) Message() string {
12705	if s.Message_ != nil {
12706		return *s.Message_
12707	}
12708	return ""
12709}
12710
12711// OrigErr always returns nil, satisfies awserr.Error interface.
12712func (s *WebhookNotFoundException) OrigErr() error {
12713	return nil
12714}
12715
12716func (s *WebhookNotFoundException) Error() string {
12717	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12718}
12719
12720// Status code returns the HTTP status code for the request's response error.
12721func (s *WebhookNotFoundException) StatusCode() int {
12722	return s.RespMetadata.StatusCode
12723}
12724
12725// RequestID returns the service's response RequestID for request.
12726func (s *WebhookNotFoundException) RequestID() string {
12727	return s.RespMetadata.RequestID
12728}
12729
12730const (
12731	// ActionCategorySource is a ActionCategory enum value
12732	ActionCategorySource = "Source"
12733
12734	// ActionCategoryBuild is a ActionCategory enum value
12735	ActionCategoryBuild = "Build"
12736
12737	// ActionCategoryDeploy is a ActionCategory enum value
12738	ActionCategoryDeploy = "Deploy"
12739
12740	// ActionCategoryTest is a ActionCategory enum value
12741	ActionCategoryTest = "Test"
12742
12743	// ActionCategoryInvoke is a ActionCategory enum value
12744	ActionCategoryInvoke = "Invoke"
12745
12746	// ActionCategoryApproval is a ActionCategory enum value
12747	ActionCategoryApproval = "Approval"
12748)
12749
12750const (
12751	// ActionConfigurationPropertyTypeString is a ActionConfigurationPropertyType enum value
12752	ActionConfigurationPropertyTypeString = "String"
12753
12754	// ActionConfigurationPropertyTypeNumber is a ActionConfigurationPropertyType enum value
12755	ActionConfigurationPropertyTypeNumber = "Number"
12756
12757	// ActionConfigurationPropertyTypeBoolean is a ActionConfigurationPropertyType enum value
12758	ActionConfigurationPropertyTypeBoolean = "Boolean"
12759)
12760
12761const (
12762	// ActionExecutionStatusInProgress is a ActionExecutionStatus enum value
12763	ActionExecutionStatusInProgress = "InProgress"
12764
12765	// ActionExecutionStatusAbandoned is a ActionExecutionStatus enum value
12766	ActionExecutionStatusAbandoned = "Abandoned"
12767
12768	// ActionExecutionStatusSucceeded is a ActionExecutionStatus enum value
12769	ActionExecutionStatusSucceeded = "Succeeded"
12770
12771	// ActionExecutionStatusFailed is a ActionExecutionStatus enum value
12772	ActionExecutionStatusFailed = "Failed"
12773)
12774
12775const (
12776	// ActionOwnerAws is a ActionOwner enum value
12777	ActionOwnerAws = "AWS"
12778
12779	// ActionOwnerThirdParty is a ActionOwner enum value
12780	ActionOwnerThirdParty = "ThirdParty"
12781
12782	// ActionOwnerCustom is a ActionOwner enum value
12783	ActionOwnerCustom = "Custom"
12784)
12785
12786const (
12787	// ApprovalStatusApproved is a ApprovalStatus enum value
12788	ApprovalStatusApproved = "Approved"
12789
12790	// ApprovalStatusRejected is a ApprovalStatus enum value
12791	ApprovalStatusRejected = "Rejected"
12792)
12793
12794const (
12795	// ArtifactLocationTypeS3 is a ArtifactLocationType enum value
12796	ArtifactLocationTypeS3 = "S3"
12797)
12798
12799const (
12800	// ArtifactStoreTypeS3 is a ArtifactStoreType enum value
12801	ArtifactStoreTypeS3 = "S3"
12802)
12803
12804const (
12805	// BlockerTypeSchedule is a BlockerType enum value
12806	BlockerTypeSchedule = "Schedule"
12807)
12808
12809const (
12810	// EncryptionKeyTypeKms is a EncryptionKeyType enum value
12811	EncryptionKeyTypeKms = "KMS"
12812)
12813
12814const (
12815	// FailureTypeJobFailed is a FailureType enum value
12816	FailureTypeJobFailed = "JobFailed"
12817
12818	// FailureTypeConfigurationError is a FailureType enum value
12819	FailureTypeConfigurationError = "ConfigurationError"
12820
12821	// FailureTypePermissionError is a FailureType enum value
12822	FailureTypePermissionError = "PermissionError"
12823
12824	// FailureTypeRevisionOutOfSync is a FailureType enum value
12825	FailureTypeRevisionOutOfSync = "RevisionOutOfSync"
12826
12827	// FailureTypeRevisionUnavailable is a FailureType enum value
12828	FailureTypeRevisionUnavailable = "RevisionUnavailable"
12829
12830	// FailureTypeSystemUnavailable is a FailureType enum value
12831	FailureTypeSystemUnavailable = "SystemUnavailable"
12832)
12833
12834const (
12835	// JobStatusCreated is a JobStatus enum value
12836	JobStatusCreated = "Created"
12837
12838	// JobStatusQueued is a JobStatus enum value
12839	JobStatusQueued = "Queued"
12840
12841	// JobStatusDispatched is a JobStatus enum value
12842	JobStatusDispatched = "Dispatched"
12843
12844	// JobStatusInProgress is a JobStatus enum value
12845	JobStatusInProgress = "InProgress"
12846
12847	// JobStatusTimedOut is a JobStatus enum value
12848	JobStatusTimedOut = "TimedOut"
12849
12850	// JobStatusSucceeded is a JobStatus enum value
12851	JobStatusSucceeded = "Succeeded"
12852
12853	// JobStatusFailed is a JobStatus enum value
12854	JobStatusFailed = "Failed"
12855)
12856
12857const (
12858	// PipelineExecutionStatusInProgress is a PipelineExecutionStatus enum value
12859	PipelineExecutionStatusInProgress = "InProgress"
12860
12861	// PipelineExecutionStatusStopped is a PipelineExecutionStatus enum value
12862	PipelineExecutionStatusStopped = "Stopped"
12863
12864	// PipelineExecutionStatusStopping is a PipelineExecutionStatus enum value
12865	PipelineExecutionStatusStopping = "Stopping"
12866
12867	// PipelineExecutionStatusSucceeded is a PipelineExecutionStatus enum value
12868	PipelineExecutionStatusSucceeded = "Succeeded"
12869
12870	// PipelineExecutionStatusSuperseded is a PipelineExecutionStatus enum value
12871	PipelineExecutionStatusSuperseded = "Superseded"
12872
12873	// PipelineExecutionStatusFailed is a PipelineExecutionStatus enum value
12874	PipelineExecutionStatusFailed = "Failed"
12875)
12876
12877const (
12878	// StageExecutionStatusInProgress is a StageExecutionStatus enum value
12879	StageExecutionStatusInProgress = "InProgress"
12880
12881	// StageExecutionStatusFailed is a StageExecutionStatus enum value
12882	StageExecutionStatusFailed = "Failed"
12883
12884	// StageExecutionStatusStopped is a StageExecutionStatus enum value
12885	StageExecutionStatusStopped = "Stopped"
12886
12887	// StageExecutionStatusStopping is a StageExecutionStatus enum value
12888	StageExecutionStatusStopping = "Stopping"
12889
12890	// StageExecutionStatusSucceeded is a StageExecutionStatus enum value
12891	StageExecutionStatusSucceeded = "Succeeded"
12892)
12893
12894const (
12895	// StageRetryModeFailedActions is a StageRetryMode enum value
12896	StageRetryModeFailedActions = "FAILED_ACTIONS"
12897)
12898
12899const (
12900	// StageTransitionTypeInbound is a StageTransitionType enum value
12901	StageTransitionTypeInbound = "Inbound"
12902
12903	// StageTransitionTypeOutbound is a StageTransitionType enum value
12904	StageTransitionTypeOutbound = "Outbound"
12905)
12906
12907const (
12908	// TriggerTypeCreatePipeline is a TriggerType enum value
12909	TriggerTypeCreatePipeline = "CreatePipeline"
12910
12911	// TriggerTypeStartPipelineExecution is a TriggerType enum value
12912	TriggerTypeStartPipelineExecution = "StartPipelineExecution"
12913
12914	// TriggerTypePollForSourceChanges is a TriggerType enum value
12915	TriggerTypePollForSourceChanges = "PollForSourceChanges"
12916
12917	// TriggerTypeWebhook is a TriggerType enum value
12918	TriggerTypeWebhook = "Webhook"
12919
12920	// TriggerTypeCloudWatchEvent is a TriggerType enum value
12921	TriggerTypeCloudWatchEvent = "CloudWatchEvent"
12922
12923	// TriggerTypePutActionRevision is a TriggerType enum value
12924	TriggerTypePutActionRevision = "PutActionRevision"
12925)
12926
12927const (
12928	// WebhookAuthenticationTypeGithubHmac is a WebhookAuthenticationType enum value
12929	WebhookAuthenticationTypeGithubHmac = "GITHUB_HMAC"
12930
12931	// WebhookAuthenticationTypeIp is a WebhookAuthenticationType enum value
12932	WebhookAuthenticationTypeIp = "IP"
12933
12934	// WebhookAuthenticationTypeUnauthenticated is a WebhookAuthenticationType enum value
12935	WebhookAuthenticationTypeUnauthenticated = "UNAUTHENTICATED"
12936)
12937