1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package amplify
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/restjson"
14)
15
16const opCreateApp = "CreateApp"
17
18// CreateAppRequest generates a "aws/request.Request" representing the
19// client's request for the CreateApp 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 CreateApp for more information on using the CreateApp
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 CreateAppRequest method.
34//    req, resp := client.CreateAppRequest(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/amplify-2017-07-25/CreateApp
42func (c *Amplify) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) {
43	op := &request.Operation{
44		Name:       opCreateApp,
45		HTTPMethod: "POST",
46		HTTPPath:   "/apps",
47	}
48
49	if input == nil {
50		input = &CreateAppInput{}
51	}
52
53	output = &CreateAppOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateApp API operation for AWS Amplify.
59//
60// Creates a new Amplify app.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS Amplify's
67// API operation CreateApp for usage and error information.
68//
69// Returned Error Types:
70//   * BadRequestException
71//   A request contains unexpected data.
72//
73//   * UnauthorizedException
74//   An operation failed due to a lack of access.
75//
76//   * InternalFailureException
77//   The service failed to perform an operation due to an internal issue.
78//
79//   * LimitExceededException
80//   A resource could not be created because service quotas were exceeded.
81//
82//   * DependentServiceFailureException
83//   An operation failed because a dependent service threw an exception.
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateApp
86func (c *Amplify) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) {
87	req, out := c.CreateAppRequest(input)
88	return out, req.Send()
89}
90
91// CreateAppWithContext is the same as CreateApp with the addition of
92// the ability to pass a context and additional request options.
93//
94// See CreateApp for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *Amplify) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) {
101	req, out := c.CreateAppRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opCreateBackendEnvironment = "CreateBackendEnvironment"
108
109// CreateBackendEnvironmentRequest generates a "aws/request.Request" representing the
110// client's request for the CreateBackendEnvironment operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See CreateBackendEnvironment for more information on using the CreateBackendEnvironment
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the CreateBackendEnvironmentRequest method.
125//    req, resp := client.CreateBackendEnvironmentRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateBackendEnvironment
133func (c *Amplify) CreateBackendEnvironmentRequest(input *CreateBackendEnvironmentInput) (req *request.Request, output *CreateBackendEnvironmentOutput) {
134	op := &request.Operation{
135		Name:       opCreateBackendEnvironment,
136		HTTPMethod: "POST",
137		HTTPPath:   "/apps/{appId}/backendenvironments",
138	}
139
140	if input == nil {
141		input = &CreateBackendEnvironmentInput{}
142	}
143
144	output = &CreateBackendEnvironmentOutput{}
145	req = c.newRequest(op, input, output)
146	return
147}
148
149// CreateBackendEnvironment API operation for AWS Amplify.
150//
151// Creates a new backend environment for an Amplify app.
152//
153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
154// with awserr.Error's Code and Message methods to get detailed information about
155// the error.
156//
157// See the AWS API reference guide for AWS Amplify's
158// API operation CreateBackendEnvironment for usage and error information.
159//
160// Returned Error Types:
161//   * BadRequestException
162//   A request contains unexpected data.
163//
164//   * UnauthorizedException
165//   An operation failed due to a lack of access.
166//
167//   * NotFoundException
168//   An entity was not found during an operation.
169//
170//   * InternalFailureException
171//   The service failed to perform an operation due to an internal issue.
172//
173//   * LimitExceededException
174//   A resource could not be created because service quotas were exceeded.
175//
176// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateBackendEnvironment
177func (c *Amplify) CreateBackendEnvironment(input *CreateBackendEnvironmentInput) (*CreateBackendEnvironmentOutput, error) {
178	req, out := c.CreateBackendEnvironmentRequest(input)
179	return out, req.Send()
180}
181
182// CreateBackendEnvironmentWithContext is the same as CreateBackendEnvironment with the addition of
183// the ability to pass a context and additional request options.
184//
185// See CreateBackendEnvironment for details on how to use this API operation.
186//
187// The context must be non-nil and will be used for request cancellation. If
188// the context is nil a panic will occur. In the future the SDK may create
189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
190// for more information on using Contexts.
191func (c *Amplify) CreateBackendEnvironmentWithContext(ctx aws.Context, input *CreateBackendEnvironmentInput, opts ...request.Option) (*CreateBackendEnvironmentOutput, error) {
192	req, out := c.CreateBackendEnvironmentRequest(input)
193	req.SetContext(ctx)
194	req.ApplyOptions(opts...)
195	return out, req.Send()
196}
197
198const opCreateBranch = "CreateBranch"
199
200// CreateBranchRequest generates a "aws/request.Request" representing the
201// client's request for the CreateBranch operation. The "output" return
202// value will be populated with the request's response once the request completes
203// successfully.
204//
205// Use "Send" method on the returned Request to send the API call to the service.
206// the "output" return value is not valid until after Send returns without error.
207//
208// See CreateBranch for more information on using the CreateBranch
209// API call, and error handling.
210//
211// This method is useful when you want to inject custom logic or configuration
212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
213//
214//
215//    // Example sending a request using the CreateBranchRequest method.
216//    req, resp := client.CreateBranchRequest(params)
217//
218//    err := req.Send()
219//    if err == nil { // resp is now filled
220//        fmt.Println(resp)
221//    }
222//
223// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateBranch
224func (c *Amplify) CreateBranchRequest(input *CreateBranchInput) (req *request.Request, output *CreateBranchOutput) {
225	op := &request.Operation{
226		Name:       opCreateBranch,
227		HTTPMethod: "POST",
228		HTTPPath:   "/apps/{appId}/branches",
229	}
230
231	if input == nil {
232		input = &CreateBranchInput{}
233	}
234
235	output = &CreateBranchOutput{}
236	req = c.newRequest(op, input, output)
237	return
238}
239
240// CreateBranch API operation for AWS Amplify.
241//
242// Creates a new branch for an Amplify app.
243//
244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
245// with awserr.Error's Code and Message methods to get detailed information about
246// the error.
247//
248// See the AWS API reference guide for AWS Amplify's
249// API operation CreateBranch for usage and error information.
250//
251// Returned Error Types:
252//   * BadRequestException
253//   A request contains unexpected data.
254//
255//   * UnauthorizedException
256//   An operation failed due to a lack of access.
257//
258//   * NotFoundException
259//   An entity was not found during an operation.
260//
261//   * InternalFailureException
262//   The service failed to perform an operation due to an internal issue.
263//
264//   * LimitExceededException
265//   A resource could not be created because service quotas were exceeded.
266//
267//   * DependentServiceFailureException
268//   An operation failed because a dependent service threw an exception.
269//
270// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateBranch
271func (c *Amplify) CreateBranch(input *CreateBranchInput) (*CreateBranchOutput, error) {
272	req, out := c.CreateBranchRequest(input)
273	return out, req.Send()
274}
275
276// CreateBranchWithContext is the same as CreateBranch with the addition of
277// the ability to pass a context and additional request options.
278//
279// See CreateBranch for details on how to use this API operation.
280//
281// The context must be non-nil and will be used for request cancellation. If
282// the context is nil a panic will occur. In the future the SDK may create
283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
284// for more information on using Contexts.
285func (c *Amplify) CreateBranchWithContext(ctx aws.Context, input *CreateBranchInput, opts ...request.Option) (*CreateBranchOutput, error) {
286	req, out := c.CreateBranchRequest(input)
287	req.SetContext(ctx)
288	req.ApplyOptions(opts...)
289	return out, req.Send()
290}
291
292const opCreateDeployment = "CreateDeployment"
293
294// CreateDeploymentRequest generates a "aws/request.Request" representing the
295// client's request for the CreateDeployment operation. The "output" return
296// value will be populated with the request's response once the request completes
297// successfully.
298//
299// Use "Send" method on the returned Request to send the API call to the service.
300// the "output" return value is not valid until after Send returns without error.
301//
302// See CreateDeployment for more information on using the CreateDeployment
303// API call, and error handling.
304//
305// This method is useful when you want to inject custom logic or configuration
306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
307//
308//
309//    // Example sending a request using the CreateDeploymentRequest method.
310//    req, resp := client.CreateDeploymentRequest(params)
311//
312//    err := req.Send()
313//    if err == nil { // resp is now filled
314//        fmt.Println(resp)
315//    }
316//
317// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateDeployment
318func (c *Amplify) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) {
319	op := &request.Operation{
320		Name:       opCreateDeployment,
321		HTTPMethod: "POST",
322		HTTPPath:   "/apps/{appId}/branches/{branchName}/deployments",
323	}
324
325	if input == nil {
326		input = &CreateDeploymentInput{}
327	}
328
329	output = &CreateDeploymentOutput{}
330	req = c.newRequest(op, input, output)
331	return
332}
333
334// CreateDeployment API operation for AWS Amplify.
335//
336// Creates a deployment for a manually deployed Amplify app. Manually deployed
337// apps are not connected to a repository.
338//
339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
340// with awserr.Error's Code and Message methods to get detailed information about
341// the error.
342//
343// See the AWS API reference guide for AWS Amplify's
344// API operation CreateDeployment for usage and error information.
345//
346// Returned Error Types:
347//   * BadRequestException
348//   A request contains unexpected data.
349//
350//   * UnauthorizedException
351//   An operation failed due to a lack of access.
352//
353//   * InternalFailureException
354//   The service failed to perform an operation due to an internal issue.
355//
356//   * LimitExceededException
357//   A resource could not be created because service quotas were exceeded.
358//
359// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateDeployment
360func (c *Amplify) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) {
361	req, out := c.CreateDeploymentRequest(input)
362	return out, req.Send()
363}
364
365// CreateDeploymentWithContext is the same as CreateDeployment with the addition of
366// the ability to pass a context and additional request options.
367//
368// See CreateDeployment for details on how to use this API operation.
369//
370// The context must be non-nil and will be used for request cancellation. If
371// the context is nil a panic will occur. In the future the SDK may create
372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
373// for more information on using Contexts.
374func (c *Amplify) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) {
375	req, out := c.CreateDeploymentRequest(input)
376	req.SetContext(ctx)
377	req.ApplyOptions(opts...)
378	return out, req.Send()
379}
380
381const opCreateDomainAssociation = "CreateDomainAssociation"
382
383// CreateDomainAssociationRequest generates a "aws/request.Request" representing the
384// client's request for the CreateDomainAssociation operation. The "output" return
385// value will be populated with the request's response once the request completes
386// successfully.
387//
388// Use "Send" method on the returned Request to send the API call to the service.
389// the "output" return value is not valid until after Send returns without error.
390//
391// See CreateDomainAssociation for more information on using the CreateDomainAssociation
392// API call, and error handling.
393//
394// This method is useful when you want to inject custom logic or configuration
395// into the SDK's request lifecycle. Such as custom headers, or retry logic.
396//
397//
398//    // Example sending a request using the CreateDomainAssociationRequest method.
399//    req, resp := client.CreateDomainAssociationRequest(params)
400//
401//    err := req.Send()
402//    if err == nil { // resp is now filled
403//        fmt.Println(resp)
404//    }
405//
406// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateDomainAssociation
407func (c *Amplify) CreateDomainAssociationRequest(input *CreateDomainAssociationInput) (req *request.Request, output *CreateDomainAssociationOutput) {
408	op := &request.Operation{
409		Name:       opCreateDomainAssociation,
410		HTTPMethod: "POST",
411		HTTPPath:   "/apps/{appId}/domains",
412	}
413
414	if input == nil {
415		input = &CreateDomainAssociationInput{}
416	}
417
418	output = &CreateDomainAssociationOutput{}
419	req = c.newRequest(op, input, output)
420	return
421}
422
423// CreateDomainAssociation API operation for AWS Amplify.
424//
425// Creates a new domain association for an Amplify app. This action associates
426// a custom domain with the Amplify app
427//
428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
429// with awserr.Error's Code and Message methods to get detailed information about
430// the error.
431//
432// See the AWS API reference guide for AWS Amplify's
433// API operation CreateDomainAssociation for usage and error information.
434//
435// Returned Error Types:
436//   * BadRequestException
437//   A request contains unexpected data.
438//
439//   * UnauthorizedException
440//   An operation failed due to a lack of access.
441//
442//   * NotFoundException
443//   An entity was not found during an operation.
444//
445//   * InternalFailureException
446//   The service failed to perform an operation due to an internal issue.
447//
448//   * LimitExceededException
449//   A resource could not be created because service quotas were exceeded.
450//
451//   * DependentServiceFailureException
452//   An operation failed because a dependent service threw an exception.
453//
454// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateDomainAssociation
455func (c *Amplify) CreateDomainAssociation(input *CreateDomainAssociationInput) (*CreateDomainAssociationOutput, error) {
456	req, out := c.CreateDomainAssociationRequest(input)
457	return out, req.Send()
458}
459
460// CreateDomainAssociationWithContext is the same as CreateDomainAssociation with the addition of
461// the ability to pass a context and additional request options.
462//
463// See CreateDomainAssociation for details on how to use this API operation.
464//
465// The context must be non-nil and will be used for request cancellation. If
466// the context is nil a panic will occur. In the future the SDK may create
467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
468// for more information on using Contexts.
469func (c *Amplify) CreateDomainAssociationWithContext(ctx aws.Context, input *CreateDomainAssociationInput, opts ...request.Option) (*CreateDomainAssociationOutput, error) {
470	req, out := c.CreateDomainAssociationRequest(input)
471	req.SetContext(ctx)
472	req.ApplyOptions(opts...)
473	return out, req.Send()
474}
475
476const opCreateWebhook = "CreateWebhook"
477
478// CreateWebhookRequest generates a "aws/request.Request" representing the
479// client's request for the CreateWebhook operation. The "output" return
480// value will be populated with the request's response once the request completes
481// successfully.
482//
483// Use "Send" method on the returned Request to send the API call to the service.
484// the "output" return value is not valid until after Send returns without error.
485//
486// See CreateWebhook for more information on using the CreateWebhook
487// API call, and error handling.
488//
489// This method is useful when you want to inject custom logic or configuration
490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
491//
492//
493//    // Example sending a request using the CreateWebhookRequest method.
494//    req, resp := client.CreateWebhookRequest(params)
495//
496//    err := req.Send()
497//    if err == nil { // resp is now filled
498//        fmt.Println(resp)
499//    }
500//
501// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateWebhook
502func (c *Amplify) CreateWebhookRequest(input *CreateWebhookInput) (req *request.Request, output *CreateWebhookOutput) {
503	op := &request.Operation{
504		Name:       opCreateWebhook,
505		HTTPMethod: "POST",
506		HTTPPath:   "/apps/{appId}/webhooks",
507	}
508
509	if input == nil {
510		input = &CreateWebhookInput{}
511	}
512
513	output = &CreateWebhookOutput{}
514	req = c.newRequest(op, input, output)
515	return
516}
517
518// CreateWebhook API operation for AWS Amplify.
519//
520// Creates a new webhook on an Amplify app.
521//
522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
523// with awserr.Error's Code and Message methods to get detailed information about
524// the error.
525//
526// See the AWS API reference guide for AWS Amplify's
527// API operation CreateWebhook for usage and error information.
528//
529// Returned Error Types:
530//   * BadRequestException
531//   A request contains unexpected data.
532//
533//   * UnauthorizedException
534//   An operation failed due to a lack of access.
535//
536//   * NotFoundException
537//   An entity was not found during an operation.
538//
539//   * InternalFailureException
540//   The service failed to perform an operation due to an internal issue.
541//
542//   * LimitExceededException
543//   A resource could not be created because service quotas were exceeded.
544//
545//   * DependentServiceFailureException
546//   An operation failed because a dependent service threw an exception.
547//
548// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateWebhook
549func (c *Amplify) CreateWebhook(input *CreateWebhookInput) (*CreateWebhookOutput, error) {
550	req, out := c.CreateWebhookRequest(input)
551	return out, req.Send()
552}
553
554// CreateWebhookWithContext is the same as CreateWebhook with the addition of
555// the ability to pass a context and additional request options.
556//
557// See CreateWebhook for details on how to use this API operation.
558//
559// The context must be non-nil and will be used for request cancellation. If
560// the context is nil a panic will occur. In the future the SDK may create
561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
562// for more information on using Contexts.
563func (c *Amplify) CreateWebhookWithContext(ctx aws.Context, input *CreateWebhookInput, opts ...request.Option) (*CreateWebhookOutput, error) {
564	req, out := c.CreateWebhookRequest(input)
565	req.SetContext(ctx)
566	req.ApplyOptions(opts...)
567	return out, req.Send()
568}
569
570const opDeleteApp = "DeleteApp"
571
572// DeleteAppRequest generates a "aws/request.Request" representing the
573// client's request for the DeleteApp operation. The "output" return
574// value will be populated with the request's response once the request completes
575// successfully.
576//
577// Use "Send" method on the returned Request to send the API call to the service.
578// the "output" return value is not valid until after Send returns without error.
579//
580// See DeleteApp for more information on using the DeleteApp
581// API call, and error handling.
582//
583// This method is useful when you want to inject custom logic or configuration
584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
585//
586//
587//    // Example sending a request using the DeleteAppRequest method.
588//    req, resp := client.DeleteAppRequest(params)
589//
590//    err := req.Send()
591//    if err == nil { // resp is now filled
592//        fmt.Println(resp)
593//    }
594//
595// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteApp
596func (c *Amplify) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
597	op := &request.Operation{
598		Name:       opDeleteApp,
599		HTTPMethod: "DELETE",
600		HTTPPath:   "/apps/{appId}",
601	}
602
603	if input == nil {
604		input = &DeleteAppInput{}
605	}
606
607	output = &DeleteAppOutput{}
608	req = c.newRequest(op, input, output)
609	return
610}
611
612// DeleteApp API operation for AWS Amplify.
613//
614// Deletes an existing Amplify app specified by an app ID.
615//
616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
617// with awserr.Error's Code and Message methods to get detailed information about
618// the error.
619//
620// See the AWS API reference guide for AWS Amplify's
621// API operation DeleteApp for usage and error information.
622//
623// Returned Error Types:
624//   * BadRequestException
625//   A request contains unexpected data.
626//
627//   * NotFoundException
628//   An entity was not found during an operation.
629//
630//   * UnauthorizedException
631//   An operation failed due to a lack of access.
632//
633//   * InternalFailureException
634//   The service failed to perform an operation due to an internal issue.
635//
636//   * DependentServiceFailureException
637//   An operation failed because a dependent service threw an exception.
638//
639// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteApp
640func (c *Amplify) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
641	req, out := c.DeleteAppRequest(input)
642	return out, req.Send()
643}
644
645// DeleteAppWithContext is the same as DeleteApp with the addition of
646// the ability to pass a context and additional request options.
647//
648// See DeleteApp for details on how to use this API operation.
649//
650// The context must be non-nil and will be used for request cancellation. If
651// the context is nil a panic will occur. In the future the SDK may create
652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
653// for more information on using Contexts.
654func (c *Amplify) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
655	req, out := c.DeleteAppRequest(input)
656	req.SetContext(ctx)
657	req.ApplyOptions(opts...)
658	return out, req.Send()
659}
660
661const opDeleteBackendEnvironment = "DeleteBackendEnvironment"
662
663// DeleteBackendEnvironmentRequest generates a "aws/request.Request" representing the
664// client's request for the DeleteBackendEnvironment operation. The "output" return
665// value will be populated with the request's response once the request completes
666// successfully.
667//
668// Use "Send" method on the returned Request to send the API call to the service.
669// the "output" return value is not valid until after Send returns without error.
670//
671// See DeleteBackendEnvironment for more information on using the DeleteBackendEnvironment
672// API call, and error handling.
673//
674// This method is useful when you want to inject custom logic or configuration
675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
676//
677//
678//    // Example sending a request using the DeleteBackendEnvironmentRequest method.
679//    req, resp := client.DeleteBackendEnvironmentRequest(params)
680//
681//    err := req.Send()
682//    if err == nil { // resp is now filled
683//        fmt.Println(resp)
684//    }
685//
686// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteBackendEnvironment
687func (c *Amplify) DeleteBackendEnvironmentRequest(input *DeleteBackendEnvironmentInput) (req *request.Request, output *DeleteBackendEnvironmentOutput) {
688	op := &request.Operation{
689		Name:       opDeleteBackendEnvironment,
690		HTTPMethod: "DELETE",
691		HTTPPath:   "/apps/{appId}/backendenvironments/{environmentName}",
692	}
693
694	if input == nil {
695		input = &DeleteBackendEnvironmentInput{}
696	}
697
698	output = &DeleteBackendEnvironmentOutput{}
699	req = c.newRequest(op, input, output)
700	return
701}
702
703// DeleteBackendEnvironment API operation for AWS Amplify.
704//
705// Deletes a backend environment for an Amplify app.
706//
707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
708// with awserr.Error's Code and Message methods to get detailed information about
709// the error.
710//
711// See the AWS API reference guide for AWS Amplify's
712// API operation DeleteBackendEnvironment for usage and error information.
713//
714// Returned Error Types:
715//   * BadRequestException
716//   A request contains unexpected data.
717//
718//   * UnauthorizedException
719//   An operation failed due to a lack of access.
720//
721//   * NotFoundException
722//   An entity was not found during an operation.
723//
724//   * InternalFailureException
725//   The service failed to perform an operation due to an internal issue.
726//
727//   * DependentServiceFailureException
728//   An operation failed because a dependent service threw an exception.
729//
730// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteBackendEnvironment
731func (c *Amplify) DeleteBackendEnvironment(input *DeleteBackendEnvironmentInput) (*DeleteBackendEnvironmentOutput, error) {
732	req, out := c.DeleteBackendEnvironmentRequest(input)
733	return out, req.Send()
734}
735
736// DeleteBackendEnvironmentWithContext is the same as DeleteBackendEnvironment with the addition of
737// the ability to pass a context and additional request options.
738//
739// See DeleteBackendEnvironment for details on how to use this API operation.
740//
741// The context must be non-nil and will be used for request cancellation. If
742// the context is nil a panic will occur. In the future the SDK may create
743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
744// for more information on using Contexts.
745func (c *Amplify) DeleteBackendEnvironmentWithContext(ctx aws.Context, input *DeleteBackendEnvironmentInput, opts ...request.Option) (*DeleteBackendEnvironmentOutput, error) {
746	req, out := c.DeleteBackendEnvironmentRequest(input)
747	req.SetContext(ctx)
748	req.ApplyOptions(opts...)
749	return out, req.Send()
750}
751
752const opDeleteBranch = "DeleteBranch"
753
754// DeleteBranchRequest generates a "aws/request.Request" representing the
755// client's request for the DeleteBranch operation. The "output" return
756// value will be populated with the request's response once the request completes
757// successfully.
758//
759// Use "Send" method on the returned Request to send the API call to the service.
760// the "output" return value is not valid until after Send returns without error.
761//
762// See DeleteBranch for more information on using the DeleteBranch
763// API call, and error handling.
764//
765// This method is useful when you want to inject custom logic or configuration
766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
767//
768//
769//    // Example sending a request using the DeleteBranchRequest method.
770//    req, resp := client.DeleteBranchRequest(params)
771//
772//    err := req.Send()
773//    if err == nil { // resp is now filled
774//        fmt.Println(resp)
775//    }
776//
777// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteBranch
778func (c *Amplify) DeleteBranchRequest(input *DeleteBranchInput) (req *request.Request, output *DeleteBranchOutput) {
779	op := &request.Operation{
780		Name:       opDeleteBranch,
781		HTTPMethod: "DELETE",
782		HTTPPath:   "/apps/{appId}/branches/{branchName}",
783	}
784
785	if input == nil {
786		input = &DeleteBranchInput{}
787	}
788
789	output = &DeleteBranchOutput{}
790	req = c.newRequest(op, input, output)
791	return
792}
793
794// DeleteBranch API operation for AWS Amplify.
795//
796// Deletes a branch for an Amplify app.
797//
798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
799// with awserr.Error's Code and Message methods to get detailed information about
800// the error.
801//
802// See the AWS API reference guide for AWS Amplify's
803// API operation DeleteBranch for usage and error information.
804//
805// Returned Error Types:
806//   * BadRequestException
807//   A request contains unexpected data.
808//
809//   * UnauthorizedException
810//   An operation failed due to a lack of access.
811//
812//   * NotFoundException
813//   An entity was not found during an operation.
814//
815//   * InternalFailureException
816//   The service failed to perform an operation due to an internal issue.
817//
818//   * DependentServiceFailureException
819//   An operation failed because a dependent service threw an exception.
820//
821// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteBranch
822func (c *Amplify) DeleteBranch(input *DeleteBranchInput) (*DeleteBranchOutput, error) {
823	req, out := c.DeleteBranchRequest(input)
824	return out, req.Send()
825}
826
827// DeleteBranchWithContext is the same as DeleteBranch with the addition of
828// the ability to pass a context and additional request options.
829//
830// See DeleteBranch for details on how to use this API operation.
831//
832// The context must be non-nil and will be used for request cancellation. If
833// the context is nil a panic will occur. In the future the SDK may create
834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
835// for more information on using Contexts.
836func (c *Amplify) DeleteBranchWithContext(ctx aws.Context, input *DeleteBranchInput, opts ...request.Option) (*DeleteBranchOutput, error) {
837	req, out := c.DeleteBranchRequest(input)
838	req.SetContext(ctx)
839	req.ApplyOptions(opts...)
840	return out, req.Send()
841}
842
843const opDeleteDomainAssociation = "DeleteDomainAssociation"
844
845// DeleteDomainAssociationRequest generates a "aws/request.Request" representing the
846// client's request for the DeleteDomainAssociation operation. The "output" return
847// value will be populated with the request's response once the request completes
848// successfully.
849//
850// Use "Send" method on the returned Request to send the API call to the service.
851// the "output" return value is not valid until after Send returns without error.
852//
853// See DeleteDomainAssociation for more information on using the DeleteDomainAssociation
854// API call, and error handling.
855//
856// This method is useful when you want to inject custom logic or configuration
857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
858//
859//
860//    // Example sending a request using the DeleteDomainAssociationRequest method.
861//    req, resp := client.DeleteDomainAssociationRequest(params)
862//
863//    err := req.Send()
864//    if err == nil { // resp is now filled
865//        fmt.Println(resp)
866//    }
867//
868// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteDomainAssociation
869func (c *Amplify) DeleteDomainAssociationRequest(input *DeleteDomainAssociationInput) (req *request.Request, output *DeleteDomainAssociationOutput) {
870	op := &request.Operation{
871		Name:       opDeleteDomainAssociation,
872		HTTPMethod: "DELETE",
873		HTTPPath:   "/apps/{appId}/domains/{domainName}",
874	}
875
876	if input == nil {
877		input = &DeleteDomainAssociationInput{}
878	}
879
880	output = &DeleteDomainAssociationOutput{}
881	req = c.newRequest(op, input, output)
882	return
883}
884
885// DeleteDomainAssociation API operation for AWS Amplify.
886//
887// Deletes a domain association for an Amplify app.
888//
889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
890// with awserr.Error's Code and Message methods to get detailed information about
891// the error.
892//
893// See the AWS API reference guide for AWS Amplify's
894// API operation DeleteDomainAssociation for usage and error information.
895//
896// Returned Error Types:
897//   * BadRequestException
898//   A request contains unexpected data.
899//
900//   * UnauthorizedException
901//   An operation failed due to a lack of access.
902//
903//   * NotFoundException
904//   An entity was not found during an operation.
905//
906//   * InternalFailureException
907//   The service failed to perform an operation due to an internal issue.
908//
909//   * DependentServiceFailureException
910//   An operation failed because a dependent service threw an exception.
911//
912// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteDomainAssociation
913func (c *Amplify) DeleteDomainAssociation(input *DeleteDomainAssociationInput) (*DeleteDomainAssociationOutput, error) {
914	req, out := c.DeleteDomainAssociationRequest(input)
915	return out, req.Send()
916}
917
918// DeleteDomainAssociationWithContext is the same as DeleteDomainAssociation with the addition of
919// the ability to pass a context and additional request options.
920//
921// See DeleteDomainAssociation for details on how to use this API operation.
922//
923// The context must be non-nil and will be used for request cancellation. If
924// the context is nil a panic will occur. In the future the SDK may create
925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
926// for more information on using Contexts.
927func (c *Amplify) DeleteDomainAssociationWithContext(ctx aws.Context, input *DeleteDomainAssociationInput, opts ...request.Option) (*DeleteDomainAssociationOutput, error) {
928	req, out := c.DeleteDomainAssociationRequest(input)
929	req.SetContext(ctx)
930	req.ApplyOptions(opts...)
931	return out, req.Send()
932}
933
934const opDeleteJob = "DeleteJob"
935
936// DeleteJobRequest generates a "aws/request.Request" representing the
937// client's request for the DeleteJob operation. The "output" return
938// value will be populated with the request's response once the request completes
939// successfully.
940//
941// Use "Send" method on the returned Request to send the API call to the service.
942// the "output" return value is not valid until after Send returns without error.
943//
944// See DeleteJob for more information on using the DeleteJob
945// API call, and error handling.
946//
947// This method is useful when you want to inject custom logic or configuration
948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
949//
950//
951//    // Example sending a request using the DeleteJobRequest method.
952//    req, resp := client.DeleteJobRequest(params)
953//
954//    err := req.Send()
955//    if err == nil { // resp is now filled
956//        fmt.Println(resp)
957//    }
958//
959// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteJob
960func (c *Amplify) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, output *DeleteJobOutput) {
961	op := &request.Operation{
962		Name:       opDeleteJob,
963		HTTPMethod: "DELETE",
964		HTTPPath:   "/apps/{appId}/branches/{branchName}/jobs/{jobId}",
965	}
966
967	if input == nil {
968		input = &DeleteJobInput{}
969	}
970
971	output = &DeleteJobOutput{}
972	req = c.newRequest(op, input, output)
973	return
974}
975
976// DeleteJob API operation for AWS Amplify.
977//
978// Deletes a job for a branch of an Amplify app.
979//
980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
981// with awserr.Error's Code and Message methods to get detailed information about
982// the error.
983//
984// See the AWS API reference guide for AWS Amplify's
985// API operation DeleteJob for usage and error information.
986//
987// Returned Error Types:
988//   * BadRequestException
989//   A request contains unexpected data.
990//
991//   * UnauthorizedException
992//   An operation failed due to a lack of access.
993//
994//   * InternalFailureException
995//   The service failed to perform an operation due to an internal issue.
996//
997//   * NotFoundException
998//   An entity was not found during an operation.
999//
1000//   * LimitExceededException
1001//   A resource could not be created because service quotas were exceeded.
1002//
1003// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteJob
1004func (c *Amplify) DeleteJob(input *DeleteJobInput) (*DeleteJobOutput, error) {
1005	req, out := c.DeleteJobRequest(input)
1006	return out, req.Send()
1007}
1008
1009// DeleteJobWithContext is the same as DeleteJob with the addition of
1010// the ability to pass a context and additional request options.
1011//
1012// See DeleteJob for details on how to use this API operation.
1013//
1014// The context must be non-nil and will be used for request cancellation. If
1015// the context is nil a panic will occur. In the future the SDK may create
1016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1017// for more information on using Contexts.
1018func (c *Amplify) DeleteJobWithContext(ctx aws.Context, input *DeleteJobInput, opts ...request.Option) (*DeleteJobOutput, error) {
1019	req, out := c.DeleteJobRequest(input)
1020	req.SetContext(ctx)
1021	req.ApplyOptions(opts...)
1022	return out, req.Send()
1023}
1024
1025const opDeleteWebhook = "DeleteWebhook"
1026
1027// DeleteWebhookRequest generates a "aws/request.Request" representing the
1028// client's request for the DeleteWebhook operation. The "output" return
1029// value will be populated with the request's response once the request completes
1030// successfully.
1031//
1032// Use "Send" method on the returned Request to send the API call to the service.
1033// the "output" return value is not valid until after Send returns without error.
1034//
1035// See DeleteWebhook for more information on using the DeleteWebhook
1036// API call, and error handling.
1037//
1038// This method is useful when you want to inject custom logic or configuration
1039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1040//
1041//
1042//    // Example sending a request using the DeleteWebhookRequest method.
1043//    req, resp := client.DeleteWebhookRequest(params)
1044//
1045//    err := req.Send()
1046//    if err == nil { // resp is now filled
1047//        fmt.Println(resp)
1048//    }
1049//
1050// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteWebhook
1051func (c *Amplify) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) {
1052	op := &request.Operation{
1053		Name:       opDeleteWebhook,
1054		HTTPMethod: "DELETE",
1055		HTTPPath:   "/webhooks/{webhookId}",
1056	}
1057
1058	if input == nil {
1059		input = &DeleteWebhookInput{}
1060	}
1061
1062	output = &DeleteWebhookOutput{}
1063	req = c.newRequest(op, input, output)
1064	return
1065}
1066
1067// DeleteWebhook API operation for AWS Amplify.
1068//
1069// Deletes a webhook.
1070//
1071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1072// with awserr.Error's Code and Message methods to get detailed information about
1073// the error.
1074//
1075// See the AWS API reference guide for AWS Amplify's
1076// API operation DeleteWebhook for usage and error information.
1077//
1078// Returned Error Types:
1079//   * BadRequestException
1080//   A request contains unexpected data.
1081//
1082//   * UnauthorizedException
1083//   An operation failed due to a lack of access.
1084//
1085//   * InternalFailureException
1086//   The service failed to perform an operation due to an internal issue.
1087//
1088//   * NotFoundException
1089//   An entity was not found during an operation.
1090//
1091//   * LimitExceededException
1092//   A resource could not be created because service quotas were exceeded.
1093//
1094// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteWebhook
1095func (c *Amplify) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) {
1096	req, out := c.DeleteWebhookRequest(input)
1097	return out, req.Send()
1098}
1099
1100// DeleteWebhookWithContext is the same as DeleteWebhook with the addition of
1101// the ability to pass a context and additional request options.
1102//
1103// See DeleteWebhook for details on how to use this API operation.
1104//
1105// The context must be non-nil and will be used for request cancellation. If
1106// the context is nil a panic will occur. In the future the SDK may create
1107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1108// for more information on using Contexts.
1109func (c *Amplify) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) {
1110	req, out := c.DeleteWebhookRequest(input)
1111	req.SetContext(ctx)
1112	req.ApplyOptions(opts...)
1113	return out, req.Send()
1114}
1115
1116const opGenerateAccessLogs = "GenerateAccessLogs"
1117
1118// GenerateAccessLogsRequest generates a "aws/request.Request" representing the
1119// client's request for the GenerateAccessLogs operation. The "output" return
1120// value will be populated with the request's response once the request completes
1121// successfully.
1122//
1123// Use "Send" method on the returned Request to send the API call to the service.
1124// the "output" return value is not valid until after Send returns without error.
1125//
1126// See GenerateAccessLogs for more information on using the GenerateAccessLogs
1127// API call, and error handling.
1128//
1129// This method is useful when you want to inject custom logic or configuration
1130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1131//
1132//
1133//    // Example sending a request using the GenerateAccessLogsRequest method.
1134//    req, resp := client.GenerateAccessLogsRequest(params)
1135//
1136//    err := req.Send()
1137//    if err == nil { // resp is now filled
1138//        fmt.Println(resp)
1139//    }
1140//
1141// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GenerateAccessLogs
1142func (c *Amplify) GenerateAccessLogsRequest(input *GenerateAccessLogsInput) (req *request.Request, output *GenerateAccessLogsOutput) {
1143	op := &request.Operation{
1144		Name:       opGenerateAccessLogs,
1145		HTTPMethod: "POST",
1146		HTTPPath:   "/apps/{appId}/accesslogs",
1147	}
1148
1149	if input == nil {
1150		input = &GenerateAccessLogsInput{}
1151	}
1152
1153	output = &GenerateAccessLogsOutput{}
1154	req = c.newRequest(op, input, output)
1155	return
1156}
1157
1158// GenerateAccessLogs API operation for AWS Amplify.
1159//
1160// Returns the website access logs for a specific time range using a presigned
1161// URL.
1162//
1163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1164// with awserr.Error's Code and Message methods to get detailed information about
1165// the error.
1166//
1167// See the AWS API reference guide for AWS Amplify's
1168// API operation GenerateAccessLogs for usage and error information.
1169//
1170// Returned Error Types:
1171//   * NotFoundException
1172//   An entity was not found during an operation.
1173//
1174//   * BadRequestException
1175//   A request contains unexpected data.
1176//
1177//   * UnauthorizedException
1178//   An operation failed due to a lack of access.
1179//
1180//   * InternalFailureException
1181//   The service failed to perform an operation due to an internal issue.
1182//
1183// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GenerateAccessLogs
1184func (c *Amplify) GenerateAccessLogs(input *GenerateAccessLogsInput) (*GenerateAccessLogsOutput, error) {
1185	req, out := c.GenerateAccessLogsRequest(input)
1186	return out, req.Send()
1187}
1188
1189// GenerateAccessLogsWithContext is the same as GenerateAccessLogs with the addition of
1190// the ability to pass a context and additional request options.
1191//
1192// See GenerateAccessLogs for details on how to use this API operation.
1193//
1194// The context must be non-nil and will be used for request cancellation. If
1195// the context is nil a panic will occur. In the future the SDK may create
1196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1197// for more information on using Contexts.
1198func (c *Amplify) GenerateAccessLogsWithContext(ctx aws.Context, input *GenerateAccessLogsInput, opts ...request.Option) (*GenerateAccessLogsOutput, error) {
1199	req, out := c.GenerateAccessLogsRequest(input)
1200	req.SetContext(ctx)
1201	req.ApplyOptions(opts...)
1202	return out, req.Send()
1203}
1204
1205const opGetApp = "GetApp"
1206
1207// GetAppRequest generates a "aws/request.Request" representing the
1208// client's request for the GetApp operation. The "output" return
1209// value will be populated with the request's response once the request completes
1210// successfully.
1211//
1212// Use "Send" method on the returned Request to send the API call to the service.
1213// the "output" return value is not valid until after Send returns without error.
1214//
1215// See GetApp for more information on using the GetApp
1216// API call, and error handling.
1217//
1218// This method is useful when you want to inject custom logic or configuration
1219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1220//
1221//
1222//    // Example sending a request using the GetAppRequest method.
1223//    req, resp := client.GetAppRequest(params)
1224//
1225//    err := req.Send()
1226//    if err == nil { // resp is now filled
1227//        fmt.Println(resp)
1228//    }
1229//
1230// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetApp
1231func (c *Amplify) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
1232	op := &request.Operation{
1233		Name:       opGetApp,
1234		HTTPMethod: "GET",
1235		HTTPPath:   "/apps/{appId}",
1236	}
1237
1238	if input == nil {
1239		input = &GetAppInput{}
1240	}
1241
1242	output = &GetAppOutput{}
1243	req = c.newRequest(op, input, output)
1244	return
1245}
1246
1247// GetApp API operation for AWS Amplify.
1248//
1249// Returns an existing Amplify app by appID.
1250//
1251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1252// with awserr.Error's Code and Message methods to get detailed information about
1253// the error.
1254//
1255// See the AWS API reference guide for AWS Amplify's
1256// API operation GetApp for usage and error information.
1257//
1258// Returned Error Types:
1259//   * BadRequestException
1260//   A request contains unexpected data.
1261//
1262//   * NotFoundException
1263//   An entity was not found during an operation.
1264//
1265//   * UnauthorizedException
1266//   An operation failed due to a lack of access.
1267//
1268//   * InternalFailureException
1269//   The service failed to perform an operation due to an internal issue.
1270//
1271// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetApp
1272func (c *Amplify) GetApp(input *GetAppInput) (*GetAppOutput, error) {
1273	req, out := c.GetAppRequest(input)
1274	return out, req.Send()
1275}
1276
1277// GetAppWithContext is the same as GetApp with the addition of
1278// the ability to pass a context and additional request options.
1279//
1280// See GetApp for details on how to use this API operation.
1281//
1282// The context must be non-nil and will be used for request cancellation. If
1283// the context is nil a panic will occur. In the future the SDK may create
1284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1285// for more information on using Contexts.
1286func (c *Amplify) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
1287	req, out := c.GetAppRequest(input)
1288	req.SetContext(ctx)
1289	req.ApplyOptions(opts...)
1290	return out, req.Send()
1291}
1292
1293const opGetArtifactUrl = "GetArtifactUrl"
1294
1295// GetArtifactUrlRequest generates a "aws/request.Request" representing the
1296// client's request for the GetArtifactUrl operation. The "output" return
1297// value will be populated with the request's response once the request completes
1298// successfully.
1299//
1300// Use "Send" method on the returned Request to send the API call to the service.
1301// the "output" return value is not valid until after Send returns without error.
1302//
1303// See GetArtifactUrl for more information on using the GetArtifactUrl
1304// API call, and error handling.
1305//
1306// This method is useful when you want to inject custom logic or configuration
1307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1308//
1309//
1310//    // Example sending a request using the GetArtifactUrlRequest method.
1311//    req, resp := client.GetArtifactUrlRequest(params)
1312//
1313//    err := req.Send()
1314//    if err == nil { // resp is now filled
1315//        fmt.Println(resp)
1316//    }
1317//
1318// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetArtifactUrl
1319func (c *Amplify) GetArtifactUrlRequest(input *GetArtifactUrlInput) (req *request.Request, output *GetArtifactUrlOutput) {
1320	op := &request.Operation{
1321		Name:       opGetArtifactUrl,
1322		HTTPMethod: "GET",
1323		HTTPPath:   "/artifacts/{artifactId}",
1324	}
1325
1326	if input == nil {
1327		input = &GetArtifactUrlInput{}
1328	}
1329
1330	output = &GetArtifactUrlOutput{}
1331	req = c.newRequest(op, input, output)
1332	return
1333}
1334
1335// GetArtifactUrl API operation for AWS Amplify.
1336//
1337// Returns the artifact info that corresponds to an artifact id.
1338//
1339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1340// with awserr.Error's Code and Message methods to get detailed information about
1341// the error.
1342//
1343// See the AWS API reference guide for AWS Amplify's
1344// API operation GetArtifactUrl for usage and error information.
1345//
1346// Returned Error Types:
1347//   * BadRequestException
1348//   A request contains unexpected data.
1349//
1350//   * UnauthorizedException
1351//   An operation failed due to a lack of access.
1352//
1353//   * InternalFailureException
1354//   The service failed to perform an operation due to an internal issue.
1355//
1356//   * NotFoundException
1357//   An entity was not found during an operation.
1358//
1359//   * LimitExceededException
1360//   A resource could not be created because service quotas were exceeded.
1361//
1362// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetArtifactUrl
1363func (c *Amplify) GetArtifactUrl(input *GetArtifactUrlInput) (*GetArtifactUrlOutput, error) {
1364	req, out := c.GetArtifactUrlRequest(input)
1365	return out, req.Send()
1366}
1367
1368// GetArtifactUrlWithContext is the same as GetArtifactUrl with the addition of
1369// the ability to pass a context and additional request options.
1370//
1371// See GetArtifactUrl for details on how to use this API operation.
1372//
1373// The context must be non-nil and will be used for request cancellation. If
1374// the context is nil a panic will occur. In the future the SDK may create
1375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1376// for more information on using Contexts.
1377func (c *Amplify) GetArtifactUrlWithContext(ctx aws.Context, input *GetArtifactUrlInput, opts ...request.Option) (*GetArtifactUrlOutput, error) {
1378	req, out := c.GetArtifactUrlRequest(input)
1379	req.SetContext(ctx)
1380	req.ApplyOptions(opts...)
1381	return out, req.Send()
1382}
1383
1384const opGetBackendEnvironment = "GetBackendEnvironment"
1385
1386// GetBackendEnvironmentRequest generates a "aws/request.Request" representing the
1387// client's request for the GetBackendEnvironment operation. The "output" return
1388// value will be populated with the request's response once the request completes
1389// successfully.
1390//
1391// Use "Send" method on the returned Request to send the API call to the service.
1392// the "output" return value is not valid until after Send returns without error.
1393//
1394// See GetBackendEnvironment for more information on using the GetBackendEnvironment
1395// API call, and error handling.
1396//
1397// This method is useful when you want to inject custom logic or configuration
1398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1399//
1400//
1401//    // Example sending a request using the GetBackendEnvironmentRequest method.
1402//    req, resp := client.GetBackendEnvironmentRequest(params)
1403//
1404//    err := req.Send()
1405//    if err == nil { // resp is now filled
1406//        fmt.Println(resp)
1407//    }
1408//
1409// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetBackendEnvironment
1410func (c *Amplify) GetBackendEnvironmentRequest(input *GetBackendEnvironmentInput) (req *request.Request, output *GetBackendEnvironmentOutput) {
1411	op := &request.Operation{
1412		Name:       opGetBackendEnvironment,
1413		HTTPMethod: "GET",
1414		HTTPPath:   "/apps/{appId}/backendenvironments/{environmentName}",
1415	}
1416
1417	if input == nil {
1418		input = &GetBackendEnvironmentInput{}
1419	}
1420
1421	output = &GetBackendEnvironmentOutput{}
1422	req = c.newRequest(op, input, output)
1423	return
1424}
1425
1426// GetBackendEnvironment API operation for AWS Amplify.
1427//
1428// Returns a backend environment for an Amplify app.
1429//
1430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1431// with awserr.Error's Code and Message methods to get detailed information about
1432// the error.
1433//
1434// See the AWS API reference guide for AWS Amplify's
1435// API operation GetBackendEnvironment for usage and error information.
1436//
1437// Returned Error Types:
1438//   * BadRequestException
1439//   A request contains unexpected data.
1440//
1441//   * UnauthorizedException
1442//   An operation failed due to a lack of access.
1443//
1444//   * NotFoundException
1445//   An entity was not found during an operation.
1446//
1447//   * InternalFailureException
1448//   The service failed to perform an operation due to an internal issue.
1449//
1450// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetBackendEnvironment
1451func (c *Amplify) GetBackendEnvironment(input *GetBackendEnvironmentInput) (*GetBackendEnvironmentOutput, error) {
1452	req, out := c.GetBackendEnvironmentRequest(input)
1453	return out, req.Send()
1454}
1455
1456// GetBackendEnvironmentWithContext is the same as GetBackendEnvironment with the addition of
1457// the ability to pass a context and additional request options.
1458//
1459// See GetBackendEnvironment for details on how to use this API operation.
1460//
1461// The context must be non-nil and will be used for request cancellation. If
1462// the context is nil a panic will occur. In the future the SDK may create
1463// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1464// for more information on using Contexts.
1465func (c *Amplify) GetBackendEnvironmentWithContext(ctx aws.Context, input *GetBackendEnvironmentInput, opts ...request.Option) (*GetBackendEnvironmentOutput, error) {
1466	req, out := c.GetBackendEnvironmentRequest(input)
1467	req.SetContext(ctx)
1468	req.ApplyOptions(opts...)
1469	return out, req.Send()
1470}
1471
1472const opGetBranch = "GetBranch"
1473
1474// GetBranchRequest generates a "aws/request.Request" representing the
1475// client's request for the GetBranch operation. The "output" return
1476// value will be populated with the request's response once the request completes
1477// successfully.
1478//
1479// Use "Send" method on the returned Request to send the API call to the service.
1480// the "output" return value is not valid until after Send returns without error.
1481//
1482// See GetBranch for more information on using the GetBranch
1483// API call, and error handling.
1484//
1485// This method is useful when you want to inject custom logic or configuration
1486// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1487//
1488//
1489//    // Example sending a request using the GetBranchRequest method.
1490//    req, resp := client.GetBranchRequest(params)
1491//
1492//    err := req.Send()
1493//    if err == nil { // resp is now filled
1494//        fmt.Println(resp)
1495//    }
1496//
1497// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetBranch
1498func (c *Amplify) GetBranchRequest(input *GetBranchInput) (req *request.Request, output *GetBranchOutput) {
1499	op := &request.Operation{
1500		Name:       opGetBranch,
1501		HTTPMethod: "GET",
1502		HTTPPath:   "/apps/{appId}/branches/{branchName}",
1503	}
1504
1505	if input == nil {
1506		input = &GetBranchInput{}
1507	}
1508
1509	output = &GetBranchOutput{}
1510	req = c.newRequest(op, input, output)
1511	return
1512}
1513
1514// GetBranch API operation for AWS Amplify.
1515//
1516// Returns a branch for an Amplify app.
1517//
1518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1519// with awserr.Error's Code and Message methods to get detailed information about
1520// the error.
1521//
1522// See the AWS API reference guide for AWS Amplify's
1523// API operation GetBranch for usage and error information.
1524//
1525// Returned Error Types:
1526//   * BadRequestException
1527//   A request contains unexpected data.
1528//
1529//   * UnauthorizedException
1530//   An operation failed due to a lack of access.
1531//
1532//   * NotFoundException
1533//   An entity was not found during an operation.
1534//
1535//   * InternalFailureException
1536//   The service failed to perform an operation due to an internal issue.
1537//
1538// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetBranch
1539func (c *Amplify) GetBranch(input *GetBranchInput) (*GetBranchOutput, error) {
1540	req, out := c.GetBranchRequest(input)
1541	return out, req.Send()
1542}
1543
1544// GetBranchWithContext is the same as GetBranch with the addition of
1545// the ability to pass a context and additional request options.
1546//
1547// See GetBranch for details on how to use this API operation.
1548//
1549// The context must be non-nil and will be used for request cancellation. If
1550// the context is nil a panic will occur. In the future the SDK may create
1551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1552// for more information on using Contexts.
1553func (c *Amplify) GetBranchWithContext(ctx aws.Context, input *GetBranchInput, opts ...request.Option) (*GetBranchOutput, error) {
1554	req, out := c.GetBranchRequest(input)
1555	req.SetContext(ctx)
1556	req.ApplyOptions(opts...)
1557	return out, req.Send()
1558}
1559
1560const opGetDomainAssociation = "GetDomainAssociation"
1561
1562// GetDomainAssociationRequest generates a "aws/request.Request" representing the
1563// client's request for the GetDomainAssociation operation. The "output" return
1564// value will be populated with the request's response once the request completes
1565// successfully.
1566//
1567// Use "Send" method on the returned Request to send the API call to the service.
1568// the "output" return value is not valid until after Send returns without error.
1569//
1570// See GetDomainAssociation for more information on using the GetDomainAssociation
1571// API call, and error handling.
1572//
1573// This method is useful when you want to inject custom logic or configuration
1574// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1575//
1576//
1577//    // Example sending a request using the GetDomainAssociationRequest method.
1578//    req, resp := client.GetDomainAssociationRequest(params)
1579//
1580//    err := req.Send()
1581//    if err == nil { // resp is now filled
1582//        fmt.Println(resp)
1583//    }
1584//
1585// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetDomainAssociation
1586func (c *Amplify) GetDomainAssociationRequest(input *GetDomainAssociationInput) (req *request.Request, output *GetDomainAssociationOutput) {
1587	op := &request.Operation{
1588		Name:       opGetDomainAssociation,
1589		HTTPMethod: "GET",
1590		HTTPPath:   "/apps/{appId}/domains/{domainName}",
1591	}
1592
1593	if input == nil {
1594		input = &GetDomainAssociationInput{}
1595	}
1596
1597	output = &GetDomainAssociationOutput{}
1598	req = c.newRequest(op, input, output)
1599	return
1600}
1601
1602// GetDomainAssociation API operation for AWS Amplify.
1603//
1604// Returns the domain information for an Amplify app.
1605//
1606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1607// with awserr.Error's Code and Message methods to get detailed information about
1608// the error.
1609//
1610// See the AWS API reference guide for AWS Amplify's
1611// API operation GetDomainAssociation for usage and error information.
1612//
1613// Returned Error Types:
1614//   * BadRequestException
1615//   A request contains unexpected data.
1616//
1617//   * UnauthorizedException
1618//   An operation failed due to a lack of access.
1619//
1620//   * NotFoundException
1621//   An entity was not found during an operation.
1622//
1623//   * InternalFailureException
1624//   The service failed to perform an operation due to an internal issue.
1625//
1626// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetDomainAssociation
1627func (c *Amplify) GetDomainAssociation(input *GetDomainAssociationInput) (*GetDomainAssociationOutput, error) {
1628	req, out := c.GetDomainAssociationRequest(input)
1629	return out, req.Send()
1630}
1631
1632// GetDomainAssociationWithContext is the same as GetDomainAssociation with the addition of
1633// the ability to pass a context and additional request options.
1634//
1635// See GetDomainAssociation for details on how to use this API operation.
1636//
1637// The context must be non-nil and will be used for request cancellation. If
1638// the context is nil a panic will occur. In the future the SDK may create
1639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1640// for more information on using Contexts.
1641func (c *Amplify) GetDomainAssociationWithContext(ctx aws.Context, input *GetDomainAssociationInput, opts ...request.Option) (*GetDomainAssociationOutput, error) {
1642	req, out := c.GetDomainAssociationRequest(input)
1643	req.SetContext(ctx)
1644	req.ApplyOptions(opts...)
1645	return out, req.Send()
1646}
1647
1648const opGetJob = "GetJob"
1649
1650// GetJobRequest generates a "aws/request.Request" representing the
1651// client's request for the GetJob operation. The "output" return
1652// value will be populated with the request's response once the request completes
1653// successfully.
1654//
1655// Use "Send" method on the returned Request to send the API call to the service.
1656// the "output" return value is not valid until after Send returns without error.
1657//
1658// See GetJob for more information on using the GetJob
1659// API call, and error handling.
1660//
1661// This method is useful when you want to inject custom logic or configuration
1662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1663//
1664//
1665//    // Example sending a request using the GetJobRequest method.
1666//    req, resp := client.GetJobRequest(params)
1667//
1668//    err := req.Send()
1669//    if err == nil { // resp is now filled
1670//        fmt.Println(resp)
1671//    }
1672//
1673// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetJob
1674func (c *Amplify) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) {
1675	op := &request.Operation{
1676		Name:       opGetJob,
1677		HTTPMethod: "GET",
1678		HTTPPath:   "/apps/{appId}/branches/{branchName}/jobs/{jobId}",
1679	}
1680
1681	if input == nil {
1682		input = &GetJobInput{}
1683	}
1684
1685	output = &GetJobOutput{}
1686	req = c.newRequest(op, input, output)
1687	return
1688}
1689
1690// GetJob API operation for AWS Amplify.
1691//
1692// Returns a job for a branch of an Amplify app.
1693//
1694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1695// with awserr.Error's Code and Message methods to get detailed information about
1696// the error.
1697//
1698// See the AWS API reference guide for AWS Amplify's
1699// API operation GetJob for usage and error information.
1700//
1701// Returned Error Types:
1702//   * BadRequestException
1703//   A request contains unexpected data.
1704//
1705//   * UnauthorizedException
1706//   An operation failed due to a lack of access.
1707//
1708//   * InternalFailureException
1709//   The service failed to perform an operation due to an internal issue.
1710//
1711//   * NotFoundException
1712//   An entity was not found during an operation.
1713//
1714//   * LimitExceededException
1715//   A resource could not be created because service quotas were exceeded.
1716//
1717// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetJob
1718func (c *Amplify) GetJob(input *GetJobInput) (*GetJobOutput, error) {
1719	req, out := c.GetJobRequest(input)
1720	return out, req.Send()
1721}
1722
1723// GetJobWithContext is the same as GetJob with the addition of
1724// the ability to pass a context and additional request options.
1725//
1726// See GetJob for details on how to use this API operation.
1727//
1728// The context must be non-nil and will be used for request cancellation. If
1729// the context is nil a panic will occur. In the future the SDK may create
1730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1731// for more information on using Contexts.
1732func (c *Amplify) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) {
1733	req, out := c.GetJobRequest(input)
1734	req.SetContext(ctx)
1735	req.ApplyOptions(opts...)
1736	return out, req.Send()
1737}
1738
1739const opGetWebhook = "GetWebhook"
1740
1741// GetWebhookRequest generates a "aws/request.Request" representing the
1742// client's request for the GetWebhook operation. The "output" return
1743// value will be populated with the request's response once the request completes
1744// successfully.
1745//
1746// Use "Send" method on the returned Request to send the API call to the service.
1747// the "output" return value is not valid until after Send returns without error.
1748//
1749// See GetWebhook for more information on using the GetWebhook
1750// API call, and error handling.
1751//
1752// This method is useful when you want to inject custom logic or configuration
1753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1754//
1755//
1756//    // Example sending a request using the GetWebhookRequest method.
1757//    req, resp := client.GetWebhookRequest(params)
1758//
1759//    err := req.Send()
1760//    if err == nil { // resp is now filled
1761//        fmt.Println(resp)
1762//    }
1763//
1764// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetWebhook
1765func (c *Amplify) GetWebhookRequest(input *GetWebhookInput) (req *request.Request, output *GetWebhookOutput) {
1766	op := &request.Operation{
1767		Name:       opGetWebhook,
1768		HTTPMethod: "GET",
1769		HTTPPath:   "/webhooks/{webhookId}",
1770	}
1771
1772	if input == nil {
1773		input = &GetWebhookInput{}
1774	}
1775
1776	output = &GetWebhookOutput{}
1777	req = c.newRequest(op, input, output)
1778	return
1779}
1780
1781// GetWebhook API operation for AWS Amplify.
1782//
1783// Returns the webhook information that corresponds to a specified webhook ID.
1784//
1785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1786// with awserr.Error's Code and Message methods to get detailed information about
1787// the error.
1788//
1789// See the AWS API reference guide for AWS Amplify's
1790// API operation GetWebhook for usage and error information.
1791//
1792// Returned Error Types:
1793//   * BadRequestException
1794//   A request contains unexpected data.
1795//
1796//   * UnauthorizedException
1797//   An operation failed due to a lack of access.
1798//
1799//   * InternalFailureException
1800//   The service failed to perform an operation due to an internal issue.
1801//
1802//   * NotFoundException
1803//   An entity was not found during an operation.
1804//
1805//   * LimitExceededException
1806//   A resource could not be created because service quotas were exceeded.
1807//
1808// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetWebhook
1809func (c *Amplify) GetWebhook(input *GetWebhookInput) (*GetWebhookOutput, error) {
1810	req, out := c.GetWebhookRequest(input)
1811	return out, req.Send()
1812}
1813
1814// GetWebhookWithContext is the same as GetWebhook with the addition of
1815// the ability to pass a context and additional request options.
1816//
1817// See GetWebhook for details on how to use this API operation.
1818//
1819// The context must be non-nil and will be used for request cancellation. If
1820// the context is nil a panic will occur. In the future the SDK may create
1821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1822// for more information on using Contexts.
1823func (c *Amplify) GetWebhookWithContext(ctx aws.Context, input *GetWebhookInput, opts ...request.Option) (*GetWebhookOutput, error) {
1824	req, out := c.GetWebhookRequest(input)
1825	req.SetContext(ctx)
1826	req.ApplyOptions(opts...)
1827	return out, req.Send()
1828}
1829
1830const opListApps = "ListApps"
1831
1832// ListAppsRequest generates a "aws/request.Request" representing the
1833// client's request for the ListApps operation. The "output" return
1834// value will be populated with the request's response once the request completes
1835// successfully.
1836//
1837// Use "Send" method on the returned Request to send the API call to the service.
1838// the "output" return value is not valid until after Send returns without error.
1839//
1840// See ListApps for more information on using the ListApps
1841// API call, and error handling.
1842//
1843// This method is useful when you want to inject custom logic or configuration
1844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1845//
1846//
1847//    // Example sending a request using the ListAppsRequest method.
1848//    req, resp := client.ListAppsRequest(params)
1849//
1850//    err := req.Send()
1851//    if err == nil { // resp is now filled
1852//        fmt.Println(resp)
1853//    }
1854//
1855// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListApps
1856func (c *Amplify) ListAppsRequest(input *ListAppsInput) (req *request.Request, output *ListAppsOutput) {
1857	op := &request.Operation{
1858		Name:       opListApps,
1859		HTTPMethod: "GET",
1860		HTTPPath:   "/apps",
1861	}
1862
1863	if input == nil {
1864		input = &ListAppsInput{}
1865	}
1866
1867	output = &ListAppsOutput{}
1868	req = c.newRequest(op, input, output)
1869	return
1870}
1871
1872// ListApps API operation for AWS Amplify.
1873//
1874// Returns a list of the existing Amplify apps.
1875//
1876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1877// with awserr.Error's Code and Message methods to get detailed information about
1878// the error.
1879//
1880// See the AWS API reference guide for AWS Amplify's
1881// API operation ListApps for usage and error information.
1882//
1883// Returned Error Types:
1884//   * BadRequestException
1885//   A request contains unexpected data.
1886//
1887//   * UnauthorizedException
1888//   An operation failed due to a lack of access.
1889//
1890//   * InternalFailureException
1891//   The service failed to perform an operation due to an internal issue.
1892//
1893// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListApps
1894func (c *Amplify) ListApps(input *ListAppsInput) (*ListAppsOutput, error) {
1895	req, out := c.ListAppsRequest(input)
1896	return out, req.Send()
1897}
1898
1899// ListAppsWithContext is the same as ListApps with the addition of
1900// the ability to pass a context and additional request options.
1901//
1902// See ListApps for details on how to use this API operation.
1903//
1904// The context must be non-nil and will be used for request cancellation. If
1905// the context is nil a panic will occur. In the future the SDK may create
1906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1907// for more information on using Contexts.
1908func (c *Amplify) ListAppsWithContext(ctx aws.Context, input *ListAppsInput, opts ...request.Option) (*ListAppsOutput, error) {
1909	req, out := c.ListAppsRequest(input)
1910	req.SetContext(ctx)
1911	req.ApplyOptions(opts...)
1912	return out, req.Send()
1913}
1914
1915const opListArtifacts = "ListArtifacts"
1916
1917// ListArtifactsRequest generates a "aws/request.Request" representing the
1918// client's request for the ListArtifacts operation. The "output" return
1919// value will be populated with the request's response once the request completes
1920// successfully.
1921//
1922// Use "Send" method on the returned Request to send the API call to the service.
1923// the "output" return value is not valid until after Send returns without error.
1924//
1925// See ListArtifacts for more information on using the ListArtifacts
1926// API call, and error handling.
1927//
1928// This method is useful when you want to inject custom logic or configuration
1929// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1930//
1931//
1932//    // Example sending a request using the ListArtifactsRequest method.
1933//    req, resp := client.ListArtifactsRequest(params)
1934//
1935//    err := req.Send()
1936//    if err == nil { // resp is now filled
1937//        fmt.Println(resp)
1938//    }
1939//
1940// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListArtifacts
1941func (c *Amplify) ListArtifactsRequest(input *ListArtifactsInput) (req *request.Request, output *ListArtifactsOutput) {
1942	op := &request.Operation{
1943		Name:       opListArtifacts,
1944		HTTPMethod: "GET",
1945		HTTPPath:   "/apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts",
1946	}
1947
1948	if input == nil {
1949		input = &ListArtifactsInput{}
1950	}
1951
1952	output = &ListArtifactsOutput{}
1953	req = c.newRequest(op, input, output)
1954	return
1955}
1956
1957// ListArtifacts API operation for AWS Amplify.
1958//
1959// Returns a list of artifacts for a specified app, branch, and job.
1960//
1961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1962// with awserr.Error's Code and Message methods to get detailed information about
1963// the error.
1964//
1965// See the AWS API reference guide for AWS Amplify's
1966// API operation ListArtifacts for usage and error information.
1967//
1968// Returned Error Types:
1969//   * BadRequestException
1970//   A request contains unexpected data.
1971//
1972//   * UnauthorizedException
1973//   An operation failed due to a lack of access.
1974//
1975//   * InternalFailureException
1976//   The service failed to perform an operation due to an internal issue.
1977//
1978//   * LimitExceededException
1979//   A resource could not be created because service quotas were exceeded.
1980//
1981// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListArtifacts
1982func (c *Amplify) ListArtifacts(input *ListArtifactsInput) (*ListArtifactsOutput, error) {
1983	req, out := c.ListArtifactsRequest(input)
1984	return out, req.Send()
1985}
1986
1987// ListArtifactsWithContext is the same as ListArtifacts with the addition of
1988// the ability to pass a context and additional request options.
1989//
1990// See ListArtifacts for details on how to use this API operation.
1991//
1992// The context must be non-nil and will be used for request cancellation. If
1993// the context is nil a panic will occur. In the future the SDK may create
1994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1995// for more information on using Contexts.
1996func (c *Amplify) ListArtifactsWithContext(ctx aws.Context, input *ListArtifactsInput, opts ...request.Option) (*ListArtifactsOutput, error) {
1997	req, out := c.ListArtifactsRequest(input)
1998	req.SetContext(ctx)
1999	req.ApplyOptions(opts...)
2000	return out, req.Send()
2001}
2002
2003const opListBackendEnvironments = "ListBackendEnvironments"
2004
2005// ListBackendEnvironmentsRequest generates a "aws/request.Request" representing the
2006// client's request for the ListBackendEnvironments operation. The "output" return
2007// value will be populated with the request's response once the request completes
2008// successfully.
2009//
2010// Use "Send" method on the returned Request to send the API call to the service.
2011// the "output" return value is not valid until after Send returns without error.
2012//
2013// See ListBackendEnvironments for more information on using the ListBackendEnvironments
2014// API call, and error handling.
2015//
2016// This method is useful when you want to inject custom logic or configuration
2017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2018//
2019//
2020//    // Example sending a request using the ListBackendEnvironmentsRequest method.
2021//    req, resp := client.ListBackendEnvironmentsRequest(params)
2022//
2023//    err := req.Send()
2024//    if err == nil { // resp is now filled
2025//        fmt.Println(resp)
2026//    }
2027//
2028// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListBackendEnvironments
2029func (c *Amplify) ListBackendEnvironmentsRequest(input *ListBackendEnvironmentsInput) (req *request.Request, output *ListBackendEnvironmentsOutput) {
2030	op := &request.Operation{
2031		Name:       opListBackendEnvironments,
2032		HTTPMethod: "GET",
2033		HTTPPath:   "/apps/{appId}/backendenvironments",
2034	}
2035
2036	if input == nil {
2037		input = &ListBackendEnvironmentsInput{}
2038	}
2039
2040	output = &ListBackendEnvironmentsOutput{}
2041	req = c.newRequest(op, input, output)
2042	return
2043}
2044
2045// ListBackendEnvironments API operation for AWS Amplify.
2046//
2047// Lists the backend environments for an Amplify app.
2048//
2049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2050// with awserr.Error's Code and Message methods to get detailed information about
2051// the error.
2052//
2053// See the AWS API reference guide for AWS Amplify's
2054// API operation ListBackendEnvironments for usage and error information.
2055//
2056// Returned Error Types:
2057//   * BadRequestException
2058//   A request contains unexpected data.
2059//
2060//   * UnauthorizedException
2061//   An operation failed due to a lack of access.
2062//
2063//   * InternalFailureException
2064//   The service failed to perform an operation due to an internal issue.
2065//
2066// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListBackendEnvironments
2067func (c *Amplify) ListBackendEnvironments(input *ListBackendEnvironmentsInput) (*ListBackendEnvironmentsOutput, error) {
2068	req, out := c.ListBackendEnvironmentsRequest(input)
2069	return out, req.Send()
2070}
2071
2072// ListBackendEnvironmentsWithContext is the same as ListBackendEnvironments with the addition of
2073// the ability to pass a context and additional request options.
2074//
2075// See ListBackendEnvironments for details on how to use this API operation.
2076//
2077// The context must be non-nil and will be used for request cancellation. If
2078// the context is nil a panic will occur. In the future the SDK may create
2079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2080// for more information on using Contexts.
2081func (c *Amplify) ListBackendEnvironmentsWithContext(ctx aws.Context, input *ListBackendEnvironmentsInput, opts ...request.Option) (*ListBackendEnvironmentsOutput, error) {
2082	req, out := c.ListBackendEnvironmentsRequest(input)
2083	req.SetContext(ctx)
2084	req.ApplyOptions(opts...)
2085	return out, req.Send()
2086}
2087
2088const opListBranches = "ListBranches"
2089
2090// ListBranchesRequest generates a "aws/request.Request" representing the
2091// client's request for the ListBranches operation. The "output" return
2092// value will be populated with the request's response once the request completes
2093// successfully.
2094//
2095// Use "Send" method on the returned Request to send the API call to the service.
2096// the "output" return value is not valid until after Send returns without error.
2097//
2098// See ListBranches for more information on using the ListBranches
2099// API call, and error handling.
2100//
2101// This method is useful when you want to inject custom logic or configuration
2102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2103//
2104//
2105//    // Example sending a request using the ListBranchesRequest method.
2106//    req, resp := client.ListBranchesRequest(params)
2107//
2108//    err := req.Send()
2109//    if err == nil { // resp is now filled
2110//        fmt.Println(resp)
2111//    }
2112//
2113// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListBranches
2114func (c *Amplify) ListBranchesRequest(input *ListBranchesInput) (req *request.Request, output *ListBranchesOutput) {
2115	op := &request.Operation{
2116		Name:       opListBranches,
2117		HTTPMethod: "GET",
2118		HTTPPath:   "/apps/{appId}/branches",
2119	}
2120
2121	if input == nil {
2122		input = &ListBranchesInput{}
2123	}
2124
2125	output = &ListBranchesOutput{}
2126	req = c.newRequest(op, input, output)
2127	return
2128}
2129
2130// ListBranches API operation for AWS Amplify.
2131//
2132// Lists the branches of an Amplify app.
2133//
2134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2135// with awserr.Error's Code and Message methods to get detailed information about
2136// the error.
2137//
2138// See the AWS API reference guide for AWS Amplify's
2139// API operation ListBranches for usage and error information.
2140//
2141// Returned Error Types:
2142//   * BadRequestException
2143//   A request contains unexpected data.
2144//
2145//   * UnauthorizedException
2146//   An operation failed due to a lack of access.
2147//
2148//   * InternalFailureException
2149//   The service failed to perform an operation due to an internal issue.
2150//
2151// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListBranches
2152func (c *Amplify) ListBranches(input *ListBranchesInput) (*ListBranchesOutput, error) {
2153	req, out := c.ListBranchesRequest(input)
2154	return out, req.Send()
2155}
2156
2157// ListBranchesWithContext is the same as ListBranches with the addition of
2158// the ability to pass a context and additional request options.
2159//
2160// See ListBranches for details on how to use this API operation.
2161//
2162// The context must be non-nil and will be used for request cancellation. If
2163// the context is nil a panic will occur. In the future the SDK may create
2164// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2165// for more information on using Contexts.
2166func (c *Amplify) ListBranchesWithContext(ctx aws.Context, input *ListBranchesInput, opts ...request.Option) (*ListBranchesOutput, error) {
2167	req, out := c.ListBranchesRequest(input)
2168	req.SetContext(ctx)
2169	req.ApplyOptions(opts...)
2170	return out, req.Send()
2171}
2172
2173const opListDomainAssociations = "ListDomainAssociations"
2174
2175// ListDomainAssociationsRequest generates a "aws/request.Request" representing the
2176// client's request for the ListDomainAssociations operation. The "output" return
2177// value will be populated with the request's response once the request completes
2178// successfully.
2179//
2180// Use "Send" method on the returned Request to send the API call to the service.
2181// the "output" return value is not valid until after Send returns without error.
2182//
2183// See ListDomainAssociations for more information on using the ListDomainAssociations
2184// API call, and error handling.
2185//
2186// This method is useful when you want to inject custom logic or configuration
2187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2188//
2189//
2190//    // Example sending a request using the ListDomainAssociationsRequest method.
2191//    req, resp := client.ListDomainAssociationsRequest(params)
2192//
2193//    err := req.Send()
2194//    if err == nil { // resp is now filled
2195//        fmt.Println(resp)
2196//    }
2197//
2198// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListDomainAssociations
2199func (c *Amplify) ListDomainAssociationsRequest(input *ListDomainAssociationsInput) (req *request.Request, output *ListDomainAssociationsOutput) {
2200	op := &request.Operation{
2201		Name:       opListDomainAssociations,
2202		HTTPMethod: "GET",
2203		HTTPPath:   "/apps/{appId}/domains",
2204	}
2205
2206	if input == nil {
2207		input = &ListDomainAssociationsInput{}
2208	}
2209
2210	output = &ListDomainAssociationsOutput{}
2211	req = c.newRequest(op, input, output)
2212	return
2213}
2214
2215// ListDomainAssociations API operation for AWS Amplify.
2216//
2217// Returns the domain associations for an Amplify app.
2218//
2219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2220// with awserr.Error's Code and Message methods to get detailed information about
2221// the error.
2222//
2223// See the AWS API reference guide for AWS Amplify's
2224// API operation ListDomainAssociations for usage and error information.
2225//
2226// Returned Error Types:
2227//   * BadRequestException
2228//   A request contains unexpected data.
2229//
2230//   * UnauthorizedException
2231//   An operation failed due to a lack of access.
2232//
2233//   * InternalFailureException
2234//   The service failed to perform an operation due to an internal issue.
2235//
2236// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListDomainAssociations
2237func (c *Amplify) ListDomainAssociations(input *ListDomainAssociationsInput) (*ListDomainAssociationsOutput, error) {
2238	req, out := c.ListDomainAssociationsRequest(input)
2239	return out, req.Send()
2240}
2241
2242// ListDomainAssociationsWithContext is the same as ListDomainAssociations with the addition of
2243// the ability to pass a context and additional request options.
2244//
2245// See ListDomainAssociations for details on how to use this API operation.
2246//
2247// The context must be non-nil and will be used for request cancellation. If
2248// the context is nil a panic will occur. In the future the SDK may create
2249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2250// for more information on using Contexts.
2251func (c *Amplify) ListDomainAssociationsWithContext(ctx aws.Context, input *ListDomainAssociationsInput, opts ...request.Option) (*ListDomainAssociationsOutput, error) {
2252	req, out := c.ListDomainAssociationsRequest(input)
2253	req.SetContext(ctx)
2254	req.ApplyOptions(opts...)
2255	return out, req.Send()
2256}
2257
2258const opListJobs = "ListJobs"
2259
2260// ListJobsRequest generates a "aws/request.Request" representing the
2261// client's request for the ListJobs operation. The "output" return
2262// value will be populated with the request's response once the request completes
2263// successfully.
2264//
2265// Use "Send" method on the returned Request to send the API call to the service.
2266// the "output" return value is not valid until after Send returns without error.
2267//
2268// See ListJobs for more information on using the ListJobs
2269// API call, and error handling.
2270//
2271// This method is useful when you want to inject custom logic or configuration
2272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2273//
2274//
2275//    // Example sending a request using the ListJobsRequest method.
2276//    req, resp := client.ListJobsRequest(params)
2277//
2278//    err := req.Send()
2279//    if err == nil { // resp is now filled
2280//        fmt.Println(resp)
2281//    }
2282//
2283// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListJobs
2284func (c *Amplify) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
2285	op := &request.Operation{
2286		Name:       opListJobs,
2287		HTTPMethod: "GET",
2288		HTTPPath:   "/apps/{appId}/branches/{branchName}/jobs",
2289	}
2290
2291	if input == nil {
2292		input = &ListJobsInput{}
2293	}
2294
2295	output = &ListJobsOutput{}
2296	req = c.newRequest(op, input, output)
2297	return
2298}
2299
2300// ListJobs API operation for AWS Amplify.
2301//
2302// Lists the jobs for a branch of an Amplify app.
2303//
2304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2305// with awserr.Error's Code and Message methods to get detailed information about
2306// the error.
2307//
2308// See the AWS API reference guide for AWS Amplify's
2309// API operation ListJobs for usage and error information.
2310//
2311// Returned Error Types:
2312//   * BadRequestException
2313//   A request contains unexpected data.
2314//
2315//   * UnauthorizedException
2316//   An operation failed due to a lack of access.
2317//
2318//   * InternalFailureException
2319//   The service failed to perform an operation due to an internal issue.
2320//
2321//   * LimitExceededException
2322//   A resource could not be created because service quotas were exceeded.
2323//
2324// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListJobs
2325func (c *Amplify) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
2326	req, out := c.ListJobsRequest(input)
2327	return out, req.Send()
2328}
2329
2330// ListJobsWithContext is the same as ListJobs with the addition of
2331// the ability to pass a context and additional request options.
2332//
2333// See ListJobs for details on how to use this API operation.
2334//
2335// The context must be non-nil and will be used for request cancellation. If
2336// the context is nil a panic will occur. In the future the SDK may create
2337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2338// for more information on using Contexts.
2339func (c *Amplify) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
2340	req, out := c.ListJobsRequest(input)
2341	req.SetContext(ctx)
2342	req.ApplyOptions(opts...)
2343	return out, req.Send()
2344}
2345
2346const opListTagsForResource = "ListTagsForResource"
2347
2348// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2349// client's request for the ListTagsForResource operation. The "output" return
2350// value will be populated with the request's response once the request completes
2351// successfully.
2352//
2353// Use "Send" method on the returned Request to send the API call to the service.
2354// the "output" return value is not valid until after Send returns without error.
2355//
2356// See ListTagsForResource for more information on using the ListTagsForResource
2357// API call, and error handling.
2358//
2359// This method is useful when you want to inject custom logic or configuration
2360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2361//
2362//
2363//    // Example sending a request using the ListTagsForResourceRequest method.
2364//    req, resp := client.ListTagsForResourceRequest(params)
2365//
2366//    err := req.Send()
2367//    if err == nil { // resp is now filled
2368//        fmt.Println(resp)
2369//    }
2370//
2371// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListTagsForResource
2372func (c *Amplify) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2373	op := &request.Operation{
2374		Name:       opListTagsForResource,
2375		HTTPMethod: "GET",
2376		HTTPPath:   "/tags/{resourceArn}",
2377	}
2378
2379	if input == nil {
2380		input = &ListTagsForResourceInput{}
2381	}
2382
2383	output = &ListTagsForResourceOutput{}
2384	req = c.newRequest(op, input, output)
2385	return
2386}
2387
2388// ListTagsForResource API operation for AWS Amplify.
2389//
2390// Returns a list of tags for a specified Amazon Resource Name (ARN).
2391//
2392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2393// with awserr.Error's Code and Message methods to get detailed information about
2394// the error.
2395//
2396// See the AWS API reference guide for AWS Amplify's
2397// API operation ListTagsForResource for usage and error information.
2398//
2399// Returned Error Types:
2400//   * InternalFailureException
2401//   The service failed to perform an operation due to an internal issue.
2402//
2403//   * BadRequestException
2404//   A request contains unexpected data.
2405//
2406//   * ResourceNotFoundException
2407//   An operation failed due to a non-existent resource.
2408//
2409// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListTagsForResource
2410func (c *Amplify) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2411	req, out := c.ListTagsForResourceRequest(input)
2412	return out, req.Send()
2413}
2414
2415// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2416// the ability to pass a context and additional request options.
2417//
2418// See ListTagsForResource for details on how to use this API operation.
2419//
2420// The context must be non-nil and will be used for request cancellation. If
2421// the context is nil a panic will occur. In the future the SDK may create
2422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2423// for more information on using Contexts.
2424func (c *Amplify) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2425	req, out := c.ListTagsForResourceRequest(input)
2426	req.SetContext(ctx)
2427	req.ApplyOptions(opts...)
2428	return out, req.Send()
2429}
2430
2431const opListWebhooks = "ListWebhooks"
2432
2433// ListWebhooksRequest generates a "aws/request.Request" representing the
2434// client's request for the ListWebhooks operation. The "output" return
2435// value will be populated with the request's response once the request completes
2436// successfully.
2437//
2438// Use "Send" method on the returned Request to send the API call to the service.
2439// the "output" return value is not valid until after Send returns without error.
2440//
2441// See ListWebhooks for more information on using the ListWebhooks
2442// API call, and error handling.
2443//
2444// This method is useful when you want to inject custom logic or configuration
2445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2446//
2447//
2448//    // Example sending a request using the ListWebhooksRequest method.
2449//    req, resp := client.ListWebhooksRequest(params)
2450//
2451//    err := req.Send()
2452//    if err == nil { // resp is now filled
2453//        fmt.Println(resp)
2454//    }
2455//
2456// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListWebhooks
2457func (c *Amplify) ListWebhooksRequest(input *ListWebhooksInput) (req *request.Request, output *ListWebhooksOutput) {
2458	op := &request.Operation{
2459		Name:       opListWebhooks,
2460		HTTPMethod: "GET",
2461		HTTPPath:   "/apps/{appId}/webhooks",
2462	}
2463
2464	if input == nil {
2465		input = &ListWebhooksInput{}
2466	}
2467
2468	output = &ListWebhooksOutput{}
2469	req = c.newRequest(op, input, output)
2470	return
2471}
2472
2473// ListWebhooks API operation for AWS Amplify.
2474//
2475// Returns a list of webhooks for an Amplify app.
2476//
2477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2478// with awserr.Error's Code and Message methods to get detailed information about
2479// the error.
2480//
2481// See the AWS API reference guide for AWS Amplify's
2482// API operation ListWebhooks for usage and error information.
2483//
2484// Returned Error Types:
2485//   * BadRequestException
2486//   A request contains unexpected data.
2487//
2488//   * UnauthorizedException
2489//   An operation failed due to a lack of access.
2490//
2491//   * InternalFailureException
2492//   The service failed to perform an operation due to an internal issue.
2493//
2494//   * LimitExceededException
2495//   A resource could not be created because service quotas were exceeded.
2496//
2497// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListWebhooks
2498func (c *Amplify) ListWebhooks(input *ListWebhooksInput) (*ListWebhooksOutput, error) {
2499	req, out := c.ListWebhooksRequest(input)
2500	return out, req.Send()
2501}
2502
2503// ListWebhooksWithContext is the same as ListWebhooks with the addition of
2504// the ability to pass a context and additional request options.
2505//
2506// See ListWebhooks for details on how to use this API operation.
2507//
2508// The context must be non-nil and will be used for request cancellation. If
2509// the context is nil a panic will occur. In the future the SDK may create
2510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2511// for more information on using Contexts.
2512func (c *Amplify) ListWebhooksWithContext(ctx aws.Context, input *ListWebhooksInput, opts ...request.Option) (*ListWebhooksOutput, error) {
2513	req, out := c.ListWebhooksRequest(input)
2514	req.SetContext(ctx)
2515	req.ApplyOptions(opts...)
2516	return out, req.Send()
2517}
2518
2519const opStartDeployment = "StartDeployment"
2520
2521// StartDeploymentRequest generates a "aws/request.Request" representing the
2522// client's request for the StartDeployment operation. The "output" return
2523// value will be populated with the request's response once the request completes
2524// successfully.
2525//
2526// Use "Send" method on the returned Request to send the API call to the service.
2527// the "output" return value is not valid until after Send returns without error.
2528//
2529// See StartDeployment for more information on using the StartDeployment
2530// API call, and error handling.
2531//
2532// This method is useful when you want to inject custom logic or configuration
2533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2534//
2535//
2536//    // Example sending a request using the StartDeploymentRequest method.
2537//    req, resp := client.StartDeploymentRequest(params)
2538//
2539//    err := req.Send()
2540//    if err == nil { // resp is now filled
2541//        fmt.Println(resp)
2542//    }
2543//
2544// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StartDeployment
2545func (c *Amplify) StartDeploymentRequest(input *StartDeploymentInput) (req *request.Request, output *StartDeploymentOutput) {
2546	op := &request.Operation{
2547		Name:       opStartDeployment,
2548		HTTPMethod: "POST",
2549		HTTPPath:   "/apps/{appId}/branches/{branchName}/deployments/start",
2550	}
2551
2552	if input == nil {
2553		input = &StartDeploymentInput{}
2554	}
2555
2556	output = &StartDeploymentOutput{}
2557	req = c.newRequest(op, input, output)
2558	return
2559}
2560
2561// StartDeployment API operation for AWS Amplify.
2562//
2563// Starts a deployment for a manually deployed app. Manually deployed apps are
2564// not connected to a repository.
2565//
2566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2567// with awserr.Error's Code and Message methods to get detailed information about
2568// the error.
2569//
2570// See the AWS API reference guide for AWS Amplify's
2571// API operation StartDeployment for usage and error information.
2572//
2573// Returned Error Types:
2574//   * BadRequestException
2575//   A request contains unexpected data.
2576//
2577//   * UnauthorizedException
2578//   An operation failed due to a lack of access.
2579//
2580//   * InternalFailureException
2581//   The service failed to perform an operation due to an internal issue.
2582//
2583//   * NotFoundException
2584//   An entity was not found during an operation.
2585//
2586//   * LimitExceededException
2587//   A resource could not be created because service quotas were exceeded.
2588//
2589// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StartDeployment
2590func (c *Amplify) StartDeployment(input *StartDeploymentInput) (*StartDeploymentOutput, error) {
2591	req, out := c.StartDeploymentRequest(input)
2592	return out, req.Send()
2593}
2594
2595// StartDeploymentWithContext is the same as StartDeployment with the addition of
2596// the ability to pass a context and additional request options.
2597//
2598// See StartDeployment for details on how to use this API operation.
2599//
2600// The context must be non-nil and will be used for request cancellation. If
2601// the context is nil a panic will occur. In the future the SDK may create
2602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2603// for more information on using Contexts.
2604func (c *Amplify) StartDeploymentWithContext(ctx aws.Context, input *StartDeploymentInput, opts ...request.Option) (*StartDeploymentOutput, error) {
2605	req, out := c.StartDeploymentRequest(input)
2606	req.SetContext(ctx)
2607	req.ApplyOptions(opts...)
2608	return out, req.Send()
2609}
2610
2611const opStartJob = "StartJob"
2612
2613// StartJobRequest generates a "aws/request.Request" representing the
2614// client's request for the StartJob operation. The "output" return
2615// value will be populated with the request's response once the request completes
2616// successfully.
2617//
2618// Use "Send" method on the returned Request to send the API call to the service.
2619// the "output" return value is not valid until after Send returns without error.
2620//
2621// See StartJob for more information on using the StartJob
2622// API call, and error handling.
2623//
2624// This method is useful when you want to inject custom logic or configuration
2625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2626//
2627//
2628//    // Example sending a request using the StartJobRequest method.
2629//    req, resp := client.StartJobRequest(params)
2630//
2631//    err := req.Send()
2632//    if err == nil { // resp is now filled
2633//        fmt.Println(resp)
2634//    }
2635//
2636// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StartJob
2637func (c *Amplify) StartJobRequest(input *StartJobInput) (req *request.Request, output *StartJobOutput) {
2638	op := &request.Operation{
2639		Name:       opStartJob,
2640		HTTPMethod: "POST",
2641		HTTPPath:   "/apps/{appId}/branches/{branchName}/jobs",
2642	}
2643
2644	if input == nil {
2645		input = &StartJobInput{}
2646	}
2647
2648	output = &StartJobOutput{}
2649	req = c.newRequest(op, input, output)
2650	return
2651}
2652
2653// StartJob API operation for AWS Amplify.
2654//
2655// Starts a new job for a branch of an Amplify app.
2656//
2657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2658// with awserr.Error's Code and Message methods to get detailed information about
2659// the error.
2660//
2661// See the AWS API reference guide for AWS Amplify's
2662// API operation StartJob for usage and error information.
2663//
2664// Returned Error Types:
2665//   * BadRequestException
2666//   A request contains unexpected data.
2667//
2668//   * UnauthorizedException
2669//   An operation failed due to a lack of access.
2670//
2671//   * InternalFailureException
2672//   The service failed to perform an operation due to an internal issue.
2673//
2674//   * NotFoundException
2675//   An entity was not found during an operation.
2676//
2677//   * LimitExceededException
2678//   A resource could not be created because service quotas were exceeded.
2679//
2680// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StartJob
2681func (c *Amplify) StartJob(input *StartJobInput) (*StartJobOutput, error) {
2682	req, out := c.StartJobRequest(input)
2683	return out, req.Send()
2684}
2685
2686// StartJobWithContext is the same as StartJob with the addition of
2687// the ability to pass a context and additional request options.
2688//
2689// See StartJob for details on how to use this API operation.
2690//
2691// The context must be non-nil and will be used for request cancellation. If
2692// the context is nil a panic will occur. In the future the SDK may create
2693// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2694// for more information on using Contexts.
2695func (c *Amplify) StartJobWithContext(ctx aws.Context, input *StartJobInput, opts ...request.Option) (*StartJobOutput, error) {
2696	req, out := c.StartJobRequest(input)
2697	req.SetContext(ctx)
2698	req.ApplyOptions(opts...)
2699	return out, req.Send()
2700}
2701
2702const opStopJob = "StopJob"
2703
2704// StopJobRequest generates a "aws/request.Request" representing the
2705// client's request for the StopJob operation. The "output" return
2706// value will be populated with the request's response once the request completes
2707// successfully.
2708//
2709// Use "Send" method on the returned Request to send the API call to the service.
2710// the "output" return value is not valid until after Send returns without error.
2711//
2712// See StopJob for more information on using the StopJob
2713// API call, and error handling.
2714//
2715// This method is useful when you want to inject custom logic or configuration
2716// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2717//
2718//
2719//    // Example sending a request using the StopJobRequest method.
2720//    req, resp := client.StopJobRequest(params)
2721//
2722//    err := req.Send()
2723//    if err == nil { // resp is now filled
2724//        fmt.Println(resp)
2725//    }
2726//
2727// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StopJob
2728func (c *Amplify) StopJobRequest(input *StopJobInput) (req *request.Request, output *StopJobOutput) {
2729	op := &request.Operation{
2730		Name:       opStopJob,
2731		HTTPMethod: "DELETE",
2732		HTTPPath:   "/apps/{appId}/branches/{branchName}/jobs/{jobId}/stop",
2733	}
2734
2735	if input == nil {
2736		input = &StopJobInput{}
2737	}
2738
2739	output = &StopJobOutput{}
2740	req = c.newRequest(op, input, output)
2741	return
2742}
2743
2744// StopJob API operation for AWS Amplify.
2745//
2746// Stops a job that is in progress for a branch of an Amplify app.
2747//
2748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2749// with awserr.Error's Code and Message methods to get detailed information about
2750// the error.
2751//
2752// See the AWS API reference guide for AWS Amplify's
2753// API operation StopJob for usage and error information.
2754//
2755// Returned Error Types:
2756//   * BadRequestException
2757//   A request contains unexpected data.
2758//
2759//   * UnauthorizedException
2760//   An operation failed due to a lack of access.
2761//
2762//   * InternalFailureException
2763//   The service failed to perform an operation due to an internal issue.
2764//
2765//   * NotFoundException
2766//   An entity was not found during an operation.
2767//
2768//   * LimitExceededException
2769//   A resource could not be created because service quotas were exceeded.
2770//
2771// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StopJob
2772func (c *Amplify) StopJob(input *StopJobInput) (*StopJobOutput, error) {
2773	req, out := c.StopJobRequest(input)
2774	return out, req.Send()
2775}
2776
2777// StopJobWithContext is the same as StopJob with the addition of
2778// the ability to pass a context and additional request options.
2779//
2780// See StopJob for details on how to use this API operation.
2781//
2782// The context must be non-nil and will be used for request cancellation. If
2783// the context is nil a panic will occur. In the future the SDK may create
2784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2785// for more information on using Contexts.
2786func (c *Amplify) StopJobWithContext(ctx aws.Context, input *StopJobInput, opts ...request.Option) (*StopJobOutput, error) {
2787	req, out := c.StopJobRequest(input)
2788	req.SetContext(ctx)
2789	req.ApplyOptions(opts...)
2790	return out, req.Send()
2791}
2792
2793const opTagResource = "TagResource"
2794
2795// TagResourceRequest generates a "aws/request.Request" representing the
2796// client's request for the TagResource operation. The "output" return
2797// value will be populated with the request's response once the request completes
2798// successfully.
2799//
2800// Use "Send" method on the returned Request to send the API call to the service.
2801// the "output" return value is not valid until after Send returns without error.
2802//
2803// See TagResource for more information on using the TagResource
2804// API call, and error handling.
2805//
2806// This method is useful when you want to inject custom logic or configuration
2807// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2808//
2809//
2810//    // Example sending a request using the TagResourceRequest method.
2811//    req, resp := client.TagResourceRequest(params)
2812//
2813//    err := req.Send()
2814//    if err == nil { // resp is now filled
2815//        fmt.Println(resp)
2816//    }
2817//
2818// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/TagResource
2819func (c *Amplify) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2820	op := &request.Operation{
2821		Name:       opTagResource,
2822		HTTPMethod: "POST",
2823		HTTPPath:   "/tags/{resourceArn}",
2824	}
2825
2826	if input == nil {
2827		input = &TagResourceInput{}
2828	}
2829
2830	output = &TagResourceOutput{}
2831	req = c.newRequest(op, input, output)
2832	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2833	return
2834}
2835
2836// TagResource API operation for AWS Amplify.
2837//
2838// Tags the resource with a tag key and value.
2839//
2840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2841// with awserr.Error's Code and Message methods to get detailed information about
2842// the error.
2843//
2844// See the AWS API reference guide for AWS Amplify's
2845// API operation TagResource for usage and error information.
2846//
2847// Returned Error Types:
2848//   * InternalFailureException
2849//   The service failed to perform an operation due to an internal issue.
2850//
2851//   * BadRequestException
2852//   A request contains unexpected data.
2853//
2854//   * ResourceNotFoundException
2855//   An operation failed due to a non-existent resource.
2856//
2857// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/TagResource
2858func (c *Amplify) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2859	req, out := c.TagResourceRequest(input)
2860	return out, req.Send()
2861}
2862
2863// TagResourceWithContext is the same as TagResource with the addition of
2864// the ability to pass a context and additional request options.
2865//
2866// See TagResource for details on how to use this API operation.
2867//
2868// The context must be non-nil and will be used for request cancellation. If
2869// the context is nil a panic will occur. In the future the SDK may create
2870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2871// for more information on using Contexts.
2872func (c *Amplify) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2873	req, out := c.TagResourceRequest(input)
2874	req.SetContext(ctx)
2875	req.ApplyOptions(opts...)
2876	return out, req.Send()
2877}
2878
2879const opUntagResource = "UntagResource"
2880
2881// UntagResourceRequest generates a "aws/request.Request" representing the
2882// client's request for the UntagResource operation. The "output" return
2883// value will be populated with the request's response once the request completes
2884// successfully.
2885//
2886// Use "Send" method on the returned Request to send the API call to the service.
2887// the "output" return value is not valid until after Send returns without error.
2888//
2889// See UntagResource for more information on using the UntagResource
2890// API call, and error handling.
2891//
2892// This method is useful when you want to inject custom logic or configuration
2893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2894//
2895//
2896//    // Example sending a request using the UntagResourceRequest method.
2897//    req, resp := client.UntagResourceRequest(params)
2898//
2899//    err := req.Send()
2900//    if err == nil { // resp is now filled
2901//        fmt.Println(resp)
2902//    }
2903//
2904// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UntagResource
2905func (c *Amplify) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2906	op := &request.Operation{
2907		Name:       opUntagResource,
2908		HTTPMethod: "DELETE",
2909		HTTPPath:   "/tags/{resourceArn}",
2910	}
2911
2912	if input == nil {
2913		input = &UntagResourceInput{}
2914	}
2915
2916	output = &UntagResourceOutput{}
2917	req = c.newRequest(op, input, output)
2918	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2919	return
2920}
2921
2922// UntagResource API operation for AWS Amplify.
2923//
2924// Untags a resource with a specified Amazon Resource Name (ARN).
2925//
2926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2927// with awserr.Error's Code and Message methods to get detailed information about
2928// the error.
2929//
2930// See the AWS API reference guide for AWS Amplify's
2931// API operation UntagResource for usage and error information.
2932//
2933// Returned Error Types:
2934//   * InternalFailureException
2935//   The service failed to perform an operation due to an internal issue.
2936//
2937//   * BadRequestException
2938//   A request contains unexpected data.
2939//
2940//   * ResourceNotFoundException
2941//   An operation failed due to a non-existent resource.
2942//
2943// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UntagResource
2944func (c *Amplify) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2945	req, out := c.UntagResourceRequest(input)
2946	return out, req.Send()
2947}
2948
2949// UntagResourceWithContext is the same as UntagResource with the addition of
2950// the ability to pass a context and additional request options.
2951//
2952// See UntagResource for details on how to use this API operation.
2953//
2954// The context must be non-nil and will be used for request cancellation. If
2955// the context is nil a panic will occur. In the future the SDK may create
2956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2957// for more information on using Contexts.
2958func (c *Amplify) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2959	req, out := c.UntagResourceRequest(input)
2960	req.SetContext(ctx)
2961	req.ApplyOptions(opts...)
2962	return out, req.Send()
2963}
2964
2965const opUpdateApp = "UpdateApp"
2966
2967// UpdateAppRequest generates a "aws/request.Request" representing the
2968// client's request for the UpdateApp operation. The "output" return
2969// value will be populated with the request's response once the request completes
2970// successfully.
2971//
2972// Use "Send" method on the returned Request to send the API call to the service.
2973// the "output" return value is not valid until after Send returns without error.
2974//
2975// See UpdateApp for more information on using the UpdateApp
2976// API call, and error handling.
2977//
2978// This method is useful when you want to inject custom logic or configuration
2979// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2980//
2981//
2982//    // Example sending a request using the UpdateAppRequest method.
2983//    req, resp := client.UpdateAppRequest(params)
2984//
2985//    err := req.Send()
2986//    if err == nil { // resp is now filled
2987//        fmt.Println(resp)
2988//    }
2989//
2990// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateApp
2991func (c *Amplify) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, output *UpdateAppOutput) {
2992	op := &request.Operation{
2993		Name:       opUpdateApp,
2994		HTTPMethod: "POST",
2995		HTTPPath:   "/apps/{appId}",
2996	}
2997
2998	if input == nil {
2999		input = &UpdateAppInput{}
3000	}
3001
3002	output = &UpdateAppOutput{}
3003	req = c.newRequest(op, input, output)
3004	return
3005}
3006
3007// UpdateApp API operation for AWS Amplify.
3008//
3009// Updates an existing Amplify app.
3010//
3011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3012// with awserr.Error's Code and Message methods to get detailed information about
3013// the error.
3014//
3015// See the AWS API reference guide for AWS Amplify's
3016// API operation UpdateApp for usage and error information.
3017//
3018// Returned Error Types:
3019//   * BadRequestException
3020//   A request contains unexpected data.
3021//
3022//   * NotFoundException
3023//   An entity was not found during an operation.
3024//
3025//   * UnauthorizedException
3026//   An operation failed due to a lack of access.
3027//
3028//   * InternalFailureException
3029//   The service failed to perform an operation due to an internal issue.
3030//
3031// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateApp
3032func (c *Amplify) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) {
3033	req, out := c.UpdateAppRequest(input)
3034	return out, req.Send()
3035}
3036
3037// UpdateAppWithContext is the same as UpdateApp with the addition of
3038// the ability to pass a context and additional request options.
3039//
3040// See UpdateApp for details on how to use this API operation.
3041//
3042// The context must be non-nil and will be used for request cancellation. If
3043// the context is nil a panic will occur. In the future the SDK may create
3044// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3045// for more information on using Contexts.
3046func (c *Amplify) UpdateAppWithContext(ctx aws.Context, input *UpdateAppInput, opts ...request.Option) (*UpdateAppOutput, error) {
3047	req, out := c.UpdateAppRequest(input)
3048	req.SetContext(ctx)
3049	req.ApplyOptions(opts...)
3050	return out, req.Send()
3051}
3052
3053const opUpdateBranch = "UpdateBranch"
3054
3055// UpdateBranchRequest generates a "aws/request.Request" representing the
3056// client's request for the UpdateBranch operation. The "output" return
3057// value will be populated with the request's response once the request completes
3058// successfully.
3059//
3060// Use "Send" method on the returned Request to send the API call to the service.
3061// the "output" return value is not valid until after Send returns without error.
3062//
3063// See UpdateBranch for more information on using the UpdateBranch
3064// API call, and error handling.
3065//
3066// This method is useful when you want to inject custom logic or configuration
3067// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3068//
3069//
3070//    // Example sending a request using the UpdateBranchRequest method.
3071//    req, resp := client.UpdateBranchRequest(params)
3072//
3073//    err := req.Send()
3074//    if err == nil { // resp is now filled
3075//        fmt.Println(resp)
3076//    }
3077//
3078// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateBranch
3079func (c *Amplify) UpdateBranchRequest(input *UpdateBranchInput) (req *request.Request, output *UpdateBranchOutput) {
3080	op := &request.Operation{
3081		Name:       opUpdateBranch,
3082		HTTPMethod: "POST",
3083		HTTPPath:   "/apps/{appId}/branches/{branchName}",
3084	}
3085
3086	if input == nil {
3087		input = &UpdateBranchInput{}
3088	}
3089
3090	output = &UpdateBranchOutput{}
3091	req = c.newRequest(op, input, output)
3092	return
3093}
3094
3095// UpdateBranch API operation for AWS Amplify.
3096//
3097// Updates a branch for an Amplify app.
3098//
3099// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3100// with awserr.Error's Code and Message methods to get detailed information about
3101// the error.
3102//
3103// See the AWS API reference guide for AWS Amplify's
3104// API operation UpdateBranch for usage and error information.
3105//
3106// Returned Error Types:
3107//   * BadRequestException
3108//   A request contains unexpected data.
3109//
3110//   * UnauthorizedException
3111//   An operation failed due to a lack of access.
3112//
3113//   * NotFoundException
3114//   An entity was not found during an operation.
3115//
3116//   * InternalFailureException
3117//   The service failed to perform an operation due to an internal issue.
3118//
3119//   * DependentServiceFailureException
3120//   An operation failed because a dependent service threw an exception.
3121//
3122// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateBranch
3123func (c *Amplify) UpdateBranch(input *UpdateBranchInput) (*UpdateBranchOutput, error) {
3124	req, out := c.UpdateBranchRequest(input)
3125	return out, req.Send()
3126}
3127
3128// UpdateBranchWithContext is the same as UpdateBranch with the addition of
3129// the ability to pass a context and additional request options.
3130//
3131// See UpdateBranch for details on how to use this API operation.
3132//
3133// The context must be non-nil and will be used for request cancellation. If
3134// the context is nil a panic will occur. In the future the SDK may create
3135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3136// for more information on using Contexts.
3137func (c *Amplify) UpdateBranchWithContext(ctx aws.Context, input *UpdateBranchInput, opts ...request.Option) (*UpdateBranchOutput, error) {
3138	req, out := c.UpdateBranchRequest(input)
3139	req.SetContext(ctx)
3140	req.ApplyOptions(opts...)
3141	return out, req.Send()
3142}
3143
3144const opUpdateDomainAssociation = "UpdateDomainAssociation"
3145
3146// UpdateDomainAssociationRequest generates a "aws/request.Request" representing the
3147// client's request for the UpdateDomainAssociation operation. The "output" return
3148// value will be populated with the request's response once the request completes
3149// successfully.
3150//
3151// Use "Send" method on the returned Request to send the API call to the service.
3152// the "output" return value is not valid until after Send returns without error.
3153//
3154// See UpdateDomainAssociation for more information on using the UpdateDomainAssociation
3155// API call, and error handling.
3156//
3157// This method is useful when you want to inject custom logic or configuration
3158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3159//
3160//
3161//    // Example sending a request using the UpdateDomainAssociationRequest method.
3162//    req, resp := client.UpdateDomainAssociationRequest(params)
3163//
3164//    err := req.Send()
3165//    if err == nil { // resp is now filled
3166//        fmt.Println(resp)
3167//    }
3168//
3169// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateDomainAssociation
3170func (c *Amplify) UpdateDomainAssociationRequest(input *UpdateDomainAssociationInput) (req *request.Request, output *UpdateDomainAssociationOutput) {
3171	op := &request.Operation{
3172		Name:       opUpdateDomainAssociation,
3173		HTTPMethod: "POST",
3174		HTTPPath:   "/apps/{appId}/domains/{domainName}",
3175	}
3176
3177	if input == nil {
3178		input = &UpdateDomainAssociationInput{}
3179	}
3180
3181	output = &UpdateDomainAssociationOutput{}
3182	req = c.newRequest(op, input, output)
3183	return
3184}
3185
3186// UpdateDomainAssociation API operation for AWS Amplify.
3187//
3188// Creates a new domain association for an Amplify app.
3189//
3190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3191// with awserr.Error's Code and Message methods to get detailed information about
3192// the error.
3193//
3194// See the AWS API reference guide for AWS Amplify's
3195// API operation UpdateDomainAssociation for usage and error information.
3196//
3197// Returned Error Types:
3198//   * BadRequestException
3199//   A request contains unexpected data.
3200//
3201//   * UnauthorizedException
3202//   An operation failed due to a lack of access.
3203//
3204//   * NotFoundException
3205//   An entity was not found during an operation.
3206//
3207//   * InternalFailureException
3208//   The service failed to perform an operation due to an internal issue.
3209//
3210//   * DependentServiceFailureException
3211//   An operation failed because a dependent service threw an exception.
3212//
3213// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateDomainAssociation
3214func (c *Amplify) UpdateDomainAssociation(input *UpdateDomainAssociationInput) (*UpdateDomainAssociationOutput, error) {
3215	req, out := c.UpdateDomainAssociationRequest(input)
3216	return out, req.Send()
3217}
3218
3219// UpdateDomainAssociationWithContext is the same as UpdateDomainAssociation with the addition of
3220// the ability to pass a context and additional request options.
3221//
3222// See UpdateDomainAssociation for details on how to use this API operation.
3223//
3224// The context must be non-nil and will be used for request cancellation. If
3225// the context is nil a panic will occur. In the future the SDK may create
3226// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3227// for more information on using Contexts.
3228func (c *Amplify) UpdateDomainAssociationWithContext(ctx aws.Context, input *UpdateDomainAssociationInput, opts ...request.Option) (*UpdateDomainAssociationOutput, error) {
3229	req, out := c.UpdateDomainAssociationRequest(input)
3230	req.SetContext(ctx)
3231	req.ApplyOptions(opts...)
3232	return out, req.Send()
3233}
3234
3235const opUpdateWebhook = "UpdateWebhook"
3236
3237// UpdateWebhookRequest generates a "aws/request.Request" representing the
3238// client's request for the UpdateWebhook operation. The "output" return
3239// value will be populated with the request's response once the request completes
3240// successfully.
3241//
3242// Use "Send" method on the returned Request to send the API call to the service.
3243// the "output" return value is not valid until after Send returns without error.
3244//
3245// See UpdateWebhook for more information on using the UpdateWebhook
3246// API call, and error handling.
3247//
3248// This method is useful when you want to inject custom logic or configuration
3249// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3250//
3251//
3252//    // Example sending a request using the UpdateWebhookRequest method.
3253//    req, resp := client.UpdateWebhookRequest(params)
3254//
3255//    err := req.Send()
3256//    if err == nil { // resp is now filled
3257//        fmt.Println(resp)
3258//    }
3259//
3260// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateWebhook
3261func (c *Amplify) UpdateWebhookRequest(input *UpdateWebhookInput) (req *request.Request, output *UpdateWebhookOutput) {
3262	op := &request.Operation{
3263		Name:       opUpdateWebhook,
3264		HTTPMethod: "POST",
3265		HTTPPath:   "/webhooks/{webhookId}",
3266	}
3267
3268	if input == nil {
3269		input = &UpdateWebhookInput{}
3270	}
3271
3272	output = &UpdateWebhookOutput{}
3273	req = c.newRequest(op, input, output)
3274	return
3275}
3276
3277// UpdateWebhook API operation for AWS Amplify.
3278//
3279// Updates a webhook.
3280//
3281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3282// with awserr.Error's Code and Message methods to get detailed information about
3283// the error.
3284//
3285// See the AWS API reference guide for AWS Amplify's
3286// API operation UpdateWebhook for usage and error information.
3287//
3288// Returned Error Types:
3289//   * BadRequestException
3290//   A request contains unexpected data.
3291//
3292//   * UnauthorizedException
3293//   An operation failed due to a lack of access.
3294//
3295//   * NotFoundException
3296//   An entity was not found during an operation.
3297//
3298//   * InternalFailureException
3299//   The service failed to perform an operation due to an internal issue.
3300//
3301//   * DependentServiceFailureException
3302//   An operation failed because a dependent service threw an exception.
3303//
3304// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateWebhook
3305func (c *Amplify) UpdateWebhook(input *UpdateWebhookInput) (*UpdateWebhookOutput, error) {
3306	req, out := c.UpdateWebhookRequest(input)
3307	return out, req.Send()
3308}
3309
3310// UpdateWebhookWithContext is the same as UpdateWebhook with the addition of
3311// the ability to pass a context and additional request options.
3312//
3313// See UpdateWebhook for details on how to use this API operation.
3314//
3315// The context must be non-nil and will be used for request cancellation. If
3316// the context is nil a panic will occur. In the future the SDK may create
3317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3318// for more information on using Contexts.
3319func (c *Amplify) UpdateWebhookWithContext(ctx aws.Context, input *UpdateWebhookInput, opts ...request.Option) (*UpdateWebhookOutput, error) {
3320	req, out := c.UpdateWebhookRequest(input)
3321	req.SetContext(ctx)
3322	req.ApplyOptions(opts...)
3323	return out, req.Send()
3324}
3325
3326// Represents the different branches of a repository for building, deploying,
3327// and hosting an Amplify app.
3328type App struct {
3329	_ struct{} `type:"structure"`
3330
3331	// The Amazon Resource Name (ARN) of the Amplify app.
3332	//
3333	// AppArn is a required field
3334	AppArn *string `locationName:"appArn" type:"string" required:"true"`
3335
3336	// The unique ID of the Amplify app.
3337	//
3338	// AppId is a required field
3339	AppId *string `locationName:"appId" min:"1" type:"string" required:"true"`
3340
3341	// Describes the automated branch creation configuration for the Amplify app.
3342	AutoBranchCreationConfig *AutoBranchCreationConfig `locationName:"autoBranchCreationConfig" type:"structure"`
3343
3344	// Describes the automated branch creation glob patterns for the Amplify app.
3345	AutoBranchCreationPatterns []*string `locationName:"autoBranchCreationPatterns" type:"list"`
3346
3347	// The basic authorization credentials for branches for the Amplify app.
3348	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
3349
3350	// Describes the content of the build specification (build spec) for the Amplify
3351	// app.
3352	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
3353
3354	// Creates a date and time for the Amplify app.
3355	//
3356	// CreateTime is a required field
3357	CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"`
3358
3359	// Describes the custom HTTP headers for the Amplify app.
3360	CustomHeaders *string `locationName:"customHeaders" min:"1" type:"string"`
3361
3362	// Describes the custom redirect and rewrite rules for the Amplify app.
3363	CustomRules []*CustomRule `locationName:"customRules" type:"list"`
3364
3365	// The default domain for the Amplify app.
3366	//
3367	// DefaultDomain is a required field
3368	DefaultDomain *string `locationName:"defaultDomain" min:"1" type:"string" required:"true"`
3369
3370	// The description for the Amplify app.
3371	//
3372	// Description is a required field
3373	Description *string `locationName:"description" type:"string" required:"true"`
3374
3375	// Enables automated branch creation for the Amplify app.
3376	EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"`
3377
3378	// Enables basic authorization for the Amplify app's branches.
3379	//
3380	// EnableBasicAuth is a required field
3381	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean" required:"true"`
3382
3383	// Enables the auto-building of branches for the Amplify app.
3384	//
3385	// EnableBranchAutoBuild is a required field
3386	EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean" required:"true"`
3387
3388	// Automatically disconnect a branch in the Amplify Console when you delete
3389	// a branch from your Git repository.
3390	EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"`
3391
3392	// The environment variables for the Amplify app.
3393	//
3394	// EnvironmentVariables is a required field
3395	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map" required:"true"`
3396
3397	// The AWS Identity and Access Management (IAM) service role for the Amazon
3398	// Resource Name (ARN) of the Amplify app.
3399	IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"`
3400
3401	// The name for the Amplify app.
3402	//
3403	// Name is a required field
3404	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
3405
3406	// The platform for the Amplify app.
3407	//
3408	// Platform is a required field
3409	Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"`
3410
3411	// Describes the information about a production branch of the Amplify app.
3412	ProductionBranch *ProductionBranch `locationName:"productionBranch" type:"structure"`
3413
3414	// The repository for the Amplify app.
3415	//
3416	// Repository is a required field
3417	Repository *string `locationName:"repository" type:"string" required:"true"`
3418
3419	// The tag for the Amplify app.
3420	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
3421
3422	// Updates the date and time for the Amplify app.
3423	//
3424	// UpdateTime is a required field
3425	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"`
3426}
3427
3428// String returns the string representation
3429func (s App) String() string {
3430	return awsutil.Prettify(s)
3431}
3432
3433// GoString returns the string representation
3434func (s App) GoString() string {
3435	return s.String()
3436}
3437
3438// SetAppArn sets the AppArn field's value.
3439func (s *App) SetAppArn(v string) *App {
3440	s.AppArn = &v
3441	return s
3442}
3443
3444// SetAppId sets the AppId field's value.
3445func (s *App) SetAppId(v string) *App {
3446	s.AppId = &v
3447	return s
3448}
3449
3450// SetAutoBranchCreationConfig sets the AutoBranchCreationConfig field's value.
3451func (s *App) SetAutoBranchCreationConfig(v *AutoBranchCreationConfig) *App {
3452	s.AutoBranchCreationConfig = v
3453	return s
3454}
3455
3456// SetAutoBranchCreationPatterns sets the AutoBranchCreationPatterns field's value.
3457func (s *App) SetAutoBranchCreationPatterns(v []*string) *App {
3458	s.AutoBranchCreationPatterns = v
3459	return s
3460}
3461
3462// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
3463func (s *App) SetBasicAuthCredentials(v string) *App {
3464	s.BasicAuthCredentials = &v
3465	return s
3466}
3467
3468// SetBuildSpec sets the BuildSpec field's value.
3469func (s *App) SetBuildSpec(v string) *App {
3470	s.BuildSpec = &v
3471	return s
3472}
3473
3474// SetCreateTime sets the CreateTime field's value.
3475func (s *App) SetCreateTime(v time.Time) *App {
3476	s.CreateTime = &v
3477	return s
3478}
3479
3480// SetCustomHeaders sets the CustomHeaders field's value.
3481func (s *App) SetCustomHeaders(v string) *App {
3482	s.CustomHeaders = &v
3483	return s
3484}
3485
3486// SetCustomRules sets the CustomRules field's value.
3487func (s *App) SetCustomRules(v []*CustomRule) *App {
3488	s.CustomRules = v
3489	return s
3490}
3491
3492// SetDefaultDomain sets the DefaultDomain field's value.
3493func (s *App) SetDefaultDomain(v string) *App {
3494	s.DefaultDomain = &v
3495	return s
3496}
3497
3498// SetDescription sets the Description field's value.
3499func (s *App) SetDescription(v string) *App {
3500	s.Description = &v
3501	return s
3502}
3503
3504// SetEnableAutoBranchCreation sets the EnableAutoBranchCreation field's value.
3505func (s *App) SetEnableAutoBranchCreation(v bool) *App {
3506	s.EnableAutoBranchCreation = &v
3507	return s
3508}
3509
3510// SetEnableBasicAuth sets the EnableBasicAuth field's value.
3511func (s *App) SetEnableBasicAuth(v bool) *App {
3512	s.EnableBasicAuth = &v
3513	return s
3514}
3515
3516// SetEnableBranchAutoBuild sets the EnableBranchAutoBuild field's value.
3517func (s *App) SetEnableBranchAutoBuild(v bool) *App {
3518	s.EnableBranchAutoBuild = &v
3519	return s
3520}
3521
3522// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value.
3523func (s *App) SetEnableBranchAutoDeletion(v bool) *App {
3524	s.EnableBranchAutoDeletion = &v
3525	return s
3526}
3527
3528// SetEnvironmentVariables sets the EnvironmentVariables field's value.
3529func (s *App) SetEnvironmentVariables(v map[string]*string) *App {
3530	s.EnvironmentVariables = v
3531	return s
3532}
3533
3534// SetIamServiceRoleArn sets the IamServiceRoleArn field's value.
3535func (s *App) SetIamServiceRoleArn(v string) *App {
3536	s.IamServiceRoleArn = &v
3537	return s
3538}
3539
3540// SetName sets the Name field's value.
3541func (s *App) SetName(v string) *App {
3542	s.Name = &v
3543	return s
3544}
3545
3546// SetPlatform sets the Platform field's value.
3547func (s *App) SetPlatform(v string) *App {
3548	s.Platform = &v
3549	return s
3550}
3551
3552// SetProductionBranch sets the ProductionBranch field's value.
3553func (s *App) SetProductionBranch(v *ProductionBranch) *App {
3554	s.ProductionBranch = v
3555	return s
3556}
3557
3558// SetRepository sets the Repository field's value.
3559func (s *App) SetRepository(v string) *App {
3560	s.Repository = &v
3561	return s
3562}
3563
3564// SetTags sets the Tags field's value.
3565func (s *App) SetTags(v map[string]*string) *App {
3566	s.Tags = v
3567	return s
3568}
3569
3570// SetUpdateTime sets the UpdateTime field's value.
3571func (s *App) SetUpdateTime(v time.Time) *App {
3572	s.UpdateTime = &v
3573	return s
3574}
3575
3576// Describes an artifact.
3577type Artifact struct {
3578	_ struct{} `type:"structure"`
3579
3580	// The file name for the artifact.
3581	//
3582	// ArtifactFileName is a required field
3583	ArtifactFileName *string `locationName:"artifactFileName" type:"string" required:"true"`
3584
3585	// The unique ID for the artifact.
3586	//
3587	// ArtifactId is a required field
3588	ArtifactId *string `locationName:"artifactId" type:"string" required:"true"`
3589}
3590
3591// String returns the string representation
3592func (s Artifact) String() string {
3593	return awsutil.Prettify(s)
3594}
3595
3596// GoString returns the string representation
3597func (s Artifact) GoString() string {
3598	return s.String()
3599}
3600
3601// SetArtifactFileName sets the ArtifactFileName field's value.
3602func (s *Artifact) SetArtifactFileName(v string) *Artifact {
3603	s.ArtifactFileName = &v
3604	return s
3605}
3606
3607// SetArtifactId sets the ArtifactId field's value.
3608func (s *Artifact) SetArtifactId(v string) *Artifact {
3609	s.ArtifactId = &v
3610	return s
3611}
3612
3613// Describes the automated branch creation configuration.
3614type AutoBranchCreationConfig struct {
3615	_ struct{} `type:"structure"`
3616
3617	// The basic authorization credentials for the autocreated branch.
3618	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
3619
3620	// The build specification (build spec) for the autocreated branch.
3621	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
3622
3623	// Enables auto building for the autocreated branch.
3624	EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"`
3625
3626	// Enables basic authorization for the autocreated branch.
3627	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
3628
3629	// Enables performance mode for the branch.
3630	//
3631	// Performance mode optimizes for faster hosting performance by keeping content
3632	// cached at the edge for a longer interval. When performance mode is enabled,
3633	// hosting configuration or code changes can take up to 10 minutes to roll out.
3634	EnablePerformanceMode *bool `locationName:"enablePerformanceMode" type:"boolean"`
3635
3636	// Enables pull request previews for the autocreated branch.
3637	EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"`
3638
3639	// The environment variables for the autocreated branch.
3640	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
3641
3642	// The framework for the autocreated branch.
3643	Framework *string `locationName:"framework" type:"string"`
3644
3645	// The Amplify environment name for the pull request.
3646	PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"`
3647
3648	// Describes the current stage for the autocreated branch.
3649	Stage *string `locationName:"stage" type:"string" enum:"Stage"`
3650}
3651
3652// String returns the string representation
3653func (s AutoBranchCreationConfig) String() string {
3654	return awsutil.Prettify(s)
3655}
3656
3657// GoString returns the string representation
3658func (s AutoBranchCreationConfig) GoString() string {
3659	return s.String()
3660}
3661
3662// Validate inspects the fields of the type to determine if they are valid.
3663func (s *AutoBranchCreationConfig) Validate() error {
3664	invalidParams := request.ErrInvalidParams{Context: "AutoBranchCreationConfig"}
3665	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
3666		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
3667	}
3668
3669	if invalidParams.Len() > 0 {
3670		return invalidParams
3671	}
3672	return nil
3673}
3674
3675// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
3676func (s *AutoBranchCreationConfig) SetBasicAuthCredentials(v string) *AutoBranchCreationConfig {
3677	s.BasicAuthCredentials = &v
3678	return s
3679}
3680
3681// SetBuildSpec sets the BuildSpec field's value.
3682func (s *AutoBranchCreationConfig) SetBuildSpec(v string) *AutoBranchCreationConfig {
3683	s.BuildSpec = &v
3684	return s
3685}
3686
3687// SetEnableAutoBuild sets the EnableAutoBuild field's value.
3688func (s *AutoBranchCreationConfig) SetEnableAutoBuild(v bool) *AutoBranchCreationConfig {
3689	s.EnableAutoBuild = &v
3690	return s
3691}
3692
3693// SetEnableBasicAuth sets the EnableBasicAuth field's value.
3694func (s *AutoBranchCreationConfig) SetEnableBasicAuth(v bool) *AutoBranchCreationConfig {
3695	s.EnableBasicAuth = &v
3696	return s
3697}
3698
3699// SetEnablePerformanceMode sets the EnablePerformanceMode field's value.
3700func (s *AutoBranchCreationConfig) SetEnablePerformanceMode(v bool) *AutoBranchCreationConfig {
3701	s.EnablePerformanceMode = &v
3702	return s
3703}
3704
3705// SetEnablePullRequestPreview sets the EnablePullRequestPreview field's value.
3706func (s *AutoBranchCreationConfig) SetEnablePullRequestPreview(v bool) *AutoBranchCreationConfig {
3707	s.EnablePullRequestPreview = &v
3708	return s
3709}
3710
3711// SetEnvironmentVariables sets the EnvironmentVariables field's value.
3712func (s *AutoBranchCreationConfig) SetEnvironmentVariables(v map[string]*string) *AutoBranchCreationConfig {
3713	s.EnvironmentVariables = v
3714	return s
3715}
3716
3717// SetFramework sets the Framework field's value.
3718func (s *AutoBranchCreationConfig) SetFramework(v string) *AutoBranchCreationConfig {
3719	s.Framework = &v
3720	return s
3721}
3722
3723// SetPullRequestEnvironmentName sets the PullRequestEnvironmentName field's value.
3724func (s *AutoBranchCreationConfig) SetPullRequestEnvironmentName(v string) *AutoBranchCreationConfig {
3725	s.PullRequestEnvironmentName = &v
3726	return s
3727}
3728
3729// SetStage sets the Stage field's value.
3730func (s *AutoBranchCreationConfig) SetStage(v string) *AutoBranchCreationConfig {
3731	s.Stage = &v
3732	return s
3733}
3734
3735// Describes the backend environment for an Amplify app.
3736type BackendEnvironment struct {
3737	_ struct{} `type:"structure"`
3738
3739	// The Amazon Resource Name (ARN) for a backend environment that is part of
3740	// an Amplify app.
3741	//
3742	// BackendEnvironmentArn is a required field
3743	BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string" required:"true"`
3744
3745	// The creation date and time for a backend environment that is part of an Amplify
3746	// app.
3747	//
3748	// CreateTime is a required field
3749	CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"`
3750
3751	// The name of deployment artifacts.
3752	DeploymentArtifacts *string `locationName:"deploymentArtifacts" min:"1" type:"string"`
3753
3754	// The name for a backend environment that is part of an Amplify app.
3755	//
3756	// EnvironmentName is a required field
3757	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
3758
3759	// The AWS CloudFormation stack name of a backend environment.
3760	StackName *string `locationName:"stackName" min:"1" type:"string"`
3761
3762	// The last updated date and time for a backend environment that is part of
3763	// an Amplify app.
3764	//
3765	// UpdateTime is a required field
3766	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"`
3767}
3768
3769// String returns the string representation
3770func (s BackendEnvironment) String() string {
3771	return awsutil.Prettify(s)
3772}
3773
3774// GoString returns the string representation
3775func (s BackendEnvironment) GoString() string {
3776	return s.String()
3777}
3778
3779// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value.
3780func (s *BackendEnvironment) SetBackendEnvironmentArn(v string) *BackendEnvironment {
3781	s.BackendEnvironmentArn = &v
3782	return s
3783}
3784
3785// SetCreateTime sets the CreateTime field's value.
3786func (s *BackendEnvironment) SetCreateTime(v time.Time) *BackendEnvironment {
3787	s.CreateTime = &v
3788	return s
3789}
3790
3791// SetDeploymentArtifacts sets the DeploymentArtifacts field's value.
3792func (s *BackendEnvironment) SetDeploymentArtifacts(v string) *BackendEnvironment {
3793	s.DeploymentArtifacts = &v
3794	return s
3795}
3796
3797// SetEnvironmentName sets the EnvironmentName field's value.
3798func (s *BackendEnvironment) SetEnvironmentName(v string) *BackendEnvironment {
3799	s.EnvironmentName = &v
3800	return s
3801}
3802
3803// SetStackName sets the StackName field's value.
3804func (s *BackendEnvironment) SetStackName(v string) *BackendEnvironment {
3805	s.StackName = &v
3806	return s
3807}
3808
3809// SetUpdateTime sets the UpdateTime field's value.
3810func (s *BackendEnvironment) SetUpdateTime(v time.Time) *BackendEnvironment {
3811	s.UpdateTime = &v
3812	return s
3813}
3814
3815// A request contains unexpected data.
3816type BadRequestException struct {
3817	_            struct{}                  `type:"structure"`
3818	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3819
3820	Message_ *string `locationName:"message" type:"string"`
3821}
3822
3823// String returns the string representation
3824func (s BadRequestException) String() string {
3825	return awsutil.Prettify(s)
3826}
3827
3828// GoString returns the string representation
3829func (s BadRequestException) GoString() string {
3830	return s.String()
3831}
3832
3833func newErrorBadRequestException(v protocol.ResponseMetadata) error {
3834	return &BadRequestException{
3835		RespMetadata: v,
3836	}
3837}
3838
3839// Code returns the exception type name.
3840func (s *BadRequestException) Code() string {
3841	return "BadRequestException"
3842}
3843
3844// Message returns the exception's message.
3845func (s *BadRequestException) Message() string {
3846	if s.Message_ != nil {
3847		return *s.Message_
3848	}
3849	return ""
3850}
3851
3852// OrigErr always returns nil, satisfies awserr.Error interface.
3853func (s *BadRequestException) OrigErr() error {
3854	return nil
3855}
3856
3857func (s *BadRequestException) Error() string {
3858	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3859}
3860
3861// Status code returns the HTTP status code for the request's response error.
3862func (s *BadRequestException) StatusCode() int {
3863	return s.RespMetadata.StatusCode
3864}
3865
3866// RequestID returns the service's response RequestID for request.
3867func (s *BadRequestException) RequestID() string {
3868	return s.RespMetadata.RequestID
3869}
3870
3871// The branch for an Amplify app, which maps to a third-party repository branch.
3872type Branch struct {
3873	_ struct{} `type:"structure"`
3874
3875	// The ID of the active job for a branch of an Amplify app.
3876	//
3877	// ActiveJobId is a required field
3878	ActiveJobId *string `locationName:"activeJobId" type:"string" required:"true"`
3879
3880	// A list of custom resources that are linked to this branch.
3881	AssociatedResources []*string `locationName:"associatedResources" type:"list"`
3882
3883	// The Amazon Resource Name (ARN) for a backend environment that is part of
3884	// an Amplify app.
3885	BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"`
3886
3887	// The basic authorization credentials for a branch of an Amplify app.
3888	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
3889
3890	// The Amazon Resource Name (ARN) for a branch that is part of an Amplify app.
3891	//
3892	// BranchArn is a required field
3893	BranchArn *string `locationName:"branchArn" type:"string" required:"true"`
3894
3895	// The name for the branch that is part of an Amplify app.
3896	//
3897	// BranchName is a required field
3898	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
3899
3900	// The build specification (build spec) content for the branch of an Amplify
3901	// app.
3902	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
3903
3904	// The creation date and time for a branch that is part of an Amplify app.
3905	//
3906	// CreateTime is a required field
3907	CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"`
3908
3909	// The custom domains for a branch of an Amplify app.
3910	//
3911	// CustomDomains is a required field
3912	CustomDomains []*string `locationName:"customDomains" type:"list" required:"true"`
3913
3914	// The description for the branch that is part of an Amplify app.
3915	//
3916	// Description is a required field
3917	Description *string `locationName:"description" type:"string" required:"true"`
3918
3919	// The destination branch if the branch is a pull request branch.
3920	DestinationBranch *string `locationName:"destinationBranch" min:"1" type:"string"`
3921
3922	// The display name for the branch. This is used as the default domain prefix.
3923	//
3924	// DisplayName is a required field
3925	DisplayName *string `locationName:"displayName" type:"string" required:"true"`
3926
3927	// Enables auto-building on push for a branch of an Amplify app.
3928	//
3929	// EnableAutoBuild is a required field
3930	EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean" required:"true"`
3931
3932	// Enables basic authorization for a branch of an Amplify app.
3933	//
3934	// EnableBasicAuth is a required field
3935	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean" required:"true"`
3936
3937	// Enables notifications for a branch that is part of an Amplify app.
3938	//
3939	// EnableNotification is a required field
3940	EnableNotification *bool `locationName:"enableNotification" type:"boolean" required:"true"`
3941
3942	// Enables performance mode for the branch.
3943	//
3944	// Performance mode optimizes for faster hosting performance by keeping content
3945	// cached at the edge for a longer interval. When performance mode is enabled,
3946	// hosting configuration or code changes can take up to 10 minutes to roll out.
3947	EnablePerformanceMode *bool `locationName:"enablePerformanceMode" type:"boolean"`
3948
3949	// Enables pull request previews for the branch.
3950	//
3951	// EnablePullRequestPreview is a required field
3952	EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean" required:"true"`
3953
3954	// The environment variables specific to a branch of an Amplify app.
3955	//
3956	// EnvironmentVariables is a required field
3957	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map" required:"true"`
3958
3959	// The framework for a branch of an Amplify app.
3960	//
3961	// Framework is a required field
3962	Framework *string `locationName:"framework" type:"string" required:"true"`
3963
3964	// The Amplify environment name for the pull request.
3965	PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"`
3966
3967	// The source branch if the branch is a pull request branch.
3968	SourceBranch *string `locationName:"sourceBranch" min:"1" type:"string"`
3969
3970	// The current stage for the branch that is part of an Amplify app.
3971	//
3972	// Stage is a required field
3973	Stage *string `locationName:"stage" type:"string" required:"true" enum:"Stage"`
3974
3975	// The tag for the branch of an Amplify app.
3976	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
3977
3978	// The thumbnail URL for the branch of an Amplify app.
3979	ThumbnailUrl *string `locationName:"thumbnailUrl" min:"1" type:"string"`
3980
3981	// The total number of jobs that are part of an Amplify app.
3982	//
3983	// TotalNumberOfJobs is a required field
3984	TotalNumberOfJobs *string `locationName:"totalNumberOfJobs" type:"string" required:"true"`
3985
3986	// The content Time to Live (TTL) for the website in seconds.
3987	//
3988	// Ttl is a required field
3989	Ttl *string `locationName:"ttl" type:"string" required:"true"`
3990
3991	// The last updated date and time for a branch that is part of an Amplify app.
3992	//
3993	// UpdateTime is a required field
3994	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"`
3995}
3996
3997// String returns the string representation
3998func (s Branch) String() string {
3999	return awsutil.Prettify(s)
4000}
4001
4002// GoString returns the string representation
4003func (s Branch) GoString() string {
4004	return s.String()
4005}
4006
4007// SetActiveJobId sets the ActiveJobId field's value.
4008func (s *Branch) SetActiveJobId(v string) *Branch {
4009	s.ActiveJobId = &v
4010	return s
4011}
4012
4013// SetAssociatedResources sets the AssociatedResources field's value.
4014func (s *Branch) SetAssociatedResources(v []*string) *Branch {
4015	s.AssociatedResources = v
4016	return s
4017}
4018
4019// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value.
4020func (s *Branch) SetBackendEnvironmentArn(v string) *Branch {
4021	s.BackendEnvironmentArn = &v
4022	return s
4023}
4024
4025// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
4026func (s *Branch) SetBasicAuthCredentials(v string) *Branch {
4027	s.BasicAuthCredentials = &v
4028	return s
4029}
4030
4031// SetBranchArn sets the BranchArn field's value.
4032func (s *Branch) SetBranchArn(v string) *Branch {
4033	s.BranchArn = &v
4034	return s
4035}
4036
4037// SetBranchName sets the BranchName field's value.
4038func (s *Branch) SetBranchName(v string) *Branch {
4039	s.BranchName = &v
4040	return s
4041}
4042
4043// SetBuildSpec sets the BuildSpec field's value.
4044func (s *Branch) SetBuildSpec(v string) *Branch {
4045	s.BuildSpec = &v
4046	return s
4047}
4048
4049// SetCreateTime sets the CreateTime field's value.
4050func (s *Branch) SetCreateTime(v time.Time) *Branch {
4051	s.CreateTime = &v
4052	return s
4053}
4054
4055// SetCustomDomains sets the CustomDomains field's value.
4056func (s *Branch) SetCustomDomains(v []*string) *Branch {
4057	s.CustomDomains = v
4058	return s
4059}
4060
4061// SetDescription sets the Description field's value.
4062func (s *Branch) SetDescription(v string) *Branch {
4063	s.Description = &v
4064	return s
4065}
4066
4067// SetDestinationBranch sets the DestinationBranch field's value.
4068func (s *Branch) SetDestinationBranch(v string) *Branch {
4069	s.DestinationBranch = &v
4070	return s
4071}
4072
4073// SetDisplayName sets the DisplayName field's value.
4074func (s *Branch) SetDisplayName(v string) *Branch {
4075	s.DisplayName = &v
4076	return s
4077}
4078
4079// SetEnableAutoBuild sets the EnableAutoBuild field's value.
4080func (s *Branch) SetEnableAutoBuild(v bool) *Branch {
4081	s.EnableAutoBuild = &v
4082	return s
4083}
4084
4085// SetEnableBasicAuth sets the EnableBasicAuth field's value.
4086func (s *Branch) SetEnableBasicAuth(v bool) *Branch {
4087	s.EnableBasicAuth = &v
4088	return s
4089}
4090
4091// SetEnableNotification sets the EnableNotification field's value.
4092func (s *Branch) SetEnableNotification(v bool) *Branch {
4093	s.EnableNotification = &v
4094	return s
4095}
4096
4097// SetEnablePerformanceMode sets the EnablePerformanceMode field's value.
4098func (s *Branch) SetEnablePerformanceMode(v bool) *Branch {
4099	s.EnablePerformanceMode = &v
4100	return s
4101}
4102
4103// SetEnablePullRequestPreview sets the EnablePullRequestPreview field's value.
4104func (s *Branch) SetEnablePullRequestPreview(v bool) *Branch {
4105	s.EnablePullRequestPreview = &v
4106	return s
4107}
4108
4109// SetEnvironmentVariables sets the EnvironmentVariables field's value.
4110func (s *Branch) SetEnvironmentVariables(v map[string]*string) *Branch {
4111	s.EnvironmentVariables = v
4112	return s
4113}
4114
4115// SetFramework sets the Framework field's value.
4116func (s *Branch) SetFramework(v string) *Branch {
4117	s.Framework = &v
4118	return s
4119}
4120
4121// SetPullRequestEnvironmentName sets the PullRequestEnvironmentName field's value.
4122func (s *Branch) SetPullRequestEnvironmentName(v string) *Branch {
4123	s.PullRequestEnvironmentName = &v
4124	return s
4125}
4126
4127// SetSourceBranch sets the SourceBranch field's value.
4128func (s *Branch) SetSourceBranch(v string) *Branch {
4129	s.SourceBranch = &v
4130	return s
4131}
4132
4133// SetStage sets the Stage field's value.
4134func (s *Branch) SetStage(v string) *Branch {
4135	s.Stage = &v
4136	return s
4137}
4138
4139// SetTags sets the Tags field's value.
4140func (s *Branch) SetTags(v map[string]*string) *Branch {
4141	s.Tags = v
4142	return s
4143}
4144
4145// SetThumbnailUrl sets the ThumbnailUrl field's value.
4146func (s *Branch) SetThumbnailUrl(v string) *Branch {
4147	s.ThumbnailUrl = &v
4148	return s
4149}
4150
4151// SetTotalNumberOfJobs sets the TotalNumberOfJobs field's value.
4152func (s *Branch) SetTotalNumberOfJobs(v string) *Branch {
4153	s.TotalNumberOfJobs = &v
4154	return s
4155}
4156
4157// SetTtl sets the Ttl field's value.
4158func (s *Branch) SetTtl(v string) *Branch {
4159	s.Ttl = &v
4160	return s
4161}
4162
4163// SetUpdateTime sets the UpdateTime field's value.
4164func (s *Branch) SetUpdateTime(v time.Time) *Branch {
4165	s.UpdateTime = &v
4166	return s
4167}
4168
4169// The request structure used to create apps in Amplify.
4170type CreateAppInput struct {
4171	_ struct{} `type:"structure"`
4172
4173	// The personal access token for a third-party source control system for an
4174	// Amplify app. The personal access token is used to create a webhook and a
4175	// read-only deploy key. The token is not stored.
4176	AccessToken *string `locationName:"accessToken" min:"1" type:"string" sensitive:"true"`
4177
4178	// The automated branch creation configuration for an Amplify app.
4179	AutoBranchCreationConfig *AutoBranchCreationConfig `locationName:"autoBranchCreationConfig" type:"structure"`
4180
4181	// The automated branch creation glob patterns for an Amplify app.
4182	AutoBranchCreationPatterns []*string `locationName:"autoBranchCreationPatterns" type:"list"`
4183
4184	// The credentials for basic authorization for an Amplify app.
4185	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
4186
4187	// The build specification (build spec) for an Amplify app.
4188	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
4189
4190	// The custom HTTP headers for an Amplify app.
4191	CustomHeaders *string `locationName:"customHeaders" min:"1" type:"string"`
4192
4193	// The custom rewrite and redirect rules for an Amplify app.
4194	CustomRules []*CustomRule `locationName:"customRules" type:"list"`
4195
4196	// The description for an Amplify app.
4197	Description *string `locationName:"description" type:"string"`
4198
4199	// Enables automated branch creation for an Amplify app.
4200	EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"`
4201
4202	// Enables basic authorization for an Amplify app. This will apply to all branches
4203	// that are part of this app.
4204	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
4205
4206	// Enables the auto building of branches for an Amplify app.
4207	EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean"`
4208
4209	// Automatically disconnects a branch in the Amplify Console when you delete
4210	// a branch from your Git repository.
4211	EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"`
4212
4213	// The environment variables map for an Amplify app.
4214	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
4215
4216	// The AWS Identity and Access Management (IAM) service role for an Amplify
4217	// app.
4218	IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"`
4219
4220	// The name for an Amplify app.
4221	//
4222	// Name is a required field
4223	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4224
4225	// The OAuth token for a third-party source control system for an Amplify app.
4226	// The OAuth token is used to create a webhook and a read-only deploy key. The
4227	// OAuth token is not stored.
4228	OauthToken *string `locationName:"oauthToken" type:"string" sensitive:"true"`
4229
4230	// The platform or framework for an Amplify app.
4231	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
4232
4233	// The repository for an Amplify app.
4234	Repository *string `locationName:"repository" type:"string"`
4235
4236	// The tag for an Amplify app.
4237	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4238}
4239
4240// String returns the string representation
4241func (s CreateAppInput) String() string {
4242	return awsutil.Prettify(s)
4243}
4244
4245// GoString returns the string representation
4246func (s CreateAppInput) GoString() string {
4247	return s.String()
4248}
4249
4250// Validate inspects the fields of the type to determine if they are valid.
4251func (s *CreateAppInput) Validate() error {
4252	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
4253	if s.AccessToken != nil && len(*s.AccessToken) < 1 {
4254		invalidParams.Add(request.NewErrParamMinLen("AccessToken", 1))
4255	}
4256	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
4257		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
4258	}
4259	if s.CustomHeaders != nil && len(*s.CustomHeaders) < 1 {
4260		invalidParams.Add(request.NewErrParamMinLen("CustomHeaders", 1))
4261	}
4262	if s.IamServiceRoleArn != nil && len(*s.IamServiceRoleArn) < 1 {
4263		invalidParams.Add(request.NewErrParamMinLen("IamServiceRoleArn", 1))
4264	}
4265	if s.Name == nil {
4266		invalidParams.Add(request.NewErrParamRequired("Name"))
4267	}
4268	if s.Name != nil && len(*s.Name) < 1 {
4269		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4270	}
4271	if s.Tags != nil && len(s.Tags) < 1 {
4272		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4273	}
4274	if s.AutoBranchCreationConfig != nil {
4275		if err := s.AutoBranchCreationConfig.Validate(); err != nil {
4276			invalidParams.AddNested("AutoBranchCreationConfig", err.(request.ErrInvalidParams))
4277		}
4278	}
4279	if s.CustomRules != nil {
4280		for i, v := range s.CustomRules {
4281			if v == nil {
4282				continue
4283			}
4284			if err := v.Validate(); err != nil {
4285				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomRules", i), err.(request.ErrInvalidParams))
4286			}
4287		}
4288	}
4289
4290	if invalidParams.Len() > 0 {
4291		return invalidParams
4292	}
4293	return nil
4294}
4295
4296// SetAccessToken sets the AccessToken field's value.
4297func (s *CreateAppInput) SetAccessToken(v string) *CreateAppInput {
4298	s.AccessToken = &v
4299	return s
4300}
4301
4302// SetAutoBranchCreationConfig sets the AutoBranchCreationConfig field's value.
4303func (s *CreateAppInput) SetAutoBranchCreationConfig(v *AutoBranchCreationConfig) *CreateAppInput {
4304	s.AutoBranchCreationConfig = v
4305	return s
4306}
4307
4308// SetAutoBranchCreationPatterns sets the AutoBranchCreationPatterns field's value.
4309func (s *CreateAppInput) SetAutoBranchCreationPatterns(v []*string) *CreateAppInput {
4310	s.AutoBranchCreationPatterns = v
4311	return s
4312}
4313
4314// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
4315func (s *CreateAppInput) SetBasicAuthCredentials(v string) *CreateAppInput {
4316	s.BasicAuthCredentials = &v
4317	return s
4318}
4319
4320// SetBuildSpec sets the BuildSpec field's value.
4321func (s *CreateAppInput) SetBuildSpec(v string) *CreateAppInput {
4322	s.BuildSpec = &v
4323	return s
4324}
4325
4326// SetCustomHeaders sets the CustomHeaders field's value.
4327func (s *CreateAppInput) SetCustomHeaders(v string) *CreateAppInput {
4328	s.CustomHeaders = &v
4329	return s
4330}
4331
4332// SetCustomRules sets the CustomRules field's value.
4333func (s *CreateAppInput) SetCustomRules(v []*CustomRule) *CreateAppInput {
4334	s.CustomRules = v
4335	return s
4336}
4337
4338// SetDescription sets the Description field's value.
4339func (s *CreateAppInput) SetDescription(v string) *CreateAppInput {
4340	s.Description = &v
4341	return s
4342}
4343
4344// SetEnableAutoBranchCreation sets the EnableAutoBranchCreation field's value.
4345func (s *CreateAppInput) SetEnableAutoBranchCreation(v bool) *CreateAppInput {
4346	s.EnableAutoBranchCreation = &v
4347	return s
4348}
4349
4350// SetEnableBasicAuth sets the EnableBasicAuth field's value.
4351func (s *CreateAppInput) SetEnableBasicAuth(v bool) *CreateAppInput {
4352	s.EnableBasicAuth = &v
4353	return s
4354}
4355
4356// SetEnableBranchAutoBuild sets the EnableBranchAutoBuild field's value.
4357func (s *CreateAppInput) SetEnableBranchAutoBuild(v bool) *CreateAppInput {
4358	s.EnableBranchAutoBuild = &v
4359	return s
4360}
4361
4362// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value.
4363func (s *CreateAppInput) SetEnableBranchAutoDeletion(v bool) *CreateAppInput {
4364	s.EnableBranchAutoDeletion = &v
4365	return s
4366}
4367
4368// SetEnvironmentVariables sets the EnvironmentVariables field's value.
4369func (s *CreateAppInput) SetEnvironmentVariables(v map[string]*string) *CreateAppInput {
4370	s.EnvironmentVariables = v
4371	return s
4372}
4373
4374// SetIamServiceRoleArn sets the IamServiceRoleArn field's value.
4375func (s *CreateAppInput) SetIamServiceRoleArn(v string) *CreateAppInput {
4376	s.IamServiceRoleArn = &v
4377	return s
4378}
4379
4380// SetName sets the Name field's value.
4381func (s *CreateAppInput) SetName(v string) *CreateAppInput {
4382	s.Name = &v
4383	return s
4384}
4385
4386// SetOauthToken sets the OauthToken field's value.
4387func (s *CreateAppInput) SetOauthToken(v string) *CreateAppInput {
4388	s.OauthToken = &v
4389	return s
4390}
4391
4392// SetPlatform sets the Platform field's value.
4393func (s *CreateAppInput) SetPlatform(v string) *CreateAppInput {
4394	s.Platform = &v
4395	return s
4396}
4397
4398// SetRepository sets the Repository field's value.
4399func (s *CreateAppInput) SetRepository(v string) *CreateAppInput {
4400	s.Repository = &v
4401	return s
4402}
4403
4404// SetTags sets the Tags field's value.
4405func (s *CreateAppInput) SetTags(v map[string]*string) *CreateAppInput {
4406	s.Tags = v
4407	return s
4408}
4409
4410type CreateAppOutput struct {
4411	_ struct{} `type:"structure"`
4412
4413	// Represents the different branches of a repository for building, deploying,
4414	// and hosting an Amplify app.
4415	//
4416	// App is a required field
4417	App *App `locationName:"app" type:"structure" required:"true"`
4418}
4419
4420// String returns the string representation
4421func (s CreateAppOutput) String() string {
4422	return awsutil.Prettify(s)
4423}
4424
4425// GoString returns the string representation
4426func (s CreateAppOutput) GoString() string {
4427	return s.String()
4428}
4429
4430// SetApp sets the App field's value.
4431func (s *CreateAppOutput) SetApp(v *App) *CreateAppOutput {
4432	s.App = v
4433	return s
4434}
4435
4436// The request structure for the backend environment create request.
4437type CreateBackendEnvironmentInput struct {
4438	_ struct{} `type:"structure"`
4439
4440	// The unique ID for an Amplify app.
4441	//
4442	// AppId is a required field
4443	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
4444
4445	// The name of deployment artifacts.
4446	DeploymentArtifacts *string `locationName:"deploymentArtifacts" min:"1" type:"string"`
4447
4448	// The name for the backend environment.
4449	//
4450	// EnvironmentName is a required field
4451	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
4452
4453	// The AWS CloudFormation stack name of a backend environment.
4454	StackName *string `locationName:"stackName" min:"1" type:"string"`
4455}
4456
4457// String returns the string representation
4458func (s CreateBackendEnvironmentInput) String() string {
4459	return awsutil.Prettify(s)
4460}
4461
4462// GoString returns the string representation
4463func (s CreateBackendEnvironmentInput) GoString() string {
4464	return s.String()
4465}
4466
4467// Validate inspects the fields of the type to determine if they are valid.
4468func (s *CreateBackendEnvironmentInput) Validate() error {
4469	invalidParams := request.ErrInvalidParams{Context: "CreateBackendEnvironmentInput"}
4470	if s.AppId == nil {
4471		invalidParams.Add(request.NewErrParamRequired("AppId"))
4472	}
4473	if s.AppId != nil && len(*s.AppId) < 1 {
4474		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
4475	}
4476	if s.DeploymentArtifacts != nil && len(*s.DeploymentArtifacts) < 1 {
4477		invalidParams.Add(request.NewErrParamMinLen("DeploymentArtifacts", 1))
4478	}
4479	if s.EnvironmentName == nil {
4480		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
4481	}
4482	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
4483		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
4484	}
4485	if s.StackName != nil && len(*s.StackName) < 1 {
4486		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
4487	}
4488
4489	if invalidParams.Len() > 0 {
4490		return invalidParams
4491	}
4492	return nil
4493}
4494
4495// SetAppId sets the AppId field's value.
4496func (s *CreateBackendEnvironmentInput) SetAppId(v string) *CreateBackendEnvironmentInput {
4497	s.AppId = &v
4498	return s
4499}
4500
4501// SetDeploymentArtifacts sets the DeploymentArtifacts field's value.
4502func (s *CreateBackendEnvironmentInput) SetDeploymentArtifacts(v string) *CreateBackendEnvironmentInput {
4503	s.DeploymentArtifacts = &v
4504	return s
4505}
4506
4507// SetEnvironmentName sets the EnvironmentName field's value.
4508func (s *CreateBackendEnvironmentInput) SetEnvironmentName(v string) *CreateBackendEnvironmentInput {
4509	s.EnvironmentName = &v
4510	return s
4511}
4512
4513// SetStackName sets the StackName field's value.
4514func (s *CreateBackendEnvironmentInput) SetStackName(v string) *CreateBackendEnvironmentInput {
4515	s.StackName = &v
4516	return s
4517}
4518
4519// The result structure for the create backend environment request.
4520type CreateBackendEnvironmentOutput struct {
4521	_ struct{} `type:"structure"`
4522
4523	// Describes the backend environment for an Amplify app.
4524	//
4525	// BackendEnvironment is a required field
4526	BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"`
4527}
4528
4529// String returns the string representation
4530func (s CreateBackendEnvironmentOutput) String() string {
4531	return awsutil.Prettify(s)
4532}
4533
4534// GoString returns the string representation
4535func (s CreateBackendEnvironmentOutput) GoString() string {
4536	return s.String()
4537}
4538
4539// SetBackendEnvironment sets the BackendEnvironment field's value.
4540func (s *CreateBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *CreateBackendEnvironmentOutput {
4541	s.BackendEnvironment = v
4542	return s
4543}
4544
4545// The request structure for the create branch request.
4546type CreateBranchInput struct {
4547	_ struct{} `type:"structure"`
4548
4549	// The unique ID for an Amplify app.
4550	//
4551	// AppId is a required field
4552	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
4553
4554	// The Amazon Resource Name (ARN) for a backend environment that is part of
4555	// an Amplify app.
4556	BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"`
4557
4558	// The basic authorization credentials for the branch.
4559	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
4560
4561	// The name for the branch.
4562	//
4563	// BranchName is a required field
4564	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
4565
4566	// The build specification (build spec) for the branch.
4567	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
4568
4569	// The description for the branch.
4570	Description *string `locationName:"description" type:"string"`
4571
4572	// The display name for a branch. This is used as the default domain prefix.
4573	DisplayName *string `locationName:"displayName" type:"string"`
4574
4575	// Enables auto building for the branch.
4576	EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"`
4577
4578	// Enables basic authorization for the branch.
4579	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
4580
4581	// Enables notifications for the branch.
4582	EnableNotification *bool `locationName:"enableNotification" type:"boolean"`
4583
4584	// Enables performance mode for the branch.
4585	//
4586	// Performance mode optimizes for faster hosting performance by keeping content
4587	// cached at the edge for a longer interval. When performance mode is enabled,
4588	// hosting configuration or code changes can take up to 10 minutes to roll out.
4589	EnablePerformanceMode *bool `locationName:"enablePerformanceMode" type:"boolean"`
4590
4591	// Enables pull request previews for this branch.
4592	EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"`
4593
4594	// The environment variables for the branch.
4595	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
4596
4597	// The framework for the branch.
4598	Framework *string `locationName:"framework" type:"string"`
4599
4600	// The Amplify environment name for the pull request.
4601	PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"`
4602
4603	// Describes the current stage for the branch.
4604	Stage *string `locationName:"stage" type:"string" enum:"Stage"`
4605
4606	// The tag for the branch.
4607	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4608
4609	// The content Time To Live (TTL) for the website in seconds.
4610	Ttl *string `locationName:"ttl" type:"string"`
4611}
4612
4613// String returns the string representation
4614func (s CreateBranchInput) String() string {
4615	return awsutil.Prettify(s)
4616}
4617
4618// GoString returns the string representation
4619func (s CreateBranchInput) GoString() string {
4620	return s.String()
4621}
4622
4623// Validate inspects the fields of the type to determine if they are valid.
4624func (s *CreateBranchInput) Validate() error {
4625	invalidParams := request.ErrInvalidParams{Context: "CreateBranchInput"}
4626	if s.AppId == nil {
4627		invalidParams.Add(request.NewErrParamRequired("AppId"))
4628	}
4629	if s.AppId != nil && len(*s.AppId) < 1 {
4630		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
4631	}
4632	if s.BackendEnvironmentArn != nil && len(*s.BackendEnvironmentArn) < 1 {
4633		invalidParams.Add(request.NewErrParamMinLen("BackendEnvironmentArn", 1))
4634	}
4635	if s.BranchName == nil {
4636		invalidParams.Add(request.NewErrParamRequired("BranchName"))
4637	}
4638	if s.BranchName != nil && len(*s.BranchName) < 1 {
4639		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
4640	}
4641	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
4642		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
4643	}
4644	if s.Tags != nil && len(s.Tags) < 1 {
4645		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4646	}
4647
4648	if invalidParams.Len() > 0 {
4649		return invalidParams
4650	}
4651	return nil
4652}
4653
4654// SetAppId sets the AppId field's value.
4655func (s *CreateBranchInput) SetAppId(v string) *CreateBranchInput {
4656	s.AppId = &v
4657	return s
4658}
4659
4660// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value.
4661func (s *CreateBranchInput) SetBackendEnvironmentArn(v string) *CreateBranchInput {
4662	s.BackendEnvironmentArn = &v
4663	return s
4664}
4665
4666// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
4667func (s *CreateBranchInput) SetBasicAuthCredentials(v string) *CreateBranchInput {
4668	s.BasicAuthCredentials = &v
4669	return s
4670}
4671
4672// SetBranchName sets the BranchName field's value.
4673func (s *CreateBranchInput) SetBranchName(v string) *CreateBranchInput {
4674	s.BranchName = &v
4675	return s
4676}
4677
4678// SetBuildSpec sets the BuildSpec field's value.
4679func (s *CreateBranchInput) SetBuildSpec(v string) *CreateBranchInput {
4680	s.BuildSpec = &v
4681	return s
4682}
4683
4684// SetDescription sets the Description field's value.
4685func (s *CreateBranchInput) SetDescription(v string) *CreateBranchInput {
4686	s.Description = &v
4687	return s
4688}
4689
4690// SetDisplayName sets the DisplayName field's value.
4691func (s *CreateBranchInput) SetDisplayName(v string) *CreateBranchInput {
4692	s.DisplayName = &v
4693	return s
4694}
4695
4696// SetEnableAutoBuild sets the EnableAutoBuild field's value.
4697func (s *CreateBranchInput) SetEnableAutoBuild(v bool) *CreateBranchInput {
4698	s.EnableAutoBuild = &v
4699	return s
4700}
4701
4702// SetEnableBasicAuth sets the EnableBasicAuth field's value.
4703func (s *CreateBranchInput) SetEnableBasicAuth(v bool) *CreateBranchInput {
4704	s.EnableBasicAuth = &v
4705	return s
4706}
4707
4708// SetEnableNotification sets the EnableNotification field's value.
4709func (s *CreateBranchInput) SetEnableNotification(v bool) *CreateBranchInput {
4710	s.EnableNotification = &v
4711	return s
4712}
4713
4714// SetEnablePerformanceMode sets the EnablePerformanceMode field's value.
4715func (s *CreateBranchInput) SetEnablePerformanceMode(v bool) *CreateBranchInput {
4716	s.EnablePerformanceMode = &v
4717	return s
4718}
4719
4720// SetEnablePullRequestPreview sets the EnablePullRequestPreview field's value.
4721func (s *CreateBranchInput) SetEnablePullRequestPreview(v bool) *CreateBranchInput {
4722	s.EnablePullRequestPreview = &v
4723	return s
4724}
4725
4726// SetEnvironmentVariables sets the EnvironmentVariables field's value.
4727func (s *CreateBranchInput) SetEnvironmentVariables(v map[string]*string) *CreateBranchInput {
4728	s.EnvironmentVariables = v
4729	return s
4730}
4731
4732// SetFramework sets the Framework field's value.
4733func (s *CreateBranchInput) SetFramework(v string) *CreateBranchInput {
4734	s.Framework = &v
4735	return s
4736}
4737
4738// SetPullRequestEnvironmentName sets the PullRequestEnvironmentName field's value.
4739func (s *CreateBranchInput) SetPullRequestEnvironmentName(v string) *CreateBranchInput {
4740	s.PullRequestEnvironmentName = &v
4741	return s
4742}
4743
4744// SetStage sets the Stage field's value.
4745func (s *CreateBranchInput) SetStage(v string) *CreateBranchInput {
4746	s.Stage = &v
4747	return s
4748}
4749
4750// SetTags sets the Tags field's value.
4751func (s *CreateBranchInput) SetTags(v map[string]*string) *CreateBranchInput {
4752	s.Tags = v
4753	return s
4754}
4755
4756// SetTtl sets the Ttl field's value.
4757func (s *CreateBranchInput) SetTtl(v string) *CreateBranchInput {
4758	s.Ttl = &v
4759	return s
4760}
4761
4762// The result structure for create branch request.
4763type CreateBranchOutput struct {
4764	_ struct{} `type:"structure"`
4765
4766	// Describes the branch for an Amplify app, which maps to a third-party repository
4767	// branch.
4768	//
4769	// Branch is a required field
4770	Branch *Branch `locationName:"branch" type:"structure" required:"true"`
4771}
4772
4773// String returns the string representation
4774func (s CreateBranchOutput) String() string {
4775	return awsutil.Prettify(s)
4776}
4777
4778// GoString returns the string representation
4779func (s CreateBranchOutput) GoString() string {
4780	return s.String()
4781}
4782
4783// SetBranch sets the Branch field's value.
4784func (s *CreateBranchOutput) SetBranch(v *Branch) *CreateBranchOutput {
4785	s.Branch = v
4786	return s
4787}
4788
4789// The request structure for the create a new deployment request.
4790type CreateDeploymentInput struct {
4791	_ struct{} `type:"structure"`
4792
4793	// The unique ID for an Amplify app.
4794	//
4795	// AppId is a required field
4796	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
4797
4798	// The name for the branch, for the job.
4799	//
4800	// BranchName is a required field
4801	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
4802
4803	// An optional file map that contains the file name as the key and the file
4804	// content md5 hash as the value. If this argument is provided, the service
4805	// will generate a unique upload URL per file. Otherwise, the service will only
4806	// generate a single upload URL for the zipped files.
4807	FileMap map[string]*string `locationName:"fileMap" type:"map"`
4808}
4809
4810// String returns the string representation
4811func (s CreateDeploymentInput) String() string {
4812	return awsutil.Prettify(s)
4813}
4814
4815// GoString returns the string representation
4816func (s CreateDeploymentInput) GoString() string {
4817	return s.String()
4818}
4819
4820// Validate inspects the fields of the type to determine if they are valid.
4821func (s *CreateDeploymentInput) Validate() error {
4822	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
4823	if s.AppId == nil {
4824		invalidParams.Add(request.NewErrParamRequired("AppId"))
4825	}
4826	if s.AppId != nil && len(*s.AppId) < 1 {
4827		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
4828	}
4829	if s.BranchName == nil {
4830		invalidParams.Add(request.NewErrParamRequired("BranchName"))
4831	}
4832	if s.BranchName != nil && len(*s.BranchName) < 1 {
4833		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
4834	}
4835
4836	if invalidParams.Len() > 0 {
4837		return invalidParams
4838	}
4839	return nil
4840}
4841
4842// SetAppId sets the AppId field's value.
4843func (s *CreateDeploymentInput) SetAppId(v string) *CreateDeploymentInput {
4844	s.AppId = &v
4845	return s
4846}
4847
4848// SetBranchName sets the BranchName field's value.
4849func (s *CreateDeploymentInput) SetBranchName(v string) *CreateDeploymentInput {
4850	s.BranchName = &v
4851	return s
4852}
4853
4854// SetFileMap sets the FileMap field's value.
4855func (s *CreateDeploymentInput) SetFileMap(v map[string]*string) *CreateDeploymentInput {
4856	s.FileMap = v
4857	return s
4858}
4859
4860// The result structure for the create a new deployment request.
4861type CreateDeploymentOutput struct {
4862	_ struct{} `type:"structure"`
4863
4864	// When the fileMap argument is provided in the request, fileUploadUrls will
4865	// contain a map of file names to upload URLs.
4866	//
4867	// FileUploadUrls is a required field
4868	FileUploadUrls map[string]*string `locationName:"fileUploadUrls" type:"map" required:"true"`
4869
4870	// The job ID for this deployment. will supply to start deployment api.
4871	JobId *string `locationName:"jobId" type:"string"`
4872
4873	// When the fileMap argument is not provided in the request, this zipUploadUrl
4874	// is returned.
4875	//
4876	// ZipUploadUrl is a required field
4877	ZipUploadUrl *string `locationName:"zipUploadUrl" type:"string" required:"true"`
4878}
4879
4880// String returns the string representation
4881func (s CreateDeploymentOutput) String() string {
4882	return awsutil.Prettify(s)
4883}
4884
4885// GoString returns the string representation
4886func (s CreateDeploymentOutput) GoString() string {
4887	return s.String()
4888}
4889
4890// SetFileUploadUrls sets the FileUploadUrls field's value.
4891func (s *CreateDeploymentOutput) SetFileUploadUrls(v map[string]*string) *CreateDeploymentOutput {
4892	s.FileUploadUrls = v
4893	return s
4894}
4895
4896// SetJobId sets the JobId field's value.
4897func (s *CreateDeploymentOutput) SetJobId(v string) *CreateDeploymentOutput {
4898	s.JobId = &v
4899	return s
4900}
4901
4902// SetZipUploadUrl sets the ZipUploadUrl field's value.
4903func (s *CreateDeploymentOutput) SetZipUploadUrl(v string) *CreateDeploymentOutput {
4904	s.ZipUploadUrl = &v
4905	return s
4906}
4907
4908// The request structure for the create domain association request.
4909type CreateDomainAssociationInput struct {
4910	_ struct{} `type:"structure"`
4911
4912	// The unique ID for an Amplify app.
4913	//
4914	// AppId is a required field
4915	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
4916
4917	// Sets the branch patterns for automatic subdomain creation.
4918	AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"`
4919
4920	// The required AWS Identity and Access Management (IAM) service role for the
4921	// Amazon Resource Name (ARN) for automatically creating subdomains.
4922	AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"`
4923
4924	// The domain name for the domain association.
4925	//
4926	// DomainName is a required field
4927	DomainName *string `locationName:"domainName" type:"string" required:"true"`
4928
4929	// Enables the automated creation of subdomains for branches.
4930	EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean"`
4931
4932	// The setting for the subdomain.
4933	//
4934	// SubDomainSettings is a required field
4935	SubDomainSettings []*SubDomainSetting `locationName:"subDomainSettings" type:"list" required:"true"`
4936}
4937
4938// String returns the string representation
4939func (s CreateDomainAssociationInput) String() string {
4940	return awsutil.Prettify(s)
4941}
4942
4943// GoString returns the string representation
4944func (s CreateDomainAssociationInput) GoString() string {
4945	return s.String()
4946}
4947
4948// Validate inspects the fields of the type to determine if they are valid.
4949func (s *CreateDomainAssociationInput) Validate() error {
4950	invalidParams := request.ErrInvalidParams{Context: "CreateDomainAssociationInput"}
4951	if s.AppId == nil {
4952		invalidParams.Add(request.NewErrParamRequired("AppId"))
4953	}
4954	if s.AppId != nil && len(*s.AppId) < 1 {
4955		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
4956	}
4957	if s.DomainName == nil {
4958		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4959	}
4960	if s.SubDomainSettings == nil {
4961		invalidParams.Add(request.NewErrParamRequired("SubDomainSettings"))
4962	}
4963	if s.SubDomainSettings != nil {
4964		for i, v := range s.SubDomainSettings {
4965			if v == nil {
4966				continue
4967			}
4968			if err := v.Validate(); err != nil {
4969				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SubDomainSettings", i), err.(request.ErrInvalidParams))
4970			}
4971		}
4972	}
4973
4974	if invalidParams.Len() > 0 {
4975		return invalidParams
4976	}
4977	return nil
4978}
4979
4980// SetAppId sets the AppId field's value.
4981func (s *CreateDomainAssociationInput) SetAppId(v string) *CreateDomainAssociationInput {
4982	s.AppId = &v
4983	return s
4984}
4985
4986// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value.
4987func (s *CreateDomainAssociationInput) SetAutoSubDomainCreationPatterns(v []*string) *CreateDomainAssociationInput {
4988	s.AutoSubDomainCreationPatterns = v
4989	return s
4990}
4991
4992// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value.
4993func (s *CreateDomainAssociationInput) SetAutoSubDomainIAMRole(v string) *CreateDomainAssociationInput {
4994	s.AutoSubDomainIAMRole = &v
4995	return s
4996}
4997
4998// SetDomainName sets the DomainName field's value.
4999func (s *CreateDomainAssociationInput) SetDomainName(v string) *CreateDomainAssociationInput {
5000	s.DomainName = &v
5001	return s
5002}
5003
5004// SetEnableAutoSubDomain sets the EnableAutoSubDomain field's value.
5005func (s *CreateDomainAssociationInput) SetEnableAutoSubDomain(v bool) *CreateDomainAssociationInput {
5006	s.EnableAutoSubDomain = &v
5007	return s
5008}
5009
5010// SetSubDomainSettings sets the SubDomainSettings field's value.
5011func (s *CreateDomainAssociationInput) SetSubDomainSettings(v []*SubDomainSetting) *CreateDomainAssociationInput {
5012	s.SubDomainSettings = v
5013	return s
5014}
5015
5016// The result structure for the create domain association request.
5017type CreateDomainAssociationOutput struct {
5018	_ struct{} `type:"structure"`
5019
5020	// Describes the structure of a domain association, which associates a custom
5021	// domain with an Amplify app.
5022	//
5023	// DomainAssociation is a required field
5024	DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"`
5025}
5026
5027// String returns the string representation
5028func (s CreateDomainAssociationOutput) String() string {
5029	return awsutil.Prettify(s)
5030}
5031
5032// GoString returns the string representation
5033func (s CreateDomainAssociationOutput) GoString() string {
5034	return s.String()
5035}
5036
5037// SetDomainAssociation sets the DomainAssociation field's value.
5038func (s *CreateDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) *CreateDomainAssociationOutput {
5039	s.DomainAssociation = v
5040	return s
5041}
5042
5043// The request structure for the create webhook request.
5044type CreateWebhookInput struct {
5045	_ struct{} `type:"structure"`
5046
5047	// The unique ID for an Amplify app.
5048	//
5049	// AppId is a required field
5050	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5051
5052	// The name for a branch that is part of an Amplify app.
5053	//
5054	// BranchName is a required field
5055	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
5056
5057	// The description for a webhook.
5058	Description *string `locationName:"description" type:"string"`
5059}
5060
5061// String returns the string representation
5062func (s CreateWebhookInput) String() string {
5063	return awsutil.Prettify(s)
5064}
5065
5066// GoString returns the string representation
5067func (s CreateWebhookInput) GoString() string {
5068	return s.String()
5069}
5070
5071// Validate inspects the fields of the type to determine if they are valid.
5072func (s *CreateWebhookInput) Validate() error {
5073	invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"}
5074	if s.AppId == nil {
5075		invalidParams.Add(request.NewErrParamRequired("AppId"))
5076	}
5077	if s.AppId != nil && len(*s.AppId) < 1 {
5078		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5079	}
5080	if s.BranchName == nil {
5081		invalidParams.Add(request.NewErrParamRequired("BranchName"))
5082	}
5083	if s.BranchName != nil && len(*s.BranchName) < 1 {
5084		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
5085	}
5086
5087	if invalidParams.Len() > 0 {
5088		return invalidParams
5089	}
5090	return nil
5091}
5092
5093// SetAppId sets the AppId field's value.
5094func (s *CreateWebhookInput) SetAppId(v string) *CreateWebhookInput {
5095	s.AppId = &v
5096	return s
5097}
5098
5099// SetBranchName sets the BranchName field's value.
5100func (s *CreateWebhookInput) SetBranchName(v string) *CreateWebhookInput {
5101	s.BranchName = &v
5102	return s
5103}
5104
5105// SetDescription sets the Description field's value.
5106func (s *CreateWebhookInput) SetDescription(v string) *CreateWebhookInput {
5107	s.Description = &v
5108	return s
5109}
5110
5111// The result structure for the create webhook request.
5112type CreateWebhookOutput struct {
5113	_ struct{} `type:"structure"`
5114
5115	// Describes a webhook that connects repository events to an Amplify app.
5116	//
5117	// Webhook is a required field
5118	Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"`
5119}
5120
5121// String returns the string representation
5122func (s CreateWebhookOutput) String() string {
5123	return awsutil.Prettify(s)
5124}
5125
5126// GoString returns the string representation
5127func (s CreateWebhookOutput) GoString() string {
5128	return s.String()
5129}
5130
5131// SetWebhook sets the Webhook field's value.
5132func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput {
5133	s.Webhook = v
5134	return s
5135}
5136
5137// Describes a custom rewrite or redirect rule.
5138type CustomRule struct {
5139	_ struct{} `type:"structure"`
5140
5141	// The condition for a URL rewrite or redirect rule, such as a country code.
5142	Condition *string `locationName:"condition" min:"1" type:"string"`
5143
5144	// The source pattern for a URL rewrite or redirect rule.
5145	//
5146	// Source is a required field
5147	Source *string `locationName:"source" min:"1" type:"string" required:"true"`
5148
5149	// The status code for a URL rewrite or redirect rule.
5150	//
5151	// 200
5152	//
5153	// Represents a 200 rewrite rule.
5154	//
5155	// 301
5156	//
5157	// Represents a 301 (moved pemanently) redirect rule. This and all future requests
5158	// should be directed to the target URL.
5159	//
5160	// 302
5161	//
5162	// Represents a 302 temporary redirect rule.
5163	//
5164	// 404
5165	//
5166	// Represents a 404 redirect rule.
5167	//
5168	// 404-200
5169	//
5170	// Represents a 404 rewrite rule.
5171	Status *string `locationName:"status" min:"3" type:"string"`
5172
5173	// The target pattern for a URL rewrite or redirect rule.
5174	//
5175	// Target is a required field
5176	Target *string `locationName:"target" min:"1" type:"string" required:"true"`
5177}
5178
5179// String returns the string representation
5180func (s CustomRule) String() string {
5181	return awsutil.Prettify(s)
5182}
5183
5184// GoString returns the string representation
5185func (s CustomRule) GoString() string {
5186	return s.String()
5187}
5188
5189// Validate inspects the fields of the type to determine if they are valid.
5190func (s *CustomRule) Validate() error {
5191	invalidParams := request.ErrInvalidParams{Context: "CustomRule"}
5192	if s.Condition != nil && len(*s.Condition) < 1 {
5193		invalidParams.Add(request.NewErrParamMinLen("Condition", 1))
5194	}
5195	if s.Source == nil {
5196		invalidParams.Add(request.NewErrParamRequired("Source"))
5197	}
5198	if s.Source != nil && len(*s.Source) < 1 {
5199		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
5200	}
5201	if s.Status != nil && len(*s.Status) < 3 {
5202		invalidParams.Add(request.NewErrParamMinLen("Status", 3))
5203	}
5204	if s.Target == nil {
5205		invalidParams.Add(request.NewErrParamRequired("Target"))
5206	}
5207	if s.Target != nil && len(*s.Target) < 1 {
5208		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
5209	}
5210
5211	if invalidParams.Len() > 0 {
5212		return invalidParams
5213	}
5214	return nil
5215}
5216
5217// SetCondition sets the Condition field's value.
5218func (s *CustomRule) SetCondition(v string) *CustomRule {
5219	s.Condition = &v
5220	return s
5221}
5222
5223// SetSource sets the Source field's value.
5224func (s *CustomRule) SetSource(v string) *CustomRule {
5225	s.Source = &v
5226	return s
5227}
5228
5229// SetStatus sets the Status field's value.
5230func (s *CustomRule) SetStatus(v string) *CustomRule {
5231	s.Status = &v
5232	return s
5233}
5234
5235// SetTarget sets the Target field's value.
5236func (s *CustomRule) SetTarget(v string) *CustomRule {
5237	s.Target = &v
5238	return s
5239}
5240
5241// Describes the request structure for the delete app request.
5242type DeleteAppInput struct {
5243	_ struct{} `type:"structure"`
5244
5245	// The unique ID for an Amplify app.
5246	//
5247	// AppId is a required field
5248	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5249}
5250
5251// String returns the string representation
5252func (s DeleteAppInput) String() string {
5253	return awsutil.Prettify(s)
5254}
5255
5256// GoString returns the string representation
5257func (s DeleteAppInput) GoString() string {
5258	return s.String()
5259}
5260
5261// Validate inspects the fields of the type to determine if they are valid.
5262func (s *DeleteAppInput) Validate() error {
5263	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
5264	if s.AppId == nil {
5265		invalidParams.Add(request.NewErrParamRequired("AppId"))
5266	}
5267	if s.AppId != nil && len(*s.AppId) < 1 {
5268		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5269	}
5270
5271	if invalidParams.Len() > 0 {
5272		return invalidParams
5273	}
5274	return nil
5275}
5276
5277// SetAppId sets the AppId field's value.
5278func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput {
5279	s.AppId = &v
5280	return s
5281}
5282
5283// The result structure for the delete app request.
5284type DeleteAppOutput struct {
5285	_ struct{} `type:"structure"`
5286
5287	// Represents the different branches of a repository for building, deploying,
5288	// and hosting an Amplify app.
5289	//
5290	// App is a required field
5291	App *App `locationName:"app" type:"structure" required:"true"`
5292}
5293
5294// String returns the string representation
5295func (s DeleteAppOutput) String() string {
5296	return awsutil.Prettify(s)
5297}
5298
5299// GoString returns the string representation
5300func (s DeleteAppOutput) GoString() string {
5301	return s.String()
5302}
5303
5304// SetApp sets the App field's value.
5305func (s *DeleteAppOutput) SetApp(v *App) *DeleteAppOutput {
5306	s.App = v
5307	return s
5308}
5309
5310// The request structure for the delete backend environment request.
5311type DeleteBackendEnvironmentInput struct {
5312	_ struct{} `type:"structure"`
5313
5314	// The unique ID of an Amplify app.
5315	//
5316	// AppId is a required field
5317	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5318
5319	// The name of a backend environment of an Amplify app.
5320	//
5321	// EnvironmentName is a required field
5322	EnvironmentName *string `location:"uri" locationName:"environmentName" min:"1" type:"string" required:"true"`
5323}
5324
5325// String returns the string representation
5326func (s DeleteBackendEnvironmentInput) String() string {
5327	return awsutil.Prettify(s)
5328}
5329
5330// GoString returns the string representation
5331func (s DeleteBackendEnvironmentInput) GoString() string {
5332	return s.String()
5333}
5334
5335// Validate inspects the fields of the type to determine if they are valid.
5336func (s *DeleteBackendEnvironmentInput) Validate() error {
5337	invalidParams := request.ErrInvalidParams{Context: "DeleteBackendEnvironmentInput"}
5338	if s.AppId == nil {
5339		invalidParams.Add(request.NewErrParamRequired("AppId"))
5340	}
5341	if s.AppId != nil && len(*s.AppId) < 1 {
5342		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5343	}
5344	if s.EnvironmentName == nil {
5345		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
5346	}
5347	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
5348		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
5349	}
5350
5351	if invalidParams.Len() > 0 {
5352		return invalidParams
5353	}
5354	return nil
5355}
5356
5357// SetAppId sets the AppId field's value.
5358func (s *DeleteBackendEnvironmentInput) SetAppId(v string) *DeleteBackendEnvironmentInput {
5359	s.AppId = &v
5360	return s
5361}
5362
5363// SetEnvironmentName sets the EnvironmentName field's value.
5364func (s *DeleteBackendEnvironmentInput) SetEnvironmentName(v string) *DeleteBackendEnvironmentInput {
5365	s.EnvironmentName = &v
5366	return s
5367}
5368
5369// The result structure of the delete backend environment result.
5370type DeleteBackendEnvironmentOutput struct {
5371	_ struct{} `type:"structure"`
5372
5373	// Describes the backend environment for an Amplify app.
5374	//
5375	// BackendEnvironment is a required field
5376	BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"`
5377}
5378
5379// String returns the string representation
5380func (s DeleteBackendEnvironmentOutput) String() string {
5381	return awsutil.Prettify(s)
5382}
5383
5384// GoString returns the string representation
5385func (s DeleteBackendEnvironmentOutput) GoString() string {
5386	return s.String()
5387}
5388
5389// SetBackendEnvironment sets the BackendEnvironment field's value.
5390func (s *DeleteBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *DeleteBackendEnvironmentOutput {
5391	s.BackendEnvironment = v
5392	return s
5393}
5394
5395// The request structure for the delete branch request.
5396type DeleteBranchInput struct {
5397	_ struct{} `type:"structure"`
5398
5399	// The unique ID for an Amplify app.
5400	//
5401	// AppId is a required field
5402	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5403
5404	// The name for the branch.
5405	//
5406	// BranchName is a required field
5407	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
5408}
5409
5410// String returns the string representation
5411func (s DeleteBranchInput) String() string {
5412	return awsutil.Prettify(s)
5413}
5414
5415// GoString returns the string representation
5416func (s DeleteBranchInput) GoString() string {
5417	return s.String()
5418}
5419
5420// Validate inspects the fields of the type to determine if they are valid.
5421func (s *DeleteBranchInput) Validate() error {
5422	invalidParams := request.ErrInvalidParams{Context: "DeleteBranchInput"}
5423	if s.AppId == nil {
5424		invalidParams.Add(request.NewErrParamRequired("AppId"))
5425	}
5426	if s.AppId != nil && len(*s.AppId) < 1 {
5427		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5428	}
5429	if s.BranchName == nil {
5430		invalidParams.Add(request.NewErrParamRequired("BranchName"))
5431	}
5432	if s.BranchName != nil && len(*s.BranchName) < 1 {
5433		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
5434	}
5435
5436	if invalidParams.Len() > 0 {
5437		return invalidParams
5438	}
5439	return nil
5440}
5441
5442// SetAppId sets the AppId field's value.
5443func (s *DeleteBranchInput) SetAppId(v string) *DeleteBranchInput {
5444	s.AppId = &v
5445	return s
5446}
5447
5448// SetBranchName sets the BranchName field's value.
5449func (s *DeleteBranchInput) SetBranchName(v string) *DeleteBranchInput {
5450	s.BranchName = &v
5451	return s
5452}
5453
5454// The result structure for the delete branch request.
5455type DeleteBranchOutput struct {
5456	_ struct{} `type:"structure"`
5457
5458	// The branch for an Amplify app, which maps to a third-party repository branch.
5459	//
5460	// Branch is a required field
5461	Branch *Branch `locationName:"branch" type:"structure" required:"true"`
5462}
5463
5464// String returns the string representation
5465func (s DeleteBranchOutput) String() string {
5466	return awsutil.Prettify(s)
5467}
5468
5469// GoString returns the string representation
5470func (s DeleteBranchOutput) GoString() string {
5471	return s.String()
5472}
5473
5474// SetBranch sets the Branch field's value.
5475func (s *DeleteBranchOutput) SetBranch(v *Branch) *DeleteBranchOutput {
5476	s.Branch = v
5477	return s
5478}
5479
5480// The request structure for the delete domain association request.
5481type DeleteDomainAssociationInput struct {
5482	_ struct{} `type:"structure"`
5483
5484	// The unique id for an Amplify app.
5485	//
5486	// AppId is a required field
5487	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5488
5489	// The name of the domain.
5490	//
5491	// DomainName is a required field
5492	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
5493}
5494
5495// String returns the string representation
5496func (s DeleteDomainAssociationInput) String() string {
5497	return awsutil.Prettify(s)
5498}
5499
5500// GoString returns the string representation
5501func (s DeleteDomainAssociationInput) GoString() string {
5502	return s.String()
5503}
5504
5505// Validate inspects the fields of the type to determine if they are valid.
5506func (s *DeleteDomainAssociationInput) Validate() error {
5507	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainAssociationInput"}
5508	if s.AppId == nil {
5509		invalidParams.Add(request.NewErrParamRequired("AppId"))
5510	}
5511	if s.AppId != nil && len(*s.AppId) < 1 {
5512		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5513	}
5514	if s.DomainName == nil {
5515		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5516	}
5517	if s.DomainName != nil && len(*s.DomainName) < 1 {
5518		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
5519	}
5520
5521	if invalidParams.Len() > 0 {
5522		return invalidParams
5523	}
5524	return nil
5525}
5526
5527// SetAppId sets the AppId field's value.
5528func (s *DeleteDomainAssociationInput) SetAppId(v string) *DeleteDomainAssociationInput {
5529	s.AppId = &v
5530	return s
5531}
5532
5533// SetDomainName sets the DomainName field's value.
5534func (s *DeleteDomainAssociationInput) SetDomainName(v string) *DeleteDomainAssociationInput {
5535	s.DomainName = &v
5536	return s
5537}
5538
5539type DeleteDomainAssociationOutput struct {
5540	_ struct{} `type:"structure"`
5541
5542	// Describes a domain association that associates a custom domain with an Amplify
5543	// app.
5544	//
5545	// DomainAssociation is a required field
5546	DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"`
5547}
5548
5549// String returns the string representation
5550func (s DeleteDomainAssociationOutput) String() string {
5551	return awsutil.Prettify(s)
5552}
5553
5554// GoString returns the string representation
5555func (s DeleteDomainAssociationOutput) GoString() string {
5556	return s.String()
5557}
5558
5559// SetDomainAssociation sets the DomainAssociation field's value.
5560func (s *DeleteDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) *DeleteDomainAssociationOutput {
5561	s.DomainAssociation = v
5562	return s
5563}
5564
5565// The request structure for the delete job request.
5566type DeleteJobInput struct {
5567	_ struct{} `type:"structure"`
5568
5569	// The unique ID for an Amplify app.
5570	//
5571	// AppId is a required field
5572	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5573
5574	// The name for the branch, for the job.
5575	//
5576	// BranchName is a required field
5577	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
5578
5579	// The unique ID for the job.
5580	//
5581	// JobId is a required field
5582	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
5583}
5584
5585// String returns the string representation
5586func (s DeleteJobInput) String() string {
5587	return awsutil.Prettify(s)
5588}
5589
5590// GoString returns the string representation
5591func (s DeleteJobInput) GoString() string {
5592	return s.String()
5593}
5594
5595// Validate inspects the fields of the type to determine if they are valid.
5596func (s *DeleteJobInput) Validate() error {
5597	invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"}
5598	if s.AppId == nil {
5599		invalidParams.Add(request.NewErrParamRequired("AppId"))
5600	}
5601	if s.AppId != nil && len(*s.AppId) < 1 {
5602		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5603	}
5604	if s.BranchName == nil {
5605		invalidParams.Add(request.NewErrParamRequired("BranchName"))
5606	}
5607	if s.BranchName != nil && len(*s.BranchName) < 1 {
5608		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
5609	}
5610	if s.JobId == nil {
5611		invalidParams.Add(request.NewErrParamRequired("JobId"))
5612	}
5613	if s.JobId != nil && len(*s.JobId) < 1 {
5614		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
5615	}
5616
5617	if invalidParams.Len() > 0 {
5618		return invalidParams
5619	}
5620	return nil
5621}
5622
5623// SetAppId sets the AppId field's value.
5624func (s *DeleteJobInput) SetAppId(v string) *DeleteJobInput {
5625	s.AppId = &v
5626	return s
5627}
5628
5629// SetBranchName sets the BranchName field's value.
5630func (s *DeleteJobInput) SetBranchName(v string) *DeleteJobInput {
5631	s.BranchName = &v
5632	return s
5633}
5634
5635// SetJobId sets the JobId field's value.
5636func (s *DeleteJobInput) SetJobId(v string) *DeleteJobInput {
5637	s.JobId = &v
5638	return s
5639}
5640
5641// The result structure for the delete job request.
5642type DeleteJobOutput struct {
5643	_ struct{} `type:"structure"`
5644
5645	// Describes the summary for an execution job for an Amplify app.
5646	//
5647	// JobSummary is a required field
5648	JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"`
5649}
5650
5651// String returns the string representation
5652func (s DeleteJobOutput) String() string {
5653	return awsutil.Prettify(s)
5654}
5655
5656// GoString returns the string representation
5657func (s DeleteJobOutput) GoString() string {
5658	return s.String()
5659}
5660
5661// SetJobSummary sets the JobSummary field's value.
5662func (s *DeleteJobOutput) SetJobSummary(v *JobSummary) *DeleteJobOutput {
5663	s.JobSummary = v
5664	return s
5665}
5666
5667// The request structure for the delete webhook request.
5668type DeleteWebhookInput struct {
5669	_ struct{} `type:"structure"`
5670
5671	// The unique ID for a webhook.
5672	//
5673	// WebhookId is a required field
5674	WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"`
5675}
5676
5677// String returns the string representation
5678func (s DeleteWebhookInput) String() string {
5679	return awsutil.Prettify(s)
5680}
5681
5682// GoString returns the string representation
5683func (s DeleteWebhookInput) GoString() string {
5684	return s.String()
5685}
5686
5687// Validate inspects the fields of the type to determine if they are valid.
5688func (s *DeleteWebhookInput) Validate() error {
5689	invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"}
5690	if s.WebhookId == nil {
5691		invalidParams.Add(request.NewErrParamRequired("WebhookId"))
5692	}
5693	if s.WebhookId != nil && len(*s.WebhookId) < 1 {
5694		invalidParams.Add(request.NewErrParamMinLen("WebhookId", 1))
5695	}
5696
5697	if invalidParams.Len() > 0 {
5698		return invalidParams
5699	}
5700	return nil
5701}
5702
5703// SetWebhookId sets the WebhookId field's value.
5704func (s *DeleteWebhookInput) SetWebhookId(v string) *DeleteWebhookInput {
5705	s.WebhookId = &v
5706	return s
5707}
5708
5709// The result structure for the delete webhook request.
5710type DeleteWebhookOutput struct {
5711	_ struct{} `type:"structure"`
5712
5713	// Describes a webhook that connects repository events to an Amplify app.
5714	//
5715	// Webhook is a required field
5716	Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"`
5717}
5718
5719// String returns the string representation
5720func (s DeleteWebhookOutput) String() string {
5721	return awsutil.Prettify(s)
5722}
5723
5724// GoString returns the string representation
5725func (s DeleteWebhookOutput) GoString() string {
5726	return s.String()
5727}
5728
5729// SetWebhook sets the Webhook field's value.
5730func (s *DeleteWebhookOutput) SetWebhook(v *Webhook) *DeleteWebhookOutput {
5731	s.Webhook = v
5732	return s
5733}
5734
5735// An operation failed because a dependent service threw an exception.
5736type DependentServiceFailureException struct {
5737	_            struct{}                  `type:"structure"`
5738	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5739
5740	Message_ *string `locationName:"message" type:"string"`
5741}
5742
5743// String returns the string representation
5744func (s DependentServiceFailureException) String() string {
5745	return awsutil.Prettify(s)
5746}
5747
5748// GoString returns the string representation
5749func (s DependentServiceFailureException) GoString() string {
5750	return s.String()
5751}
5752
5753func newErrorDependentServiceFailureException(v protocol.ResponseMetadata) error {
5754	return &DependentServiceFailureException{
5755		RespMetadata: v,
5756	}
5757}
5758
5759// Code returns the exception type name.
5760func (s *DependentServiceFailureException) Code() string {
5761	return "DependentServiceFailureException"
5762}
5763
5764// Message returns the exception's message.
5765func (s *DependentServiceFailureException) Message() string {
5766	if s.Message_ != nil {
5767		return *s.Message_
5768	}
5769	return ""
5770}
5771
5772// OrigErr always returns nil, satisfies awserr.Error interface.
5773func (s *DependentServiceFailureException) OrigErr() error {
5774	return nil
5775}
5776
5777func (s *DependentServiceFailureException) Error() string {
5778	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5779}
5780
5781// Status code returns the HTTP status code for the request's response error.
5782func (s *DependentServiceFailureException) StatusCode() int {
5783	return s.RespMetadata.StatusCode
5784}
5785
5786// RequestID returns the service's response RequestID for request.
5787func (s *DependentServiceFailureException) RequestID() string {
5788	return s.RespMetadata.RequestID
5789}
5790
5791// Describes a domain association that associates a custom domain with an Amplify
5792// app.
5793type DomainAssociation struct {
5794	_ struct{} `type:"structure"`
5795
5796	// Sets branch patterns for automatic subdomain creation.
5797	AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"`
5798
5799	// The required AWS Identity and Access Management (IAM) service role for the
5800	// Amazon Resource Name (ARN) for automatically creating subdomains.
5801	AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"`
5802
5803	// The DNS record for certificate verification.
5804	CertificateVerificationDNSRecord *string `locationName:"certificateVerificationDNSRecord" type:"string"`
5805
5806	// The Amazon Resource Name (ARN) for the domain association.
5807	//
5808	// DomainAssociationArn is a required field
5809	DomainAssociationArn *string `locationName:"domainAssociationArn" type:"string" required:"true"`
5810
5811	// The name of the domain.
5812	//
5813	// DomainName is a required field
5814	DomainName *string `locationName:"domainName" type:"string" required:"true"`
5815
5816	// The current status of the domain association.
5817	//
5818	// DomainStatus is a required field
5819	DomainStatus *string `locationName:"domainStatus" type:"string" required:"true" enum:"DomainStatus"`
5820
5821	// Enables the automated creation of subdomains for branches.
5822	//
5823	// EnableAutoSubDomain is a required field
5824	EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean" required:"true"`
5825
5826	// The reason for the current status of the domain association.
5827	//
5828	// StatusReason is a required field
5829	StatusReason *string `locationName:"statusReason" type:"string" required:"true"`
5830
5831	// The subdomains for the domain association.
5832	//
5833	// SubDomains is a required field
5834	SubDomains []*SubDomain `locationName:"subDomains" type:"list" required:"true"`
5835}
5836
5837// String returns the string representation
5838func (s DomainAssociation) String() string {
5839	return awsutil.Prettify(s)
5840}
5841
5842// GoString returns the string representation
5843func (s DomainAssociation) GoString() string {
5844	return s.String()
5845}
5846
5847// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value.
5848func (s *DomainAssociation) SetAutoSubDomainCreationPatterns(v []*string) *DomainAssociation {
5849	s.AutoSubDomainCreationPatterns = v
5850	return s
5851}
5852
5853// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value.
5854func (s *DomainAssociation) SetAutoSubDomainIAMRole(v string) *DomainAssociation {
5855	s.AutoSubDomainIAMRole = &v
5856	return s
5857}
5858
5859// SetCertificateVerificationDNSRecord sets the CertificateVerificationDNSRecord field's value.
5860func (s *DomainAssociation) SetCertificateVerificationDNSRecord(v string) *DomainAssociation {
5861	s.CertificateVerificationDNSRecord = &v
5862	return s
5863}
5864
5865// SetDomainAssociationArn sets the DomainAssociationArn field's value.
5866func (s *DomainAssociation) SetDomainAssociationArn(v string) *DomainAssociation {
5867	s.DomainAssociationArn = &v
5868	return s
5869}
5870
5871// SetDomainName sets the DomainName field's value.
5872func (s *DomainAssociation) SetDomainName(v string) *DomainAssociation {
5873	s.DomainName = &v
5874	return s
5875}
5876
5877// SetDomainStatus sets the DomainStatus field's value.
5878func (s *DomainAssociation) SetDomainStatus(v string) *DomainAssociation {
5879	s.DomainStatus = &v
5880	return s
5881}
5882
5883// SetEnableAutoSubDomain sets the EnableAutoSubDomain field's value.
5884func (s *DomainAssociation) SetEnableAutoSubDomain(v bool) *DomainAssociation {
5885	s.EnableAutoSubDomain = &v
5886	return s
5887}
5888
5889// SetStatusReason sets the StatusReason field's value.
5890func (s *DomainAssociation) SetStatusReason(v string) *DomainAssociation {
5891	s.StatusReason = &v
5892	return s
5893}
5894
5895// SetSubDomains sets the SubDomains field's value.
5896func (s *DomainAssociation) SetSubDomains(v []*SubDomain) *DomainAssociation {
5897	s.SubDomains = v
5898	return s
5899}
5900
5901// The request structure for the generate access logs request.
5902type GenerateAccessLogsInput struct {
5903	_ struct{} `type:"structure"`
5904
5905	// The unique ID for an Amplify app.
5906	//
5907	// AppId is a required field
5908	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5909
5910	// The name of the domain.
5911	//
5912	// DomainName is a required field
5913	DomainName *string `locationName:"domainName" type:"string" required:"true"`
5914
5915	// The time at which the logs should end. The time range specified is inclusive
5916	// of the end time.
5917	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
5918
5919	// The time at which the logs should start. The time range specified is inclusive
5920	// of the start time.
5921	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
5922}
5923
5924// String returns the string representation
5925func (s GenerateAccessLogsInput) String() string {
5926	return awsutil.Prettify(s)
5927}
5928
5929// GoString returns the string representation
5930func (s GenerateAccessLogsInput) GoString() string {
5931	return s.String()
5932}
5933
5934// Validate inspects the fields of the type to determine if they are valid.
5935func (s *GenerateAccessLogsInput) Validate() error {
5936	invalidParams := request.ErrInvalidParams{Context: "GenerateAccessLogsInput"}
5937	if s.AppId == nil {
5938		invalidParams.Add(request.NewErrParamRequired("AppId"))
5939	}
5940	if s.AppId != nil && len(*s.AppId) < 1 {
5941		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5942	}
5943	if s.DomainName == nil {
5944		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5945	}
5946
5947	if invalidParams.Len() > 0 {
5948		return invalidParams
5949	}
5950	return nil
5951}
5952
5953// SetAppId sets the AppId field's value.
5954func (s *GenerateAccessLogsInput) SetAppId(v string) *GenerateAccessLogsInput {
5955	s.AppId = &v
5956	return s
5957}
5958
5959// SetDomainName sets the DomainName field's value.
5960func (s *GenerateAccessLogsInput) SetDomainName(v string) *GenerateAccessLogsInput {
5961	s.DomainName = &v
5962	return s
5963}
5964
5965// SetEndTime sets the EndTime field's value.
5966func (s *GenerateAccessLogsInput) SetEndTime(v time.Time) *GenerateAccessLogsInput {
5967	s.EndTime = &v
5968	return s
5969}
5970
5971// SetStartTime sets the StartTime field's value.
5972func (s *GenerateAccessLogsInput) SetStartTime(v time.Time) *GenerateAccessLogsInput {
5973	s.StartTime = &v
5974	return s
5975}
5976
5977// The result structure for the generate access logs request.
5978type GenerateAccessLogsOutput struct {
5979	_ struct{} `type:"structure"`
5980
5981	// The pre-signed URL for the requested access logs.
5982	LogUrl *string `locationName:"logUrl" type:"string"`
5983}
5984
5985// String returns the string representation
5986func (s GenerateAccessLogsOutput) String() string {
5987	return awsutil.Prettify(s)
5988}
5989
5990// GoString returns the string representation
5991func (s GenerateAccessLogsOutput) GoString() string {
5992	return s.String()
5993}
5994
5995// SetLogUrl sets the LogUrl field's value.
5996func (s *GenerateAccessLogsOutput) SetLogUrl(v string) *GenerateAccessLogsOutput {
5997	s.LogUrl = &v
5998	return s
5999}
6000
6001// The request structure for the get app request.
6002type GetAppInput struct {
6003	_ struct{} `type:"structure"`
6004
6005	// The unique ID for an Amplify app.
6006	//
6007	// AppId is a required field
6008	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6009}
6010
6011// String returns the string representation
6012func (s GetAppInput) String() string {
6013	return awsutil.Prettify(s)
6014}
6015
6016// GoString returns the string representation
6017func (s GetAppInput) GoString() string {
6018	return s.String()
6019}
6020
6021// Validate inspects the fields of the type to determine if they are valid.
6022func (s *GetAppInput) Validate() error {
6023	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
6024	if s.AppId == nil {
6025		invalidParams.Add(request.NewErrParamRequired("AppId"))
6026	}
6027	if s.AppId != nil && len(*s.AppId) < 1 {
6028		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6029	}
6030
6031	if invalidParams.Len() > 0 {
6032		return invalidParams
6033	}
6034	return nil
6035}
6036
6037// SetAppId sets the AppId field's value.
6038func (s *GetAppInput) SetAppId(v string) *GetAppInput {
6039	s.AppId = &v
6040	return s
6041}
6042
6043type GetAppOutput struct {
6044	_ struct{} `type:"structure"`
6045
6046	// Represents the different branches of a repository for building, deploying,
6047	// and hosting an Amplify app.
6048	//
6049	// App is a required field
6050	App *App `locationName:"app" type:"structure" required:"true"`
6051}
6052
6053// String returns the string representation
6054func (s GetAppOutput) String() string {
6055	return awsutil.Prettify(s)
6056}
6057
6058// GoString returns the string representation
6059func (s GetAppOutput) GoString() string {
6060	return s.String()
6061}
6062
6063// SetApp sets the App field's value.
6064func (s *GetAppOutput) SetApp(v *App) *GetAppOutput {
6065	s.App = v
6066	return s
6067}
6068
6069// Returns the request structure for the get artifact request.
6070type GetArtifactUrlInput struct {
6071	_ struct{} `type:"structure"`
6072
6073	// The unique ID for an artifact.
6074	//
6075	// ArtifactId is a required field
6076	ArtifactId *string `location:"uri" locationName:"artifactId" type:"string" required:"true"`
6077}
6078
6079// String returns the string representation
6080func (s GetArtifactUrlInput) String() string {
6081	return awsutil.Prettify(s)
6082}
6083
6084// GoString returns the string representation
6085func (s GetArtifactUrlInput) GoString() string {
6086	return s.String()
6087}
6088
6089// Validate inspects the fields of the type to determine if they are valid.
6090func (s *GetArtifactUrlInput) Validate() error {
6091	invalidParams := request.ErrInvalidParams{Context: "GetArtifactUrlInput"}
6092	if s.ArtifactId == nil {
6093		invalidParams.Add(request.NewErrParamRequired("ArtifactId"))
6094	}
6095	if s.ArtifactId != nil && len(*s.ArtifactId) < 1 {
6096		invalidParams.Add(request.NewErrParamMinLen("ArtifactId", 1))
6097	}
6098
6099	if invalidParams.Len() > 0 {
6100		return invalidParams
6101	}
6102	return nil
6103}
6104
6105// SetArtifactId sets the ArtifactId field's value.
6106func (s *GetArtifactUrlInput) SetArtifactId(v string) *GetArtifactUrlInput {
6107	s.ArtifactId = &v
6108	return s
6109}
6110
6111// Returns the result structure for the get artifact request.
6112type GetArtifactUrlOutput struct {
6113	_ struct{} `type:"structure"`
6114
6115	// The unique ID for an artifact.
6116	//
6117	// ArtifactId is a required field
6118	ArtifactId *string `locationName:"artifactId" type:"string" required:"true"`
6119
6120	// The presigned URL for the artifact.
6121	//
6122	// ArtifactUrl is a required field
6123	ArtifactUrl *string `locationName:"artifactUrl" type:"string" required:"true"`
6124}
6125
6126// String returns the string representation
6127func (s GetArtifactUrlOutput) String() string {
6128	return awsutil.Prettify(s)
6129}
6130
6131// GoString returns the string representation
6132func (s GetArtifactUrlOutput) GoString() string {
6133	return s.String()
6134}
6135
6136// SetArtifactId sets the ArtifactId field's value.
6137func (s *GetArtifactUrlOutput) SetArtifactId(v string) *GetArtifactUrlOutput {
6138	s.ArtifactId = &v
6139	return s
6140}
6141
6142// SetArtifactUrl sets the ArtifactUrl field's value.
6143func (s *GetArtifactUrlOutput) SetArtifactUrl(v string) *GetArtifactUrlOutput {
6144	s.ArtifactUrl = &v
6145	return s
6146}
6147
6148// The request structure for the get backend environment request.
6149type GetBackendEnvironmentInput struct {
6150	_ struct{} `type:"structure"`
6151
6152	// The unique id for an Amplify app.
6153	//
6154	// AppId is a required field
6155	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6156
6157	// The name for the backend environment.
6158	//
6159	// EnvironmentName is a required field
6160	EnvironmentName *string `location:"uri" locationName:"environmentName" min:"1" type:"string" required:"true"`
6161}
6162
6163// String returns the string representation
6164func (s GetBackendEnvironmentInput) String() string {
6165	return awsutil.Prettify(s)
6166}
6167
6168// GoString returns the string representation
6169func (s GetBackendEnvironmentInput) GoString() string {
6170	return s.String()
6171}
6172
6173// Validate inspects the fields of the type to determine if they are valid.
6174func (s *GetBackendEnvironmentInput) Validate() error {
6175	invalidParams := request.ErrInvalidParams{Context: "GetBackendEnvironmentInput"}
6176	if s.AppId == nil {
6177		invalidParams.Add(request.NewErrParamRequired("AppId"))
6178	}
6179	if s.AppId != nil && len(*s.AppId) < 1 {
6180		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6181	}
6182	if s.EnvironmentName == nil {
6183		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
6184	}
6185	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
6186		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
6187	}
6188
6189	if invalidParams.Len() > 0 {
6190		return invalidParams
6191	}
6192	return nil
6193}
6194
6195// SetAppId sets the AppId field's value.
6196func (s *GetBackendEnvironmentInput) SetAppId(v string) *GetBackendEnvironmentInput {
6197	s.AppId = &v
6198	return s
6199}
6200
6201// SetEnvironmentName sets the EnvironmentName field's value.
6202func (s *GetBackendEnvironmentInput) SetEnvironmentName(v string) *GetBackendEnvironmentInput {
6203	s.EnvironmentName = &v
6204	return s
6205}
6206
6207// The result structure for the get backend environment result.
6208type GetBackendEnvironmentOutput struct {
6209	_ struct{} `type:"structure"`
6210
6211	// Describes the backend environment for an Amplify app.
6212	//
6213	// BackendEnvironment is a required field
6214	BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"`
6215}
6216
6217// String returns the string representation
6218func (s GetBackendEnvironmentOutput) String() string {
6219	return awsutil.Prettify(s)
6220}
6221
6222// GoString returns the string representation
6223func (s GetBackendEnvironmentOutput) GoString() string {
6224	return s.String()
6225}
6226
6227// SetBackendEnvironment sets the BackendEnvironment field's value.
6228func (s *GetBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *GetBackendEnvironmentOutput {
6229	s.BackendEnvironment = v
6230	return s
6231}
6232
6233// The request structure for the get branch request.
6234type GetBranchInput struct {
6235	_ struct{} `type:"structure"`
6236
6237	// The unique ID for an Amplify app.
6238	//
6239	// AppId is a required field
6240	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6241
6242	// The name for the branch.
6243	//
6244	// BranchName is a required field
6245	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
6246}
6247
6248// String returns the string representation
6249func (s GetBranchInput) String() string {
6250	return awsutil.Prettify(s)
6251}
6252
6253// GoString returns the string representation
6254func (s GetBranchInput) GoString() string {
6255	return s.String()
6256}
6257
6258// Validate inspects the fields of the type to determine if they are valid.
6259func (s *GetBranchInput) Validate() error {
6260	invalidParams := request.ErrInvalidParams{Context: "GetBranchInput"}
6261	if s.AppId == nil {
6262		invalidParams.Add(request.NewErrParamRequired("AppId"))
6263	}
6264	if s.AppId != nil && len(*s.AppId) < 1 {
6265		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6266	}
6267	if s.BranchName == nil {
6268		invalidParams.Add(request.NewErrParamRequired("BranchName"))
6269	}
6270	if s.BranchName != nil && len(*s.BranchName) < 1 {
6271		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
6272	}
6273
6274	if invalidParams.Len() > 0 {
6275		return invalidParams
6276	}
6277	return nil
6278}
6279
6280// SetAppId sets the AppId field's value.
6281func (s *GetBranchInput) SetAppId(v string) *GetBranchInput {
6282	s.AppId = &v
6283	return s
6284}
6285
6286// SetBranchName sets the BranchName field's value.
6287func (s *GetBranchInput) SetBranchName(v string) *GetBranchInput {
6288	s.BranchName = &v
6289	return s
6290}
6291
6292type GetBranchOutput struct {
6293	_ struct{} `type:"structure"`
6294
6295	// The branch for an Amplify app, which maps to a third-party repository branch.
6296	//
6297	// Branch is a required field
6298	Branch *Branch `locationName:"branch" type:"structure" required:"true"`
6299}
6300
6301// String returns the string representation
6302func (s GetBranchOutput) String() string {
6303	return awsutil.Prettify(s)
6304}
6305
6306// GoString returns the string representation
6307func (s GetBranchOutput) GoString() string {
6308	return s.String()
6309}
6310
6311// SetBranch sets the Branch field's value.
6312func (s *GetBranchOutput) SetBranch(v *Branch) *GetBranchOutput {
6313	s.Branch = v
6314	return s
6315}
6316
6317// The request structure for the get domain association request.
6318type GetDomainAssociationInput struct {
6319	_ struct{} `type:"structure"`
6320
6321	// The unique id for an Amplify app.
6322	//
6323	// AppId is a required field
6324	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6325
6326	// The name of the domain.
6327	//
6328	// DomainName is a required field
6329	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
6330}
6331
6332// String returns the string representation
6333func (s GetDomainAssociationInput) String() string {
6334	return awsutil.Prettify(s)
6335}
6336
6337// GoString returns the string representation
6338func (s GetDomainAssociationInput) GoString() string {
6339	return s.String()
6340}
6341
6342// Validate inspects the fields of the type to determine if they are valid.
6343func (s *GetDomainAssociationInput) Validate() error {
6344	invalidParams := request.ErrInvalidParams{Context: "GetDomainAssociationInput"}
6345	if s.AppId == nil {
6346		invalidParams.Add(request.NewErrParamRequired("AppId"))
6347	}
6348	if s.AppId != nil && len(*s.AppId) < 1 {
6349		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6350	}
6351	if s.DomainName == nil {
6352		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6353	}
6354	if s.DomainName != nil && len(*s.DomainName) < 1 {
6355		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
6356	}
6357
6358	if invalidParams.Len() > 0 {
6359		return invalidParams
6360	}
6361	return nil
6362}
6363
6364// SetAppId sets the AppId field's value.
6365func (s *GetDomainAssociationInput) SetAppId(v string) *GetDomainAssociationInput {
6366	s.AppId = &v
6367	return s
6368}
6369
6370// SetDomainName sets the DomainName field's value.
6371func (s *GetDomainAssociationInput) SetDomainName(v string) *GetDomainAssociationInput {
6372	s.DomainName = &v
6373	return s
6374}
6375
6376// The result structure for the get domain association request.
6377type GetDomainAssociationOutput struct {
6378	_ struct{} `type:"structure"`
6379
6380	// Describes the structure of a domain association, which associates a custom
6381	// domain with an Amplify app.
6382	//
6383	// DomainAssociation is a required field
6384	DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"`
6385}
6386
6387// String returns the string representation
6388func (s GetDomainAssociationOutput) String() string {
6389	return awsutil.Prettify(s)
6390}
6391
6392// GoString returns the string representation
6393func (s GetDomainAssociationOutput) GoString() string {
6394	return s.String()
6395}
6396
6397// SetDomainAssociation sets the DomainAssociation field's value.
6398func (s *GetDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) *GetDomainAssociationOutput {
6399	s.DomainAssociation = v
6400	return s
6401}
6402
6403// The request structure for the get job request.
6404type GetJobInput struct {
6405	_ struct{} `type:"structure"`
6406
6407	// The unique ID for an Amplify app.
6408	//
6409	// AppId is a required field
6410	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6411
6412	// The branch name for the job.
6413	//
6414	// BranchName is a required field
6415	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
6416
6417	// The unique ID for the job.
6418	//
6419	// JobId is a required field
6420	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
6421}
6422
6423// String returns the string representation
6424func (s GetJobInput) String() string {
6425	return awsutil.Prettify(s)
6426}
6427
6428// GoString returns the string representation
6429func (s GetJobInput) GoString() string {
6430	return s.String()
6431}
6432
6433// Validate inspects the fields of the type to determine if they are valid.
6434func (s *GetJobInput) Validate() error {
6435	invalidParams := request.ErrInvalidParams{Context: "GetJobInput"}
6436	if s.AppId == nil {
6437		invalidParams.Add(request.NewErrParamRequired("AppId"))
6438	}
6439	if s.AppId != nil && len(*s.AppId) < 1 {
6440		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6441	}
6442	if s.BranchName == nil {
6443		invalidParams.Add(request.NewErrParamRequired("BranchName"))
6444	}
6445	if s.BranchName != nil && len(*s.BranchName) < 1 {
6446		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
6447	}
6448	if s.JobId == nil {
6449		invalidParams.Add(request.NewErrParamRequired("JobId"))
6450	}
6451	if s.JobId != nil && len(*s.JobId) < 1 {
6452		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
6453	}
6454
6455	if invalidParams.Len() > 0 {
6456		return invalidParams
6457	}
6458	return nil
6459}
6460
6461// SetAppId sets the AppId field's value.
6462func (s *GetJobInput) SetAppId(v string) *GetJobInput {
6463	s.AppId = &v
6464	return s
6465}
6466
6467// SetBranchName sets the BranchName field's value.
6468func (s *GetJobInput) SetBranchName(v string) *GetJobInput {
6469	s.BranchName = &v
6470	return s
6471}
6472
6473// SetJobId sets the JobId field's value.
6474func (s *GetJobInput) SetJobId(v string) *GetJobInput {
6475	s.JobId = &v
6476	return s
6477}
6478
6479type GetJobOutput struct {
6480	_ struct{} `type:"structure"`
6481
6482	// Describes an execution job for an Amplify app.
6483	//
6484	// Job is a required field
6485	Job *Job `locationName:"job" type:"structure" required:"true"`
6486}
6487
6488// String returns the string representation
6489func (s GetJobOutput) String() string {
6490	return awsutil.Prettify(s)
6491}
6492
6493// GoString returns the string representation
6494func (s GetJobOutput) GoString() string {
6495	return s.String()
6496}
6497
6498// SetJob sets the Job field's value.
6499func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput {
6500	s.Job = v
6501	return s
6502}
6503
6504// The request structure for the get webhook request.
6505type GetWebhookInput struct {
6506	_ struct{} `type:"structure"`
6507
6508	// The unique ID for a webhook.
6509	//
6510	// WebhookId is a required field
6511	WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"`
6512}
6513
6514// String returns the string representation
6515func (s GetWebhookInput) String() string {
6516	return awsutil.Prettify(s)
6517}
6518
6519// GoString returns the string representation
6520func (s GetWebhookInput) GoString() string {
6521	return s.String()
6522}
6523
6524// Validate inspects the fields of the type to determine if they are valid.
6525func (s *GetWebhookInput) Validate() error {
6526	invalidParams := request.ErrInvalidParams{Context: "GetWebhookInput"}
6527	if s.WebhookId == nil {
6528		invalidParams.Add(request.NewErrParamRequired("WebhookId"))
6529	}
6530	if s.WebhookId != nil && len(*s.WebhookId) < 1 {
6531		invalidParams.Add(request.NewErrParamMinLen("WebhookId", 1))
6532	}
6533
6534	if invalidParams.Len() > 0 {
6535		return invalidParams
6536	}
6537	return nil
6538}
6539
6540// SetWebhookId sets the WebhookId field's value.
6541func (s *GetWebhookInput) SetWebhookId(v string) *GetWebhookInput {
6542	s.WebhookId = &v
6543	return s
6544}
6545
6546// The result structure for the get webhook request.
6547type GetWebhookOutput struct {
6548	_ struct{} `type:"structure"`
6549
6550	// Describes the structure of a webhook.
6551	//
6552	// Webhook is a required field
6553	Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"`
6554}
6555
6556// String returns the string representation
6557func (s GetWebhookOutput) String() string {
6558	return awsutil.Prettify(s)
6559}
6560
6561// GoString returns the string representation
6562func (s GetWebhookOutput) GoString() string {
6563	return s.String()
6564}
6565
6566// SetWebhook sets the Webhook field's value.
6567func (s *GetWebhookOutput) SetWebhook(v *Webhook) *GetWebhookOutput {
6568	s.Webhook = v
6569	return s
6570}
6571
6572// The service failed to perform an operation due to an internal issue.
6573type InternalFailureException struct {
6574	_            struct{}                  `type:"structure"`
6575	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6576
6577	Message_ *string `locationName:"message" type:"string"`
6578}
6579
6580// String returns the string representation
6581func (s InternalFailureException) String() string {
6582	return awsutil.Prettify(s)
6583}
6584
6585// GoString returns the string representation
6586func (s InternalFailureException) GoString() string {
6587	return s.String()
6588}
6589
6590func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
6591	return &InternalFailureException{
6592		RespMetadata: v,
6593	}
6594}
6595
6596// Code returns the exception type name.
6597func (s *InternalFailureException) Code() string {
6598	return "InternalFailureException"
6599}
6600
6601// Message returns the exception's message.
6602func (s *InternalFailureException) Message() string {
6603	if s.Message_ != nil {
6604		return *s.Message_
6605	}
6606	return ""
6607}
6608
6609// OrigErr always returns nil, satisfies awserr.Error interface.
6610func (s *InternalFailureException) OrigErr() error {
6611	return nil
6612}
6613
6614func (s *InternalFailureException) Error() string {
6615	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6616}
6617
6618// Status code returns the HTTP status code for the request's response error.
6619func (s *InternalFailureException) StatusCode() int {
6620	return s.RespMetadata.StatusCode
6621}
6622
6623// RequestID returns the service's response RequestID for request.
6624func (s *InternalFailureException) RequestID() string {
6625	return s.RespMetadata.RequestID
6626}
6627
6628// Describes an execution job for an Amplify app.
6629type Job struct {
6630	_ struct{} `type:"structure"`
6631
6632	// The execution steps for an execution job, for an Amplify app.
6633	//
6634	// Steps is a required field
6635	Steps []*Step `locationName:"steps" type:"list" required:"true"`
6636
6637	// Describes the summary for an execution job for an Amplify app.
6638	//
6639	// Summary is a required field
6640	Summary *JobSummary `locationName:"summary" type:"structure" required:"true"`
6641}
6642
6643// String returns the string representation
6644func (s Job) String() string {
6645	return awsutil.Prettify(s)
6646}
6647
6648// GoString returns the string representation
6649func (s Job) GoString() string {
6650	return s.String()
6651}
6652
6653// SetSteps sets the Steps field's value.
6654func (s *Job) SetSteps(v []*Step) *Job {
6655	s.Steps = v
6656	return s
6657}
6658
6659// SetSummary sets the Summary field's value.
6660func (s *Job) SetSummary(v *JobSummary) *Job {
6661	s.Summary = v
6662	return s
6663}
6664
6665// Describes the summary for an execution job for an Amplify app.
6666type JobSummary struct {
6667	_ struct{} `type:"structure"`
6668
6669	// The commit ID from a third-party repository provider for the job.
6670	//
6671	// CommitId is a required field
6672	CommitId *string `locationName:"commitId" type:"string" required:"true"`
6673
6674	// The commit message from a third-party repository provider for the job.
6675	//
6676	// CommitMessage is a required field
6677	CommitMessage *string `locationName:"commitMessage" type:"string" required:"true"`
6678
6679	// The commit date and time for the job.
6680	//
6681	// CommitTime is a required field
6682	CommitTime *time.Time `locationName:"commitTime" type:"timestamp" required:"true"`
6683
6684	// The end date and time for the job.
6685	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
6686
6687	// The Amazon Resource Name (ARN) for the job.
6688	//
6689	// JobArn is a required field
6690	JobArn *string `locationName:"jobArn" type:"string" required:"true"`
6691
6692	// The unique ID for the job.
6693	//
6694	// JobId is a required field
6695	JobId *string `locationName:"jobId" type:"string" required:"true"`
6696
6697	// The type for the job. If the value is RELEASE, the job was manually released
6698	// from its source by using the StartJob API. If the value is RETRY, the job
6699	// was manually retried using the StartJob API. If the value is WEB_HOOK, the
6700	// job was automatically triggered by webhooks.
6701	//
6702	// JobType is a required field
6703	JobType *string `locationName:"jobType" type:"string" required:"true" enum:"JobType"`
6704
6705	// The start date and time for the job.
6706	//
6707	// StartTime is a required field
6708	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
6709
6710	// The current status for the job.
6711	//
6712	// Status is a required field
6713	Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"`
6714}
6715
6716// String returns the string representation
6717func (s JobSummary) String() string {
6718	return awsutil.Prettify(s)
6719}
6720
6721// GoString returns the string representation
6722func (s JobSummary) GoString() string {
6723	return s.String()
6724}
6725
6726// SetCommitId sets the CommitId field's value.
6727func (s *JobSummary) SetCommitId(v string) *JobSummary {
6728	s.CommitId = &v
6729	return s
6730}
6731
6732// SetCommitMessage sets the CommitMessage field's value.
6733func (s *JobSummary) SetCommitMessage(v string) *JobSummary {
6734	s.CommitMessage = &v
6735	return s
6736}
6737
6738// SetCommitTime sets the CommitTime field's value.
6739func (s *JobSummary) SetCommitTime(v time.Time) *JobSummary {
6740	s.CommitTime = &v
6741	return s
6742}
6743
6744// SetEndTime sets the EndTime field's value.
6745func (s *JobSummary) SetEndTime(v time.Time) *JobSummary {
6746	s.EndTime = &v
6747	return s
6748}
6749
6750// SetJobArn sets the JobArn field's value.
6751func (s *JobSummary) SetJobArn(v string) *JobSummary {
6752	s.JobArn = &v
6753	return s
6754}
6755
6756// SetJobId sets the JobId field's value.
6757func (s *JobSummary) SetJobId(v string) *JobSummary {
6758	s.JobId = &v
6759	return s
6760}
6761
6762// SetJobType sets the JobType field's value.
6763func (s *JobSummary) SetJobType(v string) *JobSummary {
6764	s.JobType = &v
6765	return s
6766}
6767
6768// SetStartTime sets the StartTime field's value.
6769func (s *JobSummary) SetStartTime(v time.Time) *JobSummary {
6770	s.StartTime = &v
6771	return s
6772}
6773
6774// SetStatus sets the Status field's value.
6775func (s *JobSummary) SetStatus(v string) *JobSummary {
6776	s.Status = &v
6777	return s
6778}
6779
6780// A resource could not be created because service quotas were exceeded.
6781type LimitExceededException struct {
6782	_            struct{}                  `type:"structure"`
6783	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6784
6785	Message_ *string `locationName:"message" type:"string"`
6786}
6787
6788// String returns the string representation
6789func (s LimitExceededException) String() string {
6790	return awsutil.Prettify(s)
6791}
6792
6793// GoString returns the string representation
6794func (s LimitExceededException) GoString() string {
6795	return s.String()
6796}
6797
6798func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
6799	return &LimitExceededException{
6800		RespMetadata: v,
6801	}
6802}
6803
6804// Code returns the exception type name.
6805func (s *LimitExceededException) Code() string {
6806	return "LimitExceededException"
6807}
6808
6809// Message returns the exception's message.
6810func (s *LimitExceededException) Message() string {
6811	if s.Message_ != nil {
6812		return *s.Message_
6813	}
6814	return ""
6815}
6816
6817// OrigErr always returns nil, satisfies awserr.Error interface.
6818func (s *LimitExceededException) OrigErr() error {
6819	return nil
6820}
6821
6822func (s *LimitExceededException) Error() string {
6823	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6824}
6825
6826// Status code returns the HTTP status code for the request's response error.
6827func (s *LimitExceededException) StatusCode() int {
6828	return s.RespMetadata.StatusCode
6829}
6830
6831// RequestID returns the service's response RequestID for request.
6832func (s *LimitExceededException) RequestID() string {
6833	return s.RespMetadata.RequestID
6834}
6835
6836// The request structure for the list apps request.
6837type ListAppsInput struct {
6838	_ struct{} `type:"structure"`
6839
6840	// The maximum number of records to list in a single response.
6841	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6842
6843	// A pagination token. If non-null, the pagination token is returned in a result.
6844	// Pass its value in another request to retrieve more entries.
6845	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6846}
6847
6848// String returns the string representation
6849func (s ListAppsInput) String() string {
6850	return awsutil.Prettify(s)
6851}
6852
6853// GoString returns the string representation
6854func (s ListAppsInput) GoString() string {
6855	return s.String()
6856}
6857
6858// SetMaxResults sets the MaxResults field's value.
6859func (s *ListAppsInput) SetMaxResults(v int64) *ListAppsInput {
6860	s.MaxResults = &v
6861	return s
6862}
6863
6864// SetNextToken sets the NextToken field's value.
6865func (s *ListAppsInput) SetNextToken(v string) *ListAppsInput {
6866	s.NextToken = &v
6867	return s
6868}
6869
6870// The result structure for an Amplify app list request.
6871type ListAppsOutput struct {
6872	_ struct{} `type:"structure"`
6873
6874	// A list of Amplify apps.
6875	//
6876	// Apps is a required field
6877	Apps []*App `locationName:"apps" type:"list" required:"true"`
6878
6879	// A pagination token. Set to null to start listing apps from start. If non-null,
6880	// the pagination token is returned in a result. Pass its value in here to list
6881	// more projects.
6882	NextToken *string `locationName:"nextToken" type:"string"`
6883}
6884
6885// String returns the string representation
6886func (s ListAppsOutput) String() string {
6887	return awsutil.Prettify(s)
6888}
6889
6890// GoString returns the string representation
6891func (s ListAppsOutput) GoString() string {
6892	return s.String()
6893}
6894
6895// SetApps sets the Apps field's value.
6896func (s *ListAppsOutput) SetApps(v []*App) *ListAppsOutput {
6897	s.Apps = v
6898	return s
6899}
6900
6901// SetNextToken sets the NextToken field's value.
6902func (s *ListAppsOutput) SetNextToken(v string) *ListAppsOutput {
6903	s.NextToken = &v
6904	return s
6905}
6906
6907// Describes the request structure for the list artifacts request.
6908type ListArtifactsInput struct {
6909	_ struct{} `type:"structure"`
6910
6911	// The unique ID for an Amplify app.
6912	//
6913	// AppId is a required field
6914	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6915
6916	// The name of a branch that is part of an Amplify app.
6917	//
6918	// BranchName is a required field
6919	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
6920
6921	// The unique ID for a job.
6922	//
6923	// JobId is a required field
6924	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
6925
6926	// The maximum number of records to list in a single response.
6927	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
6928
6929	// A pagination token. Set to null to start listing artifacts from start. If
6930	// a non-null pagination token is returned in a result, pass its value in here
6931	// to list more artifacts.
6932	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6933}
6934
6935// String returns the string representation
6936func (s ListArtifactsInput) String() string {
6937	return awsutil.Prettify(s)
6938}
6939
6940// GoString returns the string representation
6941func (s ListArtifactsInput) GoString() string {
6942	return s.String()
6943}
6944
6945// Validate inspects the fields of the type to determine if they are valid.
6946func (s *ListArtifactsInput) Validate() error {
6947	invalidParams := request.ErrInvalidParams{Context: "ListArtifactsInput"}
6948	if s.AppId == nil {
6949		invalidParams.Add(request.NewErrParamRequired("AppId"))
6950	}
6951	if s.AppId != nil && len(*s.AppId) < 1 {
6952		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6953	}
6954	if s.BranchName == nil {
6955		invalidParams.Add(request.NewErrParamRequired("BranchName"))
6956	}
6957	if s.BranchName != nil && len(*s.BranchName) < 1 {
6958		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
6959	}
6960	if s.JobId == nil {
6961		invalidParams.Add(request.NewErrParamRequired("JobId"))
6962	}
6963	if s.JobId != nil && len(*s.JobId) < 1 {
6964		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
6965	}
6966
6967	if invalidParams.Len() > 0 {
6968		return invalidParams
6969	}
6970	return nil
6971}
6972
6973// SetAppId sets the AppId field's value.
6974func (s *ListArtifactsInput) SetAppId(v string) *ListArtifactsInput {
6975	s.AppId = &v
6976	return s
6977}
6978
6979// SetBranchName sets the BranchName field's value.
6980func (s *ListArtifactsInput) SetBranchName(v string) *ListArtifactsInput {
6981	s.BranchName = &v
6982	return s
6983}
6984
6985// SetJobId sets the JobId field's value.
6986func (s *ListArtifactsInput) SetJobId(v string) *ListArtifactsInput {
6987	s.JobId = &v
6988	return s
6989}
6990
6991// SetMaxResults sets the MaxResults field's value.
6992func (s *ListArtifactsInput) SetMaxResults(v int64) *ListArtifactsInput {
6993	s.MaxResults = &v
6994	return s
6995}
6996
6997// SetNextToken sets the NextToken field's value.
6998func (s *ListArtifactsInput) SetNextToken(v string) *ListArtifactsInput {
6999	s.NextToken = &v
7000	return s
7001}
7002
7003// The result structure for the list artifacts request.
7004type ListArtifactsOutput struct {
7005	_ struct{} `type:"structure"`
7006
7007	// A list of artifacts.
7008	//
7009	// Artifacts is a required field
7010	Artifacts []*Artifact `locationName:"artifacts" type:"list" required:"true"`
7011
7012	// A pagination token. If a non-null pagination token is returned in a result,
7013	// pass its value in another request to retrieve more entries.
7014	NextToken *string `locationName:"nextToken" type:"string"`
7015}
7016
7017// String returns the string representation
7018func (s ListArtifactsOutput) String() string {
7019	return awsutil.Prettify(s)
7020}
7021
7022// GoString returns the string representation
7023func (s ListArtifactsOutput) GoString() string {
7024	return s.String()
7025}
7026
7027// SetArtifacts sets the Artifacts field's value.
7028func (s *ListArtifactsOutput) SetArtifacts(v []*Artifact) *ListArtifactsOutput {
7029	s.Artifacts = v
7030	return s
7031}
7032
7033// SetNextToken sets the NextToken field's value.
7034func (s *ListArtifactsOutput) SetNextToken(v string) *ListArtifactsOutput {
7035	s.NextToken = &v
7036	return s
7037}
7038
7039// The request structure for the list backend environments request.
7040type ListBackendEnvironmentsInput struct {
7041	_ struct{} `type:"structure"`
7042
7043	// The unique ID for an Amplify app.
7044	//
7045	// AppId is a required field
7046	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7047
7048	// The name of the backend environment
7049	EnvironmentName *string `location:"querystring" locationName:"environmentName" min:"1" type:"string"`
7050
7051	// The maximum number of records to list in a single response.
7052	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7053
7054	// A pagination token. Set to null to start listing backend environments from
7055	// the start. If a non-null pagination token is returned in a result, pass its
7056	// value in here to list more backend environments.
7057	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7058}
7059
7060// String returns the string representation
7061func (s ListBackendEnvironmentsInput) String() string {
7062	return awsutil.Prettify(s)
7063}
7064
7065// GoString returns the string representation
7066func (s ListBackendEnvironmentsInput) GoString() string {
7067	return s.String()
7068}
7069
7070// Validate inspects the fields of the type to determine if they are valid.
7071func (s *ListBackendEnvironmentsInput) Validate() error {
7072	invalidParams := request.ErrInvalidParams{Context: "ListBackendEnvironmentsInput"}
7073	if s.AppId == nil {
7074		invalidParams.Add(request.NewErrParamRequired("AppId"))
7075	}
7076	if s.AppId != nil && len(*s.AppId) < 1 {
7077		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7078	}
7079	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
7080		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
7081	}
7082
7083	if invalidParams.Len() > 0 {
7084		return invalidParams
7085	}
7086	return nil
7087}
7088
7089// SetAppId sets the AppId field's value.
7090func (s *ListBackendEnvironmentsInput) SetAppId(v string) *ListBackendEnvironmentsInput {
7091	s.AppId = &v
7092	return s
7093}
7094
7095// SetEnvironmentName sets the EnvironmentName field's value.
7096func (s *ListBackendEnvironmentsInput) SetEnvironmentName(v string) *ListBackendEnvironmentsInput {
7097	s.EnvironmentName = &v
7098	return s
7099}
7100
7101// SetMaxResults sets the MaxResults field's value.
7102func (s *ListBackendEnvironmentsInput) SetMaxResults(v int64) *ListBackendEnvironmentsInput {
7103	s.MaxResults = &v
7104	return s
7105}
7106
7107// SetNextToken sets the NextToken field's value.
7108func (s *ListBackendEnvironmentsInput) SetNextToken(v string) *ListBackendEnvironmentsInput {
7109	s.NextToken = &v
7110	return s
7111}
7112
7113// The result structure for the list backend environments result.
7114type ListBackendEnvironmentsOutput struct {
7115	_ struct{} `type:"structure"`
7116
7117	// The list of backend environments for an Amplify app.
7118	//
7119	// BackendEnvironments is a required field
7120	BackendEnvironments []*BackendEnvironment `locationName:"backendEnvironments" type:"list" required:"true"`
7121
7122	// A pagination token. If a non-null pagination token is returned in a result,
7123	// pass its value in another request to retrieve more entries.
7124	NextToken *string `locationName:"nextToken" type:"string"`
7125}
7126
7127// String returns the string representation
7128func (s ListBackendEnvironmentsOutput) String() string {
7129	return awsutil.Prettify(s)
7130}
7131
7132// GoString returns the string representation
7133func (s ListBackendEnvironmentsOutput) GoString() string {
7134	return s.String()
7135}
7136
7137// SetBackendEnvironments sets the BackendEnvironments field's value.
7138func (s *ListBackendEnvironmentsOutput) SetBackendEnvironments(v []*BackendEnvironment) *ListBackendEnvironmentsOutput {
7139	s.BackendEnvironments = v
7140	return s
7141}
7142
7143// SetNextToken sets the NextToken field's value.
7144func (s *ListBackendEnvironmentsOutput) SetNextToken(v string) *ListBackendEnvironmentsOutput {
7145	s.NextToken = &v
7146	return s
7147}
7148
7149// The request structure for the list branches request.
7150type ListBranchesInput struct {
7151	_ struct{} `type:"structure"`
7152
7153	// The unique ID for an Amplify app.
7154	//
7155	// AppId is a required field
7156	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7157
7158	// The maximum number of records to list in a single response.
7159	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7160
7161	// A pagination token. Set to null to start listing branches from the start.
7162	// If a non-null pagination token is returned in a result, pass its value in
7163	// here to list more branches.
7164	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7165}
7166
7167// String returns the string representation
7168func (s ListBranchesInput) String() string {
7169	return awsutil.Prettify(s)
7170}
7171
7172// GoString returns the string representation
7173func (s ListBranchesInput) GoString() string {
7174	return s.String()
7175}
7176
7177// Validate inspects the fields of the type to determine if they are valid.
7178func (s *ListBranchesInput) Validate() error {
7179	invalidParams := request.ErrInvalidParams{Context: "ListBranchesInput"}
7180	if s.AppId == nil {
7181		invalidParams.Add(request.NewErrParamRequired("AppId"))
7182	}
7183	if s.AppId != nil && len(*s.AppId) < 1 {
7184		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7185	}
7186
7187	if invalidParams.Len() > 0 {
7188		return invalidParams
7189	}
7190	return nil
7191}
7192
7193// SetAppId sets the AppId field's value.
7194func (s *ListBranchesInput) SetAppId(v string) *ListBranchesInput {
7195	s.AppId = &v
7196	return s
7197}
7198
7199// SetMaxResults sets the MaxResults field's value.
7200func (s *ListBranchesInput) SetMaxResults(v int64) *ListBranchesInput {
7201	s.MaxResults = &v
7202	return s
7203}
7204
7205// SetNextToken sets the NextToken field's value.
7206func (s *ListBranchesInput) SetNextToken(v string) *ListBranchesInput {
7207	s.NextToken = &v
7208	return s
7209}
7210
7211// The result structure for the list branches request.
7212type ListBranchesOutput struct {
7213	_ struct{} `type:"structure"`
7214
7215	// A list of branches for an Amplify app.
7216	//
7217	// Branches is a required field
7218	Branches []*Branch `locationName:"branches" type:"list" required:"true"`
7219
7220	// A pagination token. If a non-null pagination token is returned in a result,
7221	// pass its value in another request to retrieve more entries.
7222	NextToken *string `locationName:"nextToken" type:"string"`
7223}
7224
7225// String returns the string representation
7226func (s ListBranchesOutput) String() string {
7227	return awsutil.Prettify(s)
7228}
7229
7230// GoString returns the string representation
7231func (s ListBranchesOutput) GoString() string {
7232	return s.String()
7233}
7234
7235// SetBranches sets the Branches field's value.
7236func (s *ListBranchesOutput) SetBranches(v []*Branch) *ListBranchesOutput {
7237	s.Branches = v
7238	return s
7239}
7240
7241// SetNextToken sets the NextToken field's value.
7242func (s *ListBranchesOutput) SetNextToken(v string) *ListBranchesOutput {
7243	s.NextToken = &v
7244	return s
7245}
7246
7247// The request structure for the list domain associations request.
7248type ListDomainAssociationsInput struct {
7249	_ struct{} `type:"structure"`
7250
7251	// The unique ID for an Amplify app.
7252	//
7253	// AppId is a required field
7254	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7255
7256	// The maximum number of records to list in a single response.
7257	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7258
7259	// A pagination token. Set to null to start listing apps from the start. If
7260	// non-null, a pagination token is returned in a result. Pass its value in here
7261	// to list more projects.
7262	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7263}
7264
7265// String returns the string representation
7266func (s ListDomainAssociationsInput) String() string {
7267	return awsutil.Prettify(s)
7268}
7269
7270// GoString returns the string representation
7271func (s ListDomainAssociationsInput) GoString() string {
7272	return s.String()
7273}
7274
7275// Validate inspects the fields of the type to determine if they are valid.
7276func (s *ListDomainAssociationsInput) Validate() error {
7277	invalidParams := request.ErrInvalidParams{Context: "ListDomainAssociationsInput"}
7278	if s.AppId == nil {
7279		invalidParams.Add(request.NewErrParamRequired("AppId"))
7280	}
7281	if s.AppId != nil && len(*s.AppId) < 1 {
7282		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7283	}
7284
7285	if invalidParams.Len() > 0 {
7286		return invalidParams
7287	}
7288	return nil
7289}
7290
7291// SetAppId sets the AppId field's value.
7292func (s *ListDomainAssociationsInput) SetAppId(v string) *ListDomainAssociationsInput {
7293	s.AppId = &v
7294	return s
7295}
7296
7297// SetMaxResults sets the MaxResults field's value.
7298func (s *ListDomainAssociationsInput) SetMaxResults(v int64) *ListDomainAssociationsInput {
7299	s.MaxResults = &v
7300	return s
7301}
7302
7303// SetNextToken sets the NextToken field's value.
7304func (s *ListDomainAssociationsInput) SetNextToken(v string) *ListDomainAssociationsInput {
7305	s.NextToken = &v
7306	return s
7307}
7308
7309// The result structure for the list domain association request.
7310type ListDomainAssociationsOutput struct {
7311	_ struct{} `type:"structure"`
7312
7313	// A list of domain associations.
7314	//
7315	// DomainAssociations is a required field
7316	DomainAssociations []*DomainAssociation `locationName:"domainAssociations" type:"list" required:"true"`
7317
7318	// A pagination token. If non-null, a pagination token is returned in a result.
7319	// Pass its value in another request to retrieve more entries.
7320	NextToken *string `locationName:"nextToken" type:"string"`
7321}
7322
7323// String returns the string representation
7324func (s ListDomainAssociationsOutput) String() string {
7325	return awsutil.Prettify(s)
7326}
7327
7328// GoString returns the string representation
7329func (s ListDomainAssociationsOutput) GoString() string {
7330	return s.String()
7331}
7332
7333// SetDomainAssociations sets the DomainAssociations field's value.
7334func (s *ListDomainAssociationsOutput) SetDomainAssociations(v []*DomainAssociation) *ListDomainAssociationsOutput {
7335	s.DomainAssociations = v
7336	return s
7337}
7338
7339// SetNextToken sets the NextToken field's value.
7340func (s *ListDomainAssociationsOutput) SetNextToken(v string) *ListDomainAssociationsOutput {
7341	s.NextToken = &v
7342	return s
7343}
7344
7345// The request structure for the list jobs request.
7346type ListJobsInput struct {
7347	_ struct{} `type:"structure"`
7348
7349	// The unique ID for an Amplify app.
7350	//
7351	// AppId is a required field
7352	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7353
7354	// The name for a branch.
7355	//
7356	// BranchName is a required field
7357	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
7358
7359	// The maximum number of records to list in a single response.
7360	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7361
7362	// A pagination token. Set to null to start listing steps from the start. If
7363	// a non-null pagination token is returned in a result, pass its value in here
7364	// to list more steps.
7365	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7366}
7367
7368// String returns the string representation
7369func (s ListJobsInput) String() string {
7370	return awsutil.Prettify(s)
7371}
7372
7373// GoString returns the string representation
7374func (s ListJobsInput) GoString() string {
7375	return s.String()
7376}
7377
7378// Validate inspects the fields of the type to determine if they are valid.
7379func (s *ListJobsInput) Validate() error {
7380	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
7381	if s.AppId == nil {
7382		invalidParams.Add(request.NewErrParamRequired("AppId"))
7383	}
7384	if s.AppId != nil && len(*s.AppId) < 1 {
7385		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7386	}
7387	if s.BranchName == nil {
7388		invalidParams.Add(request.NewErrParamRequired("BranchName"))
7389	}
7390	if s.BranchName != nil && len(*s.BranchName) < 1 {
7391		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
7392	}
7393
7394	if invalidParams.Len() > 0 {
7395		return invalidParams
7396	}
7397	return nil
7398}
7399
7400// SetAppId sets the AppId field's value.
7401func (s *ListJobsInput) SetAppId(v string) *ListJobsInput {
7402	s.AppId = &v
7403	return s
7404}
7405
7406// SetBranchName sets the BranchName field's value.
7407func (s *ListJobsInput) SetBranchName(v string) *ListJobsInput {
7408	s.BranchName = &v
7409	return s
7410}
7411
7412// SetMaxResults sets the MaxResults field's value.
7413func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput {
7414	s.MaxResults = &v
7415	return s
7416}
7417
7418// SetNextToken sets the NextToken field's value.
7419func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
7420	s.NextToken = &v
7421	return s
7422}
7423
7424// The maximum number of records to list in a single response.
7425type ListJobsOutput struct {
7426	_ struct{} `type:"structure"`
7427
7428	// The result structure for the list job result request.
7429	//
7430	// JobSummaries is a required field
7431	JobSummaries []*JobSummary `locationName:"jobSummaries" type:"list" required:"true"`
7432
7433	// A pagination token. If non-null the pagination token is returned in a result.
7434	// Pass its value in another request to retrieve more entries.
7435	NextToken *string `locationName:"nextToken" type:"string"`
7436}
7437
7438// String returns the string representation
7439func (s ListJobsOutput) String() string {
7440	return awsutil.Prettify(s)
7441}
7442
7443// GoString returns the string representation
7444func (s ListJobsOutput) GoString() string {
7445	return s.String()
7446}
7447
7448// SetJobSummaries sets the JobSummaries field's value.
7449func (s *ListJobsOutput) SetJobSummaries(v []*JobSummary) *ListJobsOutput {
7450	s.JobSummaries = v
7451	return s
7452}
7453
7454// SetNextToken sets the NextToken field's value.
7455func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
7456	s.NextToken = &v
7457	return s
7458}
7459
7460// The request structure to use to list tags for a resource.
7461type ListTagsForResourceInput struct {
7462	_ struct{} `type:"structure"`
7463
7464	// The Amazon Resource Name (ARN) to use to list tags.
7465	//
7466	// ResourceArn is a required field
7467	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7468}
7469
7470// String returns the string representation
7471func (s ListTagsForResourceInput) String() string {
7472	return awsutil.Prettify(s)
7473}
7474
7475// GoString returns the string representation
7476func (s ListTagsForResourceInput) GoString() string {
7477	return s.String()
7478}
7479
7480// Validate inspects the fields of the type to determine if they are valid.
7481func (s *ListTagsForResourceInput) Validate() error {
7482	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
7483	if s.ResourceArn == nil {
7484		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7485	}
7486	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7487		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7488	}
7489
7490	if invalidParams.Len() > 0 {
7491		return invalidParams
7492	}
7493	return nil
7494}
7495
7496// SetResourceArn sets the ResourceArn field's value.
7497func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
7498	s.ResourceArn = &v
7499	return s
7500}
7501
7502// The response for the list tags for resource request.
7503type ListTagsForResourceOutput struct {
7504	_ struct{} `type:"structure"`
7505
7506	// A list of tags for the specified The Amazon Resource Name (ARN).
7507	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
7508}
7509
7510// String returns the string representation
7511func (s ListTagsForResourceOutput) String() string {
7512	return awsutil.Prettify(s)
7513}
7514
7515// GoString returns the string representation
7516func (s ListTagsForResourceOutput) GoString() string {
7517	return s.String()
7518}
7519
7520// SetTags sets the Tags field's value.
7521func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
7522	s.Tags = v
7523	return s
7524}
7525
7526// The request structure for the list webhooks request.
7527type ListWebhooksInput struct {
7528	_ struct{} `type:"structure"`
7529
7530	// The unique ID for an Amplify app.
7531	//
7532	// AppId is a required field
7533	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7534
7535	// The maximum number of records to list in a single response.
7536	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7537
7538	// A pagination token. Set to null to start listing webhooks from the start.
7539	// If non-null,the pagination token is returned in a result. Pass its value
7540	// in here to list more webhooks.
7541	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7542}
7543
7544// String returns the string representation
7545func (s ListWebhooksInput) String() string {
7546	return awsutil.Prettify(s)
7547}
7548
7549// GoString returns the string representation
7550func (s ListWebhooksInput) GoString() string {
7551	return s.String()
7552}
7553
7554// Validate inspects the fields of the type to determine if they are valid.
7555func (s *ListWebhooksInput) Validate() error {
7556	invalidParams := request.ErrInvalidParams{Context: "ListWebhooksInput"}
7557	if s.AppId == nil {
7558		invalidParams.Add(request.NewErrParamRequired("AppId"))
7559	}
7560	if s.AppId != nil && len(*s.AppId) < 1 {
7561		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7562	}
7563
7564	if invalidParams.Len() > 0 {
7565		return invalidParams
7566	}
7567	return nil
7568}
7569
7570// SetAppId sets the AppId field's value.
7571func (s *ListWebhooksInput) SetAppId(v string) *ListWebhooksInput {
7572	s.AppId = &v
7573	return s
7574}
7575
7576// SetMaxResults sets the MaxResults field's value.
7577func (s *ListWebhooksInput) SetMaxResults(v int64) *ListWebhooksInput {
7578	s.MaxResults = &v
7579	return s
7580}
7581
7582// SetNextToken sets the NextToken field's value.
7583func (s *ListWebhooksInput) SetNextToken(v string) *ListWebhooksInput {
7584	s.NextToken = &v
7585	return s
7586}
7587
7588// The result structure for the list webhooks request.
7589type ListWebhooksOutput struct {
7590	_ struct{} `type:"structure"`
7591
7592	// A pagination token. If non-null, the pagination token is returned in a result.
7593	// Pass its value in another request to retrieve more entries.
7594	NextToken *string `locationName:"nextToken" type:"string"`
7595
7596	// A list of webhooks.
7597	//
7598	// Webhooks is a required field
7599	Webhooks []*Webhook `locationName:"webhooks" type:"list" required:"true"`
7600}
7601
7602// String returns the string representation
7603func (s ListWebhooksOutput) String() string {
7604	return awsutil.Prettify(s)
7605}
7606
7607// GoString returns the string representation
7608func (s ListWebhooksOutput) GoString() string {
7609	return s.String()
7610}
7611
7612// SetNextToken sets the NextToken field's value.
7613func (s *ListWebhooksOutput) SetNextToken(v string) *ListWebhooksOutput {
7614	s.NextToken = &v
7615	return s
7616}
7617
7618// SetWebhooks sets the Webhooks field's value.
7619func (s *ListWebhooksOutput) SetWebhooks(v []*Webhook) *ListWebhooksOutput {
7620	s.Webhooks = v
7621	return s
7622}
7623
7624// An entity was not found during an operation.
7625type NotFoundException struct {
7626	_            struct{}                  `type:"structure"`
7627	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7628
7629	Message_ *string `locationName:"message" type:"string"`
7630}
7631
7632// String returns the string representation
7633func (s NotFoundException) String() string {
7634	return awsutil.Prettify(s)
7635}
7636
7637// GoString returns the string representation
7638func (s NotFoundException) GoString() string {
7639	return s.String()
7640}
7641
7642func newErrorNotFoundException(v protocol.ResponseMetadata) error {
7643	return &NotFoundException{
7644		RespMetadata: v,
7645	}
7646}
7647
7648// Code returns the exception type name.
7649func (s *NotFoundException) Code() string {
7650	return "NotFoundException"
7651}
7652
7653// Message returns the exception's message.
7654func (s *NotFoundException) Message() string {
7655	if s.Message_ != nil {
7656		return *s.Message_
7657	}
7658	return ""
7659}
7660
7661// OrigErr always returns nil, satisfies awserr.Error interface.
7662func (s *NotFoundException) OrigErr() error {
7663	return nil
7664}
7665
7666func (s *NotFoundException) Error() string {
7667	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7668}
7669
7670// Status code returns the HTTP status code for the request's response error.
7671func (s *NotFoundException) StatusCode() int {
7672	return s.RespMetadata.StatusCode
7673}
7674
7675// RequestID returns the service's response RequestID for request.
7676func (s *NotFoundException) RequestID() string {
7677	return s.RespMetadata.RequestID
7678}
7679
7680// Describes the information about a production branch for an Amplify app.
7681type ProductionBranch struct {
7682	_ struct{} `type:"structure"`
7683
7684	// The branch name for the production branch.
7685	BranchName *string `locationName:"branchName" min:"1" type:"string"`
7686
7687	// The last deploy time of the production branch.
7688	LastDeployTime *time.Time `locationName:"lastDeployTime" type:"timestamp"`
7689
7690	// The status of the production branch.
7691	Status *string `locationName:"status" min:"3" type:"string"`
7692
7693	// The thumbnail URL for the production branch.
7694	ThumbnailUrl *string `locationName:"thumbnailUrl" min:"1" type:"string"`
7695}
7696
7697// String returns the string representation
7698func (s ProductionBranch) String() string {
7699	return awsutil.Prettify(s)
7700}
7701
7702// GoString returns the string representation
7703func (s ProductionBranch) GoString() string {
7704	return s.String()
7705}
7706
7707// SetBranchName sets the BranchName field's value.
7708func (s *ProductionBranch) SetBranchName(v string) *ProductionBranch {
7709	s.BranchName = &v
7710	return s
7711}
7712
7713// SetLastDeployTime sets the LastDeployTime field's value.
7714func (s *ProductionBranch) SetLastDeployTime(v time.Time) *ProductionBranch {
7715	s.LastDeployTime = &v
7716	return s
7717}
7718
7719// SetStatus sets the Status field's value.
7720func (s *ProductionBranch) SetStatus(v string) *ProductionBranch {
7721	s.Status = &v
7722	return s
7723}
7724
7725// SetThumbnailUrl sets the ThumbnailUrl field's value.
7726func (s *ProductionBranch) SetThumbnailUrl(v string) *ProductionBranch {
7727	s.ThumbnailUrl = &v
7728	return s
7729}
7730
7731// An operation failed due to a non-existent resource.
7732type ResourceNotFoundException struct {
7733	_            struct{}                  `type:"structure"`
7734	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7735
7736	Code_ *string `locationName:"code" type:"string"`
7737
7738	Message_ *string `locationName:"message" type:"string"`
7739}
7740
7741// String returns the string representation
7742func (s ResourceNotFoundException) String() string {
7743	return awsutil.Prettify(s)
7744}
7745
7746// GoString returns the string representation
7747func (s ResourceNotFoundException) GoString() string {
7748	return s.String()
7749}
7750
7751func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
7752	return &ResourceNotFoundException{
7753		RespMetadata: v,
7754	}
7755}
7756
7757// Code returns the exception type name.
7758func (s *ResourceNotFoundException) Code() string {
7759	return "ResourceNotFoundException"
7760}
7761
7762// Message returns the exception's message.
7763func (s *ResourceNotFoundException) Message() string {
7764	if s.Message_ != nil {
7765		return *s.Message_
7766	}
7767	return ""
7768}
7769
7770// OrigErr always returns nil, satisfies awserr.Error interface.
7771func (s *ResourceNotFoundException) OrigErr() error {
7772	return nil
7773}
7774
7775func (s *ResourceNotFoundException) Error() string {
7776	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7777}
7778
7779// Status code returns the HTTP status code for the request's response error.
7780func (s *ResourceNotFoundException) StatusCode() int {
7781	return s.RespMetadata.StatusCode
7782}
7783
7784// RequestID returns the service's response RequestID for request.
7785func (s *ResourceNotFoundException) RequestID() string {
7786	return s.RespMetadata.RequestID
7787}
7788
7789// The request structure for the start a deployment request.
7790type StartDeploymentInput struct {
7791	_ struct{} `type:"structure"`
7792
7793	// The unique ID for an Amplify app.
7794	//
7795	// AppId is a required field
7796	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7797
7798	// The name for the branch, for the job.
7799	//
7800	// BranchName is a required field
7801	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
7802
7803	// The job ID for this deployment, generated by the create deployment request.
7804	JobId *string `locationName:"jobId" type:"string"`
7805
7806	// The source URL for this deployment, used when calling start deployment without
7807	// create deployment. The source URL can be any HTTP GET URL that is publicly
7808	// accessible and downloads a single .zip file.
7809	SourceUrl *string `locationName:"sourceUrl" type:"string"`
7810}
7811
7812// String returns the string representation
7813func (s StartDeploymentInput) String() string {
7814	return awsutil.Prettify(s)
7815}
7816
7817// GoString returns the string representation
7818func (s StartDeploymentInput) GoString() string {
7819	return s.String()
7820}
7821
7822// Validate inspects the fields of the type to determine if they are valid.
7823func (s *StartDeploymentInput) Validate() error {
7824	invalidParams := request.ErrInvalidParams{Context: "StartDeploymentInput"}
7825	if s.AppId == nil {
7826		invalidParams.Add(request.NewErrParamRequired("AppId"))
7827	}
7828	if s.AppId != nil && len(*s.AppId) < 1 {
7829		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7830	}
7831	if s.BranchName == nil {
7832		invalidParams.Add(request.NewErrParamRequired("BranchName"))
7833	}
7834	if s.BranchName != nil && len(*s.BranchName) < 1 {
7835		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
7836	}
7837
7838	if invalidParams.Len() > 0 {
7839		return invalidParams
7840	}
7841	return nil
7842}
7843
7844// SetAppId sets the AppId field's value.
7845func (s *StartDeploymentInput) SetAppId(v string) *StartDeploymentInput {
7846	s.AppId = &v
7847	return s
7848}
7849
7850// SetBranchName sets the BranchName field's value.
7851func (s *StartDeploymentInput) SetBranchName(v string) *StartDeploymentInput {
7852	s.BranchName = &v
7853	return s
7854}
7855
7856// SetJobId sets the JobId field's value.
7857func (s *StartDeploymentInput) SetJobId(v string) *StartDeploymentInput {
7858	s.JobId = &v
7859	return s
7860}
7861
7862// SetSourceUrl sets the SourceUrl field's value.
7863func (s *StartDeploymentInput) SetSourceUrl(v string) *StartDeploymentInput {
7864	s.SourceUrl = &v
7865	return s
7866}
7867
7868// The result structure for the start a deployment request.
7869type StartDeploymentOutput struct {
7870	_ struct{} `type:"structure"`
7871
7872	// The summary for the job.
7873	//
7874	// JobSummary is a required field
7875	JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"`
7876}
7877
7878// String returns the string representation
7879func (s StartDeploymentOutput) String() string {
7880	return awsutil.Prettify(s)
7881}
7882
7883// GoString returns the string representation
7884func (s StartDeploymentOutput) GoString() string {
7885	return s.String()
7886}
7887
7888// SetJobSummary sets the JobSummary field's value.
7889func (s *StartDeploymentOutput) SetJobSummary(v *JobSummary) *StartDeploymentOutput {
7890	s.JobSummary = v
7891	return s
7892}
7893
7894// The request structure for the start job request.
7895type StartJobInput struct {
7896	_ struct{} `type:"structure"`
7897
7898	// The unique ID for an Amplify app.
7899	//
7900	// AppId is a required field
7901	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7902
7903	// The branch name for the job.
7904	//
7905	// BranchName is a required field
7906	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
7907
7908	// The commit ID from a third-party repository provider for the job.
7909	CommitId *string `locationName:"commitId" type:"string"`
7910
7911	// The commit message from a third-party repository provider for the job.
7912	CommitMessage *string `locationName:"commitMessage" type:"string"`
7913
7914	// The commit date and time for the job.
7915	CommitTime *time.Time `locationName:"commitTime" type:"timestamp"`
7916
7917	// The unique ID for an existing job. This is required if the value of jobType
7918	// is RETRY.
7919	JobId *string `locationName:"jobId" type:"string"`
7920
7921	// A descriptive reason for starting this job.
7922	JobReason *string `locationName:"jobReason" type:"string"`
7923
7924	// Describes the type for the job. The job type RELEASE starts a new job with
7925	// the latest change from the specified branch. This value is available only
7926	// for apps that are connected to a repository. The job type RETRY retries an
7927	// existing job. If the job type value is RETRY, the jobId is also required.
7928	//
7929	// JobType is a required field
7930	JobType *string `locationName:"jobType" type:"string" required:"true" enum:"JobType"`
7931}
7932
7933// String returns the string representation
7934func (s StartJobInput) String() string {
7935	return awsutil.Prettify(s)
7936}
7937
7938// GoString returns the string representation
7939func (s StartJobInput) GoString() string {
7940	return s.String()
7941}
7942
7943// Validate inspects the fields of the type to determine if they are valid.
7944func (s *StartJobInput) Validate() error {
7945	invalidParams := request.ErrInvalidParams{Context: "StartJobInput"}
7946	if s.AppId == nil {
7947		invalidParams.Add(request.NewErrParamRequired("AppId"))
7948	}
7949	if s.AppId != nil && len(*s.AppId) < 1 {
7950		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7951	}
7952	if s.BranchName == nil {
7953		invalidParams.Add(request.NewErrParamRequired("BranchName"))
7954	}
7955	if s.BranchName != nil && len(*s.BranchName) < 1 {
7956		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
7957	}
7958	if s.JobType == nil {
7959		invalidParams.Add(request.NewErrParamRequired("JobType"))
7960	}
7961
7962	if invalidParams.Len() > 0 {
7963		return invalidParams
7964	}
7965	return nil
7966}
7967
7968// SetAppId sets the AppId field's value.
7969func (s *StartJobInput) SetAppId(v string) *StartJobInput {
7970	s.AppId = &v
7971	return s
7972}
7973
7974// SetBranchName sets the BranchName field's value.
7975func (s *StartJobInput) SetBranchName(v string) *StartJobInput {
7976	s.BranchName = &v
7977	return s
7978}
7979
7980// SetCommitId sets the CommitId field's value.
7981func (s *StartJobInput) SetCommitId(v string) *StartJobInput {
7982	s.CommitId = &v
7983	return s
7984}
7985
7986// SetCommitMessage sets the CommitMessage field's value.
7987func (s *StartJobInput) SetCommitMessage(v string) *StartJobInput {
7988	s.CommitMessage = &v
7989	return s
7990}
7991
7992// SetCommitTime sets the CommitTime field's value.
7993func (s *StartJobInput) SetCommitTime(v time.Time) *StartJobInput {
7994	s.CommitTime = &v
7995	return s
7996}
7997
7998// SetJobId sets the JobId field's value.
7999func (s *StartJobInput) SetJobId(v string) *StartJobInput {
8000	s.JobId = &v
8001	return s
8002}
8003
8004// SetJobReason sets the JobReason field's value.
8005func (s *StartJobInput) SetJobReason(v string) *StartJobInput {
8006	s.JobReason = &v
8007	return s
8008}
8009
8010// SetJobType sets the JobType field's value.
8011func (s *StartJobInput) SetJobType(v string) *StartJobInput {
8012	s.JobType = &v
8013	return s
8014}
8015
8016// The result structure for the run job request.
8017type StartJobOutput struct {
8018	_ struct{} `type:"structure"`
8019
8020	// The summary for the job.
8021	//
8022	// JobSummary is a required field
8023	JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"`
8024}
8025
8026// String returns the string representation
8027func (s StartJobOutput) String() string {
8028	return awsutil.Prettify(s)
8029}
8030
8031// GoString returns the string representation
8032func (s StartJobOutput) GoString() string {
8033	return s.String()
8034}
8035
8036// SetJobSummary sets the JobSummary field's value.
8037func (s *StartJobOutput) SetJobSummary(v *JobSummary) *StartJobOutput {
8038	s.JobSummary = v
8039	return s
8040}
8041
8042// Describes an execution step, for an execution job, for an Amplify app.
8043type Step struct {
8044	_ struct{} `type:"structure"`
8045
8046	// The URL to the artifact for the execution step.
8047	ArtifactsUrl *string `locationName:"artifactsUrl" type:"string"`
8048
8049	// The context for the current step. Includes a build image if the step is build.
8050	Context *string `locationName:"context" type:"string"`
8051
8052	// The end date and time of the execution step.
8053	//
8054	// EndTime is a required field
8055	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
8056
8057	// The URL to the logs for the execution step.
8058	LogUrl *string `locationName:"logUrl" type:"string"`
8059
8060	// The list of screenshot URLs for the execution step, if relevant.
8061	Screenshots map[string]*string `locationName:"screenshots" type:"map"`
8062
8063	// The start date and time of the execution step.
8064	//
8065	// StartTime is a required field
8066	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
8067
8068	// The status of the execution step.
8069	//
8070	// Status is a required field
8071	Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"`
8072
8073	// The reason for the current step status.
8074	StatusReason *string `locationName:"statusReason" type:"string"`
8075
8076	// The name of the execution step.
8077	//
8078	// StepName is a required field
8079	StepName *string `locationName:"stepName" type:"string" required:"true"`
8080
8081	// The URL to the test artifact for the execution step.
8082	TestArtifactsUrl *string `locationName:"testArtifactsUrl" type:"string"`
8083
8084	// The URL to the test configuration for the execution step.
8085	TestConfigUrl *string `locationName:"testConfigUrl" type:"string"`
8086}
8087
8088// String returns the string representation
8089func (s Step) String() string {
8090	return awsutil.Prettify(s)
8091}
8092
8093// GoString returns the string representation
8094func (s Step) GoString() string {
8095	return s.String()
8096}
8097
8098// SetArtifactsUrl sets the ArtifactsUrl field's value.
8099func (s *Step) SetArtifactsUrl(v string) *Step {
8100	s.ArtifactsUrl = &v
8101	return s
8102}
8103
8104// SetContext sets the Context field's value.
8105func (s *Step) SetContext(v string) *Step {
8106	s.Context = &v
8107	return s
8108}
8109
8110// SetEndTime sets the EndTime field's value.
8111func (s *Step) SetEndTime(v time.Time) *Step {
8112	s.EndTime = &v
8113	return s
8114}
8115
8116// SetLogUrl sets the LogUrl field's value.
8117func (s *Step) SetLogUrl(v string) *Step {
8118	s.LogUrl = &v
8119	return s
8120}
8121
8122// SetScreenshots sets the Screenshots field's value.
8123func (s *Step) SetScreenshots(v map[string]*string) *Step {
8124	s.Screenshots = v
8125	return s
8126}
8127
8128// SetStartTime sets the StartTime field's value.
8129func (s *Step) SetStartTime(v time.Time) *Step {
8130	s.StartTime = &v
8131	return s
8132}
8133
8134// SetStatus sets the Status field's value.
8135func (s *Step) SetStatus(v string) *Step {
8136	s.Status = &v
8137	return s
8138}
8139
8140// SetStatusReason sets the StatusReason field's value.
8141func (s *Step) SetStatusReason(v string) *Step {
8142	s.StatusReason = &v
8143	return s
8144}
8145
8146// SetStepName sets the StepName field's value.
8147func (s *Step) SetStepName(v string) *Step {
8148	s.StepName = &v
8149	return s
8150}
8151
8152// SetTestArtifactsUrl sets the TestArtifactsUrl field's value.
8153func (s *Step) SetTestArtifactsUrl(v string) *Step {
8154	s.TestArtifactsUrl = &v
8155	return s
8156}
8157
8158// SetTestConfigUrl sets the TestConfigUrl field's value.
8159func (s *Step) SetTestConfigUrl(v string) *Step {
8160	s.TestConfigUrl = &v
8161	return s
8162}
8163
8164// The request structure for the stop job request.
8165type StopJobInput struct {
8166	_ struct{} `type:"structure"`
8167
8168	// The unique ID for an Amplify app.
8169	//
8170	// AppId is a required field
8171	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
8172
8173	// The name for the branch, for the job.
8174	//
8175	// BranchName is a required field
8176	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
8177
8178	// The unique id for the job.
8179	//
8180	// JobId is a required field
8181	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
8182}
8183
8184// String returns the string representation
8185func (s StopJobInput) String() string {
8186	return awsutil.Prettify(s)
8187}
8188
8189// GoString returns the string representation
8190func (s StopJobInput) GoString() string {
8191	return s.String()
8192}
8193
8194// Validate inspects the fields of the type to determine if they are valid.
8195func (s *StopJobInput) Validate() error {
8196	invalidParams := request.ErrInvalidParams{Context: "StopJobInput"}
8197	if s.AppId == nil {
8198		invalidParams.Add(request.NewErrParamRequired("AppId"))
8199	}
8200	if s.AppId != nil && len(*s.AppId) < 1 {
8201		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
8202	}
8203	if s.BranchName == nil {
8204		invalidParams.Add(request.NewErrParamRequired("BranchName"))
8205	}
8206	if s.BranchName != nil && len(*s.BranchName) < 1 {
8207		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
8208	}
8209	if s.JobId == nil {
8210		invalidParams.Add(request.NewErrParamRequired("JobId"))
8211	}
8212	if s.JobId != nil && len(*s.JobId) < 1 {
8213		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
8214	}
8215
8216	if invalidParams.Len() > 0 {
8217		return invalidParams
8218	}
8219	return nil
8220}
8221
8222// SetAppId sets the AppId field's value.
8223func (s *StopJobInput) SetAppId(v string) *StopJobInput {
8224	s.AppId = &v
8225	return s
8226}
8227
8228// SetBranchName sets the BranchName field's value.
8229func (s *StopJobInput) SetBranchName(v string) *StopJobInput {
8230	s.BranchName = &v
8231	return s
8232}
8233
8234// SetJobId sets the JobId field's value.
8235func (s *StopJobInput) SetJobId(v string) *StopJobInput {
8236	s.JobId = &v
8237	return s
8238}
8239
8240// The result structure for the stop job request.
8241type StopJobOutput struct {
8242	_ struct{} `type:"structure"`
8243
8244	// The summary for the job.
8245	//
8246	// JobSummary is a required field
8247	JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"`
8248}
8249
8250// String returns the string representation
8251func (s StopJobOutput) String() string {
8252	return awsutil.Prettify(s)
8253}
8254
8255// GoString returns the string representation
8256func (s StopJobOutput) GoString() string {
8257	return s.String()
8258}
8259
8260// SetJobSummary sets the JobSummary field's value.
8261func (s *StopJobOutput) SetJobSummary(v *JobSummary) *StopJobOutput {
8262	s.JobSummary = v
8263	return s
8264}
8265
8266// The subdomain for the domain association.
8267type SubDomain struct {
8268	_ struct{} `type:"structure"`
8269
8270	// The DNS record for the subdomain.
8271	//
8272	// DnsRecord is a required field
8273	DnsRecord *string `locationName:"dnsRecord" type:"string" required:"true"`
8274
8275	// Describes the settings for the subdomain.
8276	//
8277	// SubDomainSetting is a required field
8278	SubDomainSetting *SubDomainSetting `locationName:"subDomainSetting" type:"structure" required:"true"`
8279
8280	// The verified status of the subdomain
8281	//
8282	// Verified is a required field
8283	Verified *bool `locationName:"verified" type:"boolean" required:"true"`
8284}
8285
8286// String returns the string representation
8287func (s SubDomain) String() string {
8288	return awsutil.Prettify(s)
8289}
8290
8291// GoString returns the string representation
8292func (s SubDomain) GoString() string {
8293	return s.String()
8294}
8295
8296// SetDnsRecord sets the DnsRecord field's value.
8297func (s *SubDomain) SetDnsRecord(v string) *SubDomain {
8298	s.DnsRecord = &v
8299	return s
8300}
8301
8302// SetSubDomainSetting sets the SubDomainSetting field's value.
8303func (s *SubDomain) SetSubDomainSetting(v *SubDomainSetting) *SubDomain {
8304	s.SubDomainSetting = v
8305	return s
8306}
8307
8308// SetVerified sets the Verified field's value.
8309func (s *SubDomain) SetVerified(v bool) *SubDomain {
8310	s.Verified = &v
8311	return s
8312}
8313
8314// Describes the settings for the subdomain.
8315type SubDomainSetting struct {
8316	_ struct{} `type:"structure"`
8317
8318	// The branch name setting for the subdomain.
8319	//
8320	// BranchName is a required field
8321	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
8322
8323	// The prefix setting for the subdomain.
8324	//
8325	// Prefix is a required field
8326	Prefix *string `locationName:"prefix" type:"string" required:"true"`
8327}
8328
8329// String returns the string representation
8330func (s SubDomainSetting) String() string {
8331	return awsutil.Prettify(s)
8332}
8333
8334// GoString returns the string representation
8335func (s SubDomainSetting) GoString() string {
8336	return s.String()
8337}
8338
8339// Validate inspects the fields of the type to determine if they are valid.
8340func (s *SubDomainSetting) Validate() error {
8341	invalidParams := request.ErrInvalidParams{Context: "SubDomainSetting"}
8342	if s.BranchName == nil {
8343		invalidParams.Add(request.NewErrParamRequired("BranchName"))
8344	}
8345	if s.BranchName != nil && len(*s.BranchName) < 1 {
8346		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
8347	}
8348	if s.Prefix == nil {
8349		invalidParams.Add(request.NewErrParamRequired("Prefix"))
8350	}
8351
8352	if invalidParams.Len() > 0 {
8353		return invalidParams
8354	}
8355	return nil
8356}
8357
8358// SetBranchName sets the BranchName field's value.
8359func (s *SubDomainSetting) SetBranchName(v string) *SubDomainSetting {
8360	s.BranchName = &v
8361	return s
8362}
8363
8364// SetPrefix sets the Prefix field's value.
8365func (s *SubDomainSetting) SetPrefix(v string) *SubDomainSetting {
8366	s.Prefix = &v
8367	return s
8368}
8369
8370// The request structure to tag a resource with a tag key and value.
8371type TagResourceInput struct {
8372	_ struct{} `type:"structure"`
8373
8374	// The Amazon Resource Name (ARN) to use to tag a resource.
8375	//
8376	// ResourceArn is a required field
8377	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
8378
8379	// The tags used to tag the resource.
8380	//
8381	// Tags is a required field
8382	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
8383}
8384
8385// String returns the string representation
8386func (s TagResourceInput) String() string {
8387	return awsutil.Prettify(s)
8388}
8389
8390// GoString returns the string representation
8391func (s TagResourceInput) GoString() string {
8392	return s.String()
8393}
8394
8395// Validate inspects the fields of the type to determine if they are valid.
8396func (s *TagResourceInput) Validate() error {
8397	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
8398	if s.ResourceArn == nil {
8399		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8400	}
8401	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8402		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8403	}
8404	if s.Tags == nil {
8405		invalidParams.Add(request.NewErrParamRequired("Tags"))
8406	}
8407	if s.Tags != nil && len(s.Tags) < 1 {
8408		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
8409	}
8410
8411	if invalidParams.Len() > 0 {
8412		return invalidParams
8413	}
8414	return nil
8415}
8416
8417// SetResourceArn sets the ResourceArn field's value.
8418func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
8419	s.ResourceArn = &v
8420	return s
8421}
8422
8423// SetTags sets the Tags field's value.
8424func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
8425	s.Tags = v
8426	return s
8427}
8428
8429// The response for the tag resource request.
8430type TagResourceOutput struct {
8431	_ struct{} `type:"structure"`
8432}
8433
8434// String returns the string representation
8435func (s TagResourceOutput) String() string {
8436	return awsutil.Prettify(s)
8437}
8438
8439// GoString returns the string representation
8440func (s TagResourceOutput) GoString() string {
8441	return s.String()
8442}
8443
8444// An operation failed due to a lack of access.
8445type UnauthorizedException struct {
8446	_            struct{}                  `type:"structure"`
8447	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8448
8449	Message_ *string `locationName:"message" type:"string"`
8450}
8451
8452// String returns the string representation
8453func (s UnauthorizedException) String() string {
8454	return awsutil.Prettify(s)
8455}
8456
8457// GoString returns the string representation
8458func (s UnauthorizedException) GoString() string {
8459	return s.String()
8460}
8461
8462func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
8463	return &UnauthorizedException{
8464		RespMetadata: v,
8465	}
8466}
8467
8468// Code returns the exception type name.
8469func (s *UnauthorizedException) Code() string {
8470	return "UnauthorizedException"
8471}
8472
8473// Message returns the exception's message.
8474func (s *UnauthorizedException) Message() string {
8475	if s.Message_ != nil {
8476		return *s.Message_
8477	}
8478	return ""
8479}
8480
8481// OrigErr always returns nil, satisfies awserr.Error interface.
8482func (s *UnauthorizedException) OrigErr() error {
8483	return nil
8484}
8485
8486func (s *UnauthorizedException) Error() string {
8487	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8488}
8489
8490// Status code returns the HTTP status code for the request's response error.
8491func (s *UnauthorizedException) StatusCode() int {
8492	return s.RespMetadata.StatusCode
8493}
8494
8495// RequestID returns the service's response RequestID for request.
8496func (s *UnauthorizedException) RequestID() string {
8497	return s.RespMetadata.RequestID
8498}
8499
8500// The request structure for the untag resource request.
8501type UntagResourceInput struct {
8502	_ struct{} `type:"structure"`
8503
8504	// The Amazon Resource Name (ARN) to use to untag a resource.
8505	//
8506	// ResourceArn is a required field
8507	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
8508
8509	// The tag keys to use to untag a resource.
8510	//
8511	// TagKeys is a required field
8512	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
8513}
8514
8515// String returns the string representation
8516func (s UntagResourceInput) String() string {
8517	return awsutil.Prettify(s)
8518}
8519
8520// GoString returns the string representation
8521func (s UntagResourceInput) GoString() string {
8522	return s.String()
8523}
8524
8525// Validate inspects the fields of the type to determine if they are valid.
8526func (s *UntagResourceInput) Validate() error {
8527	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
8528	if s.ResourceArn == nil {
8529		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8530	}
8531	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8532		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8533	}
8534	if s.TagKeys == nil {
8535		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
8536	}
8537	if s.TagKeys != nil && len(s.TagKeys) < 1 {
8538		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
8539	}
8540
8541	if invalidParams.Len() > 0 {
8542		return invalidParams
8543	}
8544	return nil
8545}
8546
8547// SetResourceArn sets the ResourceArn field's value.
8548func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
8549	s.ResourceArn = &v
8550	return s
8551}
8552
8553// SetTagKeys sets the TagKeys field's value.
8554func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
8555	s.TagKeys = v
8556	return s
8557}
8558
8559// The response for the untag resource request.
8560type UntagResourceOutput struct {
8561	_ struct{} `type:"structure"`
8562}
8563
8564// String returns the string representation
8565func (s UntagResourceOutput) String() string {
8566	return awsutil.Prettify(s)
8567}
8568
8569// GoString returns the string representation
8570func (s UntagResourceOutput) GoString() string {
8571	return s.String()
8572}
8573
8574// The request structure for the update app request.
8575type UpdateAppInput struct {
8576	_ struct{} `type:"structure"`
8577
8578	// The personal access token for a third-party source control system for an
8579	// Amplify app. The token is used to create webhook and a read-only deploy key.
8580	// The token is not stored.
8581	AccessToken *string `locationName:"accessToken" min:"1" type:"string" sensitive:"true"`
8582
8583	// The unique ID for an Amplify app.
8584	//
8585	// AppId is a required field
8586	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
8587
8588	// The automated branch creation configuration for an Amplify app.
8589	AutoBranchCreationConfig *AutoBranchCreationConfig `locationName:"autoBranchCreationConfig" type:"structure"`
8590
8591	// Describes the automated branch creation glob patterns for an Amplify app.
8592	AutoBranchCreationPatterns []*string `locationName:"autoBranchCreationPatterns" type:"list"`
8593
8594	// The basic authorization credentials for an Amplify app.
8595	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
8596
8597	// The build specification (build spec) for an Amplify app.
8598	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
8599
8600	// The custom HTTP headers for an Amplify app.
8601	CustomHeaders *string `locationName:"customHeaders" min:"1" type:"string"`
8602
8603	// The custom redirect and rewrite rules for an Amplify app.
8604	CustomRules []*CustomRule `locationName:"customRules" type:"list"`
8605
8606	// The description for an Amplify app.
8607	Description *string `locationName:"description" type:"string"`
8608
8609	// Enables automated branch creation for an Amplify app.
8610	EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"`
8611
8612	// Enables basic authorization for an Amplify app.
8613	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
8614
8615	// Enables branch auto-building for an Amplify app.
8616	EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean"`
8617
8618	// Automatically disconnects a branch in the Amplify Console when you delete
8619	// a branch from your Git repository.
8620	EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"`
8621
8622	// The environment variables for an Amplify app.
8623	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
8624
8625	// The AWS Identity and Access Management (IAM) service role for an Amplify
8626	// app.
8627	IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"`
8628
8629	// The name for an Amplify app.
8630	Name *string `locationName:"name" min:"1" type:"string"`
8631
8632	// The OAuth token for a third-party source control system for an Amplify app.
8633	// The token is used to create a webhook and a read-only deploy key. The OAuth
8634	// token is not stored.
8635	OauthToken *string `locationName:"oauthToken" type:"string" sensitive:"true"`
8636
8637	// The platform for an Amplify app.
8638	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
8639
8640	// The name of the repository for an Amplify app
8641	Repository *string `locationName:"repository" type:"string"`
8642}
8643
8644// String returns the string representation
8645func (s UpdateAppInput) String() string {
8646	return awsutil.Prettify(s)
8647}
8648
8649// GoString returns the string representation
8650func (s UpdateAppInput) GoString() string {
8651	return s.String()
8652}
8653
8654// Validate inspects the fields of the type to determine if they are valid.
8655func (s *UpdateAppInput) Validate() error {
8656	invalidParams := request.ErrInvalidParams{Context: "UpdateAppInput"}
8657	if s.AccessToken != nil && len(*s.AccessToken) < 1 {
8658		invalidParams.Add(request.NewErrParamMinLen("AccessToken", 1))
8659	}
8660	if s.AppId == nil {
8661		invalidParams.Add(request.NewErrParamRequired("AppId"))
8662	}
8663	if s.AppId != nil && len(*s.AppId) < 1 {
8664		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
8665	}
8666	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
8667		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
8668	}
8669	if s.CustomHeaders != nil && len(*s.CustomHeaders) < 1 {
8670		invalidParams.Add(request.NewErrParamMinLen("CustomHeaders", 1))
8671	}
8672	if s.IamServiceRoleArn != nil && len(*s.IamServiceRoleArn) < 1 {
8673		invalidParams.Add(request.NewErrParamMinLen("IamServiceRoleArn", 1))
8674	}
8675	if s.Name != nil && len(*s.Name) < 1 {
8676		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8677	}
8678	if s.AutoBranchCreationConfig != nil {
8679		if err := s.AutoBranchCreationConfig.Validate(); err != nil {
8680			invalidParams.AddNested("AutoBranchCreationConfig", err.(request.ErrInvalidParams))
8681		}
8682	}
8683	if s.CustomRules != nil {
8684		for i, v := range s.CustomRules {
8685			if v == nil {
8686				continue
8687			}
8688			if err := v.Validate(); err != nil {
8689				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomRules", i), err.(request.ErrInvalidParams))
8690			}
8691		}
8692	}
8693
8694	if invalidParams.Len() > 0 {
8695		return invalidParams
8696	}
8697	return nil
8698}
8699
8700// SetAccessToken sets the AccessToken field's value.
8701func (s *UpdateAppInput) SetAccessToken(v string) *UpdateAppInput {
8702	s.AccessToken = &v
8703	return s
8704}
8705
8706// SetAppId sets the AppId field's value.
8707func (s *UpdateAppInput) SetAppId(v string) *UpdateAppInput {
8708	s.AppId = &v
8709	return s
8710}
8711
8712// SetAutoBranchCreationConfig sets the AutoBranchCreationConfig field's value.
8713func (s *UpdateAppInput) SetAutoBranchCreationConfig(v *AutoBranchCreationConfig) *UpdateAppInput {
8714	s.AutoBranchCreationConfig = v
8715	return s
8716}
8717
8718// SetAutoBranchCreationPatterns sets the AutoBranchCreationPatterns field's value.
8719func (s *UpdateAppInput) SetAutoBranchCreationPatterns(v []*string) *UpdateAppInput {
8720	s.AutoBranchCreationPatterns = v
8721	return s
8722}
8723
8724// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
8725func (s *UpdateAppInput) SetBasicAuthCredentials(v string) *UpdateAppInput {
8726	s.BasicAuthCredentials = &v
8727	return s
8728}
8729
8730// SetBuildSpec sets the BuildSpec field's value.
8731func (s *UpdateAppInput) SetBuildSpec(v string) *UpdateAppInput {
8732	s.BuildSpec = &v
8733	return s
8734}
8735
8736// SetCustomHeaders sets the CustomHeaders field's value.
8737func (s *UpdateAppInput) SetCustomHeaders(v string) *UpdateAppInput {
8738	s.CustomHeaders = &v
8739	return s
8740}
8741
8742// SetCustomRules sets the CustomRules field's value.
8743func (s *UpdateAppInput) SetCustomRules(v []*CustomRule) *UpdateAppInput {
8744	s.CustomRules = v
8745	return s
8746}
8747
8748// SetDescription sets the Description field's value.
8749func (s *UpdateAppInput) SetDescription(v string) *UpdateAppInput {
8750	s.Description = &v
8751	return s
8752}
8753
8754// SetEnableAutoBranchCreation sets the EnableAutoBranchCreation field's value.
8755func (s *UpdateAppInput) SetEnableAutoBranchCreation(v bool) *UpdateAppInput {
8756	s.EnableAutoBranchCreation = &v
8757	return s
8758}
8759
8760// SetEnableBasicAuth sets the EnableBasicAuth field's value.
8761func (s *UpdateAppInput) SetEnableBasicAuth(v bool) *UpdateAppInput {
8762	s.EnableBasicAuth = &v
8763	return s
8764}
8765
8766// SetEnableBranchAutoBuild sets the EnableBranchAutoBuild field's value.
8767func (s *UpdateAppInput) SetEnableBranchAutoBuild(v bool) *UpdateAppInput {
8768	s.EnableBranchAutoBuild = &v
8769	return s
8770}
8771
8772// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value.
8773func (s *UpdateAppInput) SetEnableBranchAutoDeletion(v bool) *UpdateAppInput {
8774	s.EnableBranchAutoDeletion = &v
8775	return s
8776}
8777
8778// SetEnvironmentVariables sets the EnvironmentVariables field's value.
8779func (s *UpdateAppInput) SetEnvironmentVariables(v map[string]*string) *UpdateAppInput {
8780	s.EnvironmentVariables = v
8781	return s
8782}
8783
8784// SetIamServiceRoleArn sets the IamServiceRoleArn field's value.
8785func (s *UpdateAppInput) SetIamServiceRoleArn(v string) *UpdateAppInput {
8786	s.IamServiceRoleArn = &v
8787	return s
8788}
8789
8790// SetName sets the Name field's value.
8791func (s *UpdateAppInput) SetName(v string) *UpdateAppInput {
8792	s.Name = &v
8793	return s
8794}
8795
8796// SetOauthToken sets the OauthToken field's value.
8797func (s *UpdateAppInput) SetOauthToken(v string) *UpdateAppInput {
8798	s.OauthToken = &v
8799	return s
8800}
8801
8802// SetPlatform sets the Platform field's value.
8803func (s *UpdateAppInput) SetPlatform(v string) *UpdateAppInput {
8804	s.Platform = &v
8805	return s
8806}
8807
8808// SetRepository sets the Repository field's value.
8809func (s *UpdateAppInput) SetRepository(v string) *UpdateAppInput {
8810	s.Repository = &v
8811	return s
8812}
8813
8814// The result structure for an Amplify app update request.
8815type UpdateAppOutput struct {
8816	_ struct{} `type:"structure"`
8817
8818	// Represents the updated Amplify app.
8819	//
8820	// App is a required field
8821	App *App `locationName:"app" type:"structure" required:"true"`
8822}
8823
8824// String returns the string representation
8825func (s UpdateAppOutput) String() string {
8826	return awsutil.Prettify(s)
8827}
8828
8829// GoString returns the string representation
8830func (s UpdateAppOutput) GoString() string {
8831	return s.String()
8832}
8833
8834// SetApp sets the App field's value.
8835func (s *UpdateAppOutput) SetApp(v *App) *UpdateAppOutput {
8836	s.App = v
8837	return s
8838}
8839
8840// The request structure for the update branch request.
8841type UpdateBranchInput struct {
8842	_ struct{} `type:"structure"`
8843
8844	// The unique ID for an Amplify app.
8845	//
8846	// AppId is a required field
8847	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
8848
8849	// The Amazon Resource Name (ARN) for a backend environment that is part of
8850	// an Amplify app.
8851	BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"`
8852
8853	// The basic authorization credentials for the branch.
8854	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
8855
8856	// The name for the branch.
8857	//
8858	// BranchName is a required field
8859	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
8860
8861	// The build specification (build spec) for the branch.
8862	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
8863
8864	// The description for the branch.
8865	Description *string `locationName:"description" type:"string"`
8866
8867	// The display name for a branch. This is used as the default domain prefix.
8868	DisplayName *string `locationName:"displayName" type:"string"`
8869
8870	// Enables auto building for the branch.
8871	EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"`
8872
8873	// Enables basic authorization for the branch.
8874	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
8875
8876	// Enables notifications for the branch.
8877	EnableNotification *bool `locationName:"enableNotification" type:"boolean"`
8878
8879	// Enables performance mode for the branch.
8880	//
8881	// Performance mode optimizes for faster hosting performance by keeping content
8882	// cached at the edge for a longer interval. When performance mode is enabled,
8883	// hosting configuration or code changes can take up to 10 minutes to roll out.
8884	EnablePerformanceMode *bool `locationName:"enablePerformanceMode" type:"boolean"`
8885
8886	// Enables pull request previews for this branch.
8887	EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"`
8888
8889	// The environment variables for the branch.
8890	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
8891
8892	// The framework for the branch.
8893	Framework *string `locationName:"framework" type:"string"`
8894
8895	// The Amplify environment name for the pull request.
8896	PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"`
8897
8898	// Describes the current stage for the branch.
8899	Stage *string `locationName:"stage" type:"string" enum:"Stage"`
8900
8901	// The content Time to Live (TTL) for the website in seconds.
8902	Ttl *string `locationName:"ttl" type:"string"`
8903}
8904
8905// String returns the string representation
8906func (s UpdateBranchInput) String() string {
8907	return awsutil.Prettify(s)
8908}
8909
8910// GoString returns the string representation
8911func (s UpdateBranchInput) GoString() string {
8912	return s.String()
8913}
8914
8915// Validate inspects the fields of the type to determine if they are valid.
8916func (s *UpdateBranchInput) Validate() error {
8917	invalidParams := request.ErrInvalidParams{Context: "UpdateBranchInput"}
8918	if s.AppId == nil {
8919		invalidParams.Add(request.NewErrParamRequired("AppId"))
8920	}
8921	if s.AppId != nil && len(*s.AppId) < 1 {
8922		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
8923	}
8924	if s.BackendEnvironmentArn != nil && len(*s.BackendEnvironmentArn) < 1 {
8925		invalidParams.Add(request.NewErrParamMinLen("BackendEnvironmentArn", 1))
8926	}
8927	if s.BranchName == nil {
8928		invalidParams.Add(request.NewErrParamRequired("BranchName"))
8929	}
8930	if s.BranchName != nil && len(*s.BranchName) < 1 {
8931		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
8932	}
8933	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
8934		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
8935	}
8936
8937	if invalidParams.Len() > 0 {
8938		return invalidParams
8939	}
8940	return nil
8941}
8942
8943// SetAppId sets the AppId field's value.
8944func (s *UpdateBranchInput) SetAppId(v string) *UpdateBranchInput {
8945	s.AppId = &v
8946	return s
8947}
8948
8949// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value.
8950func (s *UpdateBranchInput) SetBackendEnvironmentArn(v string) *UpdateBranchInput {
8951	s.BackendEnvironmentArn = &v
8952	return s
8953}
8954
8955// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
8956func (s *UpdateBranchInput) SetBasicAuthCredentials(v string) *UpdateBranchInput {
8957	s.BasicAuthCredentials = &v
8958	return s
8959}
8960
8961// SetBranchName sets the BranchName field's value.
8962func (s *UpdateBranchInput) SetBranchName(v string) *UpdateBranchInput {
8963	s.BranchName = &v
8964	return s
8965}
8966
8967// SetBuildSpec sets the BuildSpec field's value.
8968func (s *UpdateBranchInput) SetBuildSpec(v string) *UpdateBranchInput {
8969	s.BuildSpec = &v
8970	return s
8971}
8972
8973// SetDescription sets the Description field's value.
8974func (s *UpdateBranchInput) SetDescription(v string) *UpdateBranchInput {
8975	s.Description = &v
8976	return s
8977}
8978
8979// SetDisplayName sets the DisplayName field's value.
8980func (s *UpdateBranchInput) SetDisplayName(v string) *UpdateBranchInput {
8981	s.DisplayName = &v
8982	return s
8983}
8984
8985// SetEnableAutoBuild sets the EnableAutoBuild field's value.
8986func (s *UpdateBranchInput) SetEnableAutoBuild(v bool) *UpdateBranchInput {
8987	s.EnableAutoBuild = &v
8988	return s
8989}
8990
8991// SetEnableBasicAuth sets the EnableBasicAuth field's value.
8992func (s *UpdateBranchInput) SetEnableBasicAuth(v bool) *UpdateBranchInput {
8993	s.EnableBasicAuth = &v
8994	return s
8995}
8996
8997// SetEnableNotification sets the EnableNotification field's value.
8998func (s *UpdateBranchInput) SetEnableNotification(v bool) *UpdateBranchInput {
8999	s.EnableNotification = &v
9000	return s
9001}
9002
9003// SetEnablePerformanceMode sets the EnablePerformanceMode field's value.
9004func (s *UpdateBranchInput) SetEnablePerformanceMode(v bool) *UpdateBranchInput {
9005	s.EnablePerformanceMode = &v
9006	return s
9007}
9008
9009// SetEnablePullRequestPreview sets the EnablePullRequestPreview field's value.
9010func (s *UpdateBranchInput) SetEnablePullRequestPreview(v bool) *UpdateBranchInput {
9011	s.EnablePullRequestPreview = &v
9012	return s
9013}
9014
9015// SetEnvironmentVariables sets the EnvironmentVariables field's value.
9016func (s *UpdateBranchInput) SetEnvironmentVariables(v map[string]*string) *UpdateBranchInput {
9017	s.EnvironmentVariables = v
9018	return s
9019}
9020
9021// SetFramework sets the Framework field's value.
9022func (s *UpdateBranchInput) SetFramework(v string) *UpdateBranchInput {
9023	s.Framework = &v
9024	return s
9025}
9026
9027// SetPullRequestEnvironmentName sets the PullRequestEnvironmentName field's value.
9028func (s *UpdateBranchInput) SetPullRequestEnvironmentName(v string) *UpdateBranchInput {
9029	s.PullRequestEnvironmentName = &v
9030	return s
9031}
9032
9033// SetStage sets the Stage field's value.
9034func (s *UpdateBranchInput) SetStage(v string) *UpdateBranchInput {
9035	s.Stage = &v
9036	return s
9037}
9038
9039// SetTtl sets the Ttl field's value.
9040func (s *UpdateBranchInput) SetTtl(v string) *UpdateBranchInput {
9041	s.Ttl = &v
9042	return s
9043}
9044
9045// The result structure for the update branch request.
9046type UpdateBranchOutput struct {
9047	_ struct{} `type:"structure"`
9048
9049	// The branch for an Amplify app, which maps to a third-party repository branch.
9050	//
9051	// Branch is a required field
9052	Branch *Branch `locationName:"branch" type:"structure" required:"true"`
9053}
9054
9055// String returns the string representation
9056func (s UpdateBranchOutput) String() string {
9057	return awsutil.Prettify(s)
9058}
9059
9060// GoString returns the string representation
9061func (s UpdateBranchOutput) GoString() string {
9062	return s.String()
9063}
9064
9065// SetBranch sets the Branch field's value.
9066func (s *UpdateBranchOutput) SetBranch(v *Branch) *UpdateBranchOutput {
9067	s.Branch = v
9068	return s
9069}
9070
9071// The request structure for the update domain association request.
9072type UpdateDomainAssociationInput struct {
9073	_ struct{} `type:"structure"`
9074
9075	// The unique ID for an Amplify app.
9076	//
9077	// AppId is a required field
9078	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
9079
9080	// Sets the branch patterns for automatic subdomain creation.
9081	AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"`
9082
9083	// The required AWS Identity and Access Management (IAM) service role for the
9084	// Amazon Resource Name (ARN) for automatically creating subdomains.
9085	AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"`
9086
9087	// The name of the domain.
9088	//
9089	// DomainName is a required field
9090	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
9091
9092	// Enables the automated creation of subdomains for branches.
9093	EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean"`
9094
9095	// Describes the settings for the subdomain.
9096	//
9097	// SubDomainSettings is a required field
9098	SubDomainSettings []*SubDomainSetting `locationName:"subDomainSettings" type:"list" required:"true"`
9099}
9100
9101// String returns the string representation
9102func (s UpdateDomainAssociationInput) String() string {
9103	return awsutil.Prettify(s)
9104}
9105
9106// GoString returns the string representation
9107func (s UpdateDomainAssociationInput) GoString() string {
9108	return s.String()
9109}
9110
9111// Validate inspects the fields of the type to determine if they are valid.
9112func (s *UpdateDomainAssociationInput) Validate() error {
9113	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainAssociationInput"}
9114	if s.AppId == nil {
9115		invalidParams.Add(request.NewErrParamRequired("AppId"))
9116	}
9117	if s.AppId != nil && len(*s.AppId) < 1 {
9118		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
9119	}
9120	if s.DomainName == nil {
9121		invalidParams.Add(request.NewErrParamRequired("DomainName"))
9122	}
9123	if s.DomainName != nil && len(*s.DomainName) < 1 {
9124		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
9125	}
9126	if s.SubDomainSettings == nil {
9127		invalidParams.Add(request.NewErrParamRequired("SubDomainSettings"))
9128	}
9129	if s.SubDomainSettings != nil {
9130		for i, v := range s.SubDomainSettings {
9131			if v == nil {
9132				continue
9133			}
9134			if err := v.Validate(); err != nil {
9135				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SubDomainSettings", i), err.(request.ErrInvalidParams))
9136			}
9137		}
9138	}
9139
9140	if invalidParams.Len() > 0 {
9141		return invalidParams
9142	}
9143	return nil
9144}
9145
9146// SetAppId sets the AppId field's value.
9147func (s *UpdateDomainAssociationInput) SetAppId(v string) *UpdateDomainAssociationInput {
9148	s.AppId = &v
9149	return s
9150}
9151
9152// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value.
9153func (s *UpdateDomainAssociationInput) SetAutoSubDomainCreationPatterns(v []*string) *UpdateDomainAssociationInput {
9154	s.AutoSubDomainCreationPatterns = v
9155	return s
9156}
9157
9158// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value.
9159func (s *UpdateDomainAssociationInput) SetAutoSubDomainIAMRole(v string) *UpdateDomainAssociationInput {
9160	s.AutoSubDomainIAMRole = &v
9161	return s
9162}
9163
9164// SetDomainName sets the DomainName field's value.
9165func (s *UpdateDomainAssociationInput) SetDomainName(v string) *UpdateDomainAssociationInput {
9166	s.DomainName = &v
9167	return s
9168}
9169
9170// SetEnableAutoSubDomain sets the EnableAutoSubDomain field's value.
9171func (s *UpdateDomainAssociationInput) SetEnableAutoSubDomain(v bool) *UpdateDomainAssociationInput {
9172	s.EnableAutoSubDomain = &v
9173	return s
9174}
9175
9176// SetSubDomainSettings sets the SubDomainSettings field's value.
9177func (s *UpdateDomainAssociationInput) SetSubDomainSettings(v []*SubDomainSetting) *UpdateDomainAssociationInput {
9178	s.SubDomainSettings = v
9179	return s
9180}
9181
9182// The result structure for the update domain association request.
9183type UpdateDomainAssociationOutput struct {
9184	_ struct{} `type:"structure"`
9185
9186	// Describes a domain association, which associates a custom domain with an
9187	// Amplify app.
9188	//
9189	// DomainAssociation is a required field
9190	DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"`
9191}
9192
9193// String returns the string representation
9194func (s UpdateDomainAssociationOutput) String() string {
9195	return awsutil.Prettify(s)
9196}
9197
9198// GoString returns the string representation
9199func (s UpdateDomainAssociationOutput) GoString() string {
9200	return s.String()
9201}
9202
9203// SetDomainAssociation sets the DomainAssociation field's value.
9204func (s *UpdateDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) *UpdateDomainAssociationOutput {
9205	s.DomainAssociation = v
9206	return s
9207}
9208
9209// The request structure for the update webhook request.
9210type UpdateWebhookInput struct {
9211	_ struct{} `type:"structure"`
9212
9213	// The name for a branch that is part of an Amplify app.
9214	BranchName *string `locationName:"branchName" min:"1" type:"string"`
9215
9216	// The description for a webhook.
9217	Description *string `locationName:"description" type:"string"`
9218
9219	// The unique ID for a webhook.
9220	//
9221	// WebhookId is a required field
9222	WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"`
9223}
9224
9225// String returns the string representation
9226func (s UpdateWebhookInput) String() string {
9227	return awsutil.Prettify(s)
9228}
9229
9230// GoString returns the string representation
9231func (s UpdateWebhookInput) GoString() string {
9232	return s.String()
9233}
9234
9235// Validate inspects the fields of the type to determine if they are valid.
9236func (s *UpdateWebhookInput) Validate() error {
9237	invalidParams := request.ErrInvalidParams{Context: "UpdateWebhookInput"}
9238	if s.BranchName != nil && len(*s.BranchName) < 1 {
9239		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
9240	}
9241	if s.WebhookId == nil {
9242		invalidParams.Add(request.NewErrParamRequired("WebhookId"))
9243	}
9244	if s.WebhookId != nil && len(*s.WebhookId) < 1 {
9245		invalidParams.Add(request.NewErrParamMinLen("WebhookId", 1))
9246	}
9247
9248	if invalidParams.Len() > 0 {
9249		return invalidParams
9250	}
9251	return nil
9252}
9253
9254// SetBranchName sets the BranchName field's value.
9255func (s *UpdateWebhookInput) SetBranchName(v string) *UpdateWebhookInput {
9256	s.BranchName = &v
9257	return s
9258}
9259
9260// SetDescription sets the Description field's value.
9261func (s *UpdateWebhookInput) SetDescription(v string) *UpdateWebhookInput {
9262	s.Description = &v
9263	return s
9264}
9265
9266// SetWebhookId sets the WebhookId field's value.
9267func (s *UpdateWebhookInput) SetWebhookId(v string) *UpdateWebhookInput {
9268	s.WebhookId = &v
9269	return s
9270}
9271
9272// The result structure for the update webhook request.
9273type UpdateWebhookOutput struct {
9274	_ struct{} `type:"structure"`
9275
9276	// Describes a webhook that connects repository events to an Amplify app.
9277	//
9278	// Webhook is a required field
9279	Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"`
9280}
9281
9282// String returns the string representation
9283func (s UpdateWebhookOutput) String() string {
9284	return awsutil.Prettify(s)
9285}
9286
9287// GoString returns the string representation
9288func (s UpdateWebhookOutput) GoString() string {
9289	return s.String()
9290}
9291
9292// SetWebhook sets the Webhook field's value.
9293func (s *UpdateWebhookOutput) SetWebhook(v *Webhook) *UpdateWebhookOutput {
9294	s.Webhook = v
9295	return s
9296}
9297
9298// Describes a webhook that connects repository events to an Amplify app.
9299type Webhook struct {
9300	_ struct{} `type:"structure"`
9301
9302	// The name for a branch that is part of an Amplify app.
9303	//
9304	// BranchName is a required field
9305	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
9306
9307	// The create date and time for a webhook.
9308	//
9309	// CreateTime is a required field
9310	CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"`
9311
9312	// The description for a webhook.
9313	//
9314	// Description is a required field
9315	Description *string `locationName:"description" type:"string" required:"true"`
9316
9317	// Updates the date and time for a webhook.
9318	//
9319	// UpdateTime is a required field
9320	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"`
9321
9322	// The Amazon Resource Name (ARN) for the webhook.
9323	//
9324	// WebhookArn is a required field
9325	WebhookArn *string `locationName:"webhookArn" type:"string" required:"true"`
9326
9327	// The ID of the webhook.
9328	//
9329	// WebhookId is a required field
9330	WebhookId *string `locationName:"webhookId" type:"string" required:"true"`
9331
9332	// The URL of the webhook.
9333	//
9334	// WebhookUrl is a required field
9335	WebhookUrl *string `locationName:"webhookUrl" type:"string" required:"true"`
9336}
9337
9338// String returns the string representation
9339func (s Webhook) String() string {
9340	return awsutil.Prettify(s)
9341}
9342
9343// GoString returns the string representation
9344func (s Webhook) GoString() string {
9345	return s.String()
9346}
9347
9348// SetBranchName sets the BranchName field's value.
9349func (s *Webhook) SetBranchName(v string) *Webhook {
9350	s.BranchName = &v
9351	return s
9352}
9353
9354// SetCreateTime sets the CreateTime field's value.
9355func (s *Webhook) SetCreateTime(v time.Time) *Webhook {
9356	s.CreateTime = &v
9357	return s
9358}
9359
9360// SetDescription sets the Description field's value.
9361func (s *Webhook) SetDescription(v string) *Webhook {
9362	s.Description = &v
9363	return s
9364}
9365
9366// SetUpdateTime sets the UpdateTime field's value.
9367func (s *Webhook) SetUpdateTime(v time.Time) *Webhook {
9368	s.UpdateTime = &v
9369	return s
9370}
9371
9372// SetWebhookArn sets the WebhookArn field's value.
9373func (s *Webhook) SetWebhookArn(v string) *Webhook {
9374	s.WebhookArn = &v
9375	return s
9376}
9377
9378// SetWebhookId sets the WebhookId field's value.
9379func (s *Webhook) SetWebhookId(v string) *Webhook {
9380	s.WebhookId = &v
9381	return s
9382}
9383
9384// SetWebhookUrl sets the WebhookUrl field's value.
9385func (s *Webhook) SetWebhookUrl(v string) *Webhook {
9386	s.WebhookUrl = &v
9387	return s
9388}
9389
9390const (
9391	// DomainStatusPendingVerification is a DomainStatus enum value
9392	DomainStatusPendingVerification = "PENDING_VERIFICATION"
9393
9394	// DomainStatusInProgress is a DomainStatus enum value
9395	DomainStatusInProgress = "IN_PROGRESS"
9396
9397	// DomainStatusAvailable is a DomainStatus enum value
9398	DomainStatusAvailable = "AVAILABLE"
9399
9400	// DomainStatusPendingDeployment is a DomainStatus enum value
9401	DomainStatusPendingDeployment = "PENDING_DEPLOYMENT"
9402
9403	// DomainStatusFailed is a DomainStatus enum value
9404	DomainStatusFailed = "FAILED"
9405
9406	// DomainStatusCreating is a DomainStatus enum value
9407	DomainStatusCreating = "CREATING"
9408
9409	// DomainStatusRequestingCertificate is a DomainStatus enum value
9410	DomainStatusRequestingCertificate = "REQUESTING_CERTIFICATE"
9411
9412	// DomainStatusUpdating is a DomainStatus enum value
9413	DomainStatusUpdating = "UPDATING"
9414)
9415
9416// DomainStatus_Values returns all elements of the DomainStatus enum
9417func DomainStatus_Values() []string {
9418	return []string{
9419		DomainStatusPendingVerification,
9420		DomainStatusInProgress,
9421		DomainStatusAvailable,
9422		DomainStatusPendingDeployment,
9423		DomainStatusFailed,
9424		DomainStatusCreating,
9425		DomainStatusRequestingCertificate,
9426		DomainStatusUpdating,
9427	}
9428}
9429
9430const (
9431	// JobStatusPending is a JobStatus enum value
9432	JobStatusPending = "PENDING"
9433
9434	// JobStatusProvisioning is a JobStatus enum value
9435	JobStatusProvisioning = "PROVISIONING"
9436
9437	// JobStatusRunning is a JobStatus enum value
9438	JobStatusRunning = "RUNNING"
9439
9440	// JobStatusFailed is a JobStatus enum value
9441	JobStatusFailed = "FAILED"
9442
9443	// JobStatusSucceed is a JobStatus enum value
9444	JobStatusSucceed = "SUCCEED"
9445
9446	// JobStatusCancelling is a JobStatus enum value
9447	JobStatusCancelling = "CANCELLING"
9448
9449	// JobStatusCancelled is a JobStatus enum value
9450	JobStatusCancelled = "CANCELLED"
9451)
9452
9453// JobStatus_Values returns all elements of the JobStatus enum
9454func JobStatus_Values() []string {
9455	return []string{
9456		JobStatusPending,
9457		JobStatusProvisioning,
9458		JobStatusRunning,
9459		JobStatusFailed,
9460		JobStatusSucceed,
9461		JobStatusCancelling,
9462		JobStatusCancelled,
9463	}
9464}
9465
9466const (
9467	// JobTypeRelease is a JobType enum value
9468	JobTypeRelease = "RELEASE"
9469
9470	// JobTypeRetry is a JobType enum value
9471	JobTypeRetry = "RETRY"
9472
9473	// JobTypeManual is a JobType enum value
9474	JobTypeManual = "MANUAL"
9475
9476	// JobTypeWebHook is a JobType enum value
9477	JobTypeWebHook = "WEB_HOOK"
9478)
9479
9480// JobType_Values returns all elements of the JobType enum
9481func JobType_Values() []string {
9482	return []string{
9483		JobTypeRelease,
9484		JobTypeRetry,
9485		JobTypeManual,
9486		JobTypeWebHook,
9487	}
9488}
9489
9490const (
9491	// PlatformWeb is a Platform enum value
9492	PlatformWeb = "WEB"
9493)
9494
9495// Platform_Values returns all elements of the Platform enum
9496func Platform_Values() []string {
9497	return []string{
9498		PlatformWeb,
9499	}
9500}
9501
9502const (
9503	// StageProduction is a Stage enum value
9504	StageProduction = "PRODUCTION"
9505
9506	// StageBeta is a Stage enum value
9507	StageBeta = "BETA"
9508
9509	// StageDevelopment is a Stage enum value
9510	StageDevelopment = "DEVELOPMENT"
9511
9512	// StageExperimental is a Stage enum value
9513	StageExperimental = "EXPERIMENTAL"
9514
9515	// StagePullRequest is a Stage enum value
9516	StagePullRequest = "PULL_REQUEST"
9517)
9518
9519// Stage_Values returns all elements of the Stage enum
9520func Stage_Values() []string {
9521	return []string{
9522		StageProduction,
9523		StageBeta,
9524		StageDevelopment,
9525		StageExperimental,
9526		StagePullRequest,
9527	}
9528}
9529