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	//
3349	// BasicAuthCredentials is a sensitive parameter and its value will be
3350	// replaced with "sensitive" in string returned by App's
3351	// String and GoString methods.
3352	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
3353
3354	// Describes the content of the build specification (build spec) for the Amplify
3355	// app.
3356	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
3357
3358	// Creates a date and time for the Amplify app.
3359	//
3360	// CreateTime is a required field
3361	CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"`
3362
3363	// Describes the custom HTTP headers for the Amplify app.
3364	CustomHeaders *string `locationName:"customHeaders" min:"1" type:"string"`
3365
3366	// Describes the custom redirect and rewrite rules for the Amplify app.
3367	CustomRules []*CustomRule `locationName:"customRules" type:"list"`
3368
3369	// The default domain for the Amplify app.
3370	//
3371	// DefaultDomain is a required field
3372	DefaultDomain *string `locationName:"defaultDomain" min:"1" type:"string" required:"true"`
3373
3374	// The description for the Amplify app.
3375	//
3376	// Description is a required field
3377	Description *string `locationName:"description" type:"string" required:"true"`
3378
3379	// Enables automated branch creation for the Amplify app.
3380	EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"`
3381
3382	// Enables basic authorization for the Amplify app's branches.
3383	//
3384	// EnableBasicAuth is a required field
3385	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean" required:"true"`
3386
3387	// Enables the auto-building of branches for the Amplify app.
3388	//
3389	// EnableBranchAutoBuild is a required field
3390	EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean" required:"true"`
3391
3392	// Automatically disconnect a branch in the Amplify Console when you delete
3393	// a branch from your Git repository.
3394	EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"`
3395
3396	// The environment variables for the Amplify app.
3397	//
3398	// EnvironmentVariables is a required field
3399	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map" required:"true"`
3400
3401	// The AWS Identity and Access Management (IAM) service role for the Amazon
3402	// Resource Name (ARN) of the Amplify app.
3403	IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"`
3404
3405	// The name for the Amplify app.
3406	//
3407	// Name is a required field
3408	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
3409
3410	// The platform for the Amplify app.
3411	//
3412	// Platform is a required field
3413	Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"`
3414
3415	// Describes the information about a production branch of the Amplify app.
3416	ProductionBranch *ProductionBranch `locationName:"productionBranch" type:"structure"`
3417
3418	// The repository for the Amplify app.
3419	//
3420	// Repository is a required field
3421	Repository *string `locationName:"repository" type:"string" required:"true"`
3422
3423	// The tag for the Amplify app.
3424	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
3425
3426	// Updates the date and time for the Amplify app.
3427	//
3428	// UpdateTime is a required field
3429	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"`
3430}
3431
3432// String returns the string representation.
3433//
3434// API parameter values that are decorated as "sensitive" in the API will not
3435// be included in the string output. The member name will be present, but the
3436// value will be replaced with "sensitive".
3437func (s App) String() string {
3438	return awsutil.Prettify(s)
3439}
3440
3441// GoString returns the string representation.
3442//
3443// API parameter values that are decorated as "sensitive" in the API will not
3444// be included in the string output. The member name will be present, but the
3445// value will be replaced with "sensitive".
3446func (s App) GoString() string {
3447	return s.String()
3448}
3449
3450// SetAppArn sets the AppArn field's value.
3451func (s *App) SetAppArn(v string) *App {
3452	s.AppArn = &v
3453	return s
3454}
3455
3456// SetAppId sets the AppId field's value.
3457func (s *App) SetAppId(v string) *App {
3458	s.AppId = &v
3459	return s
3460}
3461
3462// SetAutoBranchCreationConfig sets the AutoBranchCreationConfig field's value.
3463func (s *App) SetAutoBranchCreationConfig(v *AutoBranchCreationConfig) *App {
3464	s.AutoBranchCreationConfig = v
3465	return s
3466}
3467
3468// SetAutoBranchCreationPatterns sets the AutoBranchCreationPatterns field's value.
3469func (s *App) SetAutoBranchCreationPatterns(v []*string) *App {
3470	s.AutoBranchCreationPatterns = v
3471	return s
3472}
3473
3474// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
3475func (s *App) SetBasicAuthCredentials(v string) *App {
3476	s.BasicAuthCredentials = &v
3477	return s
3478}
3479
3480// SetBuildSpec sets the BuildSpec field's value.
3481func (s *App) SetBuildSpec(v string) *App {
3482	s.BuildSpec = &v
3483	return s
3484}
3485
3486// SetCreateTime sets the CreateTime field's value.
3487func (s *App) SetCreateTime(v time.Time) *App {
3488	s.CreateTime = &v
3489	return s
3490}
3491
3492// SetCustomHeaders sets the CustomHeaders field's value.
3493func (s *App) SetCustomHeaders(v string) *App {
3494	s.CustomHeaders = &v
3495	return s
3496}
3497
3498// SetCustomRules sets the CustomRules field's value.
3499func (s *App) SetCustomRules(v []*CustomRule) *App {
3500	s.CustomRules = v
3501	return s
3502}
3503
3504// SetDefaultDomain sets the DefaultDomain field's value.
3505func (s *App) SetDefaultDomain(v string) *App {
3506	s.DefaultDomain = &v
3507	return s
3508}
3509
3510// SetDescription sets the Description field's value.
3511func (s *App) SetDescription(v string) *App {
3512	s.Description = &v
3513	return s
3514}
3515
3516// SetEnableAutoBranchCreation sets the EnableAutoBranchCreation field's value.
3517func (s *App) SetEnableAutoBranchCreation(v bool) *App {
3518	s.EnableAutoBranchCreation = &v
3519	return s
3520}
3521
3522// SetEnableBasicAuth sets the EnableBasicAuth field's value.
3523func (s *App) SetEnableBasicAuth(v bool) *App {
3524	s.EnableBasicAuth = &v
3525	return s
3526}
3527
3528// SetEnableBranchAutoBuild sets the EnableBranchAutoBuild field's value.
3529func (s *App) SetEnableBranchAutoBuild(v bool) *App {
3530	s.EnableBranchAutoBuild = &v
3531	return s
3532}
3533
3534// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value.
3535func (s *App) SetEnableBranchAutoDeletion(v bool) *App {
3536	s.EnableBranchAutoDeletion = &v
3537	return s
3538}
3539
3540// SetEnvironmentVariables sets the EnvironmentVariables field's value.
3541func (s *App) SetEnvironmentVariables(v map[string]*string) *App {
3542	s.EnvironmentVariables = v
3543	return s
3544}
3545
3546// SetIamServiceRoleArn sets the IamServiceRoleArn field's value.
3547func (s *App) SetIamServiceRoleArn(v string) *App {
3548	s.IamServiceRoleArn = &v
3549	return s
3550}
3551
3552// SetName sets the Name field's value.
3553func (s *App) SetName(v string) *App {
3554	s.Name = &v
3555	return s
3556}
3557
3558// SetPlatform sets the Platform field's value.
3559func (s *App) SetPlatform(v string) *App {
3560	s.Platform = &v
3561	return s
3562}
3563
3564// SetProductionBranch sets the ProductionBranch field's value.
3565func (s *App) SetProductionBranch(v *ProductionBranch) *App {
3566	s.ProductionBranch = v
3567	return s
3568}
3569
3570// SetRepository sets the Repository field's value.
3571func (s *App) SetRepository(v string) *App {
3572	s.Repository = &v
3573	return s
3574}
3575
3576// SetTags sets the Tags field's value.
3577func (s *App) SetTags(v map[string]*string) *App {
3578	s.Tags = v
3579	return s
3580}
3581
3582// SetUpdateTime sets the UpdateTime field's value.
3583func (s *App) SetUpdateTime(v time.Time) *App {
3584	s.UpdateTime = &v
3585	return s
3586}
3587
3588// Describes an artifact.
3589type Artifact struct {
3590	_ struct{} `type:"structure"`
3591
3592	// The file name for the artifact.
3593	//
3594	// ArtifactFileName is a required field
3595	ArtifactFileName *string `locationName:"artifactFileName" type:"string" required:"true"`
3596
3597	// The unique ID for the artifact.
3598	//
3599	// ArtifactId is a required field
3600	ArtifactId *string `locationName:"artifactId" type:"string" required:"true"`
3601}
3602
3603// String returns the string representation.
3604//
3605// API parameter values that are decorated as "sensitive" in the API will not
3606// be included in the string output. The member name will be present, but the
3607// value will be replaced with "sensitive".
3608func (s Artifact) String() string {
3609	return awsutil.Prettify(s)
3610}
3611
3612// GoString returns the string representation.
3613//
3614// API parameter values that are decorated as "sensitive" in the API will not
3615// be included in the string output. The member name will be present, but the
3616// value will be replaced with "sensitive".
3617func (s Artifact) GoString() string {
3618	return s.String()
3619}
3620
3621// SetArtifactFileName sets the ArtifactFileName field's value.
3622func (s *Artifact) SetArtifactFileName(v string) *Artifact {
3623	s.ArtifactFileName = &v
3624	return s
3625}
3626
3627// SetArtifactId sets the ArtifactId field's value.
3628func (s *Artifact) SetArtifactId(v string) *Artifact {
3629	s.ArtifactId = &v
3630	return s
3631}
3632
3633// Describes the automated branch creation configuration.
3634type AutoBranchCreationConfig struct {
3635	_ struct{} `type:"structure"`
3636
3637	// The basic authorization credentials for the autocreated branch.
3638	//
3639	// BasicAuthCredentials is a sensitive parameter and its value will be
3640	// replaced with "sensitive" in string returned by AutoBranchCreationConfig's
3641	// String and GoString methods.
3642	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
3643
3644	// The build specification (build spec) for the autocreated branch.
3645	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
3646
3647	// Enables auto building for the autocreated branch.
3648	EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"`
3649
3650	// Enables basic authorization for the autocreated branch.
3651	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
3652
3653	// Enables performance mode for the branch.
3654	//
3655	// Performance mode optimizes for faster hosting performance by keeping content
3656	// cached at the edge for a longer interval. When performance mode is enabled,
3657	// hosting configuration or code changes can take up to 10 minutes to roll out.
3658	EnablePerformanceMode *bool `locationName:"enablePerformanceMode" type:"boolean"`
3659
3660	// Enables pull request previews for the autocreated branch.
3661	EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"`
3662
3663	// The environment variables for the autocreated branch.
3664	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
3665
3666	// The framework for the autocreated branch.
3667	Framework *string `locationName:"framework" type:"string"`
3668
3669	// The Amplify environment name for the pull request.
3670	PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"`
3671
3672	// Describes the current stage for the autocreated branch.
3673	Stage *string `locationName:"stage" type:"string" enum:"Stage"`
3674}
3675
3676// String returns the string representation.
3677//
3678// API parameter values that are decorated as "sensitive" in the API will not
3679// be included in the string output. The member name will be present, but the
3680// value will be replaced with "sensitive".
3681func (s AutoBranchCreationConfig) String() string {
3682	return awsutil.Prettify(s)
3683}
3684
3685// GoString returns the string representation.
3686//
3687// API parameter values that are decorated as "sensitive" in the API will not
3688// be included in the string output. The member name will be present, but the
3689// value will be replaced with "sensitive".
3690func (s AutoBranchCreationConfig) GoString() string {
3691	return s.String()
3692}
3693
3694// Validate inspects the fields of the type to determine if they are valid.
3695func (s *AutoBranchCreationConfig) Validate() error {
3696	invalidParams := request.ErrInvalidParams{Context: "AutoBranchCreationConfig"}
3697	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
3698		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
3699	}
3700
3701	if invalidParams.Len() > 0 {
3702		return invalidParams
3703	}
3704	return nil
3705}
3706
3707// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
3708func (s *AutoBranchCreationConfig) SetBasicAuthCredentials(v string) *AutoBranchCreationConfig {
3709	s.BasicAuthCredentials = &v
3710	return s
3711}
3712
3713// SetBuildSpec sets the BuildSpec field's value.
3714func (s *AutoBranchCreationConfig) SetBuildSpec(v string) *AutoBranchCreationConfig {
3715	s.BuildSpec = &v
3716	return s
3717}
3718
3719// SetEnableAutoBuild sets the EnableAutoBuild field's value.
3720func (s *AutoBranchCreationConfig) SetEnableAutoBuild(v bool) *AutoBranchCreationConfig {
3721	s.EnableAutoBuild = &v
3722	return s
3723}
3724
3725// SetEnableBasicAuth sets the EnableBasicAuth field's value.
3726func (s *AutoBranchCreationConfig) SetEnableBasicAuth(v bool) *AutoBranchCreationConfig {
3727	s.EnableBasicAuth = &v
3728	return s
3729}
3730
3731// SetEnablePerformanceMode sets the EnablePerformanceMode field's value.
3732func (s *AutoBranchCreationConfig) SetEnablePerformanceMode(v bool) *AutoBranchCreationConfig {
3733	s.EnablePerformanceMode = &v
3734	return s
3735}
3736
3737// SetEnablePullRequestPreview sets the EnablePullRequestPreview field's value.
3738func (s *AutoBranchCreationConfig) SetEnablePullRequestPreview(v bool) *AutoBranchCreationConfig {
3739	s.EnablePullRequestPreview = &v
3740	return s
3741}
3742
3743// SetEnvironmentVariables sets the EnvironmentVariables field's value.
3744func (s *AutoBranchCreationConfig) SetEnvironmentVariables(v map[string]*string) *AutoBranchCreationConfig {
3745	s.EnvironmentVariables = v
3746	return s
3747}
3748
3749// SetFramework sets the Framework field's value.
3750func (s *AutoBranchCreationConfig) SetFramework(v string) *AutoBranchCreationConfig {
3751	s.Framework = &v
3752	return s
3753}
3754
3755// SetPullRequestEnvironmentName sets the PullRequestEnvironmentName field's value.
3756func (s *AutoBranchCreationConfig) SetPullRequestEnvironmentName(v string) *AutoBranchCreationConfig {
3757	s.PullRequestEnvironmentName = &v
3758	return s
3759}
3760
3761// SetStage sets the Stage field's value.
3762func (s *AutoBranchCreationConfig) SetStage(v string) *AutoBranchCreationConfig {
3763	s.Stage = &v
3764	return s
3765}
3766
3767// Describes the backend environment for an Amplify app.
3768type BackendEnvironment struct {
3769	_ struct{} `type:"structure"`
3770
3771	// The Amazon Resource Name (ARN) for a backend environment that is part of
3772	// an Amplify app.
3773	//
3774	// BackendEnvironmentArn is a required field
3775	BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string" required:"true"`
3776
3777	// The creation date and time for a backend environment that is part of an Amplify
3778	// app.
3779	//
3780	// CreateTime is a required field
3781	CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"`
3782
3783	// The name of deployment artifacts.
3784	DeploymentArtifacts *string `locationName:"deploymentArtifacts" min:"1" type:"string"`
3785
3786	// The name for a backend environment that is part of an Amplify app.
3787	//
3788	// EnvironmentName is a required field
3789	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
3790
3791	// The AWS CloudFormation stack name of a backend environment.
3792	StackName *string `locationName:"stackName" min:"1" type:"string"`
3793
3794	// The last updated date and time for a backend environment that is part of
3795	// an Amplify app.
3796	//
3797	// UpdateTime is a required field
3798	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"`
3799}
3800
3801// String returns the string representation.
3802//
3803// API parameter values that are decorated as "sensitive" in the API will not
3804// be included in the string output. The member name will be present, but the
3805// value will be replaced with "sensitive".
3806func (s BackendEnvironment) String() string {
3807	return awsutil.Prettify(s)
3808}
3809
3810// GoString returns the string representation.
3811//
3812// API parameter values that are decorated as "sensitive" in the API will not
3813// be included in the string output. The member name will be present, but the
3814// value will be replaced with "sensitive".
3815func (s BackendEnvironment) GoString() string {
3816	return s.String()
3817}
3818
3819// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value.
3820func (s *BackendEnvironment) SetBackendEnvironmentArn(v string) *BackendEnvironment {
3821	s.BackendEnvironmentArn = &v
3822	return s
3823}
3824
3825// SetCreateTime sets the CreateTime field's value.
3826func (s *BackendEnvironment) SetCreateTime(v time.Time) *BackendEnvironment {
3827	s.CreateTime = &v
3828	return s
3829}
3830
3831// SetDeploymentArtifacts sets the DeploymentArtifacts field's value.
3832func (s *BackendEnvironment) SetDeploymentArtifacts(v string) *BackendEnvironment {
3833	s.DeploymentArtifacts = &v
3834	return s
3835}
3836
3837// SetEnvironmentName sets the EnvironmentName field's value.
3838func (s *BackendEnvironment) SetEnvironmentName(v string) *BackendEnvironment {
3839	s.EnvironmentName = &v
3840	return s
3841}
3842
3843// SetStackName sets the StackName field's value.
3844func (s *BackendEnvironment) SetStackName(v string) *BackendEnvironment {
3845	s.StackName = &v
3846	return s
3847}
3848
3849// SetUpdateTime sets the UpdateTime field's value.
3850func (s *BackendEnvironment) SetUpdateTime(v time.Time) *BackendEnvironment {
3851	s.UpdateTime = &v
3852	return s
3853}
3854
3855// A request contains unexpected data.
3856type BadRequestException struct {
3857	_            struct{}                  `type:"structure"`
3858	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3859
3860	Message_ *string `locationName:"message" type:"string"`
3861}
3862
3863// String returns the string representation.
3864//
3865// API parameter values that are decorated as "sensitive" in the API will not
3866// be included in the string output. The member name will be present, but the
3867// value will be replaced with "sensitive".
3868func (s BadRequestException) String() string {
3869	return awsutil.Prettify(s)
3870}
3871
3872// GoString returns the string representation.
3873//
3874// API parameter values that are decorated as "sensitive" in the API will not
3875// be included in the string output. The member name will be present, but the
3876// value will be replaced with "sensitive".
3877func (s BadRequestException) GoString() string {
3878	return s.String()
3879}
3880
3881func newErrorBadRequestException(v protocol.ResponseMetadata) error {
3882	return &BadRequestException{
3883		RespMetadata: v,
3884	}
3885}
3886
3887// Code returns the exception type name.
3888func (s *BadRequestException) Code() string {
3889	return "BadRequestException"
3890}
3891
3892// Message returns the exception's message.
3893func (s *BadRequestException) Message() string {
3894	if s.Message_ != nil {
3895		return *s.Message_
3896	}
3897	return ""
3898}
3899
3900// OrigErr always returns nil, satisfies awserr.Error interface.
3901func (s *BadRequestException) OrigErr() error {
3902	return nil
3903}
3904
3905func (s *BadRequestException) Error() string {
3906	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3907}
3908
3909// Status code returns the HTTP status code for the request's response error.
3910func (s *BadRequestException) StatusCode() int {
3911	return s.RespMetadata.StatusCode
3912}
3913
3914// RequestID returns the service's response RequestID for request.
3915func (s *BadRequestException) RequestID() string {
3916	return s.RespMetadata.RequestID
3917}
3918
3919// The branch for an Amplify app, which maps to a third-party repository branch.
3920type Branch struct {
3921	_ struct{} `type:"structure"`
3922
3923	// The ID of the active job for a branch of an Amplify app.
3924	//
3925	// ActiveJobId is a required field
3926	ActiveJobId *string `locationName:"activeJobId" type:"string" required:"true"`
3927
3928	// A list of custom resources that are linked to this branch.
3929	AssociatedResources []*string `locationName:"associatedResources" type:"list"`
3930
3931	// The Amazon Resource Name (ARN) for a backend environment that is part of
3932	// an Amplify app.
3933	BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"`
3934
3935	// The basic authorization credentials for a branch of an Amplify app.
3936	//
3937	// BasicAuthCredentials is a sensitive parameter and its value will be
3938	// replaced with "sensitive" in string returned by Branch's
3939	// String and GoString methods.
3940	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
3941
3942	// The Amazon Resource Name (ARN) for a branch that is part of an Amplify app.
3943	//
3944	// BranchArn is a required field
3945	BranchArn *string `locationName:"branchArn" type:"string" required:"true"`
3946
3947	// The name for the branch that is part of an Amplify app.
3948	//
3949	// BranchName is a required field
3950	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
3951
3952	// The build specification (build spec) content for the branch of an Amplify
3953	// app.
3954	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
3955
3956	// The creation date and time for a branch that is part of an Amplify app.
3957	//
3958	// CreateTime is a required field
3959	CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"`
3960
3961	// The custom domains for a branch of an Amplify app.
3962	//
3963	// CustomDomains is a required field
3964	CustomDomains []*string `locationName:"customDomains" type:"list" required:"true"`
3965
3966	// The description for the branch that is part of an Amplify app.
3967	//
3968	// Description is a required field
3969	Description *string `locationName:"description" type:"string" required:"true"`
3970
3971	// The destination branch if the branch is a pull request branch.
3972	DestinationBranch *string `locationName:"destinationBranch" min:"1" type:"string"`
3973
3974	// The display name for the branch. This is used as the default domain prefix.
3975	//
3976	// DisplayName is a required field
3977	DisplayName *string `locationName:"displayName" type:"string" required:"true"`
3978
3979	// Enables auto-building on push for a branch of an Amplify app.
3980	//
3981	// EnableAutoBuild is a required field
3982	EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean" required:"true"`
3983
3984	// Enables basic authorization for a branch of an Amplify app.
3985	//
3986	// EnableBasicAuth is a required field
3987	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean" required:"true"`
3988
3989	// Enables notifications for a branch that is part of an Amplify app.
3990	//
3991	// EnableNotification is a required field
3992	EnableNotification *bool `locationName:"enableNotification" type:"boolean" required:"true"`
3993
3994	// Enables performance mode for the branch.
3995	//
3996	// Performance mode optimizes for faster hosting performance by keeping content
3997	// cached at the edge for a longer interval. When performance mode is enabled,
3998	// hosting configuration or code changes can take up to 10 minutes to roll out.
3999	EnablePerformanceMode *bool `locationName:"enablePerformanceMode" type:"boolean"`
4000
4001	// Enables pull request previews for the branch.
4002	//
4003	// EnablePullRequestPreview is a required field
4004	EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean" required:"true"`
4005
4006	// The environment variables specific to a branch of an Amplify app.
4007	//
4008	// EnvironmentVariables is a required field
4009	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map" required:"true"`
4010
4011	// The framework for a branch of an Amplify app.
4012	//
4013	// Framework is a required field
4014	Framework *string `locationName:"framework" type:"string" required:"true"`
4015
4016	// The Amplify environment name for the pull request.
4017	PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"`
4018
4019	// The source branch if the branch is a pull request branch.
4020	SourceBranch *string `locationName:"sourceBranch" min:"1" type:"string"`
4021
4022	// The current stage for the branch that is part of an Amplify app.
4023	//
4024	// Stage is a required field
4025	Stage *string `locationName:"stage" type:"string" required:"true" enum:"Stage"`
4026
4027	// The tag for the branch of an Amplify app.
4028	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4029
4030	// The thumbnail URL for the branch of an Amplify app.
4031	ThumbnailUrl *string `locationName:"thumbnailUrl" min:"1" type:"string"`
4032
4033	// The total number of jobs that are part of an Amplify app.
4034	//
4035	// TotalNumberOfJobs is a required field
4036	TotalNumberOfJobs *string `locationName:"totalNumberOfJobs" type:"string" required:"true"`
4037
4038	// The content Time to Live (TTL) for the website in seconds.
4039	//
4040	// Ttl is a required field
4041	Ttl *string `locationName:"ttl" type:"string" required:"true"`
4042
4043	// The last updated date and time for a branch that is part of an Amplify app.
4044	//
4045	// UpdateTime is a required field
4046	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"`
4047}
4048
4049// String returns the string representation.
4050//
4051// API parameter values that are decorated as "sensitive" in the API will not
4052// be included in the string output. The member name will be present, but the
4053// value will be replaced with "sensitive".
4054func (s Branch) String() string {
4055	return awsutil.Prettify(s)
4056}
4057
4058// GoString returns the string representation.
4059//
4060// API parameter values that are decorated as "sensitive" in the API will not
4061// be included in the string output. The member name will be present, but the
4062// value will be replaced with "sensitive".
4063func (s Branch) GoString() string {
4064	return s.String()
4065}
4066
4067// SetActiveJobId sets the ActiveJobId field's value.
4068func (s *Branch) SetActiveJobId(v string) *Branch {
4069	s.ActiveJobId = &v
4070	return s
4071}
4072
4073// SetAssociatedResources sets the AssociatedResources field's value.
4074func (s *Branch) SetAssociatedResources(v []*string) *Branch {
4075	s.AssociatedResources = v
4076	return s
4077}
4078
4079// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value.
4080func (s *Branch) SetBackendEnvironmentArn(v string) *Branch {
4081	s.BackendEnvironmentArn = &v
4082	return s
4083}
4084
4085// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
4086func (s *Branch) SetBasicAuthCredentials(v string) *Branch {
4087	s.BasicAuthCredentials = &v
4088	return s
4089}
4090
4091// SetBranchArn sets the BranchArn field's value.
4092func (s *Branch) SetBranchArn(v string) *Branch {
4093	s.BranchArn = &v
4094	return s
4095}
4096
4097// SetBranchName sets the BranchName field's value.
4098func (s *Branch) SetBranchName(v string) *Branch {
4099	s.BranchName = &v
4100	return s
4101}
4102
4103// SetBuildSpec sets the BuildSpec field's value.
4104func (s *Branch) SetBuildSpec(v string) *Branch {
4105	s.BuildSpec = &v
4106	return s
4107}
4108
4109// SetCreateTime sets the CreateTime field's value.
4110func (s *Branch) SetCreateTime(v time.Time) *Branch {
4111	s.CreateTime = &v
4112	return s
4113}
4114
4115// SetCustomDomains sets the CustomDomains field's value.
4116func (s *Branch) SetCustomDomains(v []*string) *Branch {
4117	s.CustomDomains = v
4118	return s
4119}
4120
4121// SetDescription sets the Description field's value.
4122func (s *Branch) SetDescription(v string) *Branch {
4123	s.Description = &v
4124	return s
4125}
4126
4127// SetDestinationBranch sets the DestinationBranch field's value.
4128func (s *Branch) SetDestinationBranch(v string) *Branch {
4129	s.DestinationBranch = &v
4130	return s
4131}
4132
4133// SetDisplayName sets the DisplayName field's value.
4134func (s *Branch) SetDisplayName(v string) *Branch {
4135	s.DisplayName = &v
4136	return s
4137}
4138
4139// SetEnableAutoBuild sets the EnableAutoBuild field's value.
4140func (s *Branch) SetEnableAutoBuild(v bool) *Branch {
4141	s.EnableAutoBuild = &v
4142	return s
4143}
4144
4145// SetEnableBasicAuth sets the EnableBasicAuth field's value.
4146func (s *Branch) SetEnableBasicAuth(v bool) *Branch {
4147	s.EnableBasicAuth = &v
4148	return s
4149}
4150
4151// SetEnableNotification sets the EnableNotification field's value.
4152func (s *Branch) SetEnableNotification(v bool) *Branch {
4153	s.EnableNotification = &v
4154	return s
4155}
4156
4157// SetEnablePerformanceMode sets the EnablePerformanceMode field's value.
4158func (s *Branch) SetEnablePerformanceMode(v bool) *Branch {
4159	s.EnablePerformanceMode = &v
4160	return s
4161}
4162
4163// SetEnablePullRequestPreview sets the EnablePullRequestPreview field's value.
4164func (s *Branch) SetEnablePullRequestPreview(v bool) *Branch {
4165	s.EnablePullRequestPreview = &v
4166	return s
4167}
4168
4169// SetEnvironmentVariables sets the EnvironmentVariables field's value.
4170func (s *Branch) SetEnvironmentVariables(v map[string]*string) *Branch {
4171	s.EnvironmentVariables = v
4172	return s
4173}
4174
4175// SetFramework sets the Framework field's value.
4176func (s *Branch) SetFramework(v string) *Branch {
4177	s.Framework = &v
4178	return s
4179}
4180
4181// SetPullRequestEnvironmentName sets the PullRequestEnvironmentName field's value.
4182func (s *Branch) SetPullRequestEnvironmentName(v string) *Branch {
4183	s.PullRequestEnvironmentName = &v
4184	return s
4185}
4186
4187// SetSourceBranch sets the SourceBranch field's value.
4188func (s *Branch) SetSourceBranch(v string) *Branch {
4189	s.SourceBranch = &v
4190	return s
4191}
4192
4193// SetStage sets the Stage field's value.
4194func (s *Branch) SetStage(v string) *Branch {
4195	s.Stage = &v
4196	return s
4197}
4198
4199// SetTags sets the Tags field's value.
4200func (s *Branch) SetTags(v map[string]*string) *Branch {
4201	s.Tags = v
4202	return s
4203}
4204
4205// SetThumbnailUrl sets the ThumbnailUrl field's value.
4206func (s *Branch) SetThumbnailUrl(v string) *Branch {
4207	s.ThumbnailUrl = &v
4208	return s
4209}
4210
4211// SetTotalNumberOfJobs sets the TotalNumberOfJobs field's value.
4212func (s *Branch) SetTotalNumberOfJobs(v string) *Branch {
4213	s.TotalNumberOfJobs = &v
4214	return s
4215}
4216
4217// SetTtl sets the Ttl field's value.
4218func (s *Branch) SetTtl(v string) *Branch {
4219	s.Ttl = &v
4220	return s
4221}
4222
4223// SetUpdateTime sets the UpdateTime field's value.
4224func (s *Branch) SetUpdateTime(v time.Time) *Branch {
4225	s.UpdateTime = &v
4226	return s
4227}
4228
4229// The request structure used to create apps in Amplify.
4230type CreateAppInput struct {
4231	_ struct{} `type:"structure"`
4232
4233	// The personal access token for a third-party source control system for an
4234	// Amplify app. The personal access token is used to create a webhook and a
4235	// read-only deploy key. The token is not stored.
4236	//
4237	// AccessToken is a sensitive parameter and its value will be
4238	// replaced with "sensitive" in string returned by CreateAppInput's
4239	// String and GoString methods.
4240	AccessToken *string `locationName:"accessToken" min:"1" type:"string" sensitive:"true"`
4241
4242	// The automated branch creation configuration for an Amplify app.
4243	AutoBranchCreationConfig *AutoBranchCreationConfig `locationName:"autoBranchCreationConfig" type:"structure"`
4244
4245	// The automated branch creation glob patterns for an Amplify app.
4246	AutoBranchCreationPatterns []*string `locationName:"autoBranchCreationPatterns" type:"list"`
4247
4248	// The credentials for basic authorization for an Amplify app.
4249	//
4250	// BasicAuthCredentials is a sensitive parameter and its value will be
4251	// replaced with "sensitive" in string returned by CreateAppInput's
4252	// String and GoString methods.
4253	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
4254
4255	// The build specification (build spec) for an Amplify app.
4256	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
4257
4258	// The custom HTTP headers for an Amplify app.
4259	CustomHeaders *string `locationName:"customHeaders" min:"1" type:"string"`
4260
4261	// The custom rewrite and redirect rules for an Amplify app.
4262	CustomRules []*CustomRule `locationName:"customRules" type:"list"`
4263
4264	// The description for an Amplify app.
4265	Description *string `locationName:"description" type:"string"`
4266
4267	// Enables automated branch creation for an Amplify app.
4268	EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"`
4269
4270	// Enables basic authorization for an Amplify app. This will apply to all branches
4271	// that are part of this app.
4272	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
4273
4274	// Enables the auto building of branches for an Amplify app.
4275	EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean"`
4276
4277	// Automatically disconnects a branch in the Amplify Console when you delete
4278	// a branch from your Git repository.
4279	EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"`
4280
4281	// The environment variables map for an Amplify app.
4282	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
4283
4284	// The AWS Identity and Access Management (IAM) service role for an Amplify
4285	// app.
4286	IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"`
4287
4288	// The name for an Amplify app.
4289	//
4290	// Name is a required field
4291	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4292
4293	// The OAuth token for a third-party source control system for an Amplify app.
4294	// The OAuth token is used to create a webhook and a read-only deploy key. The
4295	// OAuth token is not stored.
4296	//
4297	// OauthToken is a sensitive parameter and its value will be
4298	// replaced with "sensitive" in string returned by CreateAppInput's
4299	// String and GoString methods.
4300	OauthToken *string `locationName:"oauthToken" type:"string" sensitive:"true"`
4301
4302	// The platform or framework for an Amplify app.
4303	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
4304
4305	// The repository for an Amplify app.
4306	Repository *string `locationName:"repository" type:"string"`
4307
4308	// The tag for an Amplify app.
4309	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4310}
4311
4312// String returns the string representation.
4313//
4314// API parameter values that are decorated as "sensitive" in the API will not
4315// be included in the string output. The member name will be present, but the
4316// value will be replaced with "sensitive".
4317func (s CreateAppInput) String() string {
4318	return awsutil.Prettify(s)
4319}
4320
4321// GoString returns the string representation.
4322//
4323// API parameter values that are decorated as "sensitive" in the API will not
4324// be included in the string output. The member name will be present, but the
4325// value will be replaced with "sensitive".
4326func (s CreateAppInput) GoString() string {
4327	return s.String()
4328}
4329
4330// Validate inspects the fields of the type to determine if they are valid.
4331func (s *CreateAppInput) Validate() error {
4332	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
4333	if s.AccessToken != nil && len(*s.AccessToken) < 1 {
4334		invalidParams.Add(request.NewErrParamMinLen("AccessToken", 1))
4335	}
4336	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
4337		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
4338	}
4339	if s.CustomHeaders != nil && len(*s.CustomHeaders) < 1 {
4340		invalidParams.Add(request.NewErrParamMinLen("CustomHeaders", 1))
4341	}
4342	if s.IamServiceRoleArn != nil && len(*s.IamServiceRoleArn) < 1 {
4343		invalidParams.Add(request.NewErrParamMinLen("IamServiceRoleArn", 1))
4344	}
4345	if s.Name == nil {
4346		invalidParams.Add(request.NewErrParamRequired("Name"))
4347	}
4348	if s.Name != nil && len(*s.Name) < 1 {
4349		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4350	}
4351	if s.Tags != nil && len(s.Tags) < 1 {
4352		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4353	}
4354	if s.AutoBranchCreationConfig != nil {
4355		if err := s.AutoBranchCreationConfig.Validate(); err != nil {
4356			invalidParams.AddNested("AutoBranchCreationConfig", err.(request.ErrInvalidParams))
4357		}
4358	}
4359	if s.CustomRules != nil {
4360		for i, v := range s.CustomRules {
4361			if v == nil {
4362				continue
4363			}
4364			if err := v.Validate(); err != nil {
4365				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomRules", i), err.(request.ErrInvalidParams))
4366			}
4367		}
4368	}
4369
4370	if invalidParams.Len() > 0 {
4371		return invalidParams
4372	}
4373	return nil
4374}
4375
4376// SetAccessToken sets the AccessToken field's value.
4377func (s *CreateAppInput) SetAccessToken(v string) *CreateAppInput {
4378	s.AccessToken = &v
4379	return s
4380}
4381
4382// SetAutoBranchCreationConfig sets the AutoBranchCreationConfig field's value.
4383func (s *CreateAppInput) SetAutoBranchCreationConfig(v *AutoBranchCreationConfig) *CreateAppInput {
4384	s.AutoBranchCreationConfig = v
4385	return s
4386}
4387
4388// SetAutoBranchCreationPatterns sets the AutoBranchCreationPatterns field's value.
4389func (s *CreateAppInput) SetAutoBranchCreationPatterns(v []*string) *CreateAppInput {
4390	s.AutoBranchCreationPatterns = v
4391	return s
4392}
4393
4394// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
4395func (s *CreateAppInput) SetBasicAuthCredentials(v string) *CreateAppInput {
4396	s.BasicAuthCredentials = &v
4397	return s
4398}
4399
4400// SetBuildSpec sets the BuildSpec field's value.
4401func (s *CreateAppInput) SetBuildSpec(v string) *CreateAppInput {
4402	s.BuildSpec = &v
4403	return s
4404}
4405
4406// SetCustomHeaders sets the CustomHeaders field's value.
4407func (s *CreateAppInput) SetCustomHeaders(v string) *CreateAppInput {
4408	s.CustomHeaders = &v
4409	return s
4410}
4411
4412// SetCustomRules sets the CustomRules field's value.
4413func (s *CreateAppInput) SetCustomRules(v []*CustomRule) *CreateAppInput {
4414	s.CustomRules = v
4415	return s
4416}
4417
4418// SetDescription sets the Description field's value.
4419func (s *CreateAppInput) SetDescription(v string) *CreateAppInput {
4420	s.Description = &v
4421	return s
4422}
4423
4424// SetEnableAutoBranchCreation sets the EnableAutoBranchCreation field's value.
4425func (s *CreateAppInput) SetEnableAutoBranchCreation(v bool) *CreateAppInput {
4426	s.EnableAutoBranchCreation = &v
4427	return s
4428}
4429
4430// SetEnableBasicAuth sets the EnableBasicAuth field's value.
4431func (s *CreateAppInput) SetEnableBasicAuth(v bool) *CreateAppInput {
4432	s.EnableBasicAuth = &v
4433	return s
4434}
4435
4436// SetEnableBranchAutoBuild sets the EnableBranchAutoBuild field's value.
4437func (s *CreateAppInput) SetEnableBranchAutoBuild(v bool) *CreateAppInput {
4438	s.EnableBranchAutoBuild = &v
4439	return s
4440}
4441
4442// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value.
4443func (s *CreateAppInput) SetEnableBranchAutoDeletion(v bool) *CreateAppInput {
4444	s.EnableBranchAutoDeletion = &v
4445	return s
4446}
4447
4448// SetEnvironmentVariables sets the EnvironmentVariables field's value.
4449func (s *CreateAppInput) SetEnvironmentVariables(v map[string]*string) *CreateAppInput {
4450	s.EnvironmentVariables = v
4451	return s
4452}
4453
4454// SetIamServiceRoleArn sets the IamServiceRoleArn field's value.
4455func (s *CreateAppInput) SetIamServiceRoleArn(v string) *CreateAppInput {
4456	s.IamServiceRoleArn = &v
4457	return s
4458}
4459
4460// SetName sets the Name field's value.
4461func (s *CreateAppInput) SetName(v string) *CreateAppInput {
4462	s.Name = &v
4463	return s
4464}
4465
4466// SetOauthToken sets the OauthToken field's value.
4467func (s *CreateAppInput) SetOauthToken(v string) *CreateAppInput {
4468	s.OauthToken = &v
4469	return s
4470}
4471
4472// SetPlatform sets the Platform field's value.
4473func (s *CreateAppInput) SetPlatform(v string) *CreateAppInput {
4474	s.Platform = &v
4475	return s
4476}
4477
4478// SetRepository sets the Repository field's value.
4479func (s *CreateAppInput) SetRepository(v string) *CreateAppInput {
4480	s.Repository = &v
4481	return s
4482}
4483
4484// SetTags sets the Tags field's value.
4485func (s *CreateAppInput) SetTags(v map[string]*string) *CreateAppInput {
4486	s.Tags = v
4487	return s
4488}
4489
4490type CreateAppOutput struct {
4491	_ struct{} `type:"structure"`
4492
4493	// Represents the different branches of a repository for building, deploying,
4494	// and hosting an Amplify app.
4495	//
4496	// App is a required field
4497	App *App `locationName:"app" type:"structure" required:"true"`
4498}
4499
4500// String returns the string representation.
4501//
4502// API parameter values that are decorated as "sensitive" in the API will not
4503// be included in the string output. The member name will be present, but the
4504// value will be replaced with "sensitive".
4505func (s CreateAppOutput) String() string {
4506	return awsutil.Prettify(s)
4507}
4508
4509// GoString returns the string representation.
4510//
4511// API parameter values that are decorated as "sensitive" in the API will not
4512// be included in the string output. The member name will be present, but the
4513// value will be replaced with "sensitive".
4514func (s CreateAppOutput) GoString() string {
4515	return s.String()
4516}
4517
4518// SetApp sets the App field's value.
4519func (s *CreateAppOutput) SetApp(v *App) *CreateAppOutput {
4520	s.App = v
4521	return s
4522}
4523
4524// The request structure for the backend environment create request.
4525type CreateBackendEnvironmentInput struct {
4526	_ struct{} `type:"structure"`
4527
4528	// The unique ID for an Amplify app.
4529	//
4530	// AppId is a required field
4531	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
4532
4533	// The name of deployment artifacts.
4534	DeploymentArtifacts *string `locationName:"deploymentArtifacts" min:"1" type:"string"`
4535
4536	// The name for the backend environment.
4537	//
4538	// EnvironmentName is a required field
4539	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
4540
4541	// The AWS CloudFormation stack name of a backend environment.
4542	StackName *string `locationName:"stackName" min:"1" type:"string"`
4543}
4544
4545// String returns the string representation.
4546//
4547// API parameter values that are decorated as "sensitive" in the API will not
4548// be included in the string output. The member name will be present, but the
4549// value will be replaced with "sensitive".
4550func (s CreateBackendEnvironmentInput) String() string {
4551	return awsutil.Prettify(s)
4552}
4553
4554// GoString returns the string representation.
4555//
4556// API parameter values that are decorated as "sensitive" in the API will not
4557// be included in the string output. The member name will be present, but the
4558// value will be replaced with "sensitive".
4559func (s CreateBackendEnvironmentInput) GoString() string {
4560	return s.String()
4561}
4562
4563// Validate inspects the fields of the type to determine if they are valid.
4564func (s *CreateBackendEnvironmentInput) Validate() error {
4565	invalidParams := request.ErrInvalidParams{Context: "CreateBackendEnvironmentInput"}
4566	if s.AppId == nil {
4567		invalidParams.Add(request.NewErrParamRequired("AppId"))
4568	}
4569	if s.AppId != nil && len(*s.AppId) < 1 {
4570		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
4571	}
4572	if s.DeploymentArtifacts != nil && len(*s.DeploymentArtifacts) < 1 {
4573		invalidParams.Add(request.NewErrParamMinLen("DeploymentArtifacts", 1))
4574	}
4575	if s.EnvironmentName == nil {
4576		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
4577	}
4578	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
4579		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
4580	}
4581	if s.StackName != nil && len(*s.StackName) < 1 {
4582		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
4583	}
4584
4585	if invalidParams.Len() > 0 {
4586		return invalidParams
4587	}
4588	return nil
4589}
4590
4591// SetAppId sets the AppId field's value.
4592func (s *CreateBackendEnvironmentInput) SetAppId(v string) *CreateBackendEnvironmentInput {
4593	s.AppId = &v
4594	return s
4595}
4596
4597// SetDeploymentArtifacts sets the DeploymentArtifacts field's value.
4598func (s *CreateBackendEnvironmentInput) SetDeploymentArtifacts(v string) *CreateBackendEnvironmentInput {
4599	s.DeploymentArtifacts = &v
4600	return s
4601}
4602
4603// SetEnvironmentName sets the EnvironmentName field's value.
4604func (s *CreateBackendEnvironmentInput) SetEnvironmentName(v string) *CreateBackendEnvironmentInput {
4605	s.EnvironmentName = &v
4606	return s
4607}
4608
4609// SetStackName sets the StackName field's value.
4610func (s *CreateBackendEnvironmentInput) SetStackName(v string) *CreateBackendEnvironmentInput {
4611	s.StackName = &v
4612	return s
4613}
4614
4615// The result structure for the create backend environment request.
4616type CreateBackendEnvironmentOutput struct {
4617	_ struct{} `type:"structure"`
4618
4619	// Describes the backend environment for an Amplify app.
4620	//
4621	// BackendEnvironment is a required field
4622	BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"`
4623}
4624
4625// String returns the string representation.
4626//
4627// API parameter values that are decorated as "sensitive" in the API will not
4628// be included in the string output. The member name will be present, but the
4629// value will be replaced with "sensitive".
4630func (s CreateBackendEnvironmentOutput) String() string {
4631	return awsutil.Prettify(s)
4632}
4633
4634// GoString returns the string representation.
4635//
4636// API parameter values that are decorated as "sensitive" in the API will not
4637// be included in the string output. The member name will be present, but the
4638// value will be replaced with "sensitive".
4639func (s CreateBackendEnvironmentOutput) GoString() string {
4640	return s.String()
4641}
4642
4643// SetBackendEnvironment sets the BackendEnvironment field's value.
4644func (s *CreateBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *CreateBackendEnvironmentOutput {
4645	s.BackendEnvironment = v
4646	return s
4647}
4648
4649// The request structure for the create branch request.
4650type CreateBranchInput struct {
4651	_ struct{} `type:"structure"`
4652
4653	// The unique ID for an Amplify app.
4654	//
4655	// AppId is a required field
4656	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
4657
4658	// The Amazon Resource Name (ARN) for a backend environment that is part of
4659	// an Amplify app.
4660	BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"`
4661
4662	// The basic authorization credentials for the branch.
4663	//
4664	// BasicAuthCredentials is a sensitive parameter and its value will be
4665	// replaced with "sensitive" in string returned by CreateBranchInput's
4666	// String and GoString methods.
4667	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
4668
4669	// The name for the branch.
4670	//
4671	// BranchName is a required field
4672	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
4673
4674	// The build specification (build spec) for the branch.
4675	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
4676
4677	// The description for the branch.
4678	Description *string `locationName:"description" type:"string"`
4679
4680	// The display name for a branch. This is used as the default domain prefix.
4681	DisplayName *string `locationName:"displayName" type:"string"`
4682
4683	// Enables auto building for the branch.
4684	EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"`
4685
4686	// Enables basic authorization for the branch.
4687	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
4688
4689	// Enables notifications for the branch.
4690	EnableNotification *bool `locationName:"enableNotification" type:"boolean"`
4691
4692	// Enables performance mode for the branch.
4693	//
4694	// Performance mode optimizes for faster hosting performance by keeping content
4695	// cached at the edge for a longer interval. When performance mode is enabled,
4696	// hosting configuration or code changes can take up to 10 minutes to roll out.
4697	EnablePerformanceMode *bool `locationName:"enablePerformanceMode" type:"boolean"`
4698
4699	// Enables pull request previews for this branch.
4700	EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"`
4701
4702	// The environment variables for the branch.
4703	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
4704
4705	// The framework for the branch.
4706	Framework *string `locationName:"framework" type:"string"`
4707
4708	// The Amplify environment name for the pull request.
4709	PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"`
4710
4711	// Describes the current stage for the branch.
4712	Stage *string `locationName:"stage" type:"string" enum:"Stage"`
4713
4714	// The tag for the branch.
4715	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4716
4717	// The content Time To Live (TTL) for the website in seconds.
4718	Ttl *string `locationName:"ttl" type:"string"`
4719}
4720
4721// String returns the string representation.
4722//
4723// API parameter values that are decorated as "sensitive" in the API will not
4724// be included in the string output. The member name will be present, but the
4725// value will be replaced with "sensitive".
4726func (s CreateBranchInput) String() string {
4727	return awsutil.Prettify(s)
4728}
4729
4730// GoString returns the string representation.
4731//
4732// API parameter values that are decorated as "sensitive" in the API will not
4733// be included in the string output. The member name will be present, but the
4734// value will be replaced with "sensitive".
4735func (s CreateBranchInput) GoString() string {
4736	return s.String()
4737}
4738
4739// Validate inspects the fields of the type to determine if they are valid.
4740func (s *CreateBranchInput) Validate() error {
4741	invalidParams := request.ErrInvalidParams{Context: "CreateBranchInput"}
4742	if s.AppId == nil {
4743		invalidParams.Add(request.NewErrParamRequired("AppId"))
4744	}
4745	if s.AppId != nil && len(*s.AppId) < 1 {
4746		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
4747	}
4748	if s.BackendEnvironmentArn != nil && len(*s.BackendEnvironmentArn) < 1 {
4749		invalidParams.Add(request.NewErrParamMinLen("BackendEnvironmentArn", 1))
4750	}
4751	if s.BranchName == nil {
4752		invalidParams.Add(request.NewErrParamRequired("BranchName"))
4753	}
4754	if s.BranchName != nil && len(*s.BranchName) < 1 {
4755		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
4756	}
4757	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
4758		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
4759	}
4760	if s.Tags != nil && len(s.Tags) < 1 {
4761		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4762	}
4763
4764	if invalidParams.Len() > 0 {
4765		return invalidParams
4766	}
4767	return nil
4768}
4769
4770// SetAppId sets the AppId field's value.
4771func (s *CreateBranchInput) SetAppId(v string) *CreateBranchInput {
4772	s.AppId = &v
4773	return s
4774}
4775
4776// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value.
4777func (s *CreateBranchInput) SetBackendEnvironmentArn(v string) *CreateBranchInput {
4778	s.BackendEnvironmentArn = &v
4779	return s
4780}
4781
4782// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
4783func (s *CreateBranchInput) SetBasicAuthCredentials(v string) *CreateBranchInput {
4784	s.BasicAuthCredentials = &v
4785	return s
4786}
4787
4788// SetBranchName sets the BranchName field's value.
4789func (s *CreateBranchInput) SetBranchName(v string) *CreateBranchInput {
4790	s.BranchName = &v
4791	return s
4792}
4793
4794// SetBuildSpec sets the BuildSpec field's value.
4795func (s *CreateBranchInput) SetBuildSpec(v string) *CreateBranchInput {
4796	s.BuildSpec = &v
4797	return s
4798}
4799
4800// SetDescription sets the Description field's value.
4801func (s *CreateBranchInput) SetDescription(v string) *CreateBranchInput {
4802	s.Description = &v
4803	return s
4804}
4805
4806// SetDisplayName sets the DisplayName field's value.
4807func (s *CreateBranchInput) SetDisplayName(v string) *CreateBranchInput {
4808	s.DisplayName = &v
4809	return s
4810}
4811
4812// SetEnableAutoBuild sets the EnableAutoBuild field's value.
4813func (s *CreateBranchInput) SetEnableAutoBuild(v bool) *CreateBranchInput {
4814	s.EnableAutoBuild = &v
4815	return s
4816}
4817
4818// SetEnableBasicAuth sets the EnableBasicAuth field's value.
4819func (s *CreateBranchInput) SetEnableBasicAuth(v bool) *CreateBranchInput {
4820	s.EnableBasicAuth = &v
4821	return s
4822}
4823
4824// SetEnableNotification sets the EnableNotification field's value.
4825func (s *CreateBranchInput) SetEnableNotification(v bool) *CreateBranchInput {
4826	s.EnableNotification = &v
4827	return s
4828}
4829
4830// SetEnablePerformanceMode sets the EnablePerformanceMode field's value.
4831func (s *CreateBranchInput) SetEnablePerformanceMode(v bool) *CreateBranchInput {
4832	s.EnablePerformanceMode = &v
4833	return s
4834}
4835
4836// SetEnablePullRequestPreview sets the EnablePullRequestPreview field's value.
4837func (s *CreateBranchInput) SetEnablePullRequestPreview(v bool) *CreateBranchInput {
4838	s.EnablePullRequestPreview = &v
4839	return s
4840}
4841
4842// SetEnvironmentVariables sets the EnvironmentVariables field's value.
4843func (s *CreateBranchInput) SetEnvironmentVariables(v map[string]*string) *CreateBranchInput {
4844	s.EnvironmentVariables = v
4845	return s
4846}
4847
4848// SetFramework sets the Framework field's value.
4849func (s *CreateBranchInput) SetFramework(v string) *CreateBranchInput {
4850	s.Framework = &v
4851	return s
4852}
4853
4854// SetPullRequestEnvironmentName sets the PullRequestEnvironmentName field's value.
4855func (s *CreateBranchInput) SetPullRequestEnvironmentName(v string) *CreateBranchInput {
4856	s.PullRequestEnvironmentName = &v
4857	return s
4858}
4859
4860// SetStage sets the Stage field's value.
4861func (s *CreateBranchInput) SetStage(v string) *CreateBranchInput {
4862	s.Stage = &v
4863	return s
4864}
4865
4866// SetTags sets the Tags field's value.
4867func (s *CreateBranchInput) SetTags(v map[string]*string) *CreateBranchInput {
4868	s.Tags = v
4869	return s
4870}
4871
4872// SetTtl sets the Ttl field's value.
4873func (s *CreateBranchInput) SetTtl(v string) *CreateBranchInput {
4874	s.Ttl = &v
4875	return s
4876}
4877
4878// The result structure for create branch request.
4879type CreateBranchOutput struct {
4880	_ struct{} `type:"structure"`
4881
4882	// Describes the branch for an Amplify app, which maps to a third-party repository
4883	// branch.
4884	//
4885	// Branch is a required field
4886	Branch *Branch `locationName:"branch" type:"structure" required:"true"`
4887}
4888
4889// String returns the string representation.
4890//
4891// API parameter values that are decorated as "sensitive" in the API will not
4892// be included in the string output. The member name will be present, but the
4893// value will be replaced with "sensitive".
4894func (s CreateBranchOutput) String() string {
4895	return awsutil.Prettify(s)
4896}
4897
4898// GoString returns the string representation.
4899//
4900// API parameter values that are decorated as "sensitive" in the API will not
4901// be included in the string output. The member name will be present, but the
4902// value will be replaced with "sensitive".
4903func (s CreateBranchOutput) GoString() string {
4904	return s.String()
4905}
4906
4907// SetBranch sets the Branch field's value.
4908func (s *CreateBranchOutput) SetBranch(v *Branch) *CreateBranchOutput {
4909	s.Branch = v
4910	return s
4911}
4912
4913// The request structure for the create a new deployment request.
4914type CreateDeploymentInput struct {
4915	_ struct{} `type:"structure"`
4916
4917	// The unique ID for an Amplify app.
4918	//
4919	// AppId is a required field
4920	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
4921
4922	// The name for the branch, for the job.
4923	//
4924	// BranchName is a required field
4925	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
4926
4927	// An optional file map that contains the file name as the key and the file
4928	// content md5 hash as the value. If this argument is provided, the service
4929	// will generate a unique upload URL per file. Otherwise, the service will only
4930	// generate a single upload URL for the zipped files.
4931	FileMap map[string]*string `locationName:"fileMap" type:"map"`
4932}
4933
4934// String returns the string representation.
4935//
4936// API parameter values that are decorated as "sensitive" in the API will not
4937// be included in the string output. The member name will be present, but the
4938// value will be replaced with "sensitive".
4939func (s CreateDeploymentInput) String() string {
4940	return awsutil.Prettify(s)
4941}
4942
4943// GoString returns the string representation.
4944//
4945// API parameter values that are decorated as "sensitive" in the API will not
4946// be included in the string output. The member name will be present, but the
4947// value will be replaced with "sensitive".
4948func (s CreateDeploymentInput) GoString() string {
4949	return s.String()
4950}
4951
4952// Validate inspects the fields of the type to determine if they are valid.
4953func (s *CreateDeploymentInput) Validate() error {
4954	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
4955	if s.AppId == nil {
4956		invalidParams.Add(request.NewErrParamRequired("AppId"))
4957	}
4958	if s.AppId != nil && len(*s.AppId) < 1 {
4959		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
4960	}
4961	if s.BranchName == nil {
4962		invalidParams.Add(request.NewErrParamRequired("BranchName"))
4963	}
4964	if s.BranchName != nil && len(*s.BranchName) < 1 {
4965		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
4966	}
4967
4968	if invalidParams.Len() > 0 {
4969		return invalidParams
4970	}
4971	return nil
4972}
4973
4974// SetAppId sets the AppId field's value.
4975func (s *CreateDeploymentInput) SetAppId(v string) *CreateDeploymentInput {
4976	s.AppId = &v
4977	return s
4978}
4979
4980// SetBranchName sets the BranchName field's value.
4981func (s *CreateDeploymentInput) SetBranchName(v string) *CreateDeploymentInput {
4982	s.BranchName = &v
4983	return s
4984}
4985
4986// SetFileMap sets the FileMap field's value.
4987func (s *CreateDeploymentInput) SetFileMap(v map[string]*string) *CreateDeploymentInput {
4988	s.FileMap = v
4989	return s
4990}
4991
4992// The result structure for the create a new deployment request.
4993type CreateDeploymentOutput struct {
4994	_ struct{} `type:"structure"`
4995
4996	// When the fileMap argument is provided in the request, fileUploadUrls will
4997	// contain a map of file names to upload URLs.
4998	//
4999	// FileUploadUrls is a required field
5000	FileUploadUrls map[string]*string `locationName:"fileUploadUrls" type:"map" required:"true"`
5001
5002	// The job ID for this deployment. will supply to start deployment api.
5003	JobId *string `locationName:"jobId" type:"string"`
5004
5005	// When the fileMap argument is not provided in the request, this zipUploadUrl
5006	// is returned.
5007	//
5008	// ZipUploadUrl is a required field
5009	ZipUploadUrl *string `locationName:"zipUploadUrl" type:"string" required:"true"`
5010}
5011
5012// String returns the string representation.
5013//
5014// API parameter values that are decorated as "sensitive" in the API will not
5015// be included in the string output. The member name will be present, but the
5016// value will be replaced with "sensitive".
5017func (s CreateDeploymentOutput) String() string {
5018	return awsutil.Prettify(s)
5019}
5020
5021// GoString returns the string representation.
5022//
5023// API parameter values that are decorated as "sensitive" in the API will not
5024// be included in the string output. The member name will be present, but the
5025// value will be replaced with "sensitive".
5026func (s CreateDeploymentOutput) GoString() string {
5027	return s.String()
5028}
5029
5030// SetFileUploadUrls sets the FileUploadUrls field's value.
5031func (s *CreateDeploymentOutput) SetFileUploadUrls(v map[string]*string) *CreateDeploymentOutput {
5032	s.FileUploadUrls = v
5033	return s
5034}
5035
5036// SetJobId sets the JobId field's value.
5037func (s *CreateDeploymentOutput) SetJobId(v string) *CreateDeploymentOutput {
5038	s.JobId = &v
5039	return s
5040}
5041
5042// SetZipUploadUrl sets the ZipUploadUrl field's value.
5043func (s *CreateDeploymentOutput) SetZipUploadUrl(v string) *CreateDeploymentOutput {
5044	s.ZipUploadUrl = &v
5045	return s
5046}
5047
5048// The request structure for the create domain association request.
5049type CreateDomainAssociationInput struct {
5050	_ struct{} `type:"structure"`
5051
5052	// The unique ID for an Amplify app.
5053	//
5054	// AppId is a required field
5055	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5056
5057	// Sets the branch patterns for automatic subdomain creation.
5058	AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"`
5059
5060	// The required AWS Identity and Access Management (IAM) service role for the
5061	// Amazon Resource Name (ARN) for automatically creating subdomains.
5062	AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"`
5063
5064	// The domain name for the domain association.
5065	//
5066	// DomainName is a required field
5067	DomainName *string `locationName:"domainName" type:"string" required:"true"`
5068
5069	// Enables the automated creation of subdomains for branches.
5070	EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean"`
5071
5072	// The setting for the subdomain.
5073	//
5074	// SubDomainSettings is a required field
5075	SubDomainSettings []*SubDomainSetting `locationName:"subDomainSettings" type:"list" required:"true"`
5076}
5077
5078// String returns the string representation.
5079//
5080// API parameter values that are decorated as "sensitive" in the API will not
5081// be included in the string output. The member name will be present, but the
5082// value will be replaced with "sensitive".
5083func (s CreateDomainAssociationInput) String() string {
5084	return awsutil.Prettify(s)
5085}
5086
5087// GoString returns the string representation.
5088//
5089// API parameter values that are decorated as "sensitive" in the API will not
5090// be included in the string output. The member name will be present, but the
5091// value will be replaced with "sensitive".
5092func (s CreateDomainAssociationInput) GoString() string {
5093	return s.String()
5094}
5095
5096// Validate inspects the fields of the type to determine if they are valid.
5097func (s *CreateDomainAssociationInput) Validate() error {
5098	invalidParams := request.ErrInvalidParams{Context: "CreateDomainAssociationInput"}
5099	if s.AppId == nil {
5100		invalidParams.Add(request.NewErrParamRequired("AppId"))
5101	}
5102	if s.AppId != nil && len(*s.AppId) < 1 {
5103		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5104	}
5105	if s.DomainName == nil {
5106		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5107	}
5108	if s.SubDomainSettings == nil {
5109		invalidParams.Add(request.NewErrParamRequired("SubDomainSettings"))
5110	}
5111	if s.SubDomainSettings != nil {
5112		for i, v := range s.SubDomainSettings {
5113			if v == nil {
5114				continue
5115			}
5116			if err := v.Validate(); err != nil {
5117				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SubDomainSettings", i), err.(request.ErrInvalidParams))
5118			}
5119		}
5120	}
5121
5122	if invalidParams.Len() > 0 {
5123		return invalidParams
5124	}
5125	return nil
5126}
5127
5128// SetAppId sets the AppId field's value.
5129func (s *CreateDomainAssociationInput) SetAppId(v string) *CreateDomainAssociationInput {
5130	s.AppId = &v
5131	return s
5132}
5133
5134// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value.
5135func (s *CreateDomainAssociationInput) SetAutoSubDomainCreationPatterns(v []*string) *CreateDomainAssociationInput {
5136	s.AutoSubDomainCreationPatterns = v
5137	return s
5138}
5139
5140// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value.
5141func (s *CreateDomainAssociationInput) SetAutoSubDomainIAMRole(v string) *CreateDomainAssociationInput {
5142	s.AutoSubDomainIAMRole = &v
5143	return s
5144}
5145
5146// SetDomainName sets the DomainName field's value.
5147func (s *CreateDomainAssociationInput) SetDomainName(v string) *CreateDomainAssociationInput {
5148	s.DomainName = &v
5149	return s
5150}
5151
5152// SetEnableAutoSubDomain sets the EnableAutoSubDomain field's value.
5153func (s *CreateDomainAssociationInput) SetEnableAutoSubDomain(v bool) *CreateDomainAssociationInput {
5154	s.EnableAutoSubDomain = &v
5155	return s
5156}
5157
5158// SetSubDomainSettings sets the SubDomainSettings field's value.
5159func (s *CreateDomainAssociationInput) SetSubDomainSettings(v []*SubDomainSetting) *CreateDomainAssociationInput {
5160	s.SubDomainSettings = v
5161	return s
5162}
5163
5164// The result structure for the create domain association request.
5165type CreateDomainAssociationOutput struct {
5166	_ struct{} `type:"structure"`
5167
5168	// Describes the structure of a domain association, which associates a custom
5169	// domain with an Amplify app.
5170	//
5171	// DomainAssociation is a required field
5172	DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"`
5173}
5174
5175// String returns the string representation.
5176//
5177// API parameter values that are decorated as "sensitive" in the API will not
5178// be included in the string output. The member name will be present, but the
5179// value will be replaced with "sensitive".
5180func (s CreateDomainAssociationOutput) String() string {
5181	return awsutil.Prettify(s)
5182}
5183
5184// GoString returns the string representation.
5185//
5186// API parameter values that are decorated as "sensitive" in the API will not
5187// be included in the string output. The member name will be present, but the
5188// value will be replaced with "sensitive".
5189func (s CreateDomainAssociationOutput) GoString() string {
5190	return s.String()
5191}
5192
5193// SetDomainAssociation sets the DomainAssociation field's value.
5194func (s *CreateDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) *CreateDomainAssociationOutput {
5195	s.DomainAssociation = v
5196	return s
5197}
5198
5199// The request structure for the create webhook request.
5200type CreateWebhookInput struct {
5201	_ struct{} `type:"structure"`
5202
5203	// The unique ID for an Amplify app.
5204	//
5205	// AppId is a required field
5206	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5207
5208	// The name for a branch that is part of an Amplify app.
5209	//
5210	// BranchName is a required field
5211	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
5212
5213	// The description for a webhook.
5214	Description *string `locationName:"description" type:"string"`
5215}
5216
5217// String returns the string representation.
5218//
5219// API parameter values that are decorated as "sensitive" in the API will not
5220// be included in the string output. The member name will be present, but the
5221// value will be replaced with "sensitive".
5222func (s CreateWebhookInput) String() string {
5223	return awsutil.Prettify(s)
5224}
5225
5226// GoString returns the string representation.
5227//
5228// API parameter values that are decorated as "sensitive" in the API will not
5229// be included in the string output. The member name will be present, but the
5230// value will be replaced with "sensitive".
5231func (s CreateWebhookInput) GoString() string {
5232	return s.String()
5233}
5234
5235// Validate inspects the fields of the type to determine if they are valid.
5236func (s *CreateWebhookInput) Validate() error {
5237	invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"}
5238	if s.AppId == nil {
5239		invalidParams.Add(request.NewErrParamRequired("AppId"))
5240	}
5241	if s.AppId != nil && len(*s.AppId) < 1 {
5242		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5243	}
5244	if s.BranchName == nil {
5245		invalidParams.Add(request.NewErrParamRequired("BranchName"))
5246	}
5247	if s.BranchName != nil && len(*s.BranchName) < 1 {
5248		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
5249	}
5250
5251	if invalidParams.Len() > 0 {
5252		return invalidParams
5253	}
5254	return nil
5255}
5256
5257// SetAppId sets the AppId field's value.
5258func (s *CreateWebhookInput) SetAppId(v string) *CreateWebhookInput {
5259	s.AppId = &v
5260	return s
5261}
5262
5263// SetBranchName sets the BranchName field's value.
5264func (s *CreateWebhookInput) SetBranchName(v string) *CreateWebhookInput {
5265	s.BranchName = &v
5266	return s
5267}
5268
5269// SetDescription sets the Description field's value.
5270func (s *CreateWebhookInput) SetDescription(v string) *CreateWebhookInput {
5271	s.Description = &v
5272	return s
5273}
5274
5275// The result structure for the create webhook request.
5276type CreateWebhookOutput struct {
5277	_ struct{} `type:"structure"`
5278
5279	// Describes a webhook that connects repository events to an Amplify app.
5280	//
5281	// Webhook is a required field
5282	Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"`
5283}
5284
5285// String returns the string representation.
5286//
5287// API parameter values that are decorated as "sensitive" in the API will not
5288// be included in the string output. The member name will be present, but the
5289// value will be replaced with "sensitive".
5290func (s CreateWebhookOutput) String() string {
5291	return awsutil.Prettify(s)
5292}
5293
5294// GoString returns the string representation.
5295//
5296// API parameter values that are decorated as "sensitive" in the API will not
5297// be included in the string output. The member name will be present, but the
5298// value will be replaced with "sensitive".
5299func (s CreateWebhookOutput) GoString() string {
5300	return s.String()
5301}
5302
5303// SetWebhook sets the Webhook field's value.
5304func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput {
5305	s.Webhook = v
5306	return s
5307}
5308
5309// Describes a custom rewrite or redirect rule.
5310type CustomRule struct {
5311	_ struct{} `type:"structure"`
5312
5313	// The condition for a URL rewrite or redirect rule, such as a country code.
5314	Condition *string `locationName:"condition" min:"1" type:"string"`
5315
5316	// The source pattern for a URL rewrite or redirect rule.
5317	//
5318	// Source is a required field
5319	Source *string `locationName:"source" min:"1" type:"string" required:"true"`
5320
5321	// The status code for a URL rewrite or redirect rule.
5322	//
5323	// 200
5324	//
5325	// Represents a 200 rewrite rule.
5326	//
5327	// 301
5328	//
5329	// Represents a 301 (moved pemanently) redirect rule. This and all future requests
5330	// should be directed to the target URL.
5331	//
5332	// 302
5333	//
5334	// Represents a 302 temporary redirect rule.
5335	//
5336	// 404
5337	//
5338	// Represents a 404 redirect rule.
5339	//
5340	// 404-200
5341	//
5342	// Represents a 404 rewrite rule.
5343	Status *string `locationName:"status" min:"3" type:"string"`
5344
5345	// The target pattern for a URL rewrite or redirect rule.
5346	//
5347	// Target is a required field
5348	Target *string `locationName:"target" min:"1" type:"string" required:"true"`
5349}
5350
5351// String returns the string representation.
5352//
5353// API parameter values that are decorated as "sensitive" in the API will not
5354// be included in the string output. The member name will be present, but the
5355// value will be replaced with "sensitive".
5356func (s CustomRule) String() string {
5357	return awsutil.Prettify(s)
5358}
5359
5360// GoString returns the string representation.
5361//
5362// API parameter values that are decorated as "sensitive" in the API will not
5363// be included in the string output. The member name will be present, but the
5364// value will be replaced with "sensitive".
5365func (s CustomRule) GoString() string {
5366	return s.String()
5367}
5368
5369// Validate inspects the fields of the type to determine if they are valid.
5370func (s *CustomRule) Validate() error {
5371	invalidParams := request.ErrInvalidParams{Context: "CustomRule"}
5372	if s.Condition != nil && len(*s.Condition) < 1 {
5373		invalidParams.Add(request.NewErrParamMinLen("Condition", 1))
5374	}
5375	if s.Source == nil {
5376		invalidParams.Add(request.NewErrParamRequired("Source"))
5377	}
5378	if s.Source != nil && len(*s.Source) < 1 {
5379		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
5380	}
5381	if s.Status != nil && len(*s.Status) < 3 {
5382		invalidParams.Add(request.NewErrParamMinLen("Status", 3))
5383	}
5384	if s.Target == nil {
5385		invalidParams.Add(request.NewErrParamRequired("Target"))
5386	}
5387	if s.Target != nil && len(*s.Target) < 1 {
5388		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
5389	}
5390
5391	if invalidParams.Len() > 0 {
5392		return invalidParams
5393	}
5394	return nil
5395}
5396
5397// SetCondition sets the Condition field's value.
5398func (s *CustomRule) SetCondition(v string) *CustomRule {
5399	s.Condition = &v
5400	return s
5401}
5402
5403// SetSource sets the Source field's value.
5404func (s *CustomRule) SetSource(v string) *CustomRule {
5405	s.Source = &v
5406	return s
5407}
5408
5409// SetStatus sets the Status field's value.
5410func (s *CustomRule) SetStatus(v string) *CustomRule {
5411	s.Status = &v
5412	return s
5413}
5414
5415// SetTarget sets the Target field's value.
5416func (s *CustomRule) SetTarget(v string) *CustomRule {
5417	s.Target = &v
5418	return s
5419}
5420
5421// Describes the request structure for the delete app request.
5422type DeleteAppInput struct {
5423	_ struct{} `type:"structure" nopayload:"true"`
5424
5425	// The unique ID for an Amplify app.
5426	//
5427	// AppId is a required field
5428	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5429}
5430
5431// String returns the string representation.
5432//
5433// API parameter values that are decorated as "sensitive" in the API will not
5434// be included in the string output. The member name will be present, but the
5435// value will be replaced with "sensitive".
5436func (s DeleteAppInput) String() string {
5437	return awsutil.Prettify(s)
5438}
5439
5440// GoString returns the string representation.
5441//
5442// API parameter values that are decorated as "sensitive" in the API will not
5443// be included in the string output. The member name will be present, but the
5444// value will be replaced with "sensitive".
5445func (s DeleteAppInput) GoString() string {
5446	return s.String()
5447}
5448
5449// Validate inspects the fields of the type to determine if they are valid.
5450func (s *DeleteAppInput) Validate() error {
5451	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
5452	if s.AppId == nil {
5453		invalidParams.Add(request.NewErrParamRequired("AppId"))
5454	}
5455	if s.AppId != nil && len(*s.AppId) < 1 {
5456		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5457	}
5458
5459	if invalidParams.Len() > 0 {
5460		return invalidParams
5461	}
5462	return nil
5463}
5464
5465// SetAppId sets the AppId field's value.
5466func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput {
5467	s.AppId = &v
5468	return s
5469}
5470
5471// The result structure for the delete app request.
5472type DeleteAppOutput struct {
5473	_ struct{} `type:"structure"`
5474
5475	// Represents the different branches of a repository for building, deploying,
5476	// and hosting an Amplify app.
5477	//
5478	// App is a required field
5479	App *App `locationName:"app" type:"structure" required:"true"`
5480}
5481
5482// String returns the string representation.
5483//
5484// API parameter values that are decorated as "sensitive" in the API will not
5485// be included in the string output. The member name will be present, but the
5486// value will be replaced with "sensitive".
5487func (s DeleteAppOutput) String() string {
5488	return awsutil.Prettify(s)
5489}
5490
5491// GoString returns the string representation.
5492//
5493// API parameter values that are decorated as "sensitive" in the API will not
5494// be included in the string output. The member name will be present, but the
5495// value will be replaced with "sensitive".
5496func (s DeleteAppOutput) GoString() string {
5497	return s.String()
5498}
5499
5500// SetApp sets the App field's value.
5501func (s *DeleteAppOutput) SetApp(v *App) *DeleteAppOutput {
5502	s.App = v
5503	return s
5504}
5505
5506// The request structure for the delete backend environment request.
5507type DeleteBackendEnvironmentInput struct {
5508	_ struct{} `type:"structure" nopayload:"true"`
5509
5510	// The unique ID of an Amplify app.
5511	//
5512	// AppId is a required field
5513	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5514
5515	// The name of a backend environment of an Amplify app.
5516	//
5517	// EnvironmentName is a required field
5518	EnvironmentName *string `location:"uri" locationName:"environmentName" min:"1" type:"string" required:"true"`
5519}
5520
5521// String returns the string representation.
5522//
5523// API parameter values that are decorated as "sensitive" in the API will not
5524// be included in the string output. The member name will be present, but the
5525// value will be replaced with "sensitive".
5526func (s DeleteBackendEnvironmentInput) String() string {
5527	return awsutil.Prettify(s)
5528}
5529
5530// GoString returns the string representation.
5531//
5532// API parameter values that are decorated as "sensitive" in the API will not
5533// be included in the string output. The member name will be present, but the
5534// value will be replaced with "sensitive".
5535func (s DeleteBackendEnvironmentInput) GoString() string {
5536	return s.String()
5537}
5538
5539// Validate inspects the fields of the type to determine if they are valid.
5540func (s *DeleteBackendEnvironmentInput) Validate() error {
5541	invalidParams := request.ErrInvalidParams{Context: "DeleteBackendEnvironmentInput"}
5542	if s.AppId == nil {
5543		invalidParams.Add(request.NewErrParamRequired("AppId"))
5544	}
5545	if s.AppId != nil && len(*s.AppId) < 1 {
5546		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5547	}
5548	if s.EnvironmentName == nil {
5549		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
5550	}
5551	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
5552		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
5553	}
5554
5555	if invalidParams.Len() > 0 {
5556		return invalidParams
5557	}
5558	return nil
5559}
5560
5561// SetAppId sets the AppId field's value.
5562func (s *DeleteBackendEnvironmentInput) SetAppId(v string) *DeleteBackendEnvironmentInput {
5563	s.AppId = &v
5564	return s
5565}
5566
5567// SetEnvironmentName sets the EnvironmentName field's value.
5568func (s *DeleteBackendEnvironmentInput) SetEnvironmentName(v string) *DeleteBackendEnvironmentInput {
5569	s.EnvironmentName = &v
5570	return s
5571}
5572
5573// The result structure of the delete backend environment result.
5574type DeleteBackendEnvironmentOutput struct {
5575	_ struct{} `type:"structure"`
5576
5577	// Describes the backend environment for an Amplify app.
5578	//
5579	// BackendEnvironment is a required field
5580	BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"`
5581}
5582
5583// String returns the string representation.
5584//
5585// API parameter values that are decorated as "sensitive" in the API will not
5586// be included in the string output. The member name will be present, but the
5587// value will be replaced with "sensitive".
5588func (s DeleteBackendEnvironmentOutput) String() string {
5589	return awsutil.Prettify(s)
5590}
5591
5592// GoString returns the string representation.
5593//
5594// API parameter values that are decorated as "sensitive" in the API will not
5595// be included in the string output. The member name will be present, but the
5596// value will be replaced with "sensitive".
5597func (s DeleteBackendEnvironmentOutput) GoString() string {
5598	return s.String()
5599}
5600
5601// SetBackendEnvironment sets the BackendEnvironment field's value.
5602func (s *DeleteBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *DeleteBackendEnvironmentOutput {
5603	s.BackendEnvironment = v
5604	return s
5605}
5606
5607// The request structure for the delete branch request.
5608type DeleteBranchInput struct {
5609	_ struct{} `type:"structure" nopayload:"true"`
5610
5611	// The unique ID for an Amplify app.
5612	//
5613	// AppId is a required field
5614	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5615
5616	// The name for the branch.
5617	//
5618	// BranchName is a required field
5619	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
5620}
5621
5622// String returns the string representation.
5623//
5624// API parameter values that are decorated as "sensitive" in the API will not
5625// be included in the string output. The member name will be present, but the
5626// value will be replaced with "sensitive".
5627func (s DeleteBranchInput) String() string {
5628	return awsutil.Prettify(s)
5629}
5630
5631// GoString returns the string representation.
5632//
5633// API parameter values that are decorated as "sensitive" in the API will not
5634// be included in the string output. The member name will be present, but the
5635// value will be replaced with "sensitive".
5636func (s DeleteBranchInput) GoString() string {
5637	return s.String()
5638}
5639
5640// Validate inspects the fields of the type to determine if they are valid.
5641func (s *DeleteBranchInput) Validate() error {
5642	invalidParams := request.ErrInvalidParams{Context: "DeleteBranchInput"}
5643	if s.AppId == nil {
5644		invalidParams.Add(request.NewErrParamRequired("AppId"))
5645	}
5646	if s.AppId != nil && len(*s.AppId) < 1 {
5647		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5648	}
5649	if s.BranchName == nil {
5650		invalidParams.Add(request.NewErrParamRequired("BranchName"))
5651	}
5652	if s.BranchName != nil && len(*s.BranchName) < 1 {
5653		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
5654	}
5655
5656	if invalidParams.Len() > 0 {
5657		return invalidParams
5658	}
5659	return nil
5660}
5661
5662// SetAppId sets the AppId field's value.
5663func (s *DeleteBranchInput) SetAppId(v string) *DeleteBranchInput {
5664	s.AppId = &v
5665	return s
5666}
5667
5668// SetBranchName sets the BranchName field's value.
5669func (s *DeleteBranchInput) SetBranchName(v string) *DeleteBranchInput {
5670	s.BranchName = &v
5671	return s
5672}
5673
5674// The result structure for the delete branch request.
5675type DeleteBranchOutput struct {
5676	_ struct{} `type:"structure"`
5677
5678	// The branch for an Amplify app, which maps to a third-party repository branch.
5679	//
5680	// Branch is a required field
5681	Branch *Branch `locationName:"branch" type:"structure" required:"true"`
5682}
5683
5684// String returns the string representation.
5685//
5686// API parameter values that are decorated as "sensitive" in the API will not
5687// be included in the string output. The member name will be present, but the
5688// value will be replaced with "sensitive".
5689func (s DeleteBranchOutput) String() string {
5690	return awsutil.Prettify(s)
5691}
5692
5693// GoString returns the string representation.
5694//
5695// API parameter values that are decorated as "sensitive" in the API will not
5696// be included in the string output. The member name will be present, but the
5697// value will be replaced with "sensitive".
5698func (s DeleteBranchOutput) GoString() string {
5699	return s.String()
5700}
5701
5702// SetBranch sets the Branch field's value.
5703func (s *DeleteBranchOutput) SetBranch(v *Branch) *DeleteBranchOutput {
5704	s.Branch = v
5705	return s
5706}
5707
5708// The request structure for the delete domain association request.
5709type DeleteDomainAssociationInput struct {
5710	_ struct{} `type:"structure" nopayload:"true"`
5711
5712	// The unique id for an Amplify app.
5713	//
5714	// AppId is a required field
5715	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5716
5717	// The name of the domain.
5718	//
5719	// DomainName is a required field
5720	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
5721}
5722
5723// String returns the string representation.
5724//
5725// API parameter values that are decorated as "sensitive" in the API will not
5726// be included in the string output. The member name will be present, but the
5727// value will be replaced with "sensitive".
5728func (s DeleteDomainAssociationInput) String() string {
5729	return awsutil.Prettify(s)
5730}
5731
5732// GoString returns the string representation.
5733//
5734// API parameter values that are decorated as "sensitive" in the API will not
5735// be included in the string output. The member name will be present, but the
5736// value will be replaced with "sensitive".
5737func (s DeleteDomainAssociationInput) GoString() string {
5738	return s.String()
5739}
5740
5741// Validate inspects the fields of the type to determine if they are valid.
5742func (s *DeleteDomainAssociationInput) Validate() error {
5743	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainAssociationInput"}
5744	if s.AppId == nil {
5745		invalidParams.Add(request.NewErrParamRequired("AppId"))
5746	}
5747	if s.AppId != nil && len(*s.AppId) < 1 {
5748		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5749	}
5750	if s.DomainName == nil {
5751		invalidParams.Add(request.NewErrParamRequired("DomainName"))
5752	}
5753	if s.DomainName != nil && len(*s.DomainName) < 1 {
5754		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
5755	}
5756
5757	if invalidParams.Len() > 0 {
5758		return invalidParams
5759	}
5760	return nil
5761}
5762
5763// SetAppId sets the AppId field's value.
5764func (s *DeleteDomainAssociationInput) SetAppId(v string) *DeleteDomainAssociationInput {
5765	s.AppId = &v
5766	return s
5767}
5768
5769// SetDomainName sets the DomainName field's value.
5770func (s *DeleteDomainAssociationInput) SetDomainName(v string) *DeleteDomainAssociationInput {
5771	s.DomainName = &v
5772	return s
5773}
5774
5775type DeleteDomainAssociationOutput struct {
5776	_ struct{} `type:"structure"`
5777
5778	// Describes a domain association that associates a custom domain with an Amplify
5779	// app.
5780	//
5781	// DomainAssociation is a required field
5782	DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"`
5783}
5784
5785// String returns the string representation.
5786//
5787// API parameter values that are decorated as "sensitive" in the API will not
5788// be included in the string output. The member name will be present, but the
5789// value will be replaced with "sensitive".
5790func (s DeleteDomainAssociationOutput) String() string {
5791	return awsutil.Prettify(s)
5792}
5793
5794// GoString returns the string representation.
5795//
5796// API parameter values that are decorated as "sensitive" in the API will not
5797// be included in the string output. The member name will be present, but the
5798// value will be replaced with "sensitive".
5799func (s DeleteDomainAssociationOutput) GoString() string {
5800	return s.String()
5801}
5802
5803// SetDomainAssociation sets the DomainAssociation field's value.
5804func (s *DeleteDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) *DeleteDomainAssociationOutput {
5805	s.DomainAssociation = v
5806	return s
5807}
5808
5809// The request structure for the delete job request.
5810type DeleteJobInput struct {
5811	_ struct{} `type:"structure" nopayload:"true"`
5812
5813	// The unique ID for an Amplify app.
5814	//
5815	// AppId is a required field
5816	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
5817
5818	// The name for the branch, for the job.
5819	//
5820	// BranchName is a required field
5821	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
5822
5823	// The unique ID for the job.
5824	//
5825	// JobId is a required field
5826	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
5827}
5828
5829// String returns the string representation.
5830//
5831// API parameter values that are decorated as "sensitive" in the API will not
5832// be included in the string output. The member name will be present, but the
5833// value will be replaced with "sensitive".
5834func (s DeleteJobInput) String() string {
5835	return awsutil.Prettify(s)
5836}
5837
5838// GoString returns the string representation.
5839//
5840// API parameter values that are decorated as "sensitive" in the API will not
5841// be included in the string output. The member name will be present, but the
5842// value will be replaced with "sensitive".
5843func (s DeleteJobInput) GoString() string {
5844	return s.String()
5845}
5846
5847// Validate inspects the fields of the type to determine if they are valid.
5848func (s *DeleteJobInput) Validate() error {
5849	invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"}
5850	if s.AppId == nil {
5851		invalidParams.Add(request.NewErrParamRequired("AppId"))
5852	}
5853	if s.AppId != nil && len(*s.AppId) < 1 {
5854		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
5855	}
5856	if s.BranchName == nil {
5857		invalidParams.Add(request.NewErrParamRequired("BranchName"))
5858	}
5859	if s.BranchName != nil && len(*s.BranchName) < 1 {
5860		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
5861	}
5862	if s.JobId == nil {
5863		invalidParams.Add(request.NewErrParamRequired("JobId"))
5864	}
5865	if s.JobId != nil && len(*s.JobId) < 1 {
5866		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
5867	}
5868
5869	if invalidParams.Len() > 0 {
5870		return invalidParams
5871	}
5872	return nil
5873}
5874
5875// SetAppId sets the AppId field's value.
5876func (s *DeleteJobInput) SetAppId(v string) *DeleteJobInput {
5877	s.AppId = &v
5878	return s
5879}
5880
5881// SetBranchName sets the BranchName field's value.
5882func (s *DeleteJobInput) SetBranchName(v string) *DeleteJobInput {
5883	s.BranchName = &v
5884	return s
5885}
5886
5887// SetJobId sets the JobId field's value.
5888func (s *DeleteJobInput) SetJobId(v string) *DeleteJobInput {
5889	s.JobId = &v
5890	return s
5891}
5892
5893// The result structure for the delete job request.
5894type DeleteJobOutput struct {
5895	_ struct{} `type:"structure"`
5896
5897	// Describes the summary for an execution job for an Amplify app.
5898	//
5899	// JobSummary is a required field
5900	JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"`
5901}
5902
5903// String returns the string representation.
5904//
5905// API parameter values that are decorated as "sensitive" in the API will not
5906// be included in the string output. The member name will be present, but the
5907// value will be replaced with "sensitive".
5908func (s DeleteJobOutput) String() string {
5909	return awsutil.Prettify(s)
5910}
5911
5912// GoString returns the string representation.
5913//
5914// API parameter values that are decorated as "sensitive" in the API will not
5915// be included in the string output. The member name will be present, but the
5916// value will be replaced with "sensitive".
5917func (s DeleteJobOutput) GoString() string {
5918	return s.String()
5919}
5920
5921// SetJobSummary sets the JobSummary field's value.
5922func (s *DeleteJobOutput) SetJobSummary(v *JobSummary) *DeleteJobOutput {
5923	s.JobSummary = v
5924	return s
5925}
5926
5927// The request structure for the delete webhook request.
5928type DeleteWebhookInput struct {
5929	_ struct{} `type:"structure" nopayload:"true"`
5930
5931	// The unique ID for a webhook.
5932	//
5933	// WebhookId is a required field
5934	WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"`
5935}
5936
5937// String returns the string representation.
5938//
5939// API parameter values that are decorated as "sensitive" in the API will not
5940// be included in the string output. The member name will be present, but the
5941// value will be replaced with "sensitive".
5942func (s DeleteWebhookInput) String() string {
5943	return awsutil.Prettify(s)
5944}
5945
5946// GoString returns the string representation.
5947//
5948// API parameter values that are decorated as "sensitive" in the API will not
5949// be included in the string output. The member name will be present, but the
5950// value will be replaced with "sensitive".
5951func (s DeleteWebhookInput) GoString() string {
5952	return s.String()
5953}
5954
5955// Validate inspects the fields of the type to determine if they are valid.
5956func (s *DeleteWebhookInput) Validate() error {
5957	invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"}
5958	if s.WebhookId == nil {
5959		invalidParams.Add(request.NewErrParamRequired("WebhookId"))
5960	}
5961	if s.WebhookId != nil && len(*s.WebhookId) < 1 {
5962		invalidParams.Add(request.NewErrParamMinLen("WebhookId", 1))
5963	}
5964
5965	if invalidParams.Len() > 0 {
5966		return invalidParams
5967	}
5968	return nil
5969}
5970
5971// SetWebhookId sets the WebhookId field's value.
5972func (s *DeleteWebhookInput) SetWebhookId(v string) *DeleteWebhookInput {
5973	s.WebhookId = &v
5974	return s
5975}
5976
5977// The result structure for the delete webhook request.
5978type DeleteWebhookOutput struct {
5979	_ struct{} `type:"structure"`
5980
5981	// Describes a webhook that connects repository events to an Amplify app.
5982	//
5983	// Webhook is a required field
5984	Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"`
5985}
5986
5987// String returns the string representation.
5988//
5989// API parameter values that are decorated as "sensitive" in the API will not
5990// be included in the string output. The member name will be present, but the
5991// value will be replaced with "sensitive".
5992func (s DeleteWebhookOutput) String() string {
5993	return awsutil.Prettify(s)
5994}
5995
5996// GoString returns the string representation.
5997//
5998// API parameter values that are decorated as "sensitive" in the API will not
5999// be included in the string output. The member name will be present, but the
6000// value will be replaced with "sensitive".
6001func (s DeleteWebhookOutput) GoString() string {
6002	return s.String()
6003}
6004
6005// SetWebhook sets the Webhook field's value.
6006func (s *DeleteWebhookOutput) SetWebhook(v *Webhook) *DeleteWebhookOutput {
6007	s.Webhook = v
6008	return s
6009}
6010
6011// An operation failed because a dependent service threw an exception.
6012type DependentServiceFailureException struct {
6013	_            struct{}                  `type:"structure"`
6014	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6015
6016	Message_ *string `locationName:"message" type:"string"`
6017}
6018
6019// String returns the string representation.
6020//
6021// API parameter values that are decorated as "sensitive" in the API will not
6022// be included in the string output. The member name will be present, but the
6023// value will be replaced with "sensitive".
6024func (s DependentServiceFailureException) String() string {
6025	return awsutil.Prettify(s)
6026}
6027
6028// GoString returns the string representation.
6029//
6030// API parameter values that are decorated as "sensitive" in the API will not
6031// be included in the string output. The member name will be present, but the
6032// value will be replaced with "sensitive".
6033func (s DependentServiceFailureException) GoString() string {
6034	return s.String()
6035}
6036
6037func newErrorDependentServiceFailureException(v protocol.ResponseMetadata) error {
6038	return &DependentServiceFailureException{
6039		RespMetadata: v,
6040	}
6041}
6042
6043// Code returns the exception type name.
6044func (s *DependentServiceFailureException) Code() string {
6045	return "DependentServiceFailureException"
6046}
6047
6048// Message returns the exception's message.
6049func (s *DependentServiceFailureException) Message() string {
6050	if s.Message_ != nil {
6051		return *s.Message_
6052	}
6053	return ""
6054}
6055
6056// OrigErr always returns nil, satisfies awserr.Error interface.
6057func (s *DependentServiceFailureException) OrigErr() error {
6058	return nil
6059}
6060
6061func (s *DependentServiceFailureException) Error() string {
6062	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6063}
6064
6065// Status code returns the HTTP status code for the request's response error.
6066func (s *DependentServiceFailureException) StatusCode() int {
6067	return s.RespMetadata.StatusCode
6068}
6069
6070// RequestID returns the service's response RequestID for request.
6071func (s *DependentServiceFailureException) RequestID() string {
6072	return s.RespMetadata.RequestID
6073}
6074
6075// Describes a domain association that associates a custom domain with an Amplify
6076// app.
6077type DomainAssociation struct {
6078	_ struct{} `type:"structure"`
6079
6080	// Sets branch patterns for automatic subdomain creation.
6081	AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"`
6082
6083	// The required AWS Identity and Access Management (IAM) service role for the
6084	// Amazon Resource Name (ARN) for automatically creating subdomains.
6085	AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"`
6086
6087	// The DNS record for certificate verification.
6088	CertificateVerificationDNSRecord *string `locationName:"certificateVerificationDNSRecord" type:"string"`
6089
6090	// The Amazon Resource Name (ARN) for the domain association.
6091	//
6092	// DomainAssociationArn is a required field
6093	DomainAssociationArn *string `locationName:"domainAssociationArn" type:"string" required:"true"`
6094
6095	// The name of the domain.
6096	//
6097	// DomainName is a required field
6098	DomainName *string `locationName:"domainName" type:"string" required:"true"`
6099
6100	// The current status of the domain association.
6101	//
6102	// DomainStatus is a required field
6103	DomainStatus *string `locationName:"domainStatus" type:"string" required:"true" enum:"DomainStatus"`
6104
6105	// Enables the automated creation of subdomains for branches.
6106	//
6107	// EnableAutoSubDomain is a required field
6108	EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean" required:"true"`
6109
6110	// The reason for the current status of the domain association.
6111	//
6112	// StatusReason is a required field
6113	StatusReason *string `locationName:"statusReason" type:"string" required:"true"`
6114
6115	// The subdomains for the domain association.
6116	//
6117	// SubDomains is a required field
6118	SubDomains []*SubDomain `locationName:"subDomains" type:"list" required:"true"`
6119}
6120
6121// String returns the string representation.
6122//
6123// API parameter values that are decorated as "sensitive" in the API will not
6124// be included in the string output. The member name will be present, but the
6125// value will be replaced with "sensitive".
6126func (s DomainAssociation) String() string {
6127	return awsutil.Prettify(s)
6128}
6129
6130// GoString returns the string representation.
6131//
6132// API parameter values that are decorated as "sensitive" in the API will not
6133// be included in the string output. The member name will be present, but the
6134// value will be replaced with "sensitive".
6135func (s DomainAssociation) GoString() string {
6136	return s.String()
6137}
6138
6139// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value.
6140func (s *DomainAssociation) SetAutoSubDomainCreationPatterns(v []*string) *DomainAssociation {
6141	s.AutoSubDomainCreationPatterns = v
6142	return s
6143}
6144
6145// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value.
6146func (s *DomainAssociation) SetAutoSubDomainIAMRole(v string) *DomainAssociation {
6147	s.AutoSubDomainIAMRole = &v
6148	return s
6149}
6150
6151// SetCertificateVerificationDNSRecord sets the CertificateVerificationDNSRecord field's value.
6152func (s *DomainAssociation) SetCertificateVerificationDNSRecord(v string) *DomainAssociation {
6153	s.CertificateVerificationDNSRecord = &v
6154	return s
6155}
6156
6157// SetDomainAssociationArn sets the DomainAssociationArn field's value.
6158func (s *DomainAssociation) SetDomainAssociationArn(v string) *DomainAssociation {
6159	s.DomainAssociationArn = &v
6160	return s
6161}
6162
6163// SetDomainName sets the DomainName field's value.
6164func (s *DomainAssociation) SetDomainName(v string) *DomainAssociation {
6165	s.DomainName = &v
6166	return s
6167}
6168
6169// SetDomainStatus sets the DomainStatus field's value.
6170func (s *DomainAssociation) SetDomainStatus(v string) *DomainAssociation {
6171	s.DomainStatus = &v
6172	return s
6173}
6174
6175// SetEnableAutoSubDomain sets the EnableAutoSubDomain field's value.
6176func (s *DomainAssociation) SetEnableAutoSubDomain(v bool) *DomainAssociation {
6177	s.EnableAutoSubDomain = &v
6178	return s
6179}
6180
6181// SetStatusReason sets the StatusReason field's value.
6182func (s *DomainAssociation) SetStatusReason(v string) *DomainAssociation {
6183	s.StatusReason = &v
6184	return s
6185}
6186
6187// SetSubDomains sets the SubDomains field's value.
6188func (s *DomainAssociation) SetSubDomains(v []*SubDomain) *DomainAssociation {
6189	s.SubDomains = v
6190	return s
6191}
6192
6193// The request structure for the generate access logs request.
6194type GenerateAccessLogsInput struct {
6195	_ struct{} `type:"structure"`
6196
6197	// The unique ID for an Amplify app.
6198	//
6199	// AppId is a required field
6200	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6201
6202	// The name of the domain.
6203	//
6204	// DomainName is a required field
6205	DomainName *string `locationName:"domainName" type:"string" required:"true"`
6206
6207	// The time at which the logs should end. The time range specified is inclusive
6208	// of the end time.
6209	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
6210
6211	// The time at which the logs should start. The time range specified is inclusive
6212	// of the start time.
6213	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
6214}
6215
6216// String returns the string representation.
6217//
6218// API parameter values that are decorated as "sensitive" in the API will not
6219// be included in the string output. The member name will be present, but the
6220// value will be replaced with "sensitive".
6221func (s GenerateAccessLogsInput) String() string {
6222	return awsutil.Prettify(s)
6223}
6224
6225// GoString returns the string representation.
6226//
6227// API parameter values that are decorated as "sensitive" in the API will not
6228// be included in the string output. The member name will be present, but the
6229// value will be replaced with "sensitive".
6230func (s GenerateAccessLogsInput) GoString() string {
6231	return s.String()
6232}
6233
6234// Validate inspects the fields of the type to determine if they are valid.
6235func (s *GenerateAccessLogsInput) Validate() error {
6236	invalidParams := request.ErrInvalidParams{Context: "GenerateAccessLogsInput"}
6237	if s.AppId == nil {
6238		invalidParams.Add(request.NewErrParamRequired("AppId"))
6239	}
6240	if s.AppId != nil && len(*s.AppId) < 1 {
6241		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6242	}
6243	if s.DomainName == nil {
6244		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6245	}
6246
6247	if invalidParams.Len() > 0 {
6248		return invalidParams
6249	}
6250	return nil
6251}
6252
6253// SetAppId sets the AppId field's value.
6254func (s *GenerateAccessLogsInput) SetAppId(v string) *GenerateAccessLogsInput {
6255	s.AppId = &v
6256	return s
6257}
6258
6259// SetDomainName sets the DomainName field's value.
6260func (s *GenerateAccessLogsInput) SetDomainName(v string) *GenerateAccessLogsInput {
6261	s.DomainName = &v
6262	return s
6263}
6264
6265// SetEndTime sets the EndTime field's value.
6266func (s *GenerateAccessLogsInput) SetEndTime(v time.Time) *GenerateAccessLogsInput {
6267	s.EndTime = &v
6268	return s
6269}
6270
6271// SetStartTime sets the StartTime field's value.
6272func (s *GenerateAccessLogsInput) SetStartTime(v time.Time) *GenerateAccessLogsInput {
6273	s.StartTime = &v
6274	return s
6275}
6276
6277// The result structure for the generate access logs request.
6278type GenerateAccessLogsOutput struct {
6279	_ struct{} `type:"structure"`
6280
6281	// The pre-signed URL for the requested access logs.
6282	LogUrl *string `locationName:"logUrl" type:"string"`
6283}
6284
6285// String returns the string representation.
6286//
6287// API parameter values that are decorated as "sensitive" in the API will not
6288// be included in the string output. The member name will be present, but the
6289// value will be replaced with "sensitive".
6290func (s GenerateAccessLogsOutput) String() string {
6291	return awsutil.Prettify(s)
6292}
6293
6294// GoString returns the string representation.
6295//
6296// API parameter values that are decorated as "sensitive" in the API will not
6297// be included in the string output. The member name will be present, but the
6298// value will be replaced with "sensitive".
6299func (s GenerateAccessLogsOutput) GoString() string {
6300	return s.String()
6301}
6302
6303// SetLogUrl sets the LogUrl field's value.
6304func (s *GenerateAccessLogsOutput) SetLogUrl(v string) *GenerateAccessLogsOutput {
6305	s.LogUrl = &v
6306	return s
6307}
6308
6309// The request structure for the get app request.
6310type GetAppInput struct {
6311	_ struct{} `type:"structure" nopayload:"true"`
6312
6313	// The unique ID for an Amplify app.
6314	//
6315	// AppId is a required field
6316	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6317}
6318
6319// String returns the string representation.
6320//
6321// API parameter values that are decorated as "sensitive" in the API will not
6322// be included in the string output. The member name will be present, but the
6323// value will be replaced with "sensitive".
6324func (s GetAppInput) String() string {
6325	return awsutil.Prettify(s)
6326}
6327
6328// GoString returns the string representation.
6329//
6330// API parameter values that are decorated as "sensitive" in the API will not
6331// be included in the string output. The member name will be present, but the
6332// value will be replaced with "sensitive".
6333func (s GetAppInput) GoString() string {
6334	return s.String()
6335}
6336
6337// Validate inspects the fields of the type to determine if they are valid.
6338func (s *GetAppInput) Validate() error {
6339	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
6340	if s.AppId == nil {
6341		invalidParams.Add(request.NewErrParamRequired("AppId"))
6342	}
6343	if s.AppId != nil && len(*s.AppId) < 1 {
6344		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6345	}
6346
6347	if invalidParams.Len() > 0 {
6348		return invalidParams
6349	}
6350	return nil
6351}
6352
6353// SetAppId sets the AppId field's value.
6354func (s *GetAppInput) SetAppId(v string) *GetAppInput {
6355	s.AppId = &v
6356	return s
6357}
6358
6359type GetAppOutput struct {
6360	_ struct{} `type:"structure"`
6361
6362	// Represents the different branches of a repository for building, deploying,
6363	// and hosting an Amplify app.
6364	//
6365	// App is a required field
6366	App *App `locationName:"app" type:"structure" required:"true"`
6367}
6368
6369// String returns the string representation.
6370//
6371// API parameter values that are decorated as "sensitive" in the API will not
6372// be included in the string output. The member name will be present, but the
6373// value will be replaced with "sensitive".
6374func (s GetAppOutput) String() string {
6375	return awsutil.Prettify(s)
6376}
6377
6378// GoString returns the string representation.
6379//
6380// API parameter values that are decorated as "sensitive" in the API will not
6381// be included in the string output. The member name will be present, but the
6382// value will be replaced with "sensitive".
6383func (s GetAppOutput) GoString() string {
6384	return s.String()
6385}
6386
6387// SetApp sets the App field's value.
6388func (s *GetAppOutput) SetApp(v *App) *GetAppOutput {
6389	s.App = v
6390	return s
6391}
6392
6393// Returns the request structure for the get artifact request.
6394type GetArtifactUrlInput struct {
6395	_ struct{} `type:"structure" nopayload:"true"`
6396
6397	// The unique ID for an artifact.
6398	//
6399	// ArtifactId is a required field
6400	ArtifactId *string `location:"uri" locationName:"artifactId" type:"string" required:"true"`
6401}
6402
6403// String returns the string representation.
6404//
6405// API parameter values that are decorated as "sensitive" in the API will not
6406// be included in the string output. The member name will be present, but the
6407// value will be replaced with "sensitive".
6408func (s GetArtifactUrlInput) String() string {
6409	return awsutil.Prettify(s)
6410}
6411
6412// GoString returns the string representation.
6413//
6414// API parameter values that are decorated as "sensitive" in the API will not
6415// be included in the string output. The member name will be present, but the
6416// value will be replaced with "sensitive".
6417func (s GetArtifactUrlInput) GoString() string {
6418	return s.String()
6419}
6420
6421// Validate inspects the fields of the type to determine if they are valid.
6422func (s *GetArtifactUrlInput) Validate() error {
6423	invalidParams := request.ErrInvalidParams{Context: "GetArtifactUrlInput"}
6424	if s.ArtifactId == nil {
6425		invalidParams.Add(request.NewErrParamRequired("ArtifactId"))
6426	}
6427	if s.ArtifactId != nil && len(*s.ArtifactId) < 1 {
6428		invalidParams.Add(request.NewErrParamMinLen("ArtifactId", 1))
6429	}
6430
6431	if invalidParams.Len() > 0 {
6432		return invalidParams
6433	}
6434	return nil
6435}
6436
6437// SetArtifactId sets the ArtifactId field's value.
6438func (s *GetArtifactUrlInput) SetArtifactId(v string) *GetArtifactUrlInput {
6439	s.ArtifactId = &v
6440	return s
6441}
6442
6443// Returns the result structure for the get artifact request.
6444type GetArtifactUrlOutput struct {
6445	_ struct{} `type:"structure"`
6446
6447	// The unique ID for an artifact.
6448	//
6449	// ArtifactId is a required field
6450	ArtifactId *string `locationName:"artifactId" type:"string" required:"true"`
6451
6452	// The presigned URL for the artifact.
6453	//
6454	// ArtifactUrl is a required field
6455	ArtifactUrl *string `locationName:"artifactUrl" type:"string" required:"true"`
6456}
6457
6458// String returns the string representation.
6459//
6460// API parameter values that are decorated as "sensitive" in the API will not
6461// be included in the string output. The member name will be present, but the
6462// value will be replaced with "sensitive".
6463func (s GetArtifactUrlOutput) String() string {
6464	return awsutil.Prettify(s)
6465}
6466
6467// GoString returns the string representation.
6468//
6469// API parameter values that are decorated as "sensitive" in the API will not
6470// be included in the string output. The member name will be present, but the
6471// value will be replaced with "sensitive".
6472func (s GetArtifactUrlOutput) GoString() string {
6473	return s.String()
6474}
6475
6476// SetArtifactId sets the ArtifactId field's value.
6477func (s *GetArtifactUrlOutput) SetArtifactId(v string) *GetArtifactUrlOutput {
6478	s.ArtifactId = &v
6479	return s
6480}
6481
6482// SetArtifactUrl sets the ArtifactUrl field's value.
6483func (s *GetArtifactUrlOutput) SetArtifactUrl(v string) *GetArtifactUrlOutput {
6484	s.ArtifactUrl = &v
6485	return s
6486}
6487
6488// The request structure for the get backend environment request.
6489type GetBackendEnvironmentInput struct {
6490	_ struct{} `type:"structure" nopayload:"true"`
6491
6492	// The unique id for an Amplify app.
6493	//
6494	// AppId is a required field
6495	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6496
6497	// The name for the backend environment.
6498	//
6499	// EnvironmentName is a required field
6500	EnvironmentName *string `location:"uri" locationName:"environmentName" min:"1" type:"string" required:"true"`
6501}
6502
6503// String returns the string representation.
6504//
6505// API parameter values that are decorated as "sensitive" in the API will not
6506// be included in the string output. The member name will be present, but the
6507// value will be replaced with "sensitive".
6508func (s GetBackendEnvironmentInput) String() string {
6509	return awsutil.Prettify(s)
6510}
6511
6512// GoString returns the string representation.
6513//
6514// API parameter values that are decorated as "sensitive" in the API will not
6515// be included in the string output. The member name will be present, but the
6516// value will be replaced with "sensitive".
6517func (s GetBackendEnvironmentInput) GoString() string {
6518	return s.String()
6519}
6520
6521// Validate inspects the fields of the type to determine if they are valid.
6522func (s *GetBackendEnvironmentInput) Validate() error {
6523	invalidParams := request.ErrInvalidParams{Context: "GetBackendEnvironmentInput"}
6524	if s.AppId == nil {
6525		invalidParams.Add(request.NewErrParamRequired("AppId"))
6526	}
6527	if s.AppId != nil && len(*s.AppId) < 1 {
6528		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6529	}
6530	if s.EnvironmentName == nil {
6531		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
6532	}
6533	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
6534		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
6535	}
6536
6537	if invalidParams.Len() > 0 {
6538		return invalidParams
6539	}
6540	return nil
6541}
6542
6543// SetAppId sets the AppId field's value.
6544func (s *GetBackendEnvironmentInput) SetAppId(v string) *GetBackendEnvironmentInput {
6545	s.AppId = &v
6546	return s
6547}
6548
6549// SetEnvironmentName sets the EnvironmentName field's value.
6550func (s *GetBackendEnvironmentInput) SetEnvironmentName(v string) *GetBackendEnvironmentInput {
6551	s.EnvironmentName = &v
6552	return s
6553}
6554
6555// The result structure for the get backend environment result.
6556type GetBackendEnvironmentOutput struct {
6557	_ struct{} `type:"structure"`
6558
6559	// Describes the backend environment for an Amplify app.
6560	//
6561	// BackendEnvironment is a required field
6562	BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"`
6563}
6564
6565// String returns the string representation.
6566//
6567// API parameter values that are decorated as "sensitive" in the API will not
6568// be included in the string output. The member name will be present, but the
6569// value will be replaced with "sensitive".
6570func (s GetBackendEnvironmentOutput) String() string {
6571	return awsutil.Prettify(s)
6572}
6573
6574// GoString returns the string representation.
6575//
6576// API parameter values that are decorated as "sensitive" in the API will not
6577// be included in the string output. The member name will be present, but the
6578// value will be replaced with "sensitive".
6579func (s GetBackendEnvironmentOutput) GoString() string {
6580	return s.String()
6581}
6582
6583// SetBackendEnvironment sets the BackendEnvironment field's value.
6584func (s *GetBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *GetBackendEnvironmentOutput {
6585	s.BackendEnvironment = v
6586	return s
6587}
6588
6589// The request structure for the get branch request.
6590type GetBranchInput struct {
6591	_ struct{} `type:"structure" nopayload:"true"`
6592
6593	// The unique ID for an Amplify app.
6594	//
6595	// AppId is a required field
6596	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6597
6598	// The name for the branch.
6599	//
6600	// BranchName is a required field
6601	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
6602}
6603
6604// String returns the string representation.
6605//
6606// API parameter values that are decorated as "sensitive" in the API will not
6607// be included in the string output. The member name will be present, but the
6608// value will be replaced with "sensitive".
6609func (s GetBranchInput) String() string {
6610	return awsutil.Prettify(s)
6611}
6612
6613// GoString returns the string representation.
6614//
6615// API parameter values that are decorated as "sensitive" in the API will not
6616// be included in the string output. The member name will be present, but the
6617// value will be replaced with "sensitive".
6618func (s GetBranchInput) GoString() string {
6619	return s.String()
6620}
6621
6622// Validate inspects the fields of the type to determine if they are valid.
6623func (s *GetBranchInput) Validate() error {
6624	invalidParams := request.ErrInvalidParams{Context: "GetBranchInput"}
6625	if s.AppId == nil {
6626		invalidParams.Add(request.NewErrParamRequired("AppId"))
6627	}
6628	if s.AppId != nil && len(*s.AppId) < 1 {
6629		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6630	}
6631	if s.BranchName == nil {
6632		invalidParams.Add(request.NewErrParamRequired("BranchName"))
6633	}
6634	if s.BranchName != nil && len(*s.BranchName) < 1 {
6635		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
6636	}
6637
6638	if invalidParams.Len() > 0 {
6639		return invalidParams
6640	}
6641	return nil
6642}
6643
6644// SetAppId sets the AppId field's value.
6645func (s *GetBranchInput) SetAppId(v string) *GetBranchInput {
6646	s.AppId = &v
6647	return s
6648}
6649
6650// SetBranchName sets the BranchName field's value.
6651func (s *GetBranchInput) SetBranchName(v string) *GetBranchInput {
6652	s.BranchName = &v
6653	return s
6654}
6655
6656type GetBranchOutput struct {
6657	_ struct{} `type:"structure"`
6658
6659	// The branch for an Amplify app, which maps to a third-party repository branch.
6660	//
6661	// Branch is a required field
6662	Branch *Branch `locationName:"branch" type:"structure" required:"true"`
6663}
6664
6665// String returns the string representation.
6666//
6667// API parameter values that are decorated as "sensitive" in the API will not
6668// be included in the string output. The member name will be present, but the
6669// value will be replaced with "sensitive".
6670func (s GetBranchOutput) String() string {
6671	return awsutil.Prettify(s)
6672}
6673
6674// GoString returns the string representation.
6675//
6676// API parameter values that are decorated as "sensitive" in the API will not
6677// be included in the string output. The member name will be present, but the
6678// value will be replaced with "sensitive".
6679func (s GetBranchOutput) GoString() string {
6680	return s.String()
6681}
6682
6683// SetBranch sets the Branch field's value.
6684func (s *GetBranchOutput) SetBranch(v *Branch) *GetBranchOutput {
6685	s.Branch = v
6686	return s
6687}
6688
6689// The request structure for the get domain association request.
6690type GetDomainAssociationInput struct {
6691	_ struct{} `type:"structure" nopayload:"true"`
6692
6693	// The unique id for an Amplify app.
6694	//
6695	// AppId is a required field
6696	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6697
6698	// The name of the domain.
6699	//
6700	// DomainName is a required field
6701	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
6702}
6703
6704// String returns the string representation.
6705//
6706// API parameter values that are decorated as "sensitive" in the API will not
6707// be included in the string output. The member name will be present, but the
6708// value will be replaced with "sensitive".
6709func (s GetDomainAssociationInput) String() string {
6710	return awsutil.Prettify(s)
6711}
6712
6713// GoString returns the string representation.
6714//
6715// API parameter values that are decorated as "sensitive" in the API will not
6716// be included in the string output. The member name will be present, but the
6717// value will be replaced with "sensitive".
6718func (s GetDomainAssociationInput) GoString() string {
6719	return s.String()
6720}
6721
6722// Validate inspects the fields of the type to determine if they are valid.
6723func (s *GetDomainAssociationInput) Validate() error {
6724	invalidParams := request.ErrInvalidParams{Context: "GetDomainAssociationInput"}
6725	if s.AppId == nil {
6726		invalidParams.Add(request.NewErrParamRequired("AppId"))
6727	}
6728	if s.AppId != nil && len(*s.AppId) < 1 {
6729		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6730	}
6731	if s.DomainName == nil {
6732		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6733	}
6734	if s.DomainName != nil && len(*s.DomainName) < 1 {
6735		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
6736	}
6737
6738	if invalidParams.Len() > 0 {
6739		return invalidParams
6740	}
6741	return nil
6742}
6743
6744// SetAppId sets the AppId field's value.
6745func (s *GetDomainAssociationInput) SetAppId(v string) *GetDomainAssociationInput {
6746	s.AppId = &v
6747	return s
6748}
6749
6750// SetDomainName sets the DomainName field's value.
6751func (s *GetDomainAssociationInput) SetDomainName(v string) *GetDomainAssociationInput {
6752	s.DomainName = &v
6753	return s
6754}
6755
6756// The result structure for the get domain association request.
6757type GetDomainAssociationOutput struct {
6758	_ struct{} `type:"structure"`
6759
6760	// Describes the structure of a domain association, which associates a custom
6761	// domain with an Amplify app.
6762	//
6763	// DomainAssociation is a required field
6764	DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"`
6765}
6766
6767// String returns the string representation.
6768//
6769// API parameter values that are decorated as "sensitive" in the API will not
6770// be included in the string output. The member name will be present, but the
6771// value will be replaced with "sensitive".
6772func (s GetDomainAssociationOutput) String() string {
6773	return awsutil.Prettify(s)
6774}
6775
6776// GoString returns the string representation.
6777//
6778// API parameter values that are decorated as "sensitive" in the API will not
6779// be included in the string output. The member name will be present, but the
6780// value will be replaced with "sensitive".
6781func (s GetDomainAssociationOutput) GoString() string {
6782	return s.String()
6783}
6784
6785// SetDomainAssociation sets the DomainAssociation field's value.
6786func (s *GetDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) *GetDomainAssociationOutput {
6787	s.DomainAssociation = v
6788	return s
6789}
6790
6791// The request structure for the get job request.
6792type GetJobInput struct {
6793	_ struct{} `type:"structure" nopayload:"true"`
6794
6795	// The unique ID for an Amplify app.
6796	//
6797	// AppId is a required field
6798	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
6799
6800	// The branch name for the job.
6801	//
6802	// BranchName is a required field
6803	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
6804
6805	// The unique ID for the job.
6806	//
6807	// JobId is a required field
6808	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
6809}
6810
6811// String returns the string representation.
6812//
6813// API parameter values that are decorated as "sensitive" in the API will not
6814// be included in the string output. The member name will be present, but the
6815// value will be replaced with "sensitive".
6816func (s GetJobInput) String() string {
6817	return awsutil.Prettify(s)
6818}
6819
6820// GoString returns the string representation.
6821//
6822// API parameter values that are decorated as "sensitive" in the API will not
6823// be included in the string output. The member name will be present, but the
6824// value will be replaced with "sensitive".
6825func (s GetJobInput) GoString() string {
6826	return s.String()
6827}
6828
6829// Validate inspects the fields of the type to determine if they are valid.
6830func (s *GetJobInput) Validate() error {
6831	invalidParams := request.ErrInvalidParams{Context: "GetJobInput"}
6832	if s.AppId == nil {
6833		invalidParams.Add(request.NewErrParamRequired("AppId"))
6834	}
6835	if s.AppId != nil && len(*s.AppId) < 1 {
6836		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
6837	}
6838	if s.BranchName == nil {
6839		invalidParams.Add(request.NewErrParamRequired("BranchName"))
6840	}
6841	if s.BranchName != nil && len(*s.BranchName) < 1 {
6842		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
6843	}
6844	if s.JobId == nil {
6845		invalidParams.Add(request.NewErrParamRequired("JobId"))
6846	}
6847	if s.JobId != nil && len(*s.JobId) < 1 {
6848		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
6849	}
6850
6851	if invalidParams.Len() > 0 {
6852		return invalidParams
6853	}
6854	return nil
6855}
6856
6857// SetAppId sets the AppId field's value.
6858func (s *GetJobInput) SetAppId(v string) *GetJobInput {
6859	s.AppId = &v
6860	return s
6861}
6862
6863// SetBranchName sets the BranchName field's value.
6864func (s *GetJobInput) SetBranchName(v string) *GetJobInput {
6865	s.BranchName = &v
6866	return s
6867}
6868
6869// SetJobId sets the JobId field's value.
6870func (s *GetJobInput) SetJobId(v string) *GetJobInput {
6871	s.JobId = &v
6872	return s
6873}
6874
6875type GetJobOutput struct {
6876	_ struct{} `type:"structure"`
6877
6878	// Describes an execution job for an Amplify app.
6879	//
6880	// Job is a required field
6881	Job *Job `locationName:"job" type:"structure" required:"true"`
6882}
6883
6884// String returns the string representation.
6885//
6886// API parameter values that are decorated as "sensitive" in the API will not
6887// be included in the string output. The member name will be present, but the
6888// value will be replaced with "sensitive".
6889func (s GetJobOutput) String() string {
6890	return awsutil.Prettify(s)
6891}
6892
6893// GoString returns the string representation.
6894//
6895// API parameter values that are decorated as "sensitive" in the API will not
6896// be included in the string output. The member name will be present, but the
6897// value will be replaced with "sensitive".
6898func (s GetJobOutput) GoString() string {
6899	return s.String()
6900}
6901
6902// SetJob sets the Job field's value.
6903func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput {
6904	s.Job = v
6905	return s
6906}
6907
6908// The request structure for the get webhook request.
6909type GetWebhookInput struct {
6910	_ struct{} `type:"structure" nopayload:"true"`
6911
6912	// The unique ID for a webhook.
6913	//
6914	// WebhookId is a required field
6915	WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"`
6916}
6917
6918// String returns the string representation.
6919//
6920// API parameter values that are decorated as "sensitive" in the API will not
6921// be included in the string output. The member name will be present, but the
6922// value will be replaced with "sensitive".
6923func (s GetWebhookInput) String() string {
6924	return awsutil.Prettify(s)
6925}
6926
6927// GoString returns the string representation.
6928//
6929// API parameter values that are decorated as "sensitive" in the API will not
6930// be included in the string output. The member name will be present, but the
6931// value will be replaced with "sensitive".
6932func (s GetWebhookInput) GoString() string {
6933	return s.String()
6934}
6935
6936// Validate inspects the fields of the type to determine if they are valid.
6937func (s *GetWebhookInput) Validate() error {
6938	invalidParams := request.ErrInvalidParams{Context: "GetWebhookInput"}
6939	if s.WebhookId == nil {
6940		invalidParams.Add(request.NewErrParamRequired("WebhookId"))
6941	}
6942	if s.WebhookId != nil && len(*s.WebhookId) < 1 {
6943		invalidParams.Add(request.NewErrParamMinLen("WebhookId", 1))
6944	}
6945
6946	if invalidParams.Len() > 0 {
6947		return invalidParams
6948	}
6949	return nil
6950}
6951
6952// SetWebhookId sets the WebhookId field's value.
6953func (s *GetWebhookInput) SetWebhookId(v string) *GetWebhookInput {
6954	s.WebhookId = &v
6955	return s
6956}
6957
6958// The result structure for the get webhook request.
6959type GetWebhookOutput struct {
6960	_ struct{} `type:"structure"`
6961
6962	// Describes the structure of a webhook.
6963	//
6964	// Webhook is a required field
6965	Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"`
6966}
6967
6968// String returns the string representation.
6969//
6970// API parameter values that are decorated as "sensitive" in the API will not
6971// be included in the string output. The member name will be present, but the
6972// value will be replaced with "sensitive".
6973func (s GetWebhookOutput) String() string {
6974	return awsutil.Prettify(s)
6975}
6976
6977// GoString returns the string representation.
6978//
6979// API parameter values that are decorated as "sensitive" in the API will not
6980// be included in the string output. The member name will be present, but the
6981// value will be replaced with "sensitive".
6982func (s GetWebhookOutput) GoString() string {
6983	return s.String()
6984}
6985
6986// SetWebhook sets the Webhook field's value.
6987func (s *GetWebhookOutput) SetWebhook(v *Webhook) *GetWebhookOutput {
6988	s.Webhook = v
6989	return s
6990}
6991
6992// The service failed to perform an operation due to an internal issue.
6993type InternalFailureException struct {
6994	_            struct{}                  `type:"structure"`
6995	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6996
6997	Message_ *string `locationName:"message" type:"string"`
6998}
6999
7000// String returns the string representation.
7001//
7002// API parameter values that are decorated as "sensitive" in the API will not
7003// be included in the string output. The member name will be present, but the
7004// value will be replaced with "sensitive".
7005func (s InternalFailureException) String() string {
7006	return awsutil.Prettify(s)
7007}
7008
7009// GoString returns the string representation.
7010//
7011// API parameter values that are decorated as "sensitive" in the API will not
7012// be included in the string output. The member name will be present, but the
7013// value will be replaced with "sensitive".
7014func (s InternalFailureException) GoString() string {
7015	return s.String()
7016}
7017
7018func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
7019	return &InternalFailureException{
7020		RespMetadata: v,
7021	}
7022}
7023
7024// Code returns the exception type name.
7025func (s *InternalFailureException) Code() string {
7026	return "InternalFailureException"
7027}
7028
7029// Message returns the exception's message.
7030func (s *InternalFailureException) Message() string {
7031	if s.Message_ != nil {
7032		return *s.Message_
7033	}
7034	return ""
7035}
7036
7037// OrigErr always returns nil, satisfies awserr.Error interface.
7038func (s *InternalFailureException) OrigErr() error {
7039	return nil
7040}
7041
7042func (s *InternalFailureException) Error() string {
7043	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7044}
7045
7046// Status code returns the HTTP status code for the request's response error.
7047func (s *InternalFailureException) StatusCode() int {
7048	return s.RespMetadata.StatusCode
7049}
7050
7051// RequestID returns the service's response RequestID for request.
7052func (s *InternalFailureException) RequestID() string {
7053	return s.RespMetadata.RequestID
7054}
7055
7056// Describes an execution job for an Amplify app.
7057type Job struct {
7058	_ struct{} `type:"structure"`
7059
7060	// The execution steps for an execution job, for an Amplify app.
7061	//
7062	// Steps is a required field
7063	Steps []*Step `locationName:"steps" type:"list" required:"true"`
7064
7065	// Describes the summary for an execution job for an Amplify app.
7066	//
7067	// Summary is a required field
7068	Summary *JobSummary `locationName:"summary" type:"structure" required:"true"`
7069}
7070
7071// String returns the string representation.
7072//
7073// API parameter values that are decorated as "sensitive" in the API will not
7074// be included in the string output. The member name will be present, but the
7075// value will be replaced with "sensitive".
7076func (s Job) String() string {
7077	return awsutil.Prettify(s)
7078}
7079
7080// GoString returns the string representation.
7081//
7082// API parameter values that are decorated as "sensitive" in the API will not
7083// be included in the string output. The member name will be present, but the
7084// value will be replaced with "sensitive".
7085func (s Job) GoString() string {
7086	return s.String()
7087}
7088
7089// SetSteps sets the Steps field's value.
7090func (s *Job) SetSteps(v []*Step) *Job {
7091	s.Steps = v
7092	return s
7093}
7094
7095// SetSummary sets the Summary field's value.
7096func (s *Job) SetSummary(v *JobSummary) *Job {
7097	s.Summary = v
7098	return s
7099}
7100
7101// Describes the summary for an execution job for an Amplify app.
7102type JobSummary struct {
7103	_ struct{} `type:"structure"`
7104
7105	// The commit ID from a third-party repository provider for the job.
7106	//
7107	// CommitId is a required field
7108	CommitId *string `locationName:"commitId" type:"string" required:"true"`
7109
7110	// The commit message from a third-party repository provider for the job.
7111	//
7112	// CommitMessage is a required field
7113	CommitMessage *string `locationName:"commitMessage" type:"string" required:"true"`
7114
7115	// The commit date and time for the job.
7116	//
7117	// CommitTime is a required field
7118	CommitTime *time.Time `locationName:"commitTime" type:"timestamp" required:"true"`
7119
7120	// The end date and time for the job.
7121	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
7122
7123	// The Amazon Resource Name (ARN) for the job.
7124	//
7125	// JobArn is a required field
7126	JobArn *string `locationName:"jobArn" type:"string" required:"true"`
7127
7128	// The unique ID for the job.
7129	//
7130	// JobId is a required field
7131	JobId *string `locationName:"jobId" type:"string" required:"true"`
7132
7133	// The type for the job. If the value is RELEASE, the job was manually released
7134	// from its source by using the StartJob API. If the value is RETRY, the job
7135	// was manually retried using the StartJob API. If the value is WEB_HOOK, the
7136	// job was automatically triggered by webhooks.
7137	//
7138	// JobType is a required field
7139	JobType *string `locationName:"jobType" type:"string" required:"true" enum:"JobType"`
7140
7141	// The start date and time for the job.
7142	//
7143	// StartTime is a required field
7144	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
7145
7146	// The current status for the job.
7147	//
7148	// Status is a required field
7149	Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"`
7150}
7151
7152// String returns the string representation.
7153//
7154// API parameter values that are decorated as "sensitive" in the API will not
7155// be included in the string output. The member name will be present, but the
7156// value will be replaced with "sensitive".
7157func (s JobSummary) String() string {
7158	return awsutil.Prettify(s)
7159}
7160
7161// GoString returns the string representation.
7162//
7163// API parameter values that are decorated as "sensitive" in the API will not
7164// be included in the string output. The member name will be present, but the
7165// value will be replaced with "sensitive".
7166func (s JobSummary) GoString() string {
7167	return s.String()
7168}
7169
7170// SetCommitId sets the CommitId field's value.
7171func (s *JobSummary) SetCommitId(v string) *JobSummary {
7172	s.CommitId = &v
7173	return s
7174}
7175
7176// SetCommitMessage sets the CommitMessage field's value.
7177func (s *JobSummary) SetCommitMessage(v string) *JobSummary {
7178	s.CommitMessage = &v
7179	return s
7180}
7181
7182// SetCommitTime sets the CommitTime field's value.
7183func (s *JobSummary) SetCommitTime(v time.Time) *JobSummary {
7184	s.CommitTime = &v
7185	return s
7186}
7187
7188// SetEndTime sets the EndTime field's value.
7189func (s *JobSummary) SetEndTime(v time.Time) *JobSummary {
7190	s.EndTime = &v
7191	return s
7192}
7193
7194// SetJobArn sets the JobArn field's value.
7195func (s *JobSummary) SetJobArn(v string) *JobSummary {
7196	s.JobArn = &v
7197	return s
7198}
7199
7200// SetJobId sets the JobId field's value.
7201func (s *JobSummary) SetJobId(v string) *JobSummary {
7202	s.JobId = &v
7203	return s
7204}
7205
7206// SetJobType sets the JobType field's value.
7207func (s *JobSummary) SetJobType(v string) *JobSummary {
7208	s.JobType = &v
7209	return s
7210}
7211
7212// SetStartTime sets the StartTime field's value.
7213func (s *JobSummary) SetStartTime(v time.Time) *JobSummary {
7214	s.StartTime = &v
7215	return s
7216}
7217
7218// SetStatus sets the Status field's value.
7219func (s *JobSummary) SetStatus(v string) *JobSummary {
7220	s.Status = &v
7221	return s
7222}
7223
7224// A resource could not be created because service quotas were exceeded.
7225type LimitExceededException struct {
7226	_            struct{}                  `type:"structure"`
7227	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7228
7229	Message_ *string `locationName:"message" type:"string"`
7230}
7231
7232// String returns the string representation.
7233//
7234// API parameter values that are decorated as "sensitive" in the API will not
7235// be included in the string output. The member name will be present, but the
7236// value will be replaced with "sensitive".
7237func (s LimitExceededException) String() string {
7238	return awsutil.Prettify(s)
7239}
7240
7241// GoString returns the string representation.
7242//
7243// API parameter values that are decorated as "sensitive" in the API will not
7244// be included in the string output. The member name will be present, but the
7245// value will be replaced with "sensitive".
7246func (s LimitExceededException) GoString() string {
7247	return s.String()
7248}
7249
7250func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
7251	return &LimitExceededException{
7252		RespMetadata: v,
7253	}
7254}
7255
7256// Code returns the exception type name.
7257func (s *LimitExceededException) Code() string {
7258	return "LimitExceededException"
7259}
7260
7261// Message returns the exception's message.
7262func (s *LimitExceededException) Message() string {
7263	if s.Message_ != nil {
7264		return *s.Message_
7265	}
7266	return ""
7267}
7268
7269// OrigErr always returns nil, satisfies awserr.Error interface.
7270func (s *LimitExceededException) OrigErr() error {
7271	return nil
7272}
7273
7274func (s *LimitExceededException) Error() string {
7275	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7276}
7277
7278// Status code returns the HTTP status code for the request's response error.
7279func (s *LimitExceededException) StatusCode() int {
7280	return s.RespMetadata.StatusCode
7281}
7282
7283// RequestID returns the service's response RequestID for request.
7284func (s *LimitExceededException) RequestID() string {
7285	return s.RespMetadata.RequestID
7286}
7287
7288// The request structure for the list apps request.
7289type ListAppsInput struct {
7290	_ struct{} `type:"structure" nopayload:"true"`
7291
7292	// The maximum number of records to list in a single response.
7293	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7294
7295	// A pagination token. If non-null, the pagination token is returned in a result.
7296	// Pass its value in another request to retrieve more entries.
7297	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7298}
7299
7300// String returns the string representation.
7301//
7302// API parameter values that are decorated as "sensitive" in the API will not
7303// be included in the string output. The member name will be present, but the
7304// value will be replaced with "sensitive".
7305func (s ListAppsInput) String() string {
7306	return awsutil.Prettify(s)
7307}
7308
7309// GoString returns the string representation.
7310//
7311// API parameter values that are decorated as "sensitive" in the API will not
7312// be included in the string output. The member name will be present, but the
7313// value will be replaced with "sensitive".
7314func (s ListAppsInput) GoString() string {
7315	return s.String()
7316}
7317
7318// SetMaxResults sets the MaxResults field's value.
7319func (s *ListAppsInput) SetMaxResults(v int64) *ListAppsInput {
7320	s.MaxResults = &v
7321	return s
7322}
7323
7324// SetNextToken sets the NextToken field's value.
7325func (s *ListAppsInput) SetNextToken(v string) *ListAppsInput {
7326	s.NextToken = &v
7327	return s
7328}
7329
7330// The result structure for an Amplify app list request.
7331type ListAppsOutput struct {
7332	_ struct{} `type:"structure"`
7333
7334	// A list of Amplify apps.
7335	//
7336	// Apps is a required field
7337	Apps []*App `locationName:"apps" type:"list" required:"true"`
7338
7339	// A pagination token. Set to null to start listing apps from start. If non-null,
7340	// the pagination token is returned in a result. Pass its value in here to list
7341	// more projects.
7342	NextToken *string `locationName:"nextToken" type:"string"`
7343}
7344
7345// String returns the string representation.
7346//
7347// API parameter values that are decorated as "sensitive" in the API will not
7348// be included in the string output. The member name will be present, but the
7349// value will be replaced with "sensitive".
7350func (s ListAppsOutput) String() string {
7351	return awsutil.Prettify(s)
7352}
7353
7354// GoString returns the string representation.
7355//
7356// API parameter values that are decorated as "sensitive" in the API will not
7357// be included in the string output. The member name will be present, but the
7358// value will be replaced with "sensitive".
7359func (s ListAppsOutput) GoString() string {
7360	return s.String()
7361}
7362
7363// SetApps sets the Apps field's value.
7364func (s *ListAppsOutput) SetApps(v []*App) *ListAppsOutput {
7365	s.Apps = v
7366	return s
7367}
7368
7369// SetNextToken sets the NextToken field's value.
7370func (s *ListAppsOutput) SetNextToken(v string) *ListAppsOutput {
7371	s.NextToken = &v
7372	return s
7373}
7374
7375// Describes the request structure for the list artifacts request.
7376type ListArtifactsInput struct {
7377	_ struct{} `type:"structure" nopayload:"true"`
7378
7379	// The unique ID for an Amplify app.
7380	//
7381	// AppId is a required field
7382	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7383
7384	// The name of a branch that is part of an Amplify app.
7385	//
7386	// BranchName is a required field
7387	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
7388
7389	// The unique ID for a job.
7390	//
7391	// JobId is a required field
7392	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
7393
7394	// The maximum number of records to list in a single response.
7395	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7396
7397	// A pagination token. Set to null to start listing artifacts from start. If
7398	// a non-null pagination token is returned in a result, pass its value in here
7399	// to list more artifacts.
7400	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7401}
7402
7403// String returns the string representation.
7404//
7405// API parameter values that are decorated as "sensitive" in the API will not
7406// be included in the string output. The member name will be present, but the
7407// value will be replaced with "sensitive".
7408func (s ListArtifactsInput) String() string {
7409	return awsutil.Prettify(s)
7410}
7411
7412// GoString returns the string representation.
7413//
7414// API parameter values that are decorated as "sensitive" in the API will not
7415// be included in the string output. The member name will be present, but the
7416// value will be replaced with "sensitive".
7417func (s ListArtifactsInput) GoString() string {
7418	return s.String()
7419}
7420
7421// Validate inspects the fields of the type to determine if they are valid.
7422func (s *ListArtifactsInput) Validate() error {
7423	invalidParams := request.ErrInvalidParams{Context: "ListArtifactsInput"}
7424	if s.AppId == nil {
7425		invalidParams.Add(request.NewErrParamRequired("AppId"))
7426	}
7427	if s.AppId != nil && len(*s.AppId) < 1 {
7428		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7429	}
7430	if s.BranchName == nil {
7431		invalidParams.Add(request.NewErrParamRequired("BranchName"))
7432	}
7433	if s.BranchName != nil && len(*s.BranchName) < 1 {
7434		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
7435	}
7436	if s.JobId == nil {
7437		invalidParams.Add(request.NewErrParamRequired("JobId"))
7438	}
7439	if s.JobId != nil && len(*s.JobId) < 1 {
7440		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
7441	}
7442
7443	if invalidParams.Len() > 0 {
7444		return invalidParams
7445	}
7446	return nil
7447}
7448
7449// SetAppId sets the AppId field's value.
7450func (s *ListArtifactsInput) SetAppId(v string) *ListArtifactsInput {
7451	s.AppId = &v
7452	return s
7453}
7454
7455// SetBranchName sets the BranchName field's value.
7456func (s *ListArtifactsInput) SetBranchName(v string) *ListArtifactsInput {
7457	s.BranchName = &v
7458	return s
7459}
7460
7461// SetJobId sets the JobId field's value.
7462func (s *ListArtifactsInput) SetJobId(v string) *ListArtifactsInput {
7463	s.JobId = &v
7464	return s
7465}
7466
7467// SetMaxResults sets the MaxResults field's value.
7468func (s *ListArtifactsInput) SetMaxResults(v int64) *ListArtifactsInput {
7469	s.MaxResults = &v
7470	return s
7471}
7472
7473// SetNextToken sets the NextToken field's value.
7474func (s *ListArtifactsInput) SetNextToken(v string) *ListArtifactsInput {
7475	s.NextToken = &v
7476	return s
7477}
7478
7479// The result structure for the list artifacts request.
7480type ListArtifactsOutput struct {
7481	_ struct{} `type:"structure"`
7482
7483	// A list of artifacts.
7484	//
7485	// Artifacts is a required field
7486	Artifacts []*Artifact `locationName:"artifacts" type:"list" required:"true"`
7487
7488	// A pagination token. If a non-null pagination token is returned in a result,
7489	// pass its value in another request to retrieve more entries.
7490	NextToken *string `locationName:"nextToken" type:"string"`
7491}
7492
7493// String returns the string representation.
7494//
7495// API parameter values that are decorated as "sensitive" in the API will not
7496// be included in the string output. The member name will be present, but the
7497// value will be replaced with "sensitive".
7498func (s ListArtifactsOutput) String() string {
7499	return awsutil.Prettify(s)
7500}
7501
7502// GoString returns the string representation.
7503//
7504// API parameter values that are decorated as "sensitive" in the API will not
7505// be included in the string output. The member name will be present, but the
7506// value will be replaced with "sensitive".
7507func (s ListArtifactsOutput) GoString() string {
7508	return s.String()
7509}
7510
7511// SetArtifacts sets the Artifacts field's value.
7512func (s *ListArtifactsOutput) SetArtifacts(v []*Artifact) *ListArtifactsOutput {
7513	s.Artifacts = v
7514	return s
7515}
7516
7517// SetNextToken sets the NextToken field's value.
7518func (s *ListArtifactsOutput) SetNextToken(v string) *ListArtifactsOutput {
7519	s.NextToken = &v
7520	return s
7521}
7522
7523// The request structure for the list backend environments request.
7524type ListBackendEnvironmentsInput struct {
7525	_ struct{} `type:"structure" nopayload:"true"`
7526
7527	// The unique ID for an Amplify app.
7528	//
7529	// AppId is a required field
7530	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7531
7532	// The name of the backend environment
7533	EnvironmentName *string `location:"querystring" locationName:"environmentName" min:"1" type:"string"`
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 backend environments from
7539	// the start. If a non-null pagination token is returned in a result, pass its
7540	// value in here to list more backend environments.
7541	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7542}
7543
7544// String returns the string representation.
7545//
7546// API parameter values that are decorated as "sensitive" in the API will not
7547// be included in the string output. The member name will be present, but the
7548// value will be replaced with "sensitive".
7549func (s ListBackendEnvironmentsInput) String() string {
7550	return awsutil.Prettify(s)
7551}
7552
7553// GoString returns the string representation.
7554//
7555// API parameter values that are decorated as "sensitive" in the API will not
7556// be included in the string output. The member name will be present, but the
7557// value will be replaced with "sensitive".
7558func (s ListBackendEnvironmentsInput) GoString() string {
7559	return s.String()
7560}
7561
7562// Validate inspects the fields of the type to determine if they are valid.
7563func (s *ListBackendEnvironmentsInput) Validate() error {
7564	invalidParams := request.ErrInvalidParams{Context: "ListBackendEnvironmentsInput"}
7565	if s.AppId == nil {
7566		invalidParams.Add(request.NewErrParamRequired("AppId"))
7567	}
7568	if s.AppId != nil && len(*s.AppId) < 1 {
7569		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7570	}
7571	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
7572		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
7573	}
7574
7575	if invalidParams.Len() > 0 {
7576		return invalidParams
7577	}
7578	return nil
7579}
7580
7581// SetAppId sets the AppId field's value.
7582func (s *ListBackendEnvironmentsInput) SetAppId(v string) *ListBackendEnvironmentsInput {
7583	s.AppId = &v
7584	return s
7585}
7586
7587// SetEnvironmentName sets the EnvironmentName field's value.
7588func (s *ListBackendEnvironmentsInput) SetEnvironmentName(v string) *ListBackendEnvironmentsInput {
7589	s.EnvironmentName = &v
7590	return s
7591}
7592
7593// SetMaxResults sets the MaxResults field's value.
7594func (s *ListBackendEnvironmentsInput) SetMaxResults(v int64) *ListBackendEnvironmentsInput {
7595	s.MaxResults = &v
7596	return s
7597}
7598
7599// SetNextToken sets the NextToken field's value.
7600func (s *ListBackendEnvironmentsInput) SetNextToken(v string) *ListBackendEnvironmentsInput {
7601	s.NextToken = &v
7602	return s
7603}
7604
7605// The result structure for the list backend environments result.
7606type ListBackendEnvironmentsOutput struct {
7607	_ struct{} `type:"structure"`
7608
7609	// The list of backend environments for an Amplify app.
7610	//
7611	// BackendEnvironments is a required field
7612	BackendEnvironments []*BackendEnvironment `locationName:"backendEnvironments" type:"list" required:"true"`
7613
7614	// A pagination token. If a non-null pagination token is returned in a result,
7615	// pass its value in another request to retrieve more entries.
7616	NextToken *string `locationName:"nextToken" type:"string"`
7617}
7618
7619// String returns the string representation.
7620//
7621// API parameter values that are decorated as "sensitive" in the API will not
7622// be included in the string output. The member name will be present, but the
7623// value will be replaced with "sensitive".
7624func (s ListBackendEnvironmentsOutput) String() string {
7625	return awsutil.Prettify(s)
7626}
7627
7628// GoString returns the string representation.
7629//
7630// API parameter values that are decorated as "sensitive" in the API will not
7631// be included in the string output. The member name will be present, but the
7632// value will be replaced with "sensitive".
7633func (s ListBackendEnvironmentsOutput) GoString() string {
7634	return s.String()
7635}
7636
7637// SetBackendEnvironments sets the BackendEnvironments field's value.
7638func (s *ListBackendEnvironmentsOutput) SetBackendEnvironments(v []*BackendEnvironment) *ListBackendEnvironmentsOutput {
7639	s.BackendEnvironments = v
7640	return s
7641}
7642
7643// SetNextToken sets the NextToken field's value.
7644func (s *ListBackendEnvironmentsOutput) SetNextToken(v string) *ListBackendEnvironmentsOutput {
7645	s.NextToken = &v
7646	return s
7647}
7648
7649// The request structure for the list branches request.
7650type ListBranchesInput struct {
7651	_ struct{} `type:"structure" nopayload:"true"`
7652
7653	// The unique ID for an Amplify app.
7654	//
7655	// AppId is a required field
7656	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7657
7658	// The maximum number of records to list in a single response.
7659	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7660
7661	// A pagination token. Set to null to start listing branches from the start.
7662	// If a non-null pagination token is returned in a result, pass its value in
7663	// here to list more branches.
7664	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7665}
7666
7667// String returns the string representation.
7668//
7669// API parameter values that are decorated as "sensitive" in the API will not
7670// be included in the string output. The member name will be present, but the
7671// value will be replaced with "sensitive".
7672func (s ListBranchesInput) String() string {
7673	return awsutil.Prettify(s)
7674}
7675
7676// GoString returns the string representation.
7677//
7678// API parameter values that are decorated as "sensitive" in the API will not
7679// be included in the string output. The member name will be present, but the
7680// value will be replaced with "sensitive".
7681func (s ListBranchesInput) GoString() string {
7682	return s.String()
7683}
7684
7685// Validate inspects the fields of the type to determine if they are valid.
7686func (s *ListBranchesInput) Validate() error {
7687	invalidParams := request.ErrInvalidParams{Context: "ListBranchesInput"}
7688	if s.AppId == nil {
7689		invalidParams.Add(request.NewErrParamRequired("AppId"))
7690	}
7691	if s.AppId != nil && len(*s.AppId) < 1 {
7692		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7693	}
7694
7695	if invalidParams.Len() > 0 {
7696		return invalidParams
7697	}
7698	return nil
7699}
7700
7701// SetAppId sets the AppId field's value.
7702func (s *ListBranchesInput) SetAppId(v string) *ListBranchesInput {
7703	s.AppId = &v
7704	return s
7705}
7706
7707// SetMaxResults sets the MaxResults field's value.
7708func (s *ListBranchesInput) SetMaxResults(v int64) *ListBranchesInput {
7709	s.MaxResults = &v
7710	return s
7711}
7712
7713// SetNextToken sets the NextToken field's value.
7714func (s *ListBranchesInput) SetNextToken(v string) *ListBranchesInput {
7715	s.NextToken = &v
7716	return s
7717}
7718
7719// The result structure for the list branches request.
7720type ListBranchesOutput struct {
7721	_ struct{} `type:"structure"`
7722
7723	// A list of branches for an Amplify app.
7724	//
7725	// Branches is a required field
7726	Branches []*Branch `locationName:"branches" type:"list" required:"true"`
7727
7728	// A pagination token. If a non-null pagination token is returned in a result,
7729	// pass its value in another request to retrieve more entries.
7730	NextToken *string `locationName:"nextToken" type:"string"`
7731}
7732
7733// String returns the string representation.
7734//
7735// API parameter values that are decorated as "sensitive" in the API will not
7736// be included in the string output. The member name will be present, but the
7737// value will be replaced with "sensitive".
7738func (s ListBranchesOutput) String() string {
7739	return awsutil.Prettify(s)
7740}
7741
7742// GoString returns the string representation.
7743//
7744// API parameter values that are decorated as "sensitive" in the API will not
7745// be included in the string output. The member name will be present, but the
7746// value will be replaced with "sensitive".
7747func (s ListBranchesOutput) GoString() string {
7748	return s.String()
7749}
7750
7751// SetBranches sets the Branches field's value.
7752func (s *ListBranchesOutput) SetBranches(v []*Branch) *ListBranchesOutput {
7753	s.Branches = v
7754	return s
7755}
7756
7757// SetNextToken sets the NextToken field's value.
7758func (s *ListBranchesOutput) SetNextToken(v string) *ListBranchesOutput {
7759	s.NextToken = &v
7760	return s
7761}
7762
7763// The request structure for the list domain associations request.
7764type ListDomainAssociationsInput struct {
7765	_ struct{} `type:"structure" nopayload:"true"`
7766
7767	// The unique ID for an Amplify app.
7768	//
7769	// AppId is a required field
7770	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7771
7772	// The maximum number of records to list in a single response.
7773	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7774
7775	// A pagination token. Set to null to start listing apps from the start. If
7776	// non-null, a pagination token is returned in a result. Pass its value in here
7777	// to list more projects.
7778	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7779}
7780
7781// String returns the string representation.
7782//
7783// API parameter values that are decorated as "sensitive" in the API will not
7784// be included in the string output. The member name will be present, but the
7785// value will be replaced with "sensitive".
7786func (s ListDomainAssociationsInput) String() string {
7787	return awsutil.Prettify(s)
7788}
7789
7790// GoString returns the string representation.
7791//
7792// API parameter values that are decorated as "sensitive" in the API will not
7793// be included in the string output. The member name will be present, but the
7794// value will be replaced with "sensitive".
7795func (s ListDomainAssociationsInput) GoString() string {
7796	return s.String()
7797}
7798
7799// Validate inspects the fields of the type to determine if they are valid.
7800func (s *ListDomainAssociationsInput) Validate() error {
7801	invalidParams := request.ErrInvalidParams{Context: "ListDomainAssociationsInput"}
7802	if s.AppId == nil {
7803		invalidParams.Add(request.NewErrParamRequired("AppId"))
7804	}
7805	if s.AppId != nil && len(*s.AppId) < 1 {
7806		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7807	}
7808
7809	if invalidParams.Len() > 0 {
7810		return invalidParams
7811	}
7812	return nil
7813}
7814
7815// SetAppId sets the AppId field's value.
7816func (s *ListDomainAssociationsInput) SetAppId(v string) *ListDomainAssociationsInput {
7817	s.AppId = &v
7818	return s
7819}
7820
7821// SetMaxResults sets the MaxResults field's value.
7822func (s *ListDomainAssociationsInput) SetMaxResults(v int64) *ListDomainAssociationsInput {
7823	s.MaxResults = &v
7824	return s
7825}
7826
7827// SetNextToken sets the NextToken field's value.
7828func (s *ListDomainAssociationsInput) SetNextToken(v string) *ListDomainAssociationsInput {
7829	s.NextToken = &v
7830	return s
7831}
7832
7833// The result structure for the list domain association request.
7834type ListDomainAssociationsOutput struct {
7835	_ struct{} `type:"structure"`
7836
7837	// A list of domain associations.
7838	//
7839	// DomainAssociations is a required field
7840	DomainAssociations []*DomainAssociation `locationName:"domainAssociations" type:"list" required:"true"`
7841
7842	// A pagination token. If non-null, a pagination token is returned in a result.
7843	// Pass its value in another request to retrieve more entries.
7844	NextToken *string `locationName:"nextToken" type:"string"`
7845}
7846
7847// String returns the string representation.
7848//
7849// API parameter values that are decorated as "sensitive" in the API will not
7850// be included in the string output. The member name will be present, but the
7851// value will be replaced with "sensitive".
7852func (s ListDomainAssociationsOutput) String() string {
7853	return awsutil.Prettify(s)
7854}
7855
7856// GoString returns the string representation.
7857//
7858// API parameter values that are decorated as "sensitive" in the API will not
7859// be included in the string output. The member name will be present, but the
7860// value will be replaced with "sensitive".
7861func (s ListDomainAssociationsOutput) GoString() string {
7862	return s.String()
7863}
7864
7865// SetDomainAssociations sets the DomainAssociations field's value.
7866func (s *ListDomainAssociationsOutput) SetDomainAssociations(v []*DomainAssociation) *ListDomainAssociationsOutput {
7867	s.DomainAssociations = v
7868	return s
7869}
7870
7871// SetNextToken sets the NextToken field's value.
7872func (s *ListDomainAssociationsOutput) SetNextToken(v string) *ListDomainAssociationsOutput {
7873	s.NextToken = &v
7874	return s
7875}
7876
7877// The request structure for the list jobs request.
7878type ListJobsInput struct {
7879	_ struct{} `type:"structure" nopayload:"true"`
7880
7881	// The unique ID for an Amplify app.
7882	//
7883	// AppId is a required field
7884	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
7885
7886	// The name for a branch.
7887	//
7888	// BranchName is a required field
7889	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
7890
7891	// The maximum number of records to list in a single response.
7892	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
7893
7894	// A pagination token. Set to null to start listing steps from the start. If
7895	// a non-null pagination token is returned in a result, pass its value in here
7896	// to list more steps.
7897	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7898}
7899
7900// String returns the string representation.
7901//
7902// API parameter values that are decorated as "sensitive" in the API will not
7903// be included in the string output. The member name will be present, but the
7904// value will be replaced with "sensitive".
7905func (s ListJobsInput) String() string {
7906	return awsutil.Prettify(s)
7907}
7908
7909// GoString returns the string representation.
7910//
7911// API parameter values that are decorated as "sensitive" in the API will not
7912// be included in the string output. The member name will be present, but the
7913// value will be replaced with "sensitive".
7914func (s ListJobsInput) GoString() string {
7915	return s.String()
7916}
7917
7918// Validate inspects the fields of the type to determine if they are valid.
7919func (s *ListJobsInput) Validate() error {
7920	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
7921	if s.AppId == nil {
7922		invalidParams.Add(request.NewErrParamRequired("AppId"))
7923	}
7924	if s.AppId != nil && len(*s.AppId) < 1 {
7925		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
7926	}
7927	if s.BranchName == nil {
7928		invalidParams.Add(request.NewErrParamRequired("BranchName"))
7929	}
7930	if s.BranchName != nil && len(*s.BranchName) < 1 {
7931		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
7932	}
7933
7934	if invalidParams.Len() > 0 {
7935		return invalidParams
7936	}
7937	return nil
7938}
7939
7940// SetAppId sets the AppId field's value.
7941func (s *ListJobsInput) SetAppId(v string) *ListJobsInput {
7942	s.AppId = &v
7943	return s
7944}
7945
7946// SetBranchName sets the BranchName field's value.
7947func (s *ListJobsInput) SetBranchName(v string) *ListJobsInput {
7948	s.BranchName = &v
7949	return s
7950}
7951
7952// SetMaxResults sets the MaxResults field's value.
7953func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput {
7954	s.MaxResults = &v
7955	return s
7956}
7957
7958// SetNextToken sets the NextToken field's value.
7959func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
7960	s.NextToken = &v
7961	return s
7962}
7963
7964// The maximum number of records to list in a single response.
7965type ListJobsOutput struct {
7966	_ struct{} `type:"structure"`
7967
7968	// The result structure for the list job result request.
7969	//
7970	// JobSummaries is a required field
7971	JobSummaries []*JobSummary `locationName:"jobSummaries" type:"list" required:"true"`
7972
7973	// A pagination token. If non-null the pagination token is returned in a result.
7974	// Pass its value in another request to retrieve more entries.
7975	NextToken *string `locationName:"nextToken" type:"string"`
7976}
7977
7978// String returns the string representation.
7979//
7980// API parameter values that are decorated as "sensitive" in the API will not
7981// be included in the string output. The member name will be present, but the
7982// value will be replaced with "sensitive".
7983func (s ListJobsOutput) String() string {
7984	return awsutil.Prettify(s)
7985}
7986
7987// GoString returns the string representation.
7988//
7989// API parameter values that are decorated as "sensitive" in the API will not
7990// be included in the string output. The member name will be present, but the
7991// value will be replaced with "sensitive".
7992func (s ListJobsOutput) GoString() string {
7993	return s.String()
7994}
7995
7996// SetJobSummaries sets the JobSummaries field's value.
7997func (s *ListJobsOutput) SetJobSummaries(v []*JobSummary) *ListJobsOutput {
7998	s.JobSummaries = v
7999	return s
8000}
8001
8002// SetNextToken sets the NextToken field's value.
8003func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
8004	s.NextToken = &v
8005	return s
8006}
8007
8008// The request structure to use to list tags for a resource.
8009type ListTagsForResourceInput struct {
8010	_ struct{} `type:"structure" nopayload:"true"`
8011
8012	// The Amazon Resource Name (ARN) to use to list tags.
8013	//
8014	// ResourceArn is a required field
8015	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
8016}
8017
8018// String returns the string representation.
8019//
8020// API parameter values that are decorated as "sensitive" in the API will not
8021// be included in the string output. The member name will be present, but the
8022// value will be replaced with "sensitive".
8023func (s ListTagsForResourceInput) String() string {
8024	return awsutil.Prettify(s)
8025}
8026
8027// GoString returns the string representation.
8028//
8029// API parameter values that are decorated as "sensitive" in the API will not
8030// be included in the string output. The member name will be present, but the
8031// value will be replaced with "sensitive".
8032func (s ListTagsForResourceInput) GoString() string {
8033	return s.String()
8034}
8035
8036// Validate inspects the fields of the type to determine if they are valid.
8037func (s *ListTagsForResourceInput) Validate() error {
8038	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8039	if s.ResourceArn == nil {
8040		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8041	}
8042	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8043		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8044	}
8045
8046	if invalidParams.Len() > 0 {
8047		return invalidParams
8048	}
8049	return nil
8050}
8051
8052// SetResourceArn sets the ResourceArn field's value.
8053func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8054	s.ResourceArn = &v
8055	return s
8056}
8057
8058// The response for the list tags for resource request.
8059type ListTagsForResourceOutput struct {
8060	_ struct{} `type:"structure"`
8061
8062	// A list of tags for the specified The Amazon Resource Name (ARN).
8063	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8064}
8065
8066// String returns the string representation.
8067//
8068// API parameter values that are decorated as "sensitive" in the API will not
8069// be included in the string output. The member name will be present, but the
8070// value will be replaced with "sensitive".
8071func (s ListTagsForResourceOutput) String() string {
8072	return awsutil.Prettify(s)
8073}
8074
8075// GoString returns the string representation.
8076//
8077// API parameter values that are decorated as "sensitive" in the API will not
8078// be included in the string output. The member name will be present, but the
8079// value will be replaced with "sensitive".
8080func (s ListTagsForResourceOutput) GoString() string {
8081	return s.String()
8082}
8083
8084// SetTags sets the Tags field's value.
8085func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
8086	s.Tags = v
8087	return s
8088}
8089
8090// The request structure for the list webhooks request.
8091type ListWebhooksInput struct {
8092	_ struct{} `type:"structure" nopayload:"true"`
8093
8094	// The unique ID for an Amplify app.
8095	//
8096	// AppId is a required field
8097	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
8098
8099	// The maximum number of records to list in a single response.
8100	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8101
8102	// A pagination token. Set to null to start listing webhooks from the start.
8103	// If non-null,the pagination token is returned in a result. Pass its value
8104	// in here to list more webhooks.
8105	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8106}
8107
8108// String returns the string representation.
8109//
8110// API parameter values that are decorated as "sensitive" in the API will not
8111// be included in the string output. The member name will be present, but the
8112// value will be replaced with "sensitive".
8113func (s ListWebhooksInput) String() string {
8114	return awsutil.Prettify(s)
8115}
8116
8117// GoString returns the string representation.
8118//
8119// API parameter values that are decorated as "sensitive" in the API will not
8120// be included in the string output. The member name will be present, but the
8121// value will be replaced with "sensitive".
8122func (s ListWebhooksInput) GoString() string {
8123	return s.String()
8124}
8125
8126// Validate inspects the fields of the type to determine if they are valid.
8127func (s *ListWebhooksInput) Validate() error {
8128	invalidParams := request.ErrInvalidParams{Context: "ListWebhooksInput"}
8129	if s.AppId == nil {
8130		invalidParams.Add(request.NewErrParamRequired("AppId"))
8131	}
8132	if s.AppId != nil && len(*s.AppId) < 1 {
8133		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
8134	}
8135
8136	if invalidParams.Len() > 0 {
8137		return invalidParams
8138	}
8139	return nil
8140}
8141
8142// SetAppId sets the AppId field's value.
8143func (s *ListWebhooksInput) SetAppId(v string) *ListWebhooksInput {
8144	s.AppId = &v
8145	return s
8146}
8147
8148// SetMaxResults sets the MaxResults field's value.
8149func (s *ListWebhooksInput) SetMaxResults(v int64) *ListWebhooksInput {
8150	s.MaxResults = &v
8151	return s
8152}
8153
8154// SetNextToken sets the NextToken field's value.
8155func (s *ListWebhooksInput) SetNextToken(v string) *ListWebhooksInput {
8156	s.NextToken = &v
8157	return s
8158}
8159
8160// The result structure for the list webhooks request.
8161type ListWebhooksOutput struct {
8162	_ struct{} `type:"structure"`
8163
8164	// A pagination token. If non-null, the pagination token is returned in a result.
8165	// Pass its value in another request to retrieve more entries.
8166	NextToken *string `locationName:"nextToken" type:"string"`
8167
8168	// A list of webhooks.
8169	//
8170	// Webhooks is a required field
8171	Webhooks []*Webhook `locationName:"webhooks" type:"list" required:"true"`
8172}
8173
8174// String returns the string representation.
8175//
8176// API parameter values that are decorated as "sensitive" in the API will not
8177// be included in the string output. The member name will be present, but the
8178// value will be replaced with "sensitive".
8179func (s ListWebhooksOutput) String() string {
8180	return awsutil.Prettify(s)
8181}
8182
8183// GoString returns the string representation.
8184//
8185// API parameter values that are decorated as "sensitive" in the API will not
8186// be included in the string output. The member name will be present, but the
8187// value will be replaced with "sensitive".
8188func (s ListWebhooksOutput) GoString() string {
8189	return s.String()
8190}
8191
8192// SetNextToken sets the NextToken field's value.
8193func (s *ListWebhooksOutput) SetNextToken(v string) *ListWebhooksOutput {
8194	s.NextToken = &v
8195	return s
8196}
8197
8198// SetWebhooks sets the Webhooks field's value.
8199func (s *ListWebhooksOutput) SetWebhooks(v []*Webhook) *ListWebhooksOutput {
8200	s.Webhooks = v
8201	return s
8202}
8203
8204// An entity was not found during an operation.
8205type NotFoundException struct {
8206	_            struct{}                  `type:"structure"`
8207	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8208
8209	Message_ *string `locationName:"message" type:"string"`
8210}
8211
8212// String returns the string representation.
8213//
8214// API parameter values that are decorated as "sensitive" in the API will not
8215// be included in the string output. The member name will be present, but the
8216// value will be replaced with "sensitive".
8217func (s NotFoundException) String() string {
8218	return awsutil.Prettify(s)
8219}
8220
8221// GoString returns the string representation.
8222//
8223// API parameter values that are decorated as "sensitive" in the API will not
8224// be included in the string output. The member name will be present, but the
8225// value will be replaced with "sensitive".
8226func (s NotFoundException) GoString() string {
8227	return s.String()
8228}
8229
8230func newErrorNotFoundException(v protocol.ResponseMetadata) error {
8231	return &NotFoundException{
8232		RespMetadata: v,
8233	}
8234}
8235
8236// Code returns the exception type name.
8237func (s *NotFoundException) Code() string {
8238	return "NotFoundException"
8239}
8240
8241// Message returns the exception's message.
8242func (s *NotFoundException) Message() string {
8243	if s.Message_ != nil {
8244		return *s.Message_
8245	}
8246	return ""
8247}
8248
8249// OrigErr always returns nil, satisfies awserr.Error interface.
8250func (s *NotFoundException) OrigErr() error {
8251	return nil
8252}
8253
8254func (s *NotFoundException) Error() string {
8255	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8256}
8257
8258// Status code returns the HTTP status code for the request's response error.
8259func (s *NotFoundException) StatusCode() int {
8260	return s.RespMetadata.StatusCode
8261}
8262
8263// RequestID returns the service's response RequestID for request.
8264func (s *NotFoundException) RequestID() string {
8265	return s.RespMetadata.RequestID
8266}
8267
8268// Describes the information about a production branch for an Amplify app.
8269type ProductionBranch struct {
8270	_ struct{} `type:"structure"`
8271
8272	// The branch name for the production branch.
8273	BranchName *string `locationName:"branchName" min:"1" type:"string"`
8274
8275	// The last deploy time of the production branch.
8276	LastDeployTime *time.Time `locationName:"lastDeployTime" type:"timestamp"`
8277
8278	// The status of the production branch.
8279	Status *string `locationName:"status" min:"3" type:"string"`
8280
8281	// The thumbnail URL for the production branch.
8282	ThumbnailUrl *string `locationName:"thumbnailUrl" min:"1" type:"string"`
8283}
8284
8285// String returns the string representation.
8286//
8287// API parameter values that are decorated as "sensitive" in the API will not
8288// be included in the string output. The member name will be present, but the
8289// value will be replaced with "sensitive".
8290func (s ProductionBranch) String() string {
8291	return awsutil.Prettify(s)
8292}
8293
8294// GoString returns the string representation.
8295//
8296// API parameter values that are decorated as "sensitive" in the API will not
8297// be included in the string output. The member name will be present, but the
8298// value will be replaced with "sensitive".
8299func (s ProductionBranch) GoString() string {
8300	return s.String()
8301}
8302
8303// SetBranchName sets the BranchName field's value.
8304func (s *ProductionBranch) SetBranchName(v string) *ProductionBranch {
8305	s.BranchName = &v
8306	return s
8307}
8308
8309// SetLastDeployTime sets the LastDeployTime field's value.
8310func (s *ProductionBranch) SetLastDeployTime(v time.Time) *ProductionBranch {
8311	s.LastDeployTime = &v
8312	return s
8313}
8314
8315// SetStatus sets the Status field's value.
8316func (s *ProductionBranch) SetStatus(v string) *ProductionBranch {
8317	s.Status = &v
8318	return s
8319}
8320
8321// SetThumbnailUrl sets the ThumbnailUrl field's value.
8322func (s *ProductionBranch) SetThumbnailUrl(v string) *ProductionBranch {
8323	s.ThumbnailUrl = &v
8324	return s
8325}
8326
8327// An operation failed due to a non-existent resource.
8328type ResourceNotFoundException struct {
8329	_            struct{}                  `type:"structure"`
8330	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8331
8332	Code_ *string `locationName:"code" type:"string"`
8333
8334	Message_ *string `locationName:"message" type:"string"`
8335}
8336
8337// String returns the string representation.
8338//
8339// API parameter values that are decorated as "sensitive" in the API will not
8340// be included in the string output. The member name will be present, but the
8341// value will be replaced with "sensitive".
8342func (s ResourceNotFoundException) String() string {
8343	return awsutil.Prettify(s)
8344}
8345
8346// GoString returns the string representation.
8347//
8348// API parameter values that are decorated as "sensitive" in the API will not
8349// be included in the string output. The member name will be present, but the
8350// value will be replaced with "sensitive".
8351func (s ResourceNotFoundException) GoString() string {
8352	return s.String()
8353}
8354
8355func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
8356	return &ResourceNotFoundException{
8357		RespMetadata: v,
8358	}
8359}
8360
8361// Code returns the exception type name.
8362func (s *ResourceNotFoundException) Code() string {
8363	return "ResourceNotFoundException"
8364}
8365
8366// Message returns the exception's message.
8367func (s *ResourceNotFoundException) Message() string {
8368	if s.Message_ != nil {
8369		return *s.Message_
8370	}
8371	return ""
8372}
8373
8374// OrigErr always returns nil, satisfies awserr.Error interface.
8375func (s *ResourceNotFoundException) OrigErr() error {
8376	return nil
8377}
8378
8379func (s *ResourceNotFoundException) Error() string {
8380	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8381}
8382
8383// Status code returns the HTTP status code for the request's response error.
8384func (s *ResourceNotFoundException) StatusCode() int {
8385	return s.RespMetadata.StatusCode
8386}
8387
8388// RequestID returns the service's response RequestID for request.
8389func (s *ResourceNotFoundException) RequestID() string {
8390	return s.RespMetadata.RequestID
8391}
8392
8393// The request structure for the start a deployment request.
8394type StartDeploymentInput struct {
8395	_ struct{} `type:"structure"`
8396
8397	// The unique ID for an Amplify app.
8398	//
8399	// AppId is a required field
8400	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
8401
8402	// The name for the branch, for the job.
8403	//
8404	// BranchName is a required field
8405	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
8406
8407	// The job ID for this deployment, generated by the create deployment request.
8408	JobId *string `locationName:"jobId" type:"string"`
8409
8410	// The source URL for this deployment, used when calling start deployment without
8411	// create deployment. The source URL can be any HTTP GET URL that is publicly
8412	// accessible and downloads a single .zip file.
8413	SourceUrl *string `locationName:"sourceUrl" type:"string"`
8414}
8415
8416// String returns the string representation.
8417//
8418// API parameter values that are decorated as "sensitive" in the API will not
8419// be included in the string output. The member name will be present, but the
8420// value will be replaced with "sensitive".
8421func (s StartDeploymentInput) String() string {
8422	return awsutil.Prettify(s)
8423}
8424
8425// GoString returns the string representation.
8426//
8427// API parameter values that are decorated as "sensitive" in the API will not
8428// be included in the string output. The member name will be present, but the
8429// value will be replaced with "sensitive".
8430func (s StartDeploymentInput) GoString() string {
8431	return s.String()
8432}
8433
8434// Validate inspects the fields of the type to determine if they are valid.
8435func (s *StartDeploymentInput) Validate() error {
8436	invalidParams := request.ErrInvalidParams{Context: "StartDeploymentInput"}
8437	if s.AppId == nil {
8438		invalidParams.Add(request.NewErrParamRequired("AppId"))
8439	}
8440	if s.AppId != nil && len(*s.AppId) < 1 {
8441		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
8442	}
8443	if s.BranchName == nil {
8444		invalidParams.Add(request.NewErrParamRequired("BranchName"))
8445	}
8446	if s.BranchName != nil && len(*s.BranchName) < 1 {
8447		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
8448	}
8449
8450	if invalidParams.Len() > 0 {
8451		return invalidParams
8452	}
8453	return nil
8454}
8455
8456// SetAppId sets the AppId field's value.
8457func (s *StartDeploymentInput) SetAppId(v string) *StartDeploymentInput {
8458	s.AppId = &v
8459	return s
8460}
8461
8462// SetBranchName sets the BranchName field's value.
8463func (s *StartDeploymentInput) SetBranchName(v string) *StartDeploymentInput {
8464	s.BranchName = &v
8465	return s
8466}
8467
8468// SetJobId sets the JobId field's value.
8469func (s *StartDeploymentInput) SetJobId(v string) *StartDeploymentInput {
8470	s.JobId = &v
8471	return s
8472}
8473
8474// SetSourceUrl sets the SourceUrl field's value.
8475func (s *StartDeploymentInput) SetSourceUrl(v string) *StartDeploymentInput {
8476	s.SourceUrl = &v
8477	return s
8478}
8479
8480// The result structure for the start a deployment request.
8481type StartDeploymentOutput struct {
8482	_ struct{} `type:"structure"`
8483
8484	// The summary for the job.
8485	//
8486	// JobSummary is a required field
8487	JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"`
8488}
8489
8490// String returns the string representation.
8491//
8492// API parameter values that are decorated as "sensitive" in the API will not
8493// be included in the string output. The member name will be present, but the
8494// value will be replaced with "sensitive".
8495func (s StartDeploymentOutput) String() string {
8496	return awsutil.Prettify(s)
8497}
8498
8499// GoString returns the string representation.
8500//
8501// API parameter values that are decorated as "sensitive" in the API will not
8502// be included in the string output. The member name will be present, but the
8503// value will be replaced with "sensitive".
8504func (s StartDeploymentOutput) GoString() string {
8505	return s.String()
8506}
8507
8508// SetJobSummary sets the JobSummary field's value.
8509func (s *StartDeploymentOutput) SetJobSummary(v *JobSummary) *StartDeploymentOutput {
8510	s.JobSummary = v
8511	return s
8512}
8513
8514// The request structure for the start job request.
8515type StartJobInput struct {
8516	_ struct{} `type:"structure"`
8517
8518	// The unique ID for an Amplify app.
8519	//
8520	// AppId is a required field
8521	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
8522
8523	// The branch name for the job.
8524	//
8525	// BranchName is a required field
8526	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
8527
8528	// The commit ID from a third-party repository provider for the job.
8529	CommitId *string `locationName:"commitId" type:"string"`
8530
8531	// The commit message from a third-party repository provider for the job.
8532	CommitMessage *string `locationName:"commitMessage" type:"string"`
8533
8534	// The commit date and time for the job.
8535	CommitTime *time.Time `locationName:"commitTime" type:"timestamp"`
8536
8537	// The unique ID for an existing job. This is required if the value of jobType
8538	// is RETRY.
8539	JobId *string `locationName:"jobId" type:"string"`
8540
8541	// A descriptive reason for starting this job.
8542	JobReason *string `locationName:"jobReason" type:"string"`
8543
8544	// Describes the type for the job. The job type RELEASE starts a new job with
8545	// the latest change from the specified branch. This value is available only
8546	// for apps that are connected to a repository. The job type RETRY retries an
8547	// existing job. If the job type value is RETRY, the jobId is also required.
8548	//
8549	// JobType is a required field
8550	JobType *string `locationName:"jobType" type:"string" required:"true" enum:"JobType"`
8551}
8552
8553// String returns the string representation.
8554//
8555// API parameter values that are decorated as "sensitive" in the API will not
8556// be included in the string output. The member name will be present, but the
8557// value will be replaced with "sensitive".
8558func (s StartJobInput) String() string {
8559	return awsutil.Prettify(s)
8560}
8561
8562// GoString returns the string representation.
8563//
8564// API parameter values that are decorated as "sensitive" in the API will not
8565// be included in the string output. The member name will be present, but the
8566// value will be replaced with "sensitive".
8567func (s StartJobInput) GoString() string {
8568	return s.String()
8569}
8570
8571// Validate inspects the fields of the type to determine if they are valid.
8572func (s *StartJobInput) Validate() error {
8573	invalidParams := request.ErrInvalidParams{Context: "StartJobInput"}
8574	if s.AppId == nil {
8575		invalidParams.Add(request.NewErrParamRequired("AppId"))
8576	}
8577	if s.AppId != nil && len(*s.AppId) < 1 {
8578		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
8579	}
8580	if s.BranchName == nil {
8581		invalidParams.Add(request.NewErrParamRequired("BranchName"))
8582	}
8583	if s.BranchName != nil && len(*s.BranchName) < 1 {
8584		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
8585	}
8586	if s.JobType == nil {
8587		invalidParams.Add(request.NewErrParamRequired("JobType"))
8588	}
8589
8590	if invalidParams.Len() > 0 {
8591		return invalidParams
8592	}
8593	return nil
8594}
8595
8596// SetAppId sets the AppId field's value.
8597func (s *StartJobInput) SetAppId(v string) *StartJobInput {
8598	s.AppId = &v
8599	return s
8600}
8601
8602// SetBranchName sets the BranchName field's value.
8603func (s *StartJobInput) SetBranchName(v string) *StartJobInput {
8604	s.BranchName = &v
8605	return s
8606}
8607
8608// SetCommitId sets the CommitId field's value.
8609func (s *StartJobInput) SetCommitId(v string) *StartJobInput {
8610	s.CommitId = &v
8611	return s
8612}
8613
8614// SetCommitMessage sets the CommitMessage field's value.
8615func (s *StartJobInput) SetCommitMessage(v string) *StartJobInput {
8616	s.CommitMessage = &v
8617	return s
8618}
8619
8620// SetCommitTime sets the CommitTime field's value.
8621func (s *StartJobInput) SetCommitTime(v time.Time) *StartJobInput {
8622	s.CommitTime = &v
8623	return s
8624}
8625
8626// SetJobId sets the JobId field's value.
8627func (s *StartJobInput) SetJobId(v string) *StartJobInput {
8628	s.JobId = &v
8629	return s
8630}
8631
8632// SetJobReason sets the JobReason field's value.
8633func (s *StartJobInput) SetJobReason(v string) *StartJobInput {
8634	s.JobReason = &v
8635	return s
8636}
8637
8638// SetJobType sets the JobType field's value.
8639func (s *StartJobInput) SetJobType(v string) *StartJobInput {
8640	s.JobType = &v
8641	return s
8642}
8643
8644// The result structure for the run job request.
8645type StartJobOutput struct {
8646	_ struct{} `type:"structure"`
8647
8648	// The summary for the job.
8649	//
8650	// JobSummary is a required field
8651	JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"`
8652}
8653
8654// String returns the string representation.
8655//
8656// API parameter values that are decorated as "sensitive" in the API will not
8657// be included in the string output. The member name will be present, but the
8658// value will be replaced with "sensitive".
8659func (s StartJobOutput) String() string {
8660	return awsutil.Prettify(s)
8661}
8662
8663// GoString returns the string representation.
8664//
8665// API parameter values that are decorated as "sensitive" in the API will not
8666// be included in the string output. The member name will be present, but the
8667// value will be replaced with "sensitive".
8668func (s StartJobOutput) GoString() string {
8669	return s.String()
8670}
8671
8672// SetJobSummary sets the JobSummary field's value.
8673func (s *StartJobOutput) SetJobSummary(v *JobSummary) *StartJobOutput {
8674	s.JobSummary = v
8675	return s
8676}
8677
8678// Describes an execution step, for an execution job, for an Amplify app.
8679type Step struct {
8680	_ struct{} `type:"structure"`
8681
8682	// The URL to the artifact for the execution step.
8683	ArtifactsUrl *string `locationName:"artifactsUrl" type:"string"`
8684
8685	// The context for the current step. Includes a build image if the step is build.
8686	Context *string `locationName:"context" type:"string"`
8687
8688	// The end date and time of the execution step.
8689	//
8690	// EndTime is a required field
8691	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
8692
8693	// The URL to the logs for the execution step.
8694	LogUrl *string `locationName:"logUrl" type:"string"`
8695
8696	// The list of screenshot URLs for the execution step, if relevant.
8697	Screenshots map[string]*string `locationName:"screenshots" type:"map"`
8698
8699	// The start date and time of the execution step.
8700	//
8701	// StartTime is a required field
8702	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
8703
8704	// The status of the execution step.
8705	//
8706	// Status is a required field
8707	Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"`
8708
8709	// The reason for the current step status.
8710	StatusReason *string `locationName:"statusReason" type:"string"`
8711
8712	// The name of the execution step.
8713	//
8714	// StepName is a required field
8715	StepName *string `locationName:"stepName" type:"string" required:"true"`
8716
8717	// The URL to the test artifact for the execution step.
8718	TestArtifactsUrl *string `locationName:"testArtifactsUrl" type:"string"`
8719
8720	// The URL to the test configuration for the execution step.
8721	TestConfigUrl *string `locationName:"testConfigUrl" type:"string"`
8722}
8723
8724// String returns the string representation.
8725//
8726// API parameter values that are decorated as "sensitive" in the API will not
8727// be included in the string output. The member name will be present, but the
8728// value will be replaced with "sensitive".
8729func (s Step) String() string {
8730	return awsutil.Prettify(s)
8731}
8732
8733// GoString returns the string representation.
8734//
8735// API parameter values that are decorated as "sensitive" in the API will not
8736// be included in the string output. The member name will be present, but the
8737// value will be replaced with "sensitive".
8738func (s Step) GoString() string {
8739	return s.String()
8740}
8741
8742// SetArtifactsUrl sets the ArtifactsUrl field's value.
8743func (s *Step) SetArtifactsUrl(v string) *Step {
8744	s.ArtifactsUrl = &v
8745	return s
8746}
8747
8748// SetContext sets the Context field's value.
8749func (s *Step) SetContext(v string) *Step {
8750	s.Context = &v
8751	return s
8752}
8753
8754// SetEndTime sets the EndTime field's value.
8755func (s *Step) SetEndTime(v time.Time) *Step {
8756	s.EndTime = &v
8757	return s
8758}
8759
8760// SetLogUrl sets the LogUrl field's value.
8761func (s *Step) SetLogUrl(v string) *Step {
8762	s.LogUrl = &v
8763	return s
8764}
8765
8766// SetScreenshots sets the Screenshots field's value.
8767func (s *Step) SetScreenshots(v map[string]*string) *Step {
8768	s.Screenshots = v
8769	return s
8770}
8771
8772// SetStartTime sets the StartTime field's value.
8773func (s *Step) SetStartTime(v time.Time) *Step {
8774	s.StartTime = &v
8775	return s
8776}
8777
8778// SetStatus sets the Status field's value.
8779func (s *Step) SetStatus(v string) *Step {
8780	s.Status = &v
8781	return s
8782}
8783
8784// SetStatusReason sets the StatusReason field's value.
8785func (s *Step) SetStatusReason(v string) *Step {
8786	s.StatusReason = &v
8787	return s
8788}
8789
8790// SetStepName sets the StepName field's value.
8791func (s *Step) SetStepName(v string) *Step {
8792	s.StepName = &v
8793	return s
8794}
8795
8796// SetTestArtifactsUrl sets the TestArtifactsUrl field's value.
8797func (s *Step) SetTestArtifactsUrl(v string) *Step {
8798	s.TestArtifactsUrl = &v
8799	return s
8800}
8801
8802// SetTestConfigUrl sets the TestConfigUrl field's value.
8803func (s *Step) SetTestConfigUrl(v string) *Step {
8804	s.TestConfigUrl = &v
8805	return s
8806}
8807
8808// The request structure for the stop job request.
8809type StopJobInput struct {
8810	_ struct{} `type:"structure" nopayload:"true"`
8811
8812	// The unique ID for an Amplify app.
8813	//
8814	// AppId is a required field
8815	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
8816
8817	// The name for the branch, for the job.
8818	//
8819	// BranchName is a required field
8820	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
8821
8822	// The unique id for the job.
8823	//
8824	// JobId is a required field
8825	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
8826}
8827
8828// String returns the string representation.
8829//
8830// API parameter values that are decorated as "sensitive" in the API will not
8831// be included in the string output. The member name will be present, but the
8832// value will be replaced with "sensitive".
8833func (s StopJobInput) String() string {
8834	return awsutil.Prettify(s)
8835}
8836
8837// GoString returns the string representation.
8838//
8839// API parameter values that are decorated as "sensitive" in the API will not
8840// be included in the string output. The member name will be present, but the
8841// value will be replaced with "sensitive".
8842func (s StopJobInput) GoString() string {
8843	return s.String()
8844}
8845
8846// Validate inspects the fields of the type to determine if they are valid.
8847func (s *StopJobInput) Validate() error {
8848	invalidParams := request.ErrInvalidParams{Context: "StopJobInput"}
8849	if s.AppId == nil {
8850		invalidParams.Add(request.NewErrParamRequired("AppId"))
8851	}
8852	if s.AppId != nil && len(*s.AppId) < 1 {
8853		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
8854	}
8855	if s.BranchName == nil {
8856		invalidParams.Add(request.NewErrParamRequired("BranchName"))
8857	}
8858	if s.BranchName != nil && len(*s.BranchName) < 1 {
8859		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
8860	}
8861	if s.JobId == nil {
8862		invalidParams.Add(request.NewErrParamRequired("JobId"))
8863	}
8864	if s.JobId != nil && len(*s.JobId) < 1 {
8865		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
8866	}
8867
8868	if invalidParams.Len() > 0 {
8869		return invalidParams
8870	}
8871	return nil
8872}
8873
8874// SetAppId sets the AppId field's value.
8875func (s *StopJobInput) SetAppId(v string) *StopJobInput {
8876	s.AppId = &v
8877	return s
8878}
8879
8880// SetBranchName sets the BranchName field's value.
8881func (s *StopJobInput) SetBranchName(v string) *StopJobInput {
8882	s.BranchName = &v
8883	return s
8884}
8885
8886// SetJobId sets the JobId field's value.
8887func (s *StopJobInput) SetJobId(v string) *StopJobInput {
8888	s.JobId = &v
8889	return s
8890}
8891
8892// The result structure for the stop job request.
8893type StopJobOutput struct {
8894	_ struct{} `type:"structure"`
8895
8896	// The summary for the job.
8897	//
8898	// JobSummary is a required field
8899	JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"`
8900}
8901
8902// String returns the string representation.
8903//
8904// API parameter values that are decorated as "sensitive" in the API will not
8905// be included in the string output. The member name will be present, but the
8906// value will be replaced with "sensitive".
8907func (s StopJobOutput) String() string {
8908	return awsutil.Prettify(s)
8909}
8910
8911// GoString returns the string representation.
8912//
8913// API parameter values that are decorated as "sensitive" in the API will not
8914// be included in the string output. The member name will be present, but the
8915// value will be replaced with "sensitive".
8916func (s StopJobOutput) GoString() string {
8917	return s.String()
8918}
8919
8920// SetJobSummary sets the JobSummary field's value.
8921func (s *StopJobOutput) SetJobSummary(v *JobSummary) *StopJobOutput {
8922	s.JobSummary = v
8923	return s
8924}
8925
8926// The subdomain for the domain association.
8927type SubDomain struct {
8928	_ struct{} `type:"structure"`
8929
8930	// The DNS record for the subdomain.
8931	//
8932	// DnsRecord is a required field
8933	DnsRecord *string `locationName:"dnsRecord" type:"string" required:"true"`
8934
8935	// Describes the settings for the subdomain.
8936	//
8937	// SubDomainSetting is a required field
8938	SubDomainSetting *SubDomainSetting `locationName:"subDomainSetting" type:"structure" required:"true"`
8939
8940	// The verified status of the subdomain
8941	//
8942	// Verified is a required field
8943	Verified *bool `locationName:"verified" type:"boolean" required:"true"`
8944}
8945
8946// String returns the string representation.
8947//
8948// API parameter values that are decorated as "sensitive" in the API will not
8949// be included in the string output. The member name will be present, but the
8950// value will be replaced with "sensitive".
8951func (s SubDomain) String() string {
8952	return awsutil.Prettify(s)
8953}
8954
8955// GoString returns the string representation.
8956//
8957// API parameter values that are decorated as "sensitive" in the API will not
8958// be included in the string output. The member name will be present, but the
8959// value will be replaced with "sensitive".
8960func (s SubDomain) GoString() string {
8961	return s.String()
8962}
8963
8964// SetDnsRecord sets the DnsRecord field's value.
8965func (s *SubDomain) SetDnsRecord(v string) *SubDomain {
8966	s.DnsRecord = &v
8967	return s
8968}
8969
8970// SetSubDomainSetting sets the SubDomainSetting field's value.
8971func (s *SubDomain) SetSubDomainSetting(v *SubDomainSetting) *SubDomain {
8972	s.SubDomainSetting = v
8973	return s
8974}
8975
8976// SetVerified sets the Verified field's value.
8977func (s *SubDomain) SetVerified(v bool) *SubDomain {
8978	s.Verified = &v
8979	return s
8980}
8981
8982// Describes the settings for the subdomain.
8983type SubDomainSetting struct {
8984	_ struct{} `type:"structure"`
8985
8986	// The branch name setting for the subdomain.
8987	//
8988	// BranchName is a required field
8989	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
8990
8991	// The prefix setting for the subdomain.
8992	//
8993	// Prefix is a required field
8994	Prefix *string `locationName:"prefix" type:"string" required:"true"`
8995}
8996
8997// String returns the string representation.
8998//
8999// API parameter values that are decorated as "sensitive" in the API will not
9000// be included in the string output. The member name will be present, but the
9001// value will be replaced with "sensitive".
9002func (s SubDomainSetting) String() string {
9003	return awsutil.Prettify(s)
9004}
9005
9006// GoString returns the string representation.
9007//
9008// API parameter values that are decorated as "sensitive" in the API will not
9009// be included in the string output. The member name will be present, but the
9010// value will be replaced with "sensitive".
9011func (s SubDomainSetting) GoString() string {
9012	return s.String()
9013}
9014
9015// Validate inspects the fields of the type to determine if they are valid.
9016func (s *SubDomainSetting) Validate() error {
9017	invalidParams := request.ErrInvalidParams{Context: "SubDomainSetting"}
9018	if s.BranchName == nil {
9019		invalidParams.Add(request.NewErrParamRequired("BranchName"))
9020	}
9021	if s.BranchName != nil && len(*s.BranchName) < 1 {
9022		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
9023	}
9024	if s.Prefix == nil {
9025		invalidParams.Add(request.NewErrParamRequired("Prefix"))
9026	}
9027
9028	if invalidParams.Len() > 0 {
9029		return invalidParams
9030	}
9031	return nil
9032}
9033
9034// SetBranchName sets the BranchName field's value.
9035func (s *SubDomainSetting) SetBranchName(v string) *SubDomainSetting {
9036	s.BranchName = &v
9037	return s
9038}
9039
9040// SetPrefix sets the Prefix field's value.
9041func (s *SubDomainSetting) SetPrefix(v string) *SubDomainSetting {
9042	s.Prefix = &v
9043	return s
9044}
9045
9046// The request structure to tag a resource with a tag key and value.
9047type TagResourceInput struct {
9048	_ struct{} `type:"structure"`
9049
9050	// The Amazon Resource Name (ARN) to use to tag a resource.
9051	//
9052	// ResourceArn is a required field
9053	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
9054
9055	// The tags used to tag the resource.
9056	//
9057	// Tags is a required field
9058	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
9059}
9060
9061// String returns the string representation.
9062//
9063// API parameter values that are decorated as "sensitive" in the API will not
9064// be included in the string output. The member name will be present, but the
9065// value will be replaced with "sensitive".
9066func (s TagResourceInput) String() string {
9067	return awsutil.Prettify(s)
9068}
9069
9070// GoString returns the string representation.
9071//
9072// API parameter values that are decorated as "sensitive" in the API will not
9073// be included in the string output. The member name will be present, but the
9074// value will be replaced with "sensitive".
9075func (s TagResourceInput) GoString() string {
9076	return s.String()
9077}
9078
9079// Validate inspects the fields of the type to determine if they are valid.
9080func (s *TagResourceInput) Validate() error {
9081	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
9082	if s.ResourceArn == nil {
9083		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9084	}
9085	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9086		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9087	}
9088	if s.Tags == nil {
9089		invalidParams.Add(request.NewErrParamRequired("Tags"))
9090	}
9091	if s.Tags != nil && len(s.Tags) < 1 {
9092		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9093	}
9094
9095	if invalidParams.Len() > 0 {
9096		return invalidParams
9097	}
9098	return nil
9099}
9100
9101// SetResourceArn sets the ResourceArn field's value.
9102func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
9103	s.ResourceArn = &v
9104	return s
9105}
9106
9107// SetTags sets the Tags field's value.
9108func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
9109	s.Tags = v
9110	return s
9111}
9112
9113// The response for the tag resource request.
9114type TagResourceOutput struct {
9115	_ struct{} `type:"structure"`
9116}
9117
9118// String returns the string representation.
9119//
9120// API parameter values that are decorated as "sensitive" in the API will not
9121// be included in the string output. The member name will be present, but the
9122// value will be replaced with "sensitive".
9123func (s TagResourceOutput) String() string {
9124	return awsutil.Prettify(s)
9125}
9126
9127// GoString returns the string representation.
9128//
9129// API parameter values that are decorated as "sensitive" in the API will not
9130// be included in the string output. The member name will be present, but the
9131// value will be replaced with "sensitive".
9132func (s TagResourceOutput) GoString() string {
9133	return s.String()
9134}
9135
9136// An operation failed due to a lack of access.
9137type UnauthorizedException struct {
9138	_            struct{}                  `type:"structure"`
9139	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9140
9141	Message_ *string `locationName:"message" type:"string"`
9142}
9143
9144// String returns the string representation.
9145//
9146// API parameter values that are decorated as "sensitive" in the API will not
9147// be included in the string output. The member name will be present, but the
9148// value will be replaced with "sensitive".
9149func (s UnauthorizedException) String() string {
9150	return awsutil.Prettify(s)
9151}
9152
9153// GoString returns the string representation.
9154//
9155// API parameter values that are decorated as "sensitive" in the API will not
9156// be included in the string output. The member name will be present, but the
9157// value will be replaced with "sensitive".
9158func (s UnauthorizedException) GoString() string {
9159	return s.String()
9160}
9161
9162func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
9163	return &UnauthorizedException{
9164		RespMetadata: v,
9165	}
9166}
9167
9168// Code returns the exception type name.
9169func (s *UnauthorizedException) Code() string {
9170	return "UnauthorizedException"
9171}
9172
9173// Message returns the exception's message.
9174func (s *UnauthorizedException) Message() string {
9175	if s.Message_ != nil {
9176		return *s.Message_
9177	}
9178	return ""
9179}
9180
9181// OrigErr always returns nil, satisfies awserr.Error interface.
9182func (s *UnauthorizedException) OrigErr() error {
9183	return nil
9184}
9185
9186func (s *UnauthorizedException) Error() string {
9187	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9188}
9189
9190// Status code returns the HTTP status code for the request's response error.
9191func (s *UnauthorizedException) StatusCode() int {
9192	return s.RespMetadata.StatusCode
9193}
9194
9195// RequestID returns the service's response RequestID for request.
9196func (s *UnauthorizedException) RequestID() string {
9197	return s.RespMetadata.RequestID
9198}
9199
9200// The request structure for the untag resource request.
9201type UntagResourceInput struct {
9202	_ struct{} `type:"structure" nopayload:"true"`
9203
9204	// The Amazon Resource Name (ARN) to use to untag a resource.
9205	//
9206	// ResourceArn is a required field
9207	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
9208
9209	// The tag keys to use to untag a resource.
9210	//
9211	// TagKeys is a required field
9212	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
9213}
9214
9215// String returns the string representation.
9216//
9217// API parameter values that are decorated as "sensitive" in the API will not
9218// be included in the string output. The member name will be present, but the
9219// value will be replaced with "sensitive".
9220func (s UntagResourceInput) String() string {
9221	return awsutil.Prettify(s)
9222}
9223
9224// GoString returns the string representation.
9225//
9226// API parameter values that are decorated as "sensitive" in the API will not
9227// be included in the string output. The member name will be present, but the
9228// value will be replaced with "sensitive".
9229func (s UntagResourceInput) GoString() string {
9230	return s.String()
9231}
9232
9233// Validate inspects the fields of the type to determine if they are valid.
9234func (s *UntagResourceInput) Validate() error {
9235	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
9236	if s.ResourceArn == nil {
9237		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9238	}
9239	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9240		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9241	}
9242	if s.TagKeys == nil {
9243		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
9244	}
9245	if s.TagKeys != nil && len(s.TagKeys) < 1 {
9246		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
9247	}
9248
9249	if invalidParams.Len() > 0 {
9250		return invalidParams
9251	}
9252	return nil
9253}
9254
9255// SetResourceArn sets the ResourceArn field's value.
9256func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
9257	s.ResourceArn = &v
9258	return s
9259}
9260
9261// SetTagKeys sets the TagKeys field's value.
9262func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
9263	s.TagKeys = v
9264	return s
9265}
9266
9267// The response for the untag resource request.
9268type UntagResourceOutput struct {
9269	_ struct{} `type:"structure"`
9270}
9271
9272// String returns the string representation.
9273//
9274// API parameter values that are decorated as "sensitive" in the API will not
9275// be included in the string output. The member name will be present, but the
9276// value will be replaced with "sensitive".
9277func (s UntagResourceOutput) String() string {
9278	return awsutil.Prettify(s)
9279}
9280
9281// GoString returns the string representation.
9282//
9283// API parameter values that are decorated as "sensitive" in the API will not
9284// be included in the string output. The member name will be present, but the
9285// value will be replaced with "sensitive".
9286func (s UntagResourceOutput) GoString() string {
9287	return s.String()
9288}
9289
9290// The request structure for the update app request.
9291type UpdateAppInput struct {
9292	_ struct{} `type:"structure"`
9293
9294	// The personal access token for a third-party source control system for an
9295	// Amplify app. The token is used to create webhook and a read-only deploy key.
9296	// The token is not stored.
9297	//
9298	// AccessToken is a sensitive parameter and its value will be
9299	// replaced with "sensitive" in string returned by UpdateAppInput's
9300	// String and GoString methods.
9301	AccessToken *string `locationName:"accessToken" min:"1" type:"string" sensitive:"true"`
9302
9303	// The unique ID for an Amplify app.
9304	//
9305	// AppId is a required field
9306	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
9307
9308	// The automated branch creation configuration for an Amplify app.
9309	AutoBranchCreationConfig *AutoBranchCreationConfig `locationName:"autoBranchCreationConfig" type:"structure"`
9310
9311	// Describes the automated branch creation glob patterns for an Amplify app.
9312	AutoBranchCreationPatterns []*string `locationName:"autoBranchCreationPatterns" type:"list"`
9313
9314	// The basic authorization credentials for an Amplify app.
9315	//
9316	// BasicAuthCredentials is a sensitive parameter and its value will be
9317	// replaced with "sensitive" in string returned by UpdateAppInput's
9318	// String and GoString methods.
9319	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
9320
9321	// The build specification (build spec) for an Amplify app.
9322	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
9323
9324	// The custom HTTP headers for an Amplify app.
9325	CustomHeaders *string `locationName:"customHeaders" min:"1" type:"string"`
9326
9327	// The custom redirect and rewrite rules for an Amplify app.
9328	CustomRules []*CustomRule `locationName:"customRules" type:"list"`
9329
9330	// The description for an Amplify app.
9331	Description *string `locationName:"description" type:"string"`
9332
9333	// Enables automated branch creation for an Amplify app.
9334	EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"`
9335
9336	// Enables basic authorization for an Amplify app.
9337	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
9338
9339	// Enables branch auto-building for an Amplify app.
9340	EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean"`
9341
9342	// Automatically disconnects a branch in the Amplify Console when you delete
9343	// a branch from your Git repository.
9344	EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"`
9345
9346	// The environment variables for an Amplify app.
9347	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
9348
9349	// The AWS Identity and Access Management (IAM) service role for an Amplify
9350	// app.
9351	IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"`
9352
9353	// The name for an Amplify app.
9354	Name *string `locationName:"name" min:"1" type:"string"`
9355
9356	// The OAuth token for a third-party source control system for an Amplify app.
9357	// The token is used to create a webhook and a read-only deploy key. The OAuth
9358	// token is not stored.
9359	//
9360	// OauthToken is a sensitive parameter and its value will be
9361	// replaced with "sensitive" in string returned by UpdateAppInput's
9362	// String and GoString methods.
9363	OauthToken *string `locationName:"oauthToken" type:"string" sensitive:"true"`
9364
9365	// The platform for an Amplify app.
9366	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
9367
9368	// The name of the repository for an Amplify app
9369	Repository *string `locationName:"repository" type:"string"`
9370}
9371
9372// String returns the string representation.
9373//
9374// API parameter values that are decorated as "sensitive" in the API will not
9375// be included in the string output. The member name will be present, but the
9376// value will be replaced with "sensitive".
9377func (s UpdateAppInput) String() string {
9378	return awsutil.Prettify(s)
9379}
9380
9381// GoString returns the string representation.
9382//
9383// API parameter values that are decorated as "sensitive" in the API will not
9384// be included in the string output. The member name will be present, but the
9385// value will be replaced with "sensitive".
9386func (s UpdateAppInput) GoString() string {
9387	return s.String()
9388}
9389
9390// Validate inspects the fields of the type to determine if they are valid.
9391func (s *UpdateAppInput) Validate() error {
9392	invalidParams := request.ErrInvalidParams{Context: "UpdateAppInput"}
9393	if s.AccessToken != nil && len(*s.AccessToken) < 1 {
9394		invalidParams.Add(request.NewErrParamMinLen("AccessToken", 1))
9395	}
9396	if s.AppId == nil {
9397		invalidParams.Add(request.NewErrParamRequired("AppId"))
9398	}
9399	if s.AppId != nil && len(*s.AppId) < 1 {
9400		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
9401	}
9402	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
9403		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
9404	}
9405	if s.CustomHeaders != nil && len(*s.CustomHeaders) < 1 {
9406		invalidParams.Add(request.NewErrParamMinLen("CustomHeaders", 1))
9407	}
9408	if s.IamServiceRoleArn != nil && len(*s.IamServiceRoleArn) < 1 {
9409		invalidParams.Add(request.NewErrParamMinLen("IamServiceRoleArn", 1))
9410	}
9411	if s.Name != nil && len(*s.Name) < 1 {
9412		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9413	}
9414	if s.AutoBranchCreationConfig != nil {
9415		if err := s.AutoBranchCreationConfig.Validate(); err != nil {
9416			invalidParams.AddNested("AutoBranchCreationConfig", err.(request.ErrInvalidParams))
9417		}
9418	}
9419	if s.CustomRules != nil {
9420		for i, v := range s.CustomRules {
9421			if v == nil {
9422				continue
9423			}
9424			if err := v.Validate(); err != nil {
9425				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomRules", i), err.(request.ErrInvalidParams))
9426			}
9427		}
9428	}
9429
9430	if invalidParams.Len() > 0 {
9431		return invalidParams
9432	}
9433	return nil
9434}
9435
9436// SetAccessToken sets the AccessToken field's value.
9437func (s *UpdateAppInput) SetAccessToken(v string) *UpdateAppInput {
9438	s.AccessToken = &v
9439	return s
9440}
9441
9442// SetAppId sets the AppId field's value.
9443func (s *UpdateAppInput) SetAppId(v string) *UpdateAppInput {
9444	s.AppId = &v
9445	return s
9446}
9447
9448// SetAutoBranchCreationConfig sets the AutoBranchCreationConfig field's value.
9449func (s *UpdateAppInput) SetAutoBranchCreationConfig(v *AutoBranchCreationConfig) *UpdateAppInput {
9450	s.AutoBranchCreationConfig = v
9451	return s
9452}
9453
9454// SetAutoBranchCreationPatterns sets the AutoBranchCreationPatterns field's value.
9455func (s *UpdateAppInput) SetAutoBranchCreationPatterns(v []*string) *UpdateAppInput {
9456	s.AutoBranchCreationPatterns = v
9457	return s
9458}
9459
9460// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
9461func (s *UpdateAppInput) SetBasicAuthCredentials(v string) *UpdateAppInput {
9462	s.BasicAuthCredentials = &v
9463	return s
9464}
9465
9466// SetBuildSpec sets the BuildSpec field's value.
9467func (s *UpdateAppInput) SetBuildSpec(v string) *UpdateAppInput {
9468	s.BuildSpec = &v
9469	return s
9470}
9471
9472// SetCustomHeaders sets the CustomHeaders field's value.
9473func (s *UpdateAppInput) SetCustomHeaders(v string) *UpdateAppInput {
9474	s.CustomHeaders = &v
9475	return s
9476}
9477
9478// SetCustomRules sets the CustomRules field's value.
9479func (s *UpdateAppInput) SetCustomRules(v []*CustomRule) *UpdateAppInput {
9480	s.CustomRules = v
9481	return s
9482}
9483
9484// SetDescription sets the Description field's value.
9485func (s *UpdateAppInput) SetDescription(v string) *UpdateAppInput {
9486	s.Description = &v
9487	return s
9488}
9489
9490// SetEnableAutoBranchCreation sets the EnableAutoBranchCreation field's value.
9491func (s *UpdateAppInput) SetEnableAutoBranchCreation(v bool) *UpdateAppInput {
9492	s.EnableAutoBranchCreation = &v
9493	return s
9494}
9495
9496// SetEnableBasicAuth sets the EnableBasicAuth field's value.
9497func (s *UpdateAppInput) SetEnableBasicAuth(v bool) *UpdateAppInput {
9498	s.EnableBasicAuth = &v
9499	return s
9500}
9501
9502// SetEnableBranchAutoBuild sets the EnableBranchAutoBuild field's value.
9503func (s *UpdateAppInput) SetEnableBranchAutoBuild(v bool) *UpdateAppInput {
9504	s.EnableBranchAutoBuild = &v
9505	return s
9506}
9507
9508// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value.
9509func (s *UpdateAppInput) SetEnableBranchAutoDeletion(v bool) *UpdateAppInput {
9510	s.EnableBranchAutoDeletion = &v
9511	return s
9512}
9513
9514// SetEnvironmentVariables sets the EnvironmentVariables field's value.
9515func (s *UpdateAppInput) SetEnvironmentVariables(v map[string]*string) *UpdateAppInput {
9516	s.EnvironmentVariables = v
9517	return s
9518}
9519
9520// SetIamServiceRoleArn sets the IamServiceRoleArn field's value.
9521func (s *UpdateAppInput) SetIamServiceRoleArn(v string) *UpdateAppInput {
9522	s.IamServiceRoleArn = &v
9523	return s
9524}
9525
9526// SetName sets the Name field's value.
9527func (s *UpdateAppInput) SetName(v string) *UpdateAppInput {
9528	s.Name = &v
9529	return s
9530}
9531
9532// SetOauthToken sets the OauthToken field's value.
9533func (s *UpdateAppInput) SetOauthToken(v string) *UpdateAppInput {
9534	s.OauthToken = &v
9535	return s
9536}
9537
9538// SetPlatform sets the Platform field's value.
9539func (s *UpdateAppInput) SetPlatform(v string) *UpdateAppInput {
9540	s.Platform = &v
9541	return s
9542}
9543
9544// SetRepository sets the Repository field's value.
9545func (s *UpdateAppInput) SetRepository(v string) *UpdateAppInput {
9546	s.Repository = &v
9547	return s
9548}
9549
9550// The result structure for an Amplify app update request.
9551type UpdateAppOutput struct {
9552	_ struct{} `type:"structure"`
9553
9554	// Represents the updated Amplify app.
9555	//
9556	// App is a required field
9557	App *App `locationName:"app" type:"structure" required:"true"`
9558}
9559
9560// String returns the string representation.
9561//
9562// API parameter values that are decorated as "sensitive" in the API will not
9563// be included in the string output. The member name will be present, but the
9564// value will be replaced with "sensitive".
9565func (s UpdateAppOutput) String() string {
9566	return awsutil.Prettify(s)
9567}
9568
9569// GoString returns the string representation.
9570//
9571// API parameter values that are decorated as "sensitive" in the API will not
9572// be included in the string output. The member name will be present, but the
9573// value will be replaced with "sensitive".
9574func (s UpdateAppOutput) GoString() string {
9575	return s.String()
9576}
9577
9578// SetApp sets the App field's value.
9579func (s *UpdateAppOutput) SetApp(v *App) *UpdateAppOutput {
9580	s.App = v
9581	return s
9582}
9583
9584// The request structure for the update branch request.
9585type UpdateBranchInput struct {
9586	_ struct{} `type:"structure"`
9587
9588	// The unique ID for an Amplify app.
9589	//
9590	// AppId is a required field
9591	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
9592
9593	// The Amazon Resource Name (ARN) for a backend environment that is part of
9594	// an Amplify app.
9595	BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"`
9596
9597	// The basic authorization credentials for the branch.
9598	//
9599	// BasicAuthCredentials is a sensitive parameter and its value will be
9600	// replaced with "sensitive" in string returned by UpdateBranchInput's
9601	// String and GoString methods.
9602	BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"`
9603
9604	// The name for the branch.
9605	//
9606	// BranchName is a required field
9607	BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"`
9608
9609	// The build specification (build spec) for the branch.
9610	BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"`
9611
9612	// The description for the branch.
9613	Description *string `locationName:"description" type:"string"`
9614
9615	// The display name for a branch. This is used as the default domain prefix.
9616	DisplayName *string `locationName:"displayName" type:"string"`
9617
9618	// Enables auto building for the branch.
9619	EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"`
9620
9621	// Enables basic authorization for the branch.
9622	EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"`
9623
9624	// Enables notifications for the branch.
9625	EnableNotification *bool `locationName:"enableNotification" type:"boolean"`
9626
9627	// Enables performance mode for the branch.
9628	//
9629	// Performance mode optimizes for faster hosting performance by keeping content
9630	// cached at the edge for a longer interval. When performance mode is enabled,
9631	// hosting configuration or code changes can take up to 10 minutes to roll out.
9632	EnablePerformanceMode *bool `locationName:"enablePerformanceMode" type:"boolean"`
9633
9634	// Enables pull request previews for this branch.
9635	EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"`
9636
9637	// The environment variables for the branch.
9638	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
9639
9640	// The framework for the branch.
9641	Framework *string `locationName:"framework" type:"string"`
9642
9643	// The Amplify environment name for the pull request.
9644	PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"`
9645
9646	// Describes the current stage for the branch.
9647	Stage *string `locationName:"stage" type:"string" enum:"Stage"`
9648
9649	// The content Time to Live (TTL) for the website in seconds.
9650	Ttl *string `locationName:"ttl" type:"string"`
9651}
9652
9653// String returns the string representation.
9654//
9655// API parameter values that are decorated as "sensitive" in the API will not
9656// be included in the string output. The member name will be present, but the
9657// value will be replaced with "sensitive".
9658func (s UpdateBranchInput) String() string {
9659	return awsutil.Prettify(s)
9660}
9661
9662// GoString returns the string representation.
9663//
9664// API parameter values that are decorated as "sensitive" in the API will not
9665// be included in the string output. The member name will be present, but the
9666// value will be replaced with "sensitive".
9667func (s UpdateBranchInput) GoString() string {
9668	return s.String()
9669}
9670
9671// Validate inspects the fields of the type to determine if they are valid.
9672func (s *UpdateBranchInput) Validate() error {
9673	invalidParams := request.ErrInvalidParams{Context: "UpdateBranchInput"}
9674	if s.AppId == nil {
9675		invalidParams.Add(request.NewErrParamRequired("AppId"))
9676	}
9677	if s.AppId != nil && len(*s.AppId) < 1 {
9678		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
9679	}
9680	if s.BackendEnvironmentArn != nil && len(*s.BackendEnvironmentArn) < 1 {
9681		invalidParams.Add(request.NewErrParamMinLen("BackendEnvironmentArn", 1))
9682	}
9683	if s.BranchName == nil {
9684		invalidParams.Add(request.NewErrParamRequired("BranchName"))
9685	}
9686	if s.BranchName != nil && len(*s.BranchName) < 1 {
9687		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
9688	}
9689	if s.BuildSpec != nil && len(*s.BuildSpec) < 1 {
9690		invalidParams.Add(request.NewErrParamMinLen("BuildSpec", 1))
9691	}
9692
9693	if invalidParams.Len() > 0 {
9694		return invalidParams
9695	}
9696	return nil
9697}
9698
9699// SetAppId sets the AppId field's value.
9700func (s *UpdateBranchInput) SetAppId(v string) *UpdateBranchInput {
9701	s.AppId = &v
9702	return s
9703}
9704
9705// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value.
9706func (s *UpdateBranchInput) SetBackendEnvironmentArn(v string) *UpdateBranchInput {
9707	s.BackendEnvironmentArn = &v
9708	return s
9709}
9710
9711// SetBasicAuthCredentials sets the BasicAuthCredentials field's value.
9712func (s *UpdateBranchInput) SetBasicAuthCredentials(v string) *UpdateBranchInput {
9713	s.BasicAuthCredentials = &v
9714	return s
9715}
9716
9717// SetBranchName sets the BranchName field's value.
9718func (s *UpdateBranchInput) SetBranchName(v string) *UpdateBranchInput {
9719	s.BranchName = &v
9720	return s
9721}
9722
9723// SetBuildSpec sets the BuildSpec field's value.
9724func (s *UpdateBranchInput) SetBuildSpec(v string) *UpdateBranchInput {
9725	s.BuildSpec = &v
9726	return s
9727}
9728
9729// SetDescription sets the Description field's value.
9730func (s *UpdateBranchInput) SetDescription(v string) *UpdateBranchInput {
9731	s.Description = &v
9732	return s
9733}
9734
9735// SetDisplayName sets the DisplayName field's value.
9736func (s *UpdateBranchInput) SetDisplayName(v string) *UpdateBranchInput {
9737	s.DisplayName = &v
9738	return s
9739}
9740
9741// SetEnableAutoBuild sets the EnableAutoBuild field's value.
9742func (s *UpdateBranchInput) SetEnableAutoBuild(v bool) *UpdateBranchInput {
9743	s.EnableAutoBuild = &v
9744	return s
9745}
9746
9747// SetEnableBasicAuth sets the EnableBasicAuth field's value.
9748func (s *UpdateBranchInput) SetEnableBasicAuth(v bool) *UpdateBranchInput {
9749	s.EnableBasicAuth = &v
9750	return s
9751}
9752
9753// SetEnableNotification sets the EnableNotification field's value.
9754func (s *UpdateBranchInput) SetEnableNotification(v bool) *UpdateBranchInput {
9755	s.EnableNotification = &v
9756	return s
9757}
9758
9759// SetEnablePerformanceMode sets the EnablePerformanceMode field's value.
9760func (s *UpdateBranchInput) SetEnablePerformanceMode(v bool) *UpdateBranchInput {
9761	s.EnablePerformanceMode = &v
9762	return s
9763}
9764
9765// SetEnablePullRequestPreview sets the EnablePullRequestPreview field's value.
9766func (s *UpdateBranchInput) SetEnablePullRequestPreview(v bool) *UpdateBranchInput {
9767	s.EnablePullRequestPreview = &v
9768	return s
9769}
9770
9771// SetEnvironmentVariables sets the EnvironmentVariables field's value.
9772func (s *UpdateBranchInput) SetEnvironmentVariables(v map[string]*string) *UpdateBranchInput {
9773	s.EnvironmentVariables = v
9774	return s
9775}
9776
9777// SetFramework sets the Framework field's value.
9778func (s *UpdateBranchInput) SetFramework(v string) *UpdateBranchInput {
9779	s.Framework = &v
9780	return s
9781}
9782
9783// SetPullRequestEnvironmentName sets the PullRequestEnvironmentName field's value.
9784func (s *UpdateBranchInput) SetPullRequestEnvironmentName(v string) *UpdateBranchInput {
9785	s.PullRequestEnvironmentName = &v
9786	return s
9787}
9788
9789// SetStage sets the Stage field's value.
9790func (s *UpdateBranchInput) SetStage(v string) *UpdateBranchInput {
9791	s.Stage = &v
9792	return s
9793}
9794
9795// SetTtl sets the Ttl field's value.
9796func (s *UpdateBranchInput) SetTtl(v string) *UpdateBranchInput {
9797	s.Ttl = &v
9798	return s
9799}
9800
9801// The result structure for the update branch request.
9802type UpdateBranchOutput struct {
9803	_ struct{} `type:"structure"`
9804
9805	// The branch for an Amplify app, which maps to a third-party repository branch.
9806	//
9807	// Branch is a required field
9808	Branch *Branch `locationName:"branch" type:"structure" required:"true"`
9809}
9810
9811// String returns the string representation.
9812//
9813// API parameter values that are decorated as "sensitive" in the API will not
9814// be included in the string output. The member name will be present, but the
9815// value will be replaced with "sensitive".
9816func (s UpdateBranchOutput) String() string {
9817	return awsutil.Prettify(s)
9818}
9819
9820// GoString returns the string representation.
9821//
9822// API parameter values that are decorated as "sensitive" in the API will not
9823// be included in the string output. The member name will be present, but the
9824// value will be replaced with "sensitive".
9825func (s UpdateBranchOutput) GoString() string {
9826	return s.String()
9827}
9828
9829// SetBranch sets the Branch field's value.
9830func (s *UpdateBranchOutput) SetBranch(v *Branch) *UpdateBranchOutput {
9831	s.Branch = v
9832	return s
9833}
9834
9835// The request structure for the update domain association request.
9836type UpdateDomainAssociationInput struct {
9837	_ struct{} `type:"structure"`
9838
9839	// The unique ID for an Amplify app.
9840	//
9841	// AppId is a required field
9842	AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"`
9843
9844	// Sets the branch patterns for automatic subdomain creation.
9845	AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"`
9846
9847	// The required AWS Identity and Access Management (IAM) service role for the
9848	// Amazon Resource Name (ARN) for automatically creating subdomains.
9849	AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"`
9850
9851	// The name of the domain.
9852	//
9853	// DomainName is a required field
9854	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
9855
9856	// Enables the automated creation of subdomains for branches.
9857	EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean"`
9858
9859	// Describes the settings for the subdomain.
9860	//
9861	// SubDomainSettings is a required field
9862	SubDomainSettings []*SubDomainSetting `locationName:"subDomainSettings" type:"list" required:"true"`
9863}
9864
9865// String returns the string representation.
9866//
9867// API parameter values that are decorated as "sensitive" in the API will not
9868// be included in the string output. The member name will be present, but the
9869// value will be replaced with "sensitive".
9870func (s UpdateDomainAssociationInput) String() string {
9871	return awsutil.Prettify(s)
9872}
9873
9874// GoString returns the string representation.
9875//
9876// API parameter values that are decorated as "sensitive" in the API will not
9877// be included in the string output. The member name will be present, but the
9878// value will be replaced with "sensitive".
9879func (s UpdateDomainAssociationInput) GoString() string {
9880	return s.String()
9881}
9882
9883// Validate inspects the fields of the type to determine if they are valid.
9884func (s *UpdateDomainAssociationInput) Validate() error {
9885	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainAssociationInput"}
9886	if s.AppId == nil {
9887		invalidParams.Add(request.NewErrParamRequired("AppId"))
9888	}
9889	if s.AppId != nil && len(*s.AppId) < 1 {
9890		invalidParams.Add(request.NewErrParamMinLen("AppId", 1))
9891	}
9892	if s.DomainName == nil {
9893		invalidParams.Add(request.NewErrParamRequired("DomainName"))
9894	}
9895	if s.DomainName != nil && len(*s.DomainName) < 1 {
9896		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
9897	}
9898	if s.SubDomainSettings == nil {
9899		invalidParams.Add(request.NewErrParamRequired("SubDomainSettings"))
9900	}
9901	if s.SubDomainSettings != nil {
9902		for i, v := range s.SubDomainSettings {
9903			if v == nil {
9904				continue
9905			}
9906			if err := v.Validate(); err != nil {
9907				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SubDomainSettings", i), err.(request.ErrInvalidParams))
9908			}
9909		}
9910	}
9911
9912	if invalidParams.Len() > 0 {
9913		return invalidParams
9914	}
9915	return nil
9916}
9917
9918// SetAppId sets the AppId field's value.
9919func (s *UpdateDomainAssociationInput) SetAppId(v string) *UpdateDomainAssociationInput {
9920	s.AppId = &v
9921	return s
9922}
9923
9924// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value.
9925func (s *UpdateDomainAssociationInput) SetAutoSubDomainCreationPatterns(v []*string) *UpdateDomainAssociationInput {
9926	s.AutoSubDomainCreationPatterns = v
9927	return s
9928}
9929
9930// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value.
9931func (s *UpdateDomainAssociationInput) SetAutoSubDomainIAMRole(v string) *UpdateDomainAssociationInput {
9932	s.AutoSubDomainIAMRole = &v
9933	return s
9934}
9935
9936// SetDomainName sets the DomainName field's value.
9937func (s *UpdateDomainAssociationInput) SetDomainName(v string) *UpdateDomainAssociationInput {
9938	s.DomainName = &v
9939	return s
9940}
9941
9942// SetEnableAutoSubDomain sets the EnableAutoSubDomain field's value.
9943func (s *UpdateDomainAssociationInput) SetEnableAutoSubDomain(v bool) *UpdateDomainAssociationInput {
9944	s.EnableAutoSubDomain = &v
9945	return s
9946}
9947
9948// SetSubDomainSettings sets the SubDomainSettings field's value.
9949func (s *UpdateDomainAssociationInput) SetSubDomainSettings(v []*SubDomainSetting) *UpdateDomainAssociationInput {
9950	s.SubDomainSettings = v
9951	return s
9952}
9953
9954// The result structure for the update domain association request.
9955type UpdateDomainAssociationOutput struct {
9956	_ struct{} `type:"structure"`
9957
9958	// Describes a domain association, which associates a custom domain with an
9959	// Amplify app.
9960	//
9961	// DomainAssociation is a required field
9962	DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"`
9963}
9964
9965// String returns the string representation.
9966//
9967// API parameter values that are decorated as "sensitive" in the API will not
9968// be included in the string output. The member name will be present, but the
9969// value will be replaced with "sensitive".
9970func (s UpdateDomainAssociationOutput) String() string {
9971	return awsutil.Prettify(s)
9972}
9973
9974// GoString returns the string representation.
9975//
9976// API parameter values that are decorated as "sensitive" in the API will not
9977// be included in the string output. The member name will be present, but the
9978// value will be replaced with "sensitive".
9979func (s UpdateDomainAssociationOutput) GoString() string {
9980	return s.String()
9981}
9982
9983// SetDomainAssociation sets the DomainAssociation field's value.
9984func (s *UpdateDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) *UpdateDomainAssociationOutput {
9985	s.DomainAssociation = v
9986	return s
9987}
9988
9989// The request structure for the update webhook request.
9990type UpdateWebhookInput struct {
9991	_ struct{} `type:"structure"`
9992
9993	// The name for a branch that is part of an Amplify app.
9994	BranchName *string `locationName:"branchName" min:"1" type:"string"`
9995
9996	// The description for a webhook.
9997	Description *string `locationName:"description" type:"string"`
9998
9999	// The unique ID for a webhook.
10000	//
10001	// WebhookId is a required field
10002	WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"`
10003}
10004
10005// String returns the string representation.
10006//
10007// API parameter values that are decorated as "sensitive" in the API will not
10008// be included in the string output. The member name will be present, but the
10009// value will be replaced with "sensitive".
10010func (s UpdateWebhookInput) String() string {
10011	return awsutil.Prettify(s)
10012}
10013
10014// GoString returns the string representation.
10015//
10016// API parameter values that are decorated as "sensitive" in the API will not
10017// be included in the string output. The member name will be present, but the
10018// value will be replaced with "sensitive".
10019func (s UpdateWebhookInput) GoString() string {
10020	return s.String()
10021}
10022
10023// Validate inspects the fields of the type to determine if they are valid.
10024func (s *UpdateWebhookInput) Validate() error {
10025	invalidParams := request.ErrInvalidParams{Context: "UpdateWebhookInput"}
10026	if s.BranchName != nil && len(*s.BranchName) < 1 {
10027		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
10028	}
10029	if s.WebhookId == nil {
10030		invalidParams.Add(request.NewErrParamRequired("WebhookId"))
10031	}
10032	if s.WebhookId != nil && len(*s.WebhookId) < 1 {
10033		invalidParams.Add(request.NewErrParamMinLen("WebhookId", 1))
10034	}
10035
10036	if invalidParams.Len() > 0 {
10037		return invalidParams
10038	}
10039	return nil
10040}
10041
10042// SetBranchName sets the BranchName field's value.
10043func (s *UpdateWebhookInput) SetBranchName(v string) *UpdateWebhookInput {
10044	s.BranchName = &v
10045	return s
10046}
10047
10048// SetDescription sets the Description field's value.
10049func (s *UpdateWebhookInput) SetDescription(v string) *UpdateWebhookInput {
10050	s.Description = &v
10051	return s
10052}
10053
10054// SetWebhookId sets the WebhookId field's value.
10055func (s *UpdateWebhookInput) SetWebhookId(v string) *UpdateWebhookInput {
10056	s.WebhookId = &v
10057	return s
10058}
10059
10060// The result structure for the update webhook request.
10061type UpdateWebhookOutput struct {
10062	_ struct{} `type:"structure"`
10063
10064	// Describes a webhook that connects repository events to an Amplify app.
10065	//
10066	// Webhook is a required field
10067	Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"`
10068}
10069
10070// String returns the string representation.
10071//
10072// API parameter values that are decorated as "sensitive" in the API will not
10073// be included in the string output. The member name will be present, but the
10074// value will be replaced with "sensitive".
10075func (s UpdateWebhookOutput) String() string {
10076	return awsutil.Prettify(s)
10077}
10078
10079// GoString returns the string representation.
10080//
10081// API parameter values that are decorated as "sensitive" in the API will not
10082// be included in the string output. The member name will be present, but the
10083// value will be replaced with "sensitive".
10084func (s UpdateWebhookOutput) GoString() string {
10085	return s.String()
10086}
10087
10088// SetWebhook sets the Webhook field's value.
10089func (s *UpdateWebhookOutput) SetWebhook(v *Webhook) *UpdateWebhookOutput {
10090	s.Webhook = v
10091	return s
10092}
10093
10094// Describes a webhook that connects repository events to an Amplify app.
10095type Webhook struct {
10096	_ struct{} `type:"structure"`
10097
10098	// The name for a branch that is part of an Amplify app.
10099	//
10100	// BranchName is a required field
10101	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
10102
10103	// The create date and time for a webhook.
10104	//
10105	// CreateTime is a required field
10106	CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"`
10107
10108	// The description for a webhook.
10109	//
10110	// Description is a required field
10111	Description *string `locationName:"description" type:"string" required:"true"`
10112
10113	// Updates the date and time for a webhook.
10114	//
10115	// UpdateTime is a required field
10116	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"`
10117
10118	// The Amazon Resource Name (ARN) for the webhook.
10119	//
10120	// WebhookArn is a required field
10121	WebhookArn *string `locationName:"webhookArn" type:"string" required:"true"`
10122
10123	// The ID of the webhook.
10124	//
10125	// WebhookId is a required field
10126	WebhookId *string `locationName:"webhookId" type:"string" required:"true"`
10127
10128	// The URL of the webhook.
10129	//
10130	// WebhookUrl is a required field
10131	WebhookUrl *string `locationName:"webhookUrl" type:"string" required:"true"`
10132}
10133
10134// String returns the string representation.
10135//
10136// API parameter values that are decorated as "sensitive" in the API will not
10137// be included in the string output. The member name will be present, but the
10138// value will be replaced with "sensitive".
10139func (s Webhook) String() string {
10140	return awsutil.Prettify(s)
10141}
10142
10143// GoString returns the string representation.
10144//
10145// API parameter values that are decorated as "sensitive" in the API will not
10146// be included in the string output. The member name will be present, but the
10147// value will be replaced with "sensitive".
10148func (s Webhook) GoString() string {
10149	return s.String()
10150}
10151
10152// SetBranchName sets the BranchName field's value.
10153func (s *Webhook) SetBranchName(v string) *Webhook {
10154	s.BranchName = &v
10155	return s
10156}
10157
10158// SetCreateTime sets the CreateTime field's value.
10159func (s *Webhook) SetCreateTime(v time.Time) *Webhook {
10160	s.CreateTime = &v
10161	return s
10162}
10163
10164// SetDescription sets the Description field's value.
10165func (s *Webhook) SetDescription(v string) *Webhook {
10166	s.Description = &v
10167	return s
10168}
10169
10170// SetUpdateTime sets the UpdateTime field's value.
10171func (s *Webhook) SetUpdateTime(v time.Time) *Webhook {
10172	s.UpdateTime = &v
10173	return s
10174}
10175
10176// SetWebhookArn sets the WebhookArn field's value.
10177func (s *Webhook) SetWebhookArn(v string) *Webhook {
10178	s.WebhookArn = &v
10179	return s
10180}
10181
10182// SetWebhookId sets the WebhookId field's value.
10183func (s *Webhook) SetWebhookId(v string) *Webhook {
10184	s.WebhookId = &v
10185	return s
10186}
10187
10188// SetWebhookUrl sets the WebhookUrl field's value.
10189func (s *Webhook) SetWebhookUrl(v string) *Webhook {
10190	s.WebhookUrl = &v
10191	return s
10192}
10193
10194const (
10195	// DomainStatusPendingVerification is a DomainStatus enum value
10196	DomainStatusPendingVerification = "PENDING_VERIFICATION"
10197
10198	// DomainStatusInProgress is a DomainStatus enum value
10199	DomainStatusInProgress = "IN_PROGRESS"
10200
10201	// DomainStatusAvailable is a DomainStatus enum value
10202	DomainStatusAvailable = "AVAILABLE"
10203
10204	// DomainStatusPendingDeployment is a DomainStatus enum value
10205	DomainStatusPendingDeployment = "PENDING_DEPLOYMENT"
10206
10207	// DomainStatusFailed is a DomainStatus enum value
10208	DomainStatusFailed = "FAILED"
10209
10210	// DomainStatusCreating is a DomainStatus enum value
10211	DomainStatusCreating = "CREATING"
10212
10213	// DomainStatusRequestingCertificate is a DomainStatus enum value
10214	DomainStatusRequestingCertificate = "REQUESTING_CERTIFICATE"
10215
10216	// DomainStatusUpdating is a DomainStatus enum value
10217	DomainStatusUpdating = "UPDATING"
10218)
10219
10220// DomainStatus_Values returns all elements of the DomainStatus enum
10221func DomainStatus_Values() []string {
10222	return []string{
10223		DomainStatusPendingVerification,
10224		DomainStatusInProgress,
10225		DomainStatusAvailable,
10226		DomainStatusPendingDeployment,
10227		DomainStatusFailed,
10228		DomainStatusCreating,
10229		DomainStatusRequestingCertificate,
10230		DomainStatusUpdating,
10231	}
10232}
10233
10234const (
10235	// JobStatusPending is a JobStatus enum value
10236	JobStatusPending = "PENDING"
10237
10238	// JobStatusProvisioning is a JobStatus enum value
10239	JobStatusProvisioning = "PROVISIONING"
10240
10241	// JobStatusRunning is a JobStatus enum value
10242	JobStatusRunning = "RUNNING"
10243
10244	// JobStatusFailed is a JobStatus enum value
10245	JobStatusFailed = "FAILED"
10246
10247	// JobStatusSucceed is a JobStatus enum value
10248	JobStatusSucceed = "SUCCEED"
10249
10250	// JobStatusCancelling is a JobStatus enum value
10251	JobStatusCancelling = "CANCELLING"
10252
10253	// JobStatusCancelled is a JobStatus enum value
10254	JobStatusCancelled = "CANCELLED"
10255)
10256
10257// JobStatus_Values returns all elements of the JobStatus enum
10258func JobStatus_Values() []string {
10259	return []string{
10260		JobStatusPending,
10261		JobStatusProvisioning,
10262		JobStatusRunning,
10263		JobStatusFailed,
10264		JobStatusSucceed,
10265		JobStatusCancelling,
10266		JobStatusCancelled,
10267	}
10268}
10269
10270const (
10271	// JobTypeRelease is a JobType enum value
10272	JobTypeRelease = "RELEASE"
10273
10274	// JobTypeRetry is a JobType enum value
10275	JobTypeRetry = "RETRY"
10276
10277	// JobTypeManual is a JobType enum value
10278	JobTypeManual = "MANUAL"
10279
10280	// JobTypeWebHook is a JobType enum value
10281	JobTypeWebHook = "WEB_HOOK"
10282)
10283
10284// JobType_Values returns all elements of the JobType enum
10285func JobType_Values() []string {
10286	return []string{
10287		JobTypeRelease,
10288		JobTypeRetry,
10289		JobTypeManual,
10290		JobTypeWebHook,
10291	}
10292}
10293
10294const (
10295	// PlatformWeb is a Platform enum value
10296	PlatformWeb = "WEB"
10297)
10298
10299// Platform_Values returns all elements of the Platform enum
10300func Platform_Values() []string {
10301	return []string{
10302		PlatformWeb,
10303	}
10304}
10305
10306const (
10307	// StageProduction is a Stage enum value
10308	StageProduction = "PRODUCTION"
10309
10310	// StageBeta is a Stage enum value
10311	StageBeta = "BETA"
10312
10313	// StageDevelopment is a Stage enum value
10314	StageDevelopment = "DEVELOPMENT"
10315
10316	// StageExperimental is a Stage enum value
10317	StageExperimental = "EXPERIMENTAL"
10318
10319	// StagePullRequest is a Stage enum value
10320	StagePullRequest = "PULL_REQUEST"
10321)
10322
10323// Stage_Values returns all elements of the Stage enum
10324func Stage_Values() []string {
10325	return []string{
10326		StageProduction,
10327		StageBeta,
10328		StageDevelopment,
10329		StageExperimental,
10330		StagePullRequest,
10331	}
10332}
10333