1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mobile
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)
14
15const opCreateProject = "CreateProject"
16
17// CreateProjectRequest generates a "aws/request.Request" representing the
18// client's request for the CreateProject operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See CreateProject for more information on using the CreateProject
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the CreateProjectRequest method.
33//    req, resp := client.CreateProjectRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/CreateProject
41func (c *Mobile) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
42	op := &request.Operation{
43		Name:       opCreateProject,
44		HTTPMethod: "POST",
45		HTTPPath:   "/projects",
46	}
47
48	if input == nil {
49		input = &CreateProjectInput{}
50	}
51
52	output = &CreateProjectOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateProject API operation for AWS Mobile.
58//
59// Creates an AWS Mobile Hub project.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for AWS Mobile's
66// API operation CreateProject for usage and error information.
67//
68// Returned Error Types:
69//   * InternalFailureException
70//   The service has encountered an unexpected error condition which prevents
71//   it from servicing the request.
72//
73//   * ServiceUnavailableException
74//   The service is temporarily unavailable. The request should be retried after
75//   some time delay.
76//
77//   * UnauthorizedException
78//   Credentials of the caller are insufficient to authorize the request.
79//
80//   * TooManyRequestsException
81//   Too many requests have been received for this AWS account in too short a
82//   time. The request should be retried after some time delay.
83//
84//   * BadRequestException
85//   The request cannot be processed because some parameter is not valid or the
86//   project state prevents the operation from being performed.
87//
88//   * NotFoundException
89//   No entity can be found with the specified identifier.
90//
91//   * LimitExceededException
92//   There are too many AWS Mobile Hub projects in the account or the account
93//   has exceeded the maximum number of resources in some AWS service. You should
94//   create another sub-account using AWS Organizations or remove some resources
95//   and retry your request.
96//
97// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/CreateProject
98func (c *Mobile) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
99	req, out := c.CreateProjectRequest(input)
100	return out, req.Send()
101}
102
103// CreateProjectWithContext is the same as CreateProject with the addition of
104// the ability to pass a context and additional request options.
105//
106// See CreateProject for details on how to use this API operation.
107//
108// The context must be non-nil and will be used for request cancellation. If
109// the context is nil a panic will occur. In the future the SDK may create
110// sub-contexts for http.Requests. See https://golang.org/pkg/context/
111// for more information on using Contexts.
112func (c *Mobile) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
113	req, out := c.CreateProjectRequest(input)
114	req.SetContext(ctx)
115	req.ApplyOptions(opts...)
116	return out, req.Send()
117}
118
119const opDeleteProject = "DeleteProject"
120
121// DeleteProjectRequest generates a "aws/request.Request" representing the
122// client's request for the DeleteProject operation. The "output" return
123// value will be populated with the request's response once the request completes
124// successfully.
125//
126// Use "Send" method on the returned Request to send the API call to the service.
127// the "output" return value is not valid until after Send returns without error.
128//
129// See DeleteProject for more information on using the DeleteProject
130// API call, and error handling.
131//
132// This method is useful when you want to inject custom logic or configuration
133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
134//
135//
136//    // Example sending a request using the DeleteProjectRequest method.
137//    req, resp := client.DeleteProjectRequest(params)
138//
139//    err := req.Send()
140//    if err == nil { // resp is now filled
141//        fmt.Println(resp)
142//    }
143//
144// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DeleteProject
145func (c *Mobile) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
146	op := &request.Operation{
147		Name:       opDeleteProject,
148		HTTPMethod: "DELETE",
149		HTTPPath:   "/projects/{projectId}",
150	}
151
152	if input == nil {
153		input = &DeleteProjectInput{}
154	}
155
156	output = &DeleteProjectOutput{}
157	req = c.newRequest(op, input, output)
158	return
159}
160
161// DeleteProject API operation for AWS Mobile.
162//
163// Delets a project in AWS Mobile Hub.
164//
165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
166// with awserr.Error's Code and Message methods to get detailed information about
167// the error.
168//
169// See the AWS API reference guide for AWS Mobile's
170// API operation DeleteProject for usage and error information.
171//
172// Returned Error Types:
173//   * InternalFailureException
174//   The service has encountered an unexpected error condition which prevents
175//   it from servicing the request.
176//
177//   * ServiceUnavailableException
178//   The service is temporarily unavailable. The request should be retried after
179//   some time delay.
180//
181//   * UnauthorizedException
182//   Credentials of the caller are insufficient to authorize the request.
183//
184//   * TooManyRequestsException
185//   Too many requests have been received for this AWS account in too short a
186//   time. The request should be retried after some time delay.
187//
188//   * NotFoundException
189//   No entity can be found with the specified identifier.
190//
191// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DeleteProject
192func (c *Mobile) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
193	req, out := c.DeleteProjectRequest(input)
194	return out, req.Send()
195}
196
197// DeleteProjectWithContext is the same as DeleteProject with the addition of
198// the ability to pass a context and additional request options.
199//
200// See DeleteProject for details on how to use this API operation.
201//
202// The context must be non-nil and will be used for request cancellation. If
203// the context is nil a panic will occur. In the future the SDK may create
204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
205// for more information on using Contexts.
206func (c *Mobile) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
207	req, out := c.DeleteProjectRequest(input)
208	req.SetContext(ctx)
209	req.ApplyOptions(opts...)
210	return out, req.Send()
211}
212
213const opDescribeBundle = "DescribeBundle"
214
215// DescribeBundleRequest generates a "aws/request.Request" representing the
216// client's request for the DescribeBundle operation. The "output" return
217// value will be populated with the request's response once the request completes
218// successfully.
219//
220// Use "Send" method on the returned Request to send the API call to the service.
221// the "output" return value is not valid until after Send returns without error.
222//
223// See DescribeBundle for more information on using the DescribeBundle
224// API call, and error handling.
225//
226// This method is useful when you want to inject custom logic or configuration
227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
228//
229//
230//    // Example sending a request using the DescribeBundleRequest method.
231//    req, resp := client.DescribeBundleRequest(params)
232//
233//    err := req.Send()
234//    if err == nil { // resp is now filled
235//        fmt.Println(resp)
236//    }
237//
238// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeBundle
239func (c *Mobile) DescribeBundleRequest(input *DescribeBundleInput) (req *request.Request, output *DescribeBundleOutput) {
240	op := &request.Operation{
241		Name:       opDescribeBundle,
242		HTTPMethod: "GET",
243		HTTPPath:   "/bundles/{bundleId}",
244	}
245
246	if input == nil {
247		input = &DescribeBundleInput{}
248	}
249
250	output = &DescribeBundleOutput{}
251	req = c.newRequest(op, input, output)
252	return
253}
254
255// DescribeBundle API operation for AWS Mobile.
256//
257// Get the bundle details for the requested bundle id.
258//
259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
260// with awserr.Error's Code and Message methods to get detailed information about
261// the error.
262//
263// See the AWS API reference guide for AWS Mobile's
264// API operation DescribeBundle for usage and error information.
265//
266// Returned Error Types:
267//   * InternalFailureException
268//   The service has encountered an unexpected error condition which prevents
269//   it from servicing the request.
270//
271//   * ServiceUnavailableException
272//   The service is temporarily unavailable. The request should be retried after
273//   some time delay.
274//
275//   * UnauthorizedException
276//   Credentials of the caller are insufficient to authorize the request.
277//
278//   * TooManyRequestsException
279//   Too many requests have been received for this AWS account in too short a
280//   time. The request should be retried after some time delay.
281//
282//   * BadRequestException
283//   The request cannot be processed because some parameter is not valid or the
284//   project state prevents the operation from being performed.
285//
286//   * NotFoundException
287//   No entity can be found with the specified identifier.
288//
289// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeBundle
290func (c *Mobile) DescribeBundle(input *DescribeBundleInput) (*DescribeBundleOutput, error) {
291	req, out := c.DescribeBundleRequest(input)
292	return out, req.Send()
293}
294
295// DescribeBundleWithContext is the same as DescribeBundle with the addition of
296// the ability to pass a context and additional request options.
297//
298// See DescribeBundle for details on how to use this API operation.
299//
300// The context must be non-nil and will be used for request cancellation. If
301// the context is nil a panic will occur. In the future the SDK may create
302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
303// for more information on using Contexts.
304func (c *Mobile) DescribeBundleWithContext(ctx aws.Context, input *DescribeBundleInput, opts ...request.Option) (*DescribeBundleOutput, error) {
305	req, out := c.DescribeBundleRequest(input)
306	req.SetContext(ctx)
307	req.ApplyOptions(opts...)
308	return out, req.Send()
309}
310
311const opDescribeProject = "DescribeProject"
312
313// DescribeProjectRequest generates a "aws/request.Request" representing the
314// client's request for the DescribeProject operation. The "output" return
315// value will be populated with the request's response once the request completes
316// successfully.
317//
318// Use "Send" method on the returned Request to send the API call to the service.
319// the "output" return value is not valid until after Send returns without error.
320//
321// See DescribeProject for more information on using the DescribeProject
322// API call, and error handling.
323//
324// This method is useful when you want to inject custom logic or configuration
325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
326//
327//
328//    // Example sending a request using the DescribeProjectRequest method.
329//    req, resp := client.DescribeProjectRequest(params)
330//
331//    err := req.Send()
332//    if err == nil { // resp is now filled
333//        fmt.Println(resp)
334//    }
335//
336// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeProject
337func (c *Mobile) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) {
338	op := &request.Operation{
339		Name:       opDescribeProject,
340		HTTPMethod: "GET",
341		HTTPPath:   "/project",
342	}
343
344	if input == nil {
345		input = &DescribeProjectInput{}
346	}
347
348	output = &DescribeProjectOutput{}
349	req = c.newRequest(op, input, output)
350	return
351}
352
353// DescribeProject API operation for AWS Mobile.
354//
355// Gets details about a project in AWS Mobile Hub.
356//
357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
358// with awserr.Error's Code and Message methods to get detailed information about
359// the error.
360//
361// See the AWS API reference guide for AWS Mobile's
362// API operation DescribeProject for usage and error information.
363//
364// Returned Error Types:
365//   * InternalFailureException
366//   The service has encountered an unexpected error condition which prevents
367//   it from servicing the request.
368//
369//   * ServiceUnavailableException
370//   The service is temporarily unavailable. The request should be retried after
371//   some time delay.
372//
373//   * UnauthorizedException
374//   Credentials of the caller are insufficient to authorize the request.
375//
376//   * TooManyRequestsException
377//   Too many requests have been received for this AWS account in too short a
378//   time. The request should be retried after some time delay.
379//
380//   * BadRequestException
381//   The request cannot be processed because some parameter is not valid or the
382//   project state prevents the operation from being performed.
383//
384//   * NotFoundException
385//   No entity can be found with the specified identifier.
386//
387// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeProject
388func (c *Mobile) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) {
389	req, out := c.DescribeProjectRequest(input)
390	return out, req.Send()
391}
392
393// DescribeProjectWithContext is the same as DescribeProject with the addition of
394// the ability to pass a context and additional request options.
395//
396// See DescribeProject for details on how to use this API operation.
397//
398// The context must be non-nil and will be used for request cancellation. If
399// the context is nil a panic will occur. In the future the SDK may create
400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
401// for more information on using Contexts.
402func (c *Mobile) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) {
403	req, out := c.DescribeProjectRequest(input)
404	req.SetContext(ctx)
405	req.ApplyOptions(opts...)
406	return out, req.Send()
407}
408
409const opExportBundle = "ExportBundle"
410
411// ExportBundleRequest generates a "aws/request.Request" representing the
412// client's request for the ExportBundle operation. The "output" return
413// value will be populated with the request's response once the request completes
414// successfully.
415//
416// Use "Send" method on the returned Request to send the API call to the service.
417// the "output" return value is not valid until after Send returns without error.
418//
419// See ExportBundle for more information on using the ExportBundle
420// API call, and error handling.
421//
422// This method is useful when you want to inject custom logic or configuration
423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
424//
425//
426//    // Example sending a request using the ExportBundleRequest method.
427//    req, resp := client.ExportBundleRequest(params)
428//
429//    err := req.Send()
430//    if err == nil { // resp is now filled
431//        fmt.Println(resp)
432//    }
433//
434// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportBundle
435func (c *Mobile) ExportBundleRequest(input *ExportBundleInput) (req *request.Request, output *ExportBundleOutput) {
436	op := &request.Operation{
437		Name:       opExportBundle,
438		HTTPMethod: "POST",
439		HTTPPath:   "/bundles/{bundleId}",
440	}
441
442	if input == nil {
443		input = &ExportBundleInput{}
444	}
445
446	output = &ExportBundleOutput{}
447	req = c.newRequest(op, input, output)
448	return
449}
450
451// ExportBundle API operation for AWS Mobile.
452//
453// Generates customized software development kit (SDK) and or tool packages
454// used to integrate mobile web or mobile app clients with backend AWS resources.
455//
456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
457// with awserr.Error's Code and Message methods to get detailed information about
458// the error.
459//
460// See the AWS API reference guide for AWS Mobile's
461// API operation ExportBundle for usage and error information.
462//
463// Returned Error Types:
464//   * InternalFailureException
465//   The service has encountered an unexpected error condition which prevents
466//   it from servicing the request.
467//
468//   * ServiceUnavailableException
469//   The service is temporarily unavailable. The request should be retried after
470//   some time delay.
471//
472//   * UnauthorizedException
473//   Credentials of the caller are insufficient to authorize the request.
474//
475//   * TooManyRequestsException
476//   Too many requests have been received for this AWS account in too short a
477//   time. The request should be retried after some time delay.
478//
479//   * BadRequestException
480//   The request cannot be processed because some parameter is not valid or the
481//   project state prevents the operation from being performed.
482//
483//   * NotFoundException
484//   No entity can be found with the specified identifier.
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportBundle
487func (c *Mobile) ExportBundle(input *ExportBundleInput) (*ExportBundleOutput, error) {
488	req, out := c.ExportBundleRequest(input)
489	return out, req.Send()
490}
491
492// ExportBundleWithContext is the same as ExportBundle with the addition of
493// the ability to pass a context and additional request options.
494//
495// See ExportBundle for details on how to use this API operation.
496//
497// The context must be non-nil and will be used for request cancellation. If
498// the context is nil a panic will occur. In the future the SDK may create
499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
500// for more information on using Contexts.
501func (c *Mobile) ExportBundleWithContext(ctx aws.Context, input *ExportBundleInput, opts ...request.Option) (*ExportBundleOutput, error) {
502	req, out := c.ExportBundleRequest(input)
503	req.SetContext(ctx)
504	req.ApplyOptions(opts...)
505	return out, req.Send()
506}
507
508const opExportProject = "ExportProject"
509
510// ExportProjectRequest generates a "aws/request.Request" representing the
511// client's request for the ExportProject operation. The "output" return
512// value will be populated with the request's response once the request completes
513// successfully.
514//
515// Use "Send" method on the returned Request to send the API call to the service.
516// the "output" return value is not valid until after Send returns without error.
517//
518// See ExportProject for more information on using the ExportProject
519// API call, and error handling.
520//
521// This method is useful when you want to inject custom logic or configuration
522// into the SDK's request lifecycle. Such as custom headers, or retry logic.
523//
524//
525//    // Example sending a request using the ExportProjectRequest method.
526//    req, resp := client.ExportProjectRequest(params)
527//
528//    err := req.Send()
529//    if err == nil { // resp is now filled
530//        fmt.Println(resp)
531//    }
532//
533// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportProject
534func (c *Mobile) ExportProjectRequest(input *ExportProjectInput) (req *request.Request, output *ExportProjectOutput) {
535	op := &request.Operation{
536		Name:       opExportProject,
537		HTTPMethod: "POST",
538		HTTPPath:   "/exports/{projectId}",
539	}
540
541	if input == nil {
542		input = &ExportProjectInput{}
543	}
544
545	output = &ExportProjectOutput{}
546	req = c.newRequest(op, input, output)
547	return
548}
549
550// ExportProject API operation for AWS Mobile.
551//
552// Exports project configuration to a snapshot which can be downloaded and shared.
553// Note that mobile app push credentials are encrypted in exported projects,
554// so they can only be shared successfully within the same AWS account.
555//
556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
557// with awserr.Error's Code and Message methods to get detailed information about
558// the error.
559//
560// See the AWS API reference guide for AWS Mobile's
561// API operation ExportProject for usage and error information.
562//
563// Returned Error Types:
564//   * InternalFailureException
565//   The service has encountered an unexpected error condition which prevents
566//   it from servicing the request.
567//
568//   * ServiceUnavailableException
569//   The service is temporarily unavailable. The request should be retried after
570//   some time delay.
571//
572//   * UnauthorizedException
573//   Credentials of the caller are insufficient to authorize the request.
574//
575//   * TooManyRequestsException
576//   Too many requests have been received for this AWS account in too short a
577//   time. The request should be retried after some time delay.
578//
579//   * BadRequestException
580//   The request cannot be processed because some parameter is not valid or the
581//   project state prevents the operation from being performed.
582//
583//   * NotFoundException
584//   No entity can be found with the specified identifier.
585//
586// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportProject
587func (c *Mobile) ExportProject(input *ExportProjectInput) (*ExportProjectOutput, error) {
588	req, out := c.ExportProjectRequest(input)
589	return out, req.Send()
590}
591
592// ExportProjectWithContext is the same as ExportProject with the addition of
593// the ability to pass a context and additional request options.
594//
595// See ExportProject for details on how to use this API operation.
596//
597// The context must be non-nil and will be used for request cancellation. If
598// the context is nil a panic will occur. In the future the SDK may create
599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
600// for more information on using Contexts.
601func (c *Mobile) ExportProjectWithContext(ctx aws.Context, input *ExportProjectInput, opts ...request.Option) (*ExportProjectOutput, error) {
602	req, out := c.ExportProjectRequest(input)
603	req.SetContext(ctx)
604	req.ApplyOptions(opts...)
605	return out, req.Send()
606}
607
608const opListBundles = "ListBundles"
609
610// ListBundlesRequest generates a "aws/request.Request" representing the
611// client's request for the ListBundles operation. The "output" return
612// value will be populated with the request's response once the request completes
613// successfully.
614//
615// Use "Send" method on the returned Request to send the API call to the service.
616// the "output" return value is not valid until after Send returns without error.
617//
618// See ListBundles for more information on using the ListBundles
619// API call, and error handling.
620//
621// This method is useful when you want to inject custom logic or configuration
622// into the SDK's request lifecycle. Such as custom headers, or retry logic.
623//
624//
625//    // Example sending a request using the ListBundlesRequest method.
626//    req, resp := client.ListBundlesRequest(params)
627//
628//    err := req.Send()
629//    if err == nil { // resp is now filled
630//        fmt.Println(resp)
631//    }
632//
633// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListBundles
634func (c *Mobile) ListBundlesRequest(input *ListBundlesInput) (req *request.Request, output *ListBundlesOutput) {
635	op := &request.Operation{
636		Name:       opListBundles,
637		HTTPMethod: "GET",
638		HTTPPath:   "/bundles",
639		Paginator: &request.Paginator{
640			InputTokens:     []string{"nextToken"},
641			OutputTokens:    []string{"nextToken"},
642			LimitToken:      "maxResults",
643			TruncationToken: "",
644		},
645	}
646
647	if input == nil {
648		input = &ListBundlesInput{}
649	}
650
651	output = &ListBundlesOutput{}
652	req = c.newRequest(op, input, output)
653	return
654}
655
656// ListBundles API operation for AWS Mobile.
657//
658// List all available bundles.
659//
660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
661// with awserr.Error's Code and Message methods to get detailed information about
662// the error.
663//
664// See the AWS API reference guide for AWS Mobile's
665// API operation ListBundles for usage and error information.
666//
667// Returned Error Types:
668//   * InternalFailureException
669//   The service has encountered an unexpected error condition which prevents
670//   it from servicing the request.
671//
672//   * ServiceUnavailableException
673//   The service is temporarily unavailable. The request should be retried after
674//   some time delay.
675//
676//   * UnauthorizedException
677//   Credentials of the caller are insufficient to authorize the request.
678//
679//   * TooManyRequestsException
680//   Too many requests have been received for this AWS account in too short a
681//   time. The request should be retried after some time delay.
682//
683//   * BadRequestException
684//   The request cannot be processed because some parameter is not valid or the
685//   project state prevents the operation from being performed.
686//
687// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListBundles
688func (c *Mobile) ListBundles(input *ListBundlesInput) (*ListBundlesOutput, error) {
689	req, out := c.ListBundlesRequest(input)
690	return out, req.Send()
691}
692
693// ListBundlesWithContext is the same as ListBundles with the addition of
694// the ability to pass a context and additional request options.
695//
696// See ListBundles for details on how to use this API operation.
697//
698// The context must be non-nil and will be used for request cancellation. If
699// the context is nil a panic will occur. In the future the SDK may create
700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
701// for more information on using Contexts.
702func (c *Mobile) ListBundlesWithContext(ctx aws.Context, input *ListBundlesInput, opts ...request.Option) (*ListBundlesOutput, error) {
703	req, out := c.ListBundlesRequest(input)
704	req.SetContext(ctx)
705	req.ApplyOptions(opts...)
706	return out, req.Send()
707}
708
709// ListBundlesPages iterates over the pages of a ListBundles operation,
710// calling the "fn" function with the response data for each page. To stop
711// iterating, return false from the fn function.
712//
713// See ListBundles method for more information on how to use this operation.
714//
715// Note: This operation can generate multiple requests to a service.
716//
717//    // Example iterating over at most 3 pages of a ListBundles operation.
718//    pageNum := 0
719//    err := client.ListBundlesPages(params,
720//        func(page *mobile.ListBundlesOutput, lastPage bool) bool {
721//            pageNum++
722//            fmt.Println(page)
723//            return pageNum <= 3
724//        })
725//
726func (c *Mobile) ListBundlesPages(input *ListBundlesInput, fn func(*ListBundlesOutput, bool) bool) error {
727	return c.ListBundlesPagesWithContext(aws.BackgroundContext(), input, fn)
728}
729
730// ListBundlesPagesWithContext same as ListBundlesPages except
731// it takes a Context and allows setting request options on the pages.
732//
733// The context must be non-nil and will be used for request cancellation. If
734// the context is nil a panic will occur. In the future the SDK may create
735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
736// for more information on using Contexts.
737func (c *Mobile) ListBundlesPagesWithContext(ctx aws.Context, input *ListBundlesInput, fn func(*ListBundlesOutput, bool) bool, opts ...request.Option) error {
738	p := request.Pagination{
739		NewRequest: func() (*request.Request, error) {
740			var inCpy *ListBundlesInput
741			if input != nil {
742				tmp := *input
743				inCpy = &tmp
744			}
745			req, _ := c.ListBundlesRequest(inCpy)
746			req.SetContext(ctx)
747			req.ApplyOptions(opts...)
748			return req, nil
749		},
750	}
751
752	for p.Next() {
753		if !fn(p.Page().(*ListBundlesOutput), !p.HasNextPage()) {
754			break
755		}
756	}
757
758	return p.Err()
759}
760
761const opListProjects = "ListProjects"
762
763// ListProjectsRequest generates a "aws/request.Request" representing the
764// client's request for the ListProjects operation. The "output" return
765// value will be populated with the request's response once the request completes
766// successfully.
767//
768// Use "Send" method on the returned Request to send the API call to the service.
769// the "output" return value is not valid until after Send returns without error.
770//
771// See ListProjects for more information on using the ListProjects
772// API call, and error handling.
773//
774// This method is useful when you want to inject custom logic or configuration
775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
776//
777//
778//    // Example sending a request using the ListProjectsRequest method.
779//    req, resp := client.ListProjectsRequest(params)
780//
781//    err := req.Send()
782//    if err == nil { // resp is now filled
783//        fmt.Println(resp)
784//    }
785//
786// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListProjects
787func (c *Mobile) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
788	op := &request.Operation{
789		Name:       opListProjects,
790		HTTPMethod: "GET",
791		HTTPPath:   "/projects",
792		Paginator: &request.Paginator{
793			InputTokens:     []string{"nextToken"},
794			OutputTokens:    []string{"nextToken"},
795			LimitToken:      "maxResults",
796			TruncationToken: "",
797		},
798	}
799
800	if input == nil {
801		input = &ListProjectsInput{}
802	}
803
804	output = &ListProjectsOutput{}
805	req = c.newRequest(op, input, output)
806	return
807}
808
809// ListProjects API operation for AWS Mobile.
810//
811// Lists projects in AWS Mobile Hub.
812//
813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
814// with awserr.Error's Code and Message methods to get detailed information about
815// the error.
816//
817// See the AWS API reference guide for AWS Mobile's
818// API operation ListProjects for usage and error information.
819//
820// Returned Error Types:
821//   * InternalFailureException
822//   The service has encountered an unexpected error condition which prevents
823//   it from servicing the request.
824//
825//   * ServiceUnavailableException
826//   The service is temporarily unavailable. The request should be retried after
827//   some time delay.
828//
829//   * UnauthorizedException
830//   Credentials of the caller are insufficient to authorize the request.
831//
832//   * TooManyRequestsException
833//   Too many requests have been received for this AWS account in too short a
834//   time. The request should be retried after some time delay.
835//
836//   * BadRequestException
837//   The request cannot be processed because some parameter is not valid or the
838//   project state prevents the operation from being performed.
839//
840// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListProjects
841func (c *Mobile) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
842	req, out := c.ListProjectsRequest(input)
843	return out, req.Send()
844}
845
846// ListProjectsWithContext is the same as ListProjects with the addition of
847// the ability to pass a context and additional request options.
848//
849// See ListProjects for details on how to use this API operation.
850//
851// The context must be non-nil and will be used for request cancellation. If
852// the context is nil a panic will occur. In the future the SDK may create
853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
854// for more information on using Contexts.
855func (c *Mobile) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
856	req, out := c.ListProjectsRequest(input)
857	req.SetContext(ctx)
858	req.ApplyOptions(opts...)
859	return out, req.Send()
860}
861
862// ListProjectsPages iterates over the pages of a ListProjects operation,
863// calling the "fn" function with the response data for each page. To stop
864// iterating, return false from the fn function.
865//
866// See ListProjects method for more information on how to use this operation.
867//
868// Note: This operation can generate multiple requests to a service.
869//
870//    // Example iterating over at most 3 pages of a ListProjects operation.
871//    pageNum := 0
872//    err := client.ListProjectsPages(params,
873//        func(page *mobile.ListProjectsOutput, lastPage bool) bool {
874//            pageNum++
875//            fmt.Println(page)
876//            return pageNum <= 3
877//        })
878//
879func (c *Mobile) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
880	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
881}
882
883// ListProjectsPagesWithContext same as ListProjectsPages except
884// it takes a Context and allows setting request options on the pages.
885//
886// The context must be non-nil and will be used for request cancellation. If
887// the context is nil a panic will occur. In the future the SDK may create
888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
889// for more information on using Contexts.
890func (c *Mobile) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
891	p := request.Pagination{
892		NewRequest: func() (*request.Request, error) {
893			var inCpy *ListProjectsInput
894			if input != nil {
895				tmp := *input
896				inCpy = &tmp
897			}
898			req, _ := c.ListProjectsRequest(inCpy)
899			req.SetContext(ctx)
900			req.ApplyOptions(opts...)
901			return req, nil
902		},
903	}
904
905	for p.Next() {
906		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
907			break
908		}
909	}
910
911	return p.Err()
912}
913
914const opUpdateProject = "UpdateProject"
915
916// UpdateProjectRequest generates a "aws/request.Request" representing the
917// client's request for the UpdateProject operation. The "output" return
918// value will be populated with the request's response once the request completes
919// successfully.
920//
921// Use "Send" method on the returned Request to send the API call to the service.
922// the "output" return value is not valid until after Send returns without error.
923//
924// See UpdateProject for more information on using the UpdateProject
925// API call, and error handling.
926//
927// This method is useful when you want to inject custom logic or configuration
928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
929//
930//
931//    // Example sending a request using the UpdateProjectRequest method.
932//    req, resp := client.UpdateProjectRequest(params)
933//
934//    err := req.Send()
935//    if err == nil { // resp is now filled
936//        fmt.Println(resp)
937//    }
938//
939// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/UpdateProject
940func (c *Mobile) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
941	op := &request.Operation{
942		Name:       opUpdateProject,
943		HTTPMethod: "POST",
944		HTTPPath:   "/update",
945	}
946
947	if input == nil {
948		input = &UpdateProjectInput{}
949	}
950
951	output = &UpdateProjectOutput{}
952	req = c.newRequest(op, input, output)
953	return
954}
955
956// UpdateProject API operation for AWS Mobile.
957//
958// Update an existing project.
959//
960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
961// with awserr.Error's Code and Message methods to get detailed information about
962// the error.
963//
964// See the AWS API reference guide for AWS Mobile's
965// API operation UpdateProject for usage and error information.
966//
967// Returned Error Types:
968//   * InternalFailureException
969//   The service has encountered an unexpected error condition which prevents
970//   it from servicing the request.
971//
972//   * ServiceUnavailableException
973//   The service is temporarily unavailable. The request should be retried after
974//   some time delay.
975//
976//   * UnauthorizedException
977//   Credentials of the caller are insufficient to authorize the request.
978//
979//   * TooManyRequestsException
980//   Too many requests have been received for this AWS account in too short a
981//   time. The request should be retried after some time delay.
982//
983//   * BadRequestException
984//   The request cannot be processed because some parameter is not valid or the
985//   project state prevents the operation from being performed.
986//
987//   * NotFoundException
988//   No entity can be found with the specified identifier.
989//
990//   * AccountActionRequiredException
991//   Account Action is required in order to continue the request.
992//
993//   * LimitExceededException
994//   There are too many AWS Mobile Hub projects in the account or the account
995//   has exceeded the maximum number of resources in some AWS service. You should
996//   create another sub-account using AWS Organizations or remove some resources
997//   and retry your request.
998//
999// See also, https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/UpdateProject
1000func (c *Mobile) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
1001	req, out := c.UpdateProjectRequest(input)
1002	return out, req.Send()
1003}
1004
1005// UpdateProjectWithContext is the same as UpdateProject with the addition of
1006// the ability to pass a context and additional request options.
1007//
1008// See UpdateProject for details on how to use this API operation.
1009//
1010// The context must be non-nil and will be used for request cancellation. If
1011// the context is nil a panic will occur. In the future the SDK may create
1012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1013// for more information on using Contexts.
1014func (c *Mobile) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
1015	req, out := c.UpdateProjectRequest(input)
1016	req.SetContext(ctx)
1017	req.ApplyOptions(opts...)
1018	return out, req.Send()
1019}
1020
1021// Account Action is required in order to continue the request.
1022type AccountActionRequiredException struct {
1023	_            struct{}                  `type:"structure"`
1024	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1025
1026	// The Exception Error Message.
1027	Message_ *string `locationName:"message" type:"string"`
1028}
1029
1030// String returns the string representation
1031func (s AccountActionRequiredException) String() string {
1032	return awsutil.Prettify(s)
1033}
1034
1035// GoString returns the string representation
1036func (s AccountActionRequiredException) GoString() string {
1037	return s.String()
1038}
1039
1040func newErrorAccountActionRequiredException(v protocol.ResponseMetadata) error {
1041	return &AccountActionRequiredException{
1042		RespMetadata: v,
1043	}
1044}
1045
1046// Code returns the exception type name.
1047func (s *AccountActionRequiredException) Code() string {
1048	return "AccountActionRequiredException"
1049}
1050
1051// Message returns the exception's message.
1052func (s *AccountActionRequiredException) Message() string {
1053	if s.Message_ != nil {
1054		return *s.Message_
1055	}
1056	return ""
1057}
1058
1059// OrigErr always returns nil, satisfies awserr.Error interface.
1060func (s *AccountActionRequiredException) OrigErr() error {
1061	return nil
1062}
1063
1064func (s *AccountActionRequiredException) Error() string {
1065	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1066}
1067
1068// Status code returns the HTTP status code for the request's response error.
1069func (s *AccountActionRequiredException) StatusCode() int {
1070	return s.RespMetadata.StatusCode
1071}
1072
1073// RequestID returns the service's response RequestID for request.
1074func (s *AccountActionRequiredException) RequestID() string {
1075	return s.RespMetadata.RequestID
1076}
1077
1078// The request cannot be processed because some parameter is not valid or the
1079// project state prevents the operation from being performed.
1080type BadRequestException struct {
1081	_            struct{}                  `type:"structure"`
1082	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1083
1084	// The Exception Error Message.
1085	Message_ *string `locationName:"message" type:"string"`
1086}
1087
1088// String returns the string representation
1089func (s BadRequestException) String() string {
1090	return awsutil.Prettify(s)
1091}
1092
1093// GoString returns the string representation
1094func (s BadRequestException) GoString() string {
1095	return s.String()
1096}
1097
1098func newErrorBadRequestException(v protocol.ResponseMetadata) error {
1099	return &BadRequestException{
1100		RespMetadata: v,
1101	}
1102}
1103
1104// Code returns the exception type name.
1105func (s *BadRequestException) Code() string {
1106	return "BadRequestException"
1107}
1108
1109// Message returns the exception's message.
1110func (s *BadRequestException) Message() string {
1111	if s.Message_ != nil {
1112		return *s.Message_
1113	}
1114	return ""
1115}
1116
1117// OrigErr always returns nil, satisfies awserr.Error interface.
1118func (s *BadRequestException) OrigErr() error {
1119	return nil
1120}
1121
1122func (s *BadRequestException) Error() string {
1123	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1124}
1125
1126// Status code returns the HTTP status code for the request's response error.
1127func (s *BadRequestException) StatusCode() int {
1128	return s.RespMetadata.StatusCode
1129}
1130
1131// RequestID returns the service's response RequestID for request.
1132func (s *BadRequestException) RequestID() string {
1133	return s.RespMetadata.RequestID
1134}
1135
1136// The details of the bundle.
1137type BundleDetails struct {
1138	_ struct{} `type:"structure"`
1139
1140	// Developer desktop or mobile app or website platforms.
1141	AvailablePlatforms []*string `locationName:"availablePlatforms" type:"list"`
1142
1143	// Unique bundle identifier.
1144	BundleId *string `locationName:"bundleId" type:"string"`
1145
1146	// Description of the download bundle.
1147	Description *string `locationName:"description" type:"string"`
1148
1149	// Icon for the download bundle.
1150	IconUrl *string `locationName:"iconUrl" type:"string"`
1151
1152	// Title of the download bundle.
1153	Title *string `locationName:"title" type:"string"`
1154
1155	// Version of the download bundle.
1156	Version *string `locationName:"version" type:"string"`
1157}
1158
1159// String returns the string representation
1160func (s BundleDetails) String() string {
1161	return awsutil.Prettify(s)
1162}
1163
1164// GoString returns the string representation
1165func (s BundleDetails) GoString() string {
1166	return s.String()
1167}
1168
1169// SetAvailablePlatforms sets the AvailablePlatforms field's value.
1170func (s *BundleDetails) SetAvailablePlatforms(v []*string) *BundleDetails {
1171	s.AvailablePlatforms = v
1172	return s
1173}
1174
1175// SetBundleId sets the BundleId field's value.
1176func (s *BundleDetails) SetBundleId(v string) *BundleDetails {
1177	s.BundleId = &v
1178	return s
1179}
1180
1181// SetDescription sets the Description field's value.
1182func (s *BundleDetails) SetDescription(v string) *BundleDetails {
1183	s.Description = &v
1184	return s
1185}
1186
1187// SetIconUrl sets the IconUrl field's value.
1188func (s *BundleDetails) SetIconUrl(v string) *BundleDetails {
1189	s.IconUrl = &v
1190	return s
1191}
1192
1193// SetTitle sets the Title field's value.
1194func (s *BundleDetails) SetTitle(v string) *BundleDetails {
1195	s.Title = &v
1196	return s
1197}
1198
1199// SetVersion sets the Version field's value.
1200func (s *BundleDetails) SetVersion(v string) *BundleDetails {
1201	s.Version = &v
1202	return s
1203}
1204
1205// Request structure used to request a project be created.
1206type CreateProjectInput struct {
1207	_ struct{} `type:"structure" payload:"Contents"`
1208
1209	// ZIP or YAML file which contains configuration settings to be used when creating
1210	// the project. This may be the contents of the file downloaded from the URL
1211	// provided in an export project operation.
1212	Contents []byte `locationName:"contents" type:"blob"`
1213
1214	// Name of the project.
1215	Name *string `location:"querystring" locationName:"name" type:"string"`
1216
1217	// Default region where project resources should be created.
1218	Region *string `location:"querystring" locationName:"region" type:"string"`
1219
1220	// Unique identifier for an exported snapshot of project configuration. This
1221	// snapshot identifier is included in the share URL when a project is exported.
1222	SnapshotId *string `location:"querystring" locationName:"snapshotId" type:"string"`
1223}
1224
1225// String returns the string representation
1226func (s CreateProjectInput) String() string {
1227	return awsutil.Prettify(s)
1228}
1229
1230// GoString returns the string representation
1231func (s CreateProjectInput) GoString() string {
1232	return s.String()
1233}
1234
1235// SetContents sets the Contents field's value.
1236func (s *CreateProjectInput) SetContents(v []byte) *CreateProjectInput {
1237	s.Contents = v
1238	return s
1239}
1240
1241// SetName sets the Name field's value.
1242func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
1243	s.Name = &v
1244	return s
1245}
1246
1247// SetRegion sets the Region field's value.
1248func (s *CreateProjectInput) SetRegion(v string) *CreateProjectInput {
1249	s.Region = &v
1250	return s
1251}
1252
1253// SetSnapshotId sets the SnapshotId field's value.
1254func (s *CreateProjectInput) SetSnapshotId(v string) *CreateProjectInput {
1255	s.SnapshotId = &v
1256	return s
1257}
1258
1259// Result structure used in response to a request to create a project.
1260type CreateProjectOutput struct {
1261	_ struct{} `type:"structure"`
1262
1263	// Detailed information about the created AWS Mobile Hub project.
1264	Details *ProjectDetails `locationName:"details" type:"structure"`
1265}
1266
1267// String returns the string representation
1268func (s CreateProjectOutput) String() string {
1269	return awsutil.Prettify(s)
1270}
1271
1272// GoString returns the string representation
1273func (s CreateProjectOutput) GoString() string {
1274	return s.String()
1275}
1276
1277// SetDetails sets the Details field's value.
1278func (s *CreateProjectOutput) SetDetails(v *ProjectDetails) *CreateProjectOutput {
1279	s.Details = v
1280	return s
1281}
1282
1283// Request structure used to request a project be deleted.
1284type DeleteProjectInput struct {
1285	_ struct{} `type:"structure"`
1286
1287	// Unique project identifier.
1288	//
1289	// ProjectId is a required field
1290	ProjectId *string `location:"uri" locationName:"projectId" type:"string" required:"true"`
1291}
1292
1293// String returns the string representation
1294func (s DeleteProjectInput) String() string {
1295	return awsutil.Prettify(s)
1296}
1297
1298// GoString returns the string representation
1299func (s DeleteProjectInput) GoString() string {
1300	return s.String()
1301}
1302
1303// Validate inspects the fields of the type to determine if they are valid.
1304func (s *DeleteProjectInput) Validate() error {
1305	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
1306	if s.ProjectId == nil {
1307		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
1308	}
1309	if s.ProjectId != nil && len(*s.ProjectId) < 1 {
1310		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 1))
1311	}
1312
1313	if invalidParams.Len() > 0 {
1314		return invalidParams
1315	}
1316	return nil
1317}
1318
1319// SetProjectId sets the ProjectId field's value.
1320func (s *DeleteProjectInput) SetProjectId(v string) *DeleteProjectInput {
1321	s.ProjectId = &v
1322	return s
1323}
1324
1325// Result structure used in response to request to delete a project.
1326type DeleteProjectOutput struct {
1327	_ struct{} `type:"structure"`
1328
1329	// Resources which were deleted.
1330	DeletedResources []*Resource `locationName:"deletedResources" type:"list"`
1331
1332	// Resources which were not deleted, due to a risk of losing potentially important
1333	// data or files.
1334	OrphanedResources []*Resource `locationName:"orphanedResources" type:"list"`
1335}
1336
1337// String returns the string representation
1338func (s DeleteProjectOutput) String() string {
1339	return awsutil.Prettify(s)
1340}
1341
1342// GoString returns the string representation
1343func (s DeleteProjectOutput) GoString() string {
1344	return s.String()
1345}
1346
1347// SetDeletedResources sets the DeletedResources field's value.
1348func (s *DeleteProjectOutput) SetDeletedResources(v []*Resource) *DeleteProjectOutput {
1349	s.DeletedResources = v
1350	return s
1351}
1352
1353// SetOrphanedResources sets the OrphanedResources field's value.
1354func (s *DeleteProjectOutput) SetOrphanedResources(v []*Resource) *DeleteProjectOutput {
1355	s.OrphanedResources = v
1356	return s
1357}
1358
1359// Request structure to request the details of a specific bundle.
1360type DescribeBundleInput struct {
1361	_ struct{} `type:"structure"`
1362
1363	// Unique bundle identifier.
1364	//
1365	// BundleId is a required field
1366	BundleId *string `location:"uri" locationName:"bundleId" type:"string" required:"true"`
1367}
1368
1369// String returns the string representation
1370func (s DescribeBundleInput) String() string {
1371	return awsutil.Prettify(s)
1372}
1373
1374// GoString returns the string representation
1375func (s DescribeBundleInput) GoString() string {
1376	return s.String()
1377}
1378
1379// Validate inspects the fields of the type to determine if they are valid.
1380func (s *DescribeBundleInput) Validate() error {
1381	invalidParams := request.ErrInvalidParams{Context: "DescribeBundleInput"}
1382	if s.BundleId == nil {
1383		invalidParams.Add(request.NewErrParamRequired("BundleId"))
1384	}
1385	if s.BundleId != nil && len(*s.BundleId) < 1 {
1386		invalidParams.Add(request.NewErrParamMinLen("BundleId", 1))
1387	}
1388
1389	if invalidParams.Len() > 0 {
1390		return invalidParams
1391	}
1392	return nil
1393}
1394
1395// SetBundleId sets the BundleId field's value.
1396func (s *DescribeBundleInput) SetBundleId(v string) *DescribeBundleInput {
1397	s.BundleId = &v
1398	return s
1399}
1400
1401// Result structure contains the details of the bundle.
1402type DescribeBundleOutput struct {
1403	_ struct{} `type:"structure"`
1404
1405	// The details of the bundle.
1406	Details *BundleDetails `locationName:"details" type:"structure"`
1407}
1408
1409// String returns the string representation
1410func (s DescribeBundleOutput) String() string {
1411	return awsutil.Prettify(s)
1412}
1413
1414// GoString returns the string representation
1415func (s DescribeBundleOutput) GoString() string {
1416	return s.String()
1417}
1418
1419// SetDetails sets the Details field's value.
1420func (s *DescribeBundleOutput) SetDetails(v *BundleDetails) *DescribeBundleOutput {
1421	s.Details = v
1422	return s
1423}
1424
1425// Request structure used to request details about a project.
1426type DescribeProjectInput struct {
1427	_ struct{} `type:"structure"`
1428
1429	// Unique project identifier.
1430	//
1431	// ProjectId is a required field
1432	ProjectId *string `location:"querystring" locationName:"projectId" type:"string" required:"true"`
1433
1434	// If set to true, causes AWS Mobile Hub to synchronize information from other
1435	// services, e.g., update state of AWS CloudFormation stacks in the AWS Mobile
1436	// Hub project.
1437	SyncFromResources *bool `location:"querystring" locationName:"syncFromResources" type:"boolean"`
1438}
1439
1440// String returns the string representation
1441func (s DescribeProjectInput) String() string {
1442	return awsutil.Prettify(s)
1443}
1444
1445// GoString returns the string representation
1446func (s DescribeProjectInput) GoString() string {
1447	return s.String()
1448}
1449
1450// Validate inspects the fields of the type to determine if they are valid.
1451func (s *DescribeProjectInput) Validate() error {
1452	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"}
1453	if s.ProjectId == nil {
1454		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
1455	}
1456
1457	if invalidParams.Len() > 0 {
1458		return invalidParams
1459	}
1460	return nil
1461}
1462
1463// SetProjectId sets the ProjectId field's value.
1464func (s *DescribeProjectInput) SetProjectId(v string) *DescribeProjectInput {
1465	s.ProjectId = &v
1466	return s
1467}
1468
1469// SetSyncFromResources sets the SyncFromResources field's value.
1470func (s *DescribeProjectInput) SetSyncFromResources(v bool) *DescribeProjectInput {
1471	s.SyncFromResources = &v
1472	return s
1473}
1474
1475// Result structure used for requests of project details.
1476type DescribeProjectOutput struct {
1477	_ struct{} `type:"structure"`
1478
1479	// Detailed information about an AWS Mobile Hub project.
1480	Details *ProjectDetails `locationName:"details" type:"structure"`
1481}
1482
1483// String returns the string representation
1484func (s DescribeProjectOutput) String() string {
1485	return awsutil.Prettify(s)
1486}
1487
1488// GoString returns the string representation
1489func (s DescribeProjectOutput) GoString() string {
1490	return s.String()
1491}
1492
1493// SetDetails sets the Details field's value.
1494func (s *DescribeProjectOutput) SetDetails(v *ProjectDetails) *DescribeProjectOutput {
1495	s.Details = v
1496	return s
1497}
1498
1499// Request structure used to request generation of custom SDK and tool packages
1500// required to integrate mobile web or app clients with backed AWS resources.
1501type ExportBundleInput struct {
1502	_ struct{} `type:"structure"`
1503
1504	// Unique bundle identifier.
1505	//
1506	// BundleId is a required field
1507	BundleId *string `location:"uri" locationName:"bundleId" type:"string" required:"true"`
1508
1509	// Developer desktop or target application platform.
1510	Platform *string `location:"querystring" locationName:"platform" type:"string" enum:"Platform"`
1511
1512	// Unique project identifier.
1513	ProjectId *string `location:"querystring" locationName:"projectId" type:"string"`
1514}
1515
1516// String returns the string representation
1517func (s ExportBundleInput) String() string {
1518	return awsutil.Prettify(s)
1519}
1520
1521// GoString returns the string representation
1522func (s ExportBundleInput) GoString() string {
1523	return s.String()
1524}
1525
1526// Validate inspects the fields of the type to determine if they are valid.
1527func (s *ExportBundleInput) Validate() error {
1528	invalidParams := request.ErrInvalidParams{Context: "ExportBundleInput"}
1529	if s.BundleId == nil {
1530		invalidParams.Add(request.NewErrParamRequired("BundleId"))
1531	}
1532	if s.BundleId != nil && len(*s.BundleId) < 1 {
1533		invalidParams.Add(request.NewErrParamMinLen("BundleId", 1))
1534	}
1535
1536	if invalidParams.Len() > 0 {
1537		return invalidParams
1538	}
1539	return nil
1540}
1541
1542// SetBundleId sets the BundleId field's value.
1543func (s *ExportBundleInput) SetBundleId(v string) *ExportBundleInput {
1544	s.BundleId = &v
1545	return s
1546}
1547
1548// SetPlatform sets the Platform field's value.
1549func (s *ExportBundleInput) SetPlatform(v string) *ExportBundleInput {
1550	s.Platform = &v
1551	return s
1552}
1553
1554// SetProjectId sets the ProjectId field's value.
1555func (s *ExportBundleInput) SetProjectId(v string) *ExportBundleInput {
1556	s.ProjectId = &v
1557	return s
1558}
1559
1560// Result structure which contains link to download custom-generated SDK and
1561// tool packages used to integrate mobile web or app clients with backed AWS
1562// resources.
1563type ExportBundleOutput struct {
1564	_ struct{} `type:"structure"`
1565
1566	// URL which contains the custom-generated SDK and tool packages used to integrate
1567	// the client mobile app or web app with the AWS resources created by the AWS
1568	// Mobile Hub project.
1569	DownloadUrl *string `locationName:"downloadUrl" type:"string"`
1570}
1571
1572// String returns the string representation
1573func (s ExportBundleOutput) String() string {
1574	return awsutil.Prettify(s)
1575}
1576
1577// GoString returns the string representation
1578func (s ExportBundleOutput) GoString() string {
1579	return s.String()
1580}
1581
1582// SetDownloadUrl sets the DownloadUrl field's value.
1583func (s *ExportBundleOutput) SetDownloadUrl(v string) *ExportBundleOutput {
1584	s.DownloadUrl = &v
1585	return s
1586}
1587
1588// Request structure used in requests to export project configuration details.
1589type ExportProjectInput struct {
1590	_ struct{} `type:"structure"`
1591
1592	// Unique project identifier.
1593	//
1594	// ProjectId is a required field
1595	ProjectId *string `location:"uri" locationName:"projectId" type:"string" required:"true"`
1596}
1597
1598// String returns the string representation
1599func (s ExportProjectInput) String() string {
1600	return awsutil.Prettify(s)
1601}
1602
1603// GoString returns the string representation
1604func (s ExportProjectInput) GoString() string {
1605	return s.String()
1606}
1607
1608// Validate inspects the fields of the type to determine if they are valid.
1609func (s *ExportProjectInput) Validate() error {
1610	invalidParams := request.ErrInvalidParams{Context: "ExportProjectInput"}
1611	if s.ProjectId == nil {
1612		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
1613	}
1614	if s.ProjectId != nil && len(*s.ProjectId) < 1 {
1615		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 1))
1616	}
1617
1618	if invalidParams.Len() > 0 {
1619		return invalidParams
1620	}
1621	return nil
1622}
1623
1624// SetProjectId sets the ProjectId field's value.
1625func (s *ExportProjectInput) SetProjectId(v string) *ExportProjectInput {
1626	s.ProjectId = &v
1627	return s
1628}
1629
1630// Result structure used for requests to export project configuration details.
1631type ExportProjectOutput struct {
1632	_ struct{} `type:"structure"`
1633
1634	// URL which can be used to download the exported project configuation file(s).
1635	DownloadUrl *string `locationName:"downloadUrl" type:"string"`
1636
1637	// URL which can be shared to allow other AWS users to create their own project
1638	// in AWS Mobile Hub with the same configuration as the specified project. This
1639	// URL pertains to a snapshot in time of the project configuration that is created
1640	// when this API is called. If you want to share additional changes to your
1641	// project configuration, then you will need to create and share a new snapshot
1642	// by calling this method again.
1643	ShareUrl *string `locationName:"shareUrl" type:"string"`
1644
1645	// Unique identifier for the exported snapshot of the project configuration.
1646	// This snapshot identifier is included in the share URL.
1647	SnapshotId *string `locationName:"snapshotId" type:"string"`
1648}
1649
1650// String returns the string representation
1651func (s ExportProjectOutput) String() string {
1652	return awsutil.Prettify(s)
1653}
1654
1655// GoString returns the string representation
1656func (s ExportProjectOutput) GoString() string {
1657	return s.String()
1658}
1659
1660// SetDownloadUrl sets the DownloadUrl field's value.
1661func (s *ExportProjectOutput) SetDownloadUrl(v string) *ExportProjectOutput {
1662	s.DownloadUrl = &v
1663	return s
1664}
1665
1666// SetShareUrl sets the ShareUrl field's value.
1667func (s *ExportProjectOutput) SetShareUrl(v string) *ExportProjectOutput {
1668	s.ShareUrl = &v
1669	return s
1670}
1671
1672// SetSnapshotId sets the SnapshotId field's value.
1673func (s *ExportProjectOutput) SetSnapshotId(v string) *ExportProjectOutput {
1674	s.SnapshotId = &v
1675	return s
1676}
1677
1678// The service has encountered an unexpected error condition which prevents
1679// it from servicing the request.
1680type InternalFailureException struct {
1681	_            struct{}                  `type:"structure"`
1682	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1683
1684	// The Exception Error Message.
1685	Message_ *string `locationName:"message" type:"string"`
1686}
1687
1688// String returns the string representation
1689func (s InternalFailureException) String() string {
1690	return awsutil.Prettify(s)
1691}
1692
1693// GoString returns the string representation
1694func (s InternalFailureException) GoString() string {
1695	return s.String()
1696}
1697
1698func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
1699	return &InternalFailureException{
1700		RespMetadata: v,
1701	}
1702}
1703
1704// Code returns the exception type name.
1705func (s *InternalFailureException) Code() string {
1706	return "InternalFailureException"
1707}
1708
1709// Message returns the exception's message.
1710func (s *InternalFailureException) Message() string {
1711	if s.Message_ != nil {
1712		return *s.Message_
1713	}
1714	return ""
1715}
1716
1717// OrigErr always returns nil, satisfies awserr.Error interface.
1718func (s *InternalFailureException) OrigErr() error {
1719	return nil
1720}
1721
1722func (s *InternalFailureException) Error() string {
1723	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1724}
1725
1726// Status code returns the HTTP status code for the request's response error.
1727func (s *InternalFailureException) StatusCode() int {
1728	return s.RespMetadata.StatusCode
1729}
1730
1731// RequestID returns the service's response RequestID for request.
1732func (s *InternalFailureException) RequestID() string {
1733	return s.RespMetadata.RequestID
1734}
1735
1736// There are too many AWS Mobile Hub projects in the account or the account
1737// has exceeded the maximum number of resources in some AWS service. You should
1738// create another sub-account using AWS Organizations or remove some resources
1739// and retry your request.
1740type LimitExceededException struct {
1741	_            struct{}                  `type:"structure"`
1742	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1743
1744	// The Exception Error Message.
1745	Message_ *string `locationName:"message" type:"string"`
1746
1747	// The Exception Error Message.
1748	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
1749}
1750
1751// String returns the string representation
1752func (s LimitExceededException) String() string {
1753	return awsutil.Prettify(s)
1754}
1755
1756// GoString returns the string representation
1757func (s LimitExceededException) GoString() string {
1758	return s.String()
1759}
1760
1761func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
1762	return &LimitExceededException{
1763		RespMetadata: v,
1764	}
1765}
1766
1767// Code returns the exception type name.
1768func (s *LimitExceededException) Code() string {
1769	return "LimitExceededException"
1770}
1771
1772// Message returns the exception's message.
1773func (s *LimitExceededException) Message() string {
1774	if s.Message_ != nil {
1775		return *s.Message_
1776	}
1777	return ""
1778}
1779
1780// OrigErr always returns nil, satisfies awserr.Error interface.
1781func (s *LimitExceededException) OrigErr() error {
1782	return nil
1783}
1784
1785func (s *LimitExceededException) Error() string {
1786	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
1787}
1788
1789// Status code returns the HTTP status code for the request's response error.
1790func (s *LimitExceededException) StatusCode() int {
1791	return s.RespMetadata.StatusCode
1792}
1793
1794// RequestID returns the service's response RequestID for request.
1795func (s *LimitExceededException) RequestID() string {
1796	return s.RespMetadata.RequestID
1797}
1798
1799// Request structure to request all available bundles.
1800type ListBundlesInput struct {
1801	_ struct{} `type:"structure"`
1802
1803	// Maximum number of records to list in a single response.
1804	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
1805
1806	// Pagination token. Set to null to start listing bundles from start. If non-null
1807	// pagination token is returned in a result, then pass its value in here in
1808	// another request to list more bundles.
1809	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
1810}
1811
1812// String returns the string representation
1813func (s ListBundlesInput) String() string {
1814	return awsutil.Prettify(s)
1815}
1816
1817// GoString returns the string representation
1818func (s ListBundlesInput) GoString() string {
1819	return s.String()
1820}
1821
1822// SetMaxResults sets the MaxResults field's value.
1823func (s *ListBundlesInput) SetMaxResults(v int64) *ListBundlesInput {
1824	s.MaxResults = &v
1825	return s
1826}
1827
1828// SetNextToken sets the NextToken field's value.
1829func (s *ListBundlesInput) SetNextToken(v string) *ListBundlesInput {
1830	s.NextToken = &v
1831	return s
1832}
1833
1834// Result structure contains a list of all available bundles with details.
1835type ListBundlesOutput struct {
1836	_ struct{} `type:"structure"`
1837
1838	// A list of bundles.
1839	BundleList []*BundleDetails `locationName:"bundleList" type:"list"`
1840
1841	// Pagination token. If non-null pagination token is returned in a result, then
1842	// pass its value in another request to fetch more entries.
1843	NextToken *string `locationName:"nextToken" type:"string"`
1844}
1845
1846// String returns the string representation
1847func (s ListBundlesOutput) String() string {
1848	return awsutil.Prettify(s)
1849}
1850
1851// GoString returns the string representation
1852func (s ListBundlesOutput) GoString() string {
1853	return s.String()
1854}
1855
1856// SetBundleList sets the BundleList field's value.
1857func (s *ListBundlesOutput) SetBundleList(v []*BundleDetails) *ListBundlesOutput {
1858	s.BundleList = v
1859	return s
1860}
1861
1862// SetNextToken sets the NextToken field's value.
1863func (s *ListBundlesOutput) SetNextToken(v string) *ListBundlesOutput {
1864	s.NextToken = &v
1865	return s
1866}
1867
1868// Request structure used to request projects list in AWS Mobile Hub.
1869type ListProjectsInput struct {
1870	_ struct{} `type:"structure"`
1871
1872	// Maximum number of records to list in a single response.
1873	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
1874
1875	// Pagination token. Set to null to start listing projects from start. If non-null
1876	// pagination token is returned in a result, then pass its value in here in
1877	// another request to list more projects.
1878	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
1879}
1880
1881// String returns the string representation
1882func (s ListProjectsInput) String() string {
1883	return awsutil.Prettify(s)
1884}
1885
1886// GoString returns the string representation
1887func (s ListProjectsInput) GoString() string {
1888	return s.String()
1889}
1890
1891// SetMaxResults sets the MaxResults field's value.
1892func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput {
1893	s.MaxResults = &v
1894	return s
1895}
1896
1897// SetNextToken sets the NextToken field's value.
1898func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
1899	s.NextToken = &v
1900	return s
1901}
1902
1903// Result structure used for requests to list projects in AWS Mobile Hub.
1904type ListProjectsOutput struct {
1905	_ struct{} `type:"structure"`
1906
1907	// Pagination token. Set to null to start listing records from start. If non-null
1908	// pagination token is returned in a result, then pass its value in here in
1909	// another request to list more entries.
1910	NextToken *string `locationName:"nextToken" type:"string"`
1911
1912	// List of projects.
1913	Projects []*ProjectSummary `locationName:"projects" type:"list"`
1914}
1915
1916// String returns the string representation
1917func (s ListProjectsOutput) String() string {
1918	return awsutil.Prettify(s)
1919}
1920
1921// GoString returns the string representation
1922func (s ListProjectsOutput) GoString() string {
1923	return s.String()
1924}
1925
1926// SetNextToken sets the NextToken field's value.
1927func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
1928	s.NextToken = &v
1929	return s
1930}
1931
1932// SetProjects sets the Projects field's value.
1933func (s *ListProjectsOutput) SetProjects(v []*ProjectSummary) *ListProjectsOutput {
1934	s.Projects = v
1935	return s
1936}
1937
1938// No entity can be found with the specified identifier.
1939type NotFoundException struct {
1940	_            struct{}                  `type:"structure"`
1941	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1942
1943	// The Exception Error Message.
1944	Message_ *string `locationName:"message" type:"string"`
1945}
1946
1947// String returns the string representation
1948func (s NotFoundException) String() string {
1949	return awsutil.Prettify(s)
1950}
1951
1952// GoString returns the string representation
1953func (s NotFoundException) GoString() string {
1954	return s.String()
1955}
1956
1957func newErrorNotFoundException(v protocol.ResponseMetadata) error {
1958	return &NotFoundException{
1959		RespMetadata: v,
1960	}
1961}
1962
1963// Code returns the exception type name.
1964func (s *NotFoundException) Code() string {
1965	return "NotFoundException"
1966}
1967
1968// Message returns the exception's message.
1969func (s *NotFoundException) Message() string {
1970	if s.Message_ != nil {
1971		return *s.Message_
1972	}
1973	return ""
1974}
1975
1976// OrigErr always returns nil, satisfies awserr.Error interface.
1977func (s *NotFoundException) OrigErr() error {
1978	return nil
1979}
1980
1981func (s *NotFoundException) Error() string {
1982	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1983}
1984
1985// Status code returns the HTTP status code for the request's response error.
1986func (s *NotFoundException) StatusCode() int {
1987	return s.RespMetadata.StatusCode
1988}
1989
1990// RequestID returns the service's response RequestID for request.
1991func (s *NotFoundException) RequestID() string {
1992	return s.RespMetadata.RequestID
1993}
1994
1995// Detailed information about an AWS Mobile Hub project.
1996type ProjectDetails struct {
1997	_ struct{} `type:"structure"`
1998
1999	// Website URL for this project in the AWS Mobile Hub console.
2000	ConsoleUrl *string `locationName:"consoleUrl" type:"string"`
2001
2002	// Date the project was created.
2003	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
2004
2005	// Date of the last modification of the project.
2006	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"`
2007
2008	// Name of the project.
2009	Name *string `locationName:"name" type:"string"`
2010
2011	// Unique project identifier.
2012	ProjectId *string `locationName:"projectId" type:"string"`
2013
2014	// Default region to use for AWS resource creation in the AWS Mobile Hub project.
2015	Region *string `locationName:"region" type:"string"`
2016
2017	// List of AWS resources associated with a project.
2018	Resources []*Resource `locationName:"resources" type:"list"`
2019
2020	// Synchronization state for a project.
2021	State *string `locationName:"state" type:"string" enum:"ProjectState"`
2022}
2023
2024// String returns the string representation
2025func (s ProjectDetails) String() string {
2026	return awsutil.Prettify(s)
2027}
2028
2029// GoString returns the string representation
2030func (s ProjectDetails) GoString() string {
2031	return s.String()
2032}
2033
2034// SetConsoleUrl sets the ConsoleUrl field's value.
2035func (s *ProjectDetails) SetConsoleUrl(v string) *ProjectDetails {
2036	s.ConsoleUrl = &v
2037	return s
2038}
2039
2040// SetCreatedDate sets the CreatedDate field's value.
2041func (s *ProjectDetails) SetCreatedDate(v time.Time) *ProjectDetails {
2042	s.CreatedDate = &v
2043	return s
2044}
2045
2046// SetLastUpdatedDate sets the LastUpdatedDate field's value.
2047func (s *ProjectDetails) SetLastUpdatedDate(v time.Time) *ProjectDetails {
2048	s.LastUpdatedDate = &v
2049	return s
2050}
2051
2052// SetName sets the Name field's value.
2053func (s *ProjectDetails) SetName(v string) *ProjectDetails {
2054	s.Name = &v
2055	return s
2056}
2057
2058// SetProjectId sets the ProjectId field's value.
2059func (s *ProjectDetails) SetProjectId(v string) *ProjectDetails {
2060	s.ProjectId = &v
2061	return s
2062}
2063
2064// SetRegion sets the Region field's value.
2065func (s *ProjectDetails) SetRegion(v string) *ProjectDetails {
2066	s.Region = &v
2067	return s
2068}
2069
2070// SetResources sets the Resources field's value.
2071func (s *ProjectDetails) SetResources(v []*Resource) *ProjectDetails {
2072	s.Resources = v
2073	return s
2074}
2075
2076// SetState sets the State field's value.
2077func (s *ProjectDetails) SetState(v string) *ProjectDetails {
2078	s.State = &v
2079	return s
2080}
2081
2082// Summary information about an AWS Mobile Hub project.
2083type ProjectSummary struct {
2084	_ struct{} `type:"structure"`
2085
2086	// Name of the project.
2087	Name *string `locationName:"name" type:"string"`
2088
2089	// Unique project identifier.
2090	ProjectId *string `locationName:"projectId" type:"string"`
2091}
2092
2093// String returns the string representation
2094func (s ProjectSummary) String() string {
2095	return awsutil.Prettify(s)
2096}
2097
2098// GoString returns the string representation
2099func (s ProjectSummary) GoString() string {
2100	return s.String()
2101}
2102
2103// SetName sets the Name field's value.
2104func (s *ProjectSummary) SetName(v string) *ProjectSummary {
2105	s.Name = &v
2106	return s
2107}
2108
2109// SetProjectId sets the ProjectId field's value.
2110func (s *ProjectSummary) SetProjectId(v string) *ProjectSummary {
2111	s.ProjectId = &v
2112	return s
2113}
2114
2115// Information about an instance of an AWS resource associated with a project.
2116type Resource struct {
2117	_ struct{} `type:"structure"`
2118
2119	// AWS resource name which uniquely identifies the resource in AWS systems.
2120	Arn *string `locationName:"arn" type:"string"`
2121
2122	// Key-value attribute pairs.
2123	Attributes map[string]*string `locationName:"attributes" type:"map"`
2124
2125	// Identifies which feature in AWS Mobile Hub is associated with this AWS resource.
2126	Feature *string `locationName:"feature" type:"string"`
2127
2128	// Name of the AWS resource (e.g., for an Amazon S3 bucket this is the name
2129	// of the bucket).
2130	Name *string `locationName:"name" type:"string"`
2131
2132	// Simplified name for type of AWS resource (e.g., bucket is an Amazon S3 bucket).
2133	Type *string `locationName:"type" type:"string"`
2134}
2135
2136// String returns the string representation
2137func (s Resource) String() string {
2138	return awsutil.Prettify(s)
2139}
2140
2141// GoString returns the string representation
2142func (s Resource) GoString() string {
2143	return s.String()
2144}
2145
2146// SetArn sets the Arn field's value.
2147func (s *Resource) SetArn(v string) *Resource {
2148	s.Arn = &v
2149	return s
2150}
2151
2152// SetAttributes sets the Attributes field's value.
2153func (s *Resource) SetAttributes(v map[string]*string) *Resource {
2154	s.Attributes = v
2155	return s
2156}
2157
2158// SetFeature sets the Feature field's value.
2159func (s *Resource) SetFeature(v string) *Resource {
2160	s.Feature = &v
2161	return s
2162}
2163
2164// SetName sets the Name field's value.
2165func (s *Resource) SetName(v string) *Resource {
2166	s.Name = &v
2167	return s
2168}
2169
2170// SetType sets the Type field's value.
2171func (s *Resource) SetType(v string) *Resource {
2172	s.Type = &v
2173	return s
2174}
2175
2176// The service is temporarily unavailable. The request should be retried after
2177// some time delay.
2178type ServiceUnavailableException struct {
2179	_            struct{}                  `type:"structure"`
2180	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2181
2182	// The Exception Error Message.
2183	Message_ *string `locationName:"message" type:"string"`
2184
2185	// The Exception Error Message.
2186	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
2187}
2188
2189// String returns the string representation
2190func (s ServiceUnavailableException) String() string {
2191	return awsutil.Prettify(s)
2192}
2193
2194// GoString returns the string representation
2195func (s ServiceUnavailableException) GoString() string {
2196	return s.String()
2197}
2198
2199func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
2200	return &ServiceUnavailableException{
2201		RespMetadata: v,
2202	}
2203}
2204
2205// Code returns the exception type name.
2206func (s *ServiceUnavailableException) Code() string {
2207	return "ServiceUnavailableException"
2208}
2209
2210// Message returns the exception's message.
2211func (s *ServiceUnavailableException) Message() string {
2212	if s.Message_ != nil {
2213		return *s.Message_
2214	}
2215	return ""
2216}
2217
2218// OrigErr always returns nil, satisfies awserr.Error interface.
2219func (s *ServiceUnavailableException) OrigErr() error {
2220	return nil
2221}
2222
2223func (s *ServiceUnavailableException) Error() string {
2224	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2225}
2226
2227// Status code returns the HTTP status code for the request's response error.
2228func (s *ServiceUnavailableException) StatusCode() int {
2229	return s.RespMetadata.StatusCode
2230}
2231
2232// RequestID returns the service's response RequestID for request.
2233func (s *ServiceUnavailableException) RequestID() string {
2234	return s.RespMetadata.RequestID
2235}
2236
2237// Too many requests have been received for this AWS account in too short a
2238// time. The request should be retried after some time delay.
2239type TooManyRequestsException struct {
2240	_            struct{}                  `type:"structure"`
2241	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2242
2243	// The Exception Error Message.
2244	Message_ *string `locationName:"message" type:"string"`
2245
2246	// The Exception Error Message.
2247	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
2248}
2249
2250// String returns the string representation
2251func (s TooManyRequestsException) String() string {
2252	return awsutil.Prettify(s)
2253}
2254
2255// GoString returns the string representation
2256func (s TooManyRequestsException) GoString() string {
2257	return s.String()
2258}
2259
2260func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
2261	return &TooManyRequestsException{
2262		RespMetadata: v,
2263	}
2264}
2265
2266// Code returns the exception type name.
2267func (s *TooManyRequestsException) Code() string {
2268	return "TooManyRequestsException"
2269}
2270
2271// Message returns the exception's message.
2272func (s *TooManyRequestsException) Message() string {
2273	if s.Message_ != nil {
2274		return *s.Message_
2275	}
2276	return ""
2277}
2278
2279// OrigErr always returns nil, satisfies awserr.Error interface.
2280func (s *TooManyRequestsException) OrigErr() error {
2281	return nil
2282}
2283
2284func (s *TooManyRequestsException) Error() string {
2285	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2286}
2287
2288// Status code returns the HTTP status code for the request's response error.
2289func (s *TooManyRequestsException) StatusCode() int {
2290	return s.RespMetadata.StatusCode
2291}
2292
2293// RequestID returns the service's response RequestID for request.
2294func (s *TooManyRequestsException) RequestID() string {
2295	return s.RespMetadata.RequestID
2296}
2297
2298// Credentials of the caller are insufficient to authorize the request.
2299type UnauthorizedException struct {
2300	_            struct{}                  `type:"structure"`
2301	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2302
2303	// The Exception Error Message.
2304	Message_ *string `locationName:"message" type:"string"`
2305}
2306
2307// String returns the string representation
2308func (s UnauthorizedException) String() string {
2309	return awsutil.Prettify(s)
2310}
2311
2312// GoString returns the string representation
2313func (s UnauthorizedException) GoString() string {
2314	return s.String()
2315}
2316
2317func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
2318	return &UnauthorizedException{
2319		RespMetadata: v,
2320	}
2321}
2322
2323// Code returns the exception type name.
2324func (s *UnauthorizedException) Code() string {
2325	return "UnauthorizedException"
2326}
2327
2328// Message returns the exception's message.
2329func (s *UnauthorizedException) Message() string {
2330	if s.Message_ != nil {
2331		return *s.Message_
2332	}
2333	return ""
2334}
2335
2336// OrigErr always returns nil, satisfies awserr.Error interface.
2337func (s *UnauthorizedException) OrigErr() error {
2338	return nil
2339}
2340
2341func (s *UnauthorizedException) Error() string {
2342	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2343}
2344
2345// Status code returns the HTTP status code for the request's response error.
2346func (s *UnauthorizedException) StatusCode() int {
2347	return s.RespMetadata.StatusCode
2348}
2349
2350// RequestID returns the service's response RequestID for request.
2351func (s *UnauthorizedException) RequestID() string {
2352	return s.RespMetadata.RequestID
2353}
2354
2355// Request structure used for requests to update project configuration.
2356type UpdateProjectInput struct {
2357	_ struct{} `type:"structure" payload:"Contents"`
2358
2359	// ZIP or YAML file which contains project configuration to be updated. This
2360	// should be the contents of the file downloaded from the URL provided in an
2361	// export project operation.
2362	Contents []byte `locationName:"contents" type:"blob"`
2363
2364	// Unique project identifier.
2365	//
2366	// ProjectId is a required field
2367	ProjectId *string `location:"querystring" locationName:"projectId" type:"string" required:"true"`
2368}
2369
2370// String returns the string representation
2371func (s UpdateProjectInput) String() string {
2372	return awsutil.Prettify(s)
2373}
2374
2375// GoString returns the string representation
2376func (s UpdateProjectInput) GoString() string {
2377	return s.String()
2378}
2379
2380// Validate inspects the fields of the type to determine if they are valid.
2381func (s *UpdateProjectInput) Validate() error {
2382	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
2383	if s.ProjectId == nil {
2384		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
2385	}
2386
2387	if invalidParams.Len() > 0 {
2388		return invalidParams
2389	}
2390	return nil
2391}
2392
2393// SetContents sets the Contents field's value.
2394func (s *UpdateProjectInput) SetContents(v []byte) *UpdateProjectInput {
2395	s.Contents = v
2396	return s
2397}
2398
2399// SetProjectId sets the ProjectId field's value.
2400func (s *UpdateProjectInput) SetProjectId(v string) *UpdateProjectInput {
2401	s.ProjectId = &v
2402	return s
2403}
2404
2405// Result structure used for requests to updated project configuration.
2406type UpdateProjectOutput struct {
2407	_ struct{} `type:"structure"`
2408
2409	// Detailed information about the updated AWS Mobile Hub project.
2410	Details *ProjectDetails `locationName:"details" type:"structure"`
2411}
2412
2413// String returns the string representation
2414func (s UpdateProjectOutput) String() string {
2415	return awsutil.Prettify(s)
2416}
2417
2418// GoString returns the string representation
2419func (s UpdateProjectOutput) GoString() string {
2420	return s.String()
2421}
2422
2423// SetDetails sets the Details field's value.
2424func (s *UpdateProjectOutput) SetDetails(v *ProjectDetails) *UpdateProjectOutput {
2425	s.Details = v
2426	return s
2427}
2428
2429// Developer desktop or target mobile app or website platform.
2430const (
2431	// PlatformOsx is a Platform enum value
2432	PlatformOsx = "OSX"
2433
2434	// PlatformWindows is a Platform enum value
2435	PlatformWindows = "WINDOWS"
2436
2437	// PlatformLinux is a Platform enum value
2438	PlatformLinux = "LINUX"
2439
2440	// PlatformObjc is a Platform enum value
2441	PlatformObjc = "OBJC"
2442
2443	// PlatformSwift is a Platform enum value
2444	PlatformSwift = "SWIFT"
2445
2446	// PlatformAndroid is a Platform enum value
2447	PlatformAndroid = "ANDROID"
2448
2449	// PlatformJavascript is a Platform enum value
2450	PlatformJavascript = "JAVASCRIPT"
2451)
2452
2453// Platform_Values returns all elements of the Platform enum
2454func Platform_Values() []string {
2455	return []string{
2456		PlatformOsx,
2457		PlatformWindows,
2458		PlatformLinux,
2459		PlatformObjc,
2460		PlatformSwift,
2461		PlatformAndroid,
2462		PlatformJavascript,
2463	}
2464}
2465
2466// Synchronization state for a project.
2467const (
2468	// ProjectStateNormal is a ProjectState enum value
2469	ProjectStateNormal = "NORMAL"
2470
2471	// ProjectStateSyncing is a ProjectState enum value
2472	ProjectStateSyncing = "SYNCING"
2473
2474	// ProjectStateImporting is a ProjectState enum value
2475	ProjectStateImporting = "IMPORTING"
2476)
2477
2478// ProjectState_Values returns all elements of the ProjectState enum
2479func ProjectState_Values() []string {
2480	return []string{
2481		ProjectStateNormal,
2482		ProjectStateSyncing,
2483		ProjectStateImporting,
2484	}
2485}
2486