1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package marketplacecatalog
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12)
13
14const opCancelChangeSet = "CancelChangeSet"
15
16// CancelChangeSetRequest generates a "aws/request.Request" representing the
17// client's request for the CancelChangeSet operation. The "output" return
18// value will be populated with the request's response once the request completes
19// successfully.
20//
21// Use "Send" method on the returned Request to send the API call to the service.
22// the "output" return value is not valid until after Send returns without error.
23//
24// See CancelChangeSet for more information on using the CancelChangeSet
25// API call, and error handling.
26//
27// This method is useful when you want to inject custom logic or configuration
28// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29//
30//
31//    // Example sending a request using the CancelChangeSetRequest method.
32//    req, resp := client.CancelChangeSetRequest(params)
33//
34//    err := req.Send()
35//    if err == nil { // resp is now filled
36//        fmt.Println(resp)
37//    }
38//
39// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/CancelChangeSet
40func (c *MarketplaceCatalog) CancelChangeSetRequest(input *CancelChangeSetInput) (req *request.Request, output *CancelChangeSetOutput) {
41	op := &request.Operation{
42		Name:       opCancelChangeSet,
43		HTTPMethod: "PATCH",
44		HTTPPath:   "/CancelChangeSet",
45	}
46
47	if input == nil {
48		input = &CancelChangeSetInput{}
49	}
50
51	output = &CancelChangeSetOutput{}
52	req = c.newRequest(op, input, output)
53	return
54}
55
56// CancelChangeSet API operation for AWS Marketplace Catalog Service.
57//
58// Used to cancel an open change request. Must be sent before the status of
59// the request changes to APPLYING, the final stage of completing your change
60// request. You can describe a change during the 60-day request history retention
61// period for API calls.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS Marketplace Catalog Service's
68// API operation CancelChangeSet for usage and error information.
69//
70// Returned Error Types:
71//   * InternalServiceException
72//   There was an internal service exception.
73//
74//   * AccessDeniedException
75//   Access is denied.
76//
77//   * ValidationException
78//   An error occurred during validation.
79//
80//   * ResourceNotFoundException
81//   The specified resource wasn't found.
82//
83//   * ResourceInUseException
84//   The resource is currently in use.
85//
86//   * ThrottlingException
87//   Too many requests.
88//
89// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/CancelChangeSet
90func (c *MarketplaceCatalog) CancelChangeSet(input *CancelChangeSetInput) (*CancelChangeSetOutput, error) {
91	req, out := c.CancelChangeSetRequest(input)
92	return out, req.Send()
93}
94
95// CancelChangeSetWithContext is the same as CancelChangeSet with the addition of
96// the ability to pass a context and additional request options.
97//
98// See CancelChangeSet for details on how to use this API operation.
99//
100// The context must be non-nil and will be used for request cancellation. If
101// the context is nil a panic will occur. In the future the SDK may create
102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
103// for more information on using Contexts.
104func (c *MarketplaceCatalog) CancelChangeSetWithContext(ctx aws.Context, input *CancelChangeSetInput, opts ...request.Option) (*CancelChangeSetOutput, error) {
105	req, out := c.CancelChangeSetRequest(input)
106	req.SetContext(ctx)
107	req.ApplyOptions(opts...)
108	return out, req.Send()
109}
110
111const opDescribeChangeSet = "DescribeChangeSet"
112
113// DescribeChangeSetRequest generates a "aws/request.Request" representing the
114// client's request for the DescribeChangeSet operation. The "output" return
115// value will be populated with the request's response once the request completes
116// successfully.
117//
118// Use "Send" method on the returned Request to send the API call to the service.
119// the "output" return value is not valid until after Send returns without error.
120//
121// See DescribeChangeSet for more information on using the DescribeChangeSet
122// API call, and error handling.
123//
124// This method is useful when you want to inject custom logic or configuration
125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
126//
127//
128//    // Example sending a request using the DescribeChangeSetRequest method.
129//    req, resp := client.DescribeChangeSetRequest(params)
130//
131//    err := req.Send()
132//    if err == nil { // resp is now filled
133//        fmt.Println(resp)
134//    }
135//
136// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/DescribeChangeSet
137func (c *MarketplaceCatalog) DescribeChangeSetRequest(input *DescribeChangeSetInput) (req *request.Request, output *DescribeChangeSetOutput) {
138	op := &request.Operation{
139		Name:       opDescribeChangeSet,
140		HTTPMethod: "GET",
141		HTTPPath:   "/DescribeChangeSet",
142	}
143
144	if input == nil {
145		input = &DescribeChangeSetInput{}
146	}
147
148	output = &DescribeChangeSetOutput{}
149	req = c.newRequest(op, input, output)
150	return
151}
152
153// DescribeChangeSet API operation for AWS Marketplace Catalog Service.
154//
155// Provides information about a given change set.
156//
157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
158// with awserr.Error's Code and Message methods to get detailed information about
159// the error.
160//
161// See the AWS API reference guide for AWS Marketplace Catalog Service's
162// API operation DescribeChangeSet for usage and error information.
163//
164// Returned Error Types:
165//   * InternalServiceException
166//   There was an internal service exception.
167//
168//   * AccessDeniedException
169//   Access is denied.
170//
171//   * ValidationException
172//   An error occurred during validation.
173//
174//   * ResourceNotFoundException
175//   The specified resource wasn't found.
176//
177//   * ThrottlingException
178//   Too many requests.
179//
180// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/DescribeChangeSet
181func (c *MarketplaceCatalog) DescribeChangeSet(input *DescribeChangeSetInput) (*DescribeChangeSetOutput, error) {
182	req, out := c.DescribeChangeSetRequest(input)
183	return out, req.Send()
184}
185
186// DescribeChangeSetWithContext is the same as DescribeChangeSet with the addition of
187// the ability to pass a context and additional request options.
188//
189// See DescribeChangeSet for details on how to use this API operation.
190//
191// The context must be non-nil and will be used for request cancellation. If
192// the context is nil a panic will occur. In the future the SDK may create
193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
194// for more information on using Contexts.
195func (c *MarketplaceCatalog) DescribeChangeSetWithContext(ctx aws.Context, input *DescribeChangeSetInput, opts ...request.Option) (*DescribeChangeSetOutput, error) {
196	req, out := c.DescribeChangeSetRequest(input)
197	req.SetContext(ctx)
198	req.ApplyOptions(opts...)
199	return out, req.Send()
200}
201
202const opDescribeEntity = "DescribeEntity"
203
204// DescribeEntityRequest generates a "aws/request.Request" representing the
205// client's request for the DescribeEntity operation. The "output" return
206// value will be populated with the request's response once the request completes
207// successfully.
208//
209// Use "Send" method on the returned Request to send the API call to the service.
210// the "output" return value is not valid until after Send returns without error.
211//
212// See DescribeEntity for more information on using the DescribeEntity
213// API call, and error handling.
214//
215// This method is useful when you want to inject custom logic or configuration
216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
217//
218//
219//    // Example sending a request using the DescribeEntityRequest method.
220//    req, resp := client.DescribeEntityRequest(params)
221//
222//    err := req.Send()
223//    if err == nil { // resp is now filled
224//        fmt.Println(resp)
225//    }
226//
227// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/DescribeEntity
228func (c *MarketplaceCatalog) DescribeEntityRequest(input *DescribeEntityInput) (req *request.Request, output *DescribeEntityOutput) {
229	op := &request.Operation{
230		Name:       opDescribeEntity,
231		HTTPMethod: "GET",
232		HTTPPath:   "/DescribeEntity",
233	}
234
235	if input == nil {
236		input = &DescribeEntityInput{}
237	}
238
239	output = &DescribeEntityOutput{}
240	req = c.newRequest(op, input, output)
241	return
242}
243
244// DescribeEntity API operation for AWS Marketplace Catalog Service.
245//
246// Returns the metadata and content of the entity.
247//
248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
249// with awserr.Error's Code and Message methods to get detailed information about
250// the error.
251//
252// See the AWS API reference guide for AWS Marketplace Catalog Service's
253// API operation DescribeEntity for usage and error information.
254//
255// Returned Error Types:
256//   * InternalServiceException
257//   There was an internal service exception.
258//
259//   * AccessDeniedException
260//   Access is denied.
261//
262//   * ValidationException
263//   An error occurred during validation.
264//
265//   * ResourceNotSupportedException
266//   Currently, the specified resource is not supported.
267//
268//   * ResourceNotFoundException
269//   The specified resource wasn't found.
270//
271//   * ThrottlingException
272//   Too many requests.
273//
274// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/DescribeEntity
275func (c *MarketplaceCatalog) DescribeEntity(input *DescribeEntityInput) (*DescribeEntityOutput, error) {
276	req, out := c.DescribeEntityRequest(input)
277	return out, req.Send()
278}
279
280// DescribeEntityWithContext is the same as DescribeEntity with the addition of
281// the ability to pass a context and additional request options.
282//
283// See DescribeEntity for details on how to use this API operation.
284//
285// The context must be non-nil and will be used for request cancellation. If
286// the context is nil a panic will occur. In the future the SDK may create
287// sub-contexts for http.Requests. See https://golang.org/pkg/context/
288// for more information on using Contexts.
289func (c *MarketplaceCatalog) DescribeEntityWithContext(ctx aws.Context, input *DescribeEntityInput, opts ...request.Option) (*DescribeEntityOutput, error) {
290	req, out := c.DescribeEntityRequest(input)
291	req.SetContext(ctx)
292	req.ApplyOptions(opts...)
293	return out, req.Send()
294}
295
296const opListChangeSets = "ListChangeSets"
297
298// ListChangeSetsRequest generates a "aws/request.Request" representing the
299// client's request for the ListChangeSets operation. The "output" return
300// value will be populated with the request's response once the request completes
301// successfully.
302//
303// Use "Send" method on the returned Request to send the API call to the service.
304// the "output" return value is not valid until after Send returns without error.
305//
306// See ListChangeSets for more information on using the ListChangeSets
307// API call, and error handling.
308//
309// This method is useful when you want to inject custom logic or configuration
310// into the SDK's request lifecycle. Such as custom headers, or retry logic.
311//
312//
313//    // Example sending a request using the ListChangeSetsRequest method.
314//    req, resp := client.ListChangeSetsRequest(params)
315//
316//    err := req.Send()
317//    if err == nil { // resp is now filled
318//        fmt.Println(resp)
319//    }
320//
321// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/ListChangeSets
322func (c *MarketplaceCatalog) ListChangeSetsRequest(input *ListChangeSetsInput) (req *request.Request, output *ListChangeSetsOutput) {
323	op := &request.Operation{
324		Name:       opListChangeSets,
325		HTTPMethod: "POST",
326		HTTPPath:   "/ListChangeSets",
327		Paginator: &request.Paginator{
328			InputTokens:     []string{"NextToken"},
329			OutputTokens:    []string{"NextToken"},
330			LimitToken:      "MaxResults",
331			TruncationToken: "",
332		},
333	}
334
335	if input == nil {
336		input = &ListChangeSetsInput{}
337	}
338
339	output = &ListChangeSetsOutput{}
340	req = c.newRequest(op, input, output)
341	return
342}
343
344// ListChangeSets API operation for AWS Marketplace Catalog Service.
345//
346// Returns the list of change sets owned by the account being used to make the
347// call. You can filter this list by providing any combination of entityId,
348// ChangeSetName, and status. If you provide more than one filter, the API operation
349// applies a logical AND between the filters.
350//
351// You can describe a change during the 60-day request history retention period
352// for API calls.
353//
354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
355// with awserr.Error's Code and Message methods to get detailed information about
356// the error.
357//
358// See the AWS API reference guide for AWS Marketplace Catalog Service's
359// API operation ListChangeSets for usage and error information.
360//
361// Returned Error Types:
362//   * InternalServiceException
363//   There was an internal service exception.
364//
365//   * AccessDeniedException
366//   Access is denied.
367//
368//   * ValidationException
369//   An error occurred during validation.
370//
371//   * ThrottlingException
372//   Too many requests.
373//
374// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/ListChangeSets
375func (c *MarketplaceCatalog) ListChangeSets(input *ListChangeSetsInput) (*ListChangeSetsOutput, error) {
376	req, out := c.ListChangeSetsRequest(input)
377	return out, req.Send()
378}
379
380// ListChangeSetsWithContext is the same as ListChangeSets with the addition of
381// the ability to pass a context and additional request options.
382//
383// See ListChangeSets for details on how to use this API operation.
384//
385// The context must be non-nil and will be used for request cancellation. If
386// the context is nil a panic will occur. In the future the SDK may create
387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
388// for more information on using Contexts.
389func (c *MarketplaceCatalog) ListChangeSetsWithContext(ctx aws.Context, input *ListChangeSetsInput, opts ...request.Option) (*ListChangeSetsOutput, error) {
390	req, out := c.ListChangeSetsRequest(input)
391	req.SetContext(ctx)
392	req.ApplyOptions(opts...)
393	return out, req.Send()
394}
395
396// ListChangeSetsPages iterates over the pages of a ListChangeSets operation,
397// calling the "fn" function with the response data for each page. To stop
398// iterating, return false from the fn function.
399//
400// See ListChangeSets method for more information on how to use this operation.
401//
402// Note: This operation can generate multiple requests to a service.
403//
404//    // Example iterating over at most 3 pages of a ListChangeSets operation.
405//    pageNum := 0
406//    err := client.ListChangeSetsPages(params,
407//        func(page *marketplacecatalog.ListChangeSetsOutput, lastPage bool) bool {
408//            pageNum++
409//            fmt.Println(page)
410//            return pageNum <= 3
411//        })
412//
413func (c *MarketplaceCatalog) ListChangeSetsPages(input *ListChangeSetsInput, fn func(*ListChangeSetsOutput, bool) bool) error {
414	return c.ListChangeSetsPagesWithContext(aws.BackgroundContext(), input, fn)
415}
416
417// ListChangeSetsPagesWithContext same as ListChangeSetsPages except
418// it takes a Context and allows setting request options on the pages.
419//
420// The context must be non-nil and will be used for request cancellation. If
421// the context is nil a panic will occur. In the future the SDK may create
422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
423// for more information on using Contexts.
424func (c *MarketplaceCatalog) ListChangeSetsPagesWithContext(ctx aws.Context, input *ListChangeSetsInput, fn func(*ListChangeSetsOutput, bool) bool, opts ...request.Option) error {
425	p := request.Pagination{
426		NewRequest: func() (*request.Request, error) {
427			var inCpy *ListChangeSetsInput
428			if input != nil {
429				tmp := *input
430				inCpy = &tmp
431			}
432			req, _ := c.ListChangeSetsRequest(inCpy)
433			req.SetContext(ctx)
434			req.ApplyOptions(opts...)
435			return req, nil
436		},
437	}
438
439	for p.Next() {
440		if !fn(p.Page().(*ListChangeSetsOutput), !p.HasNextPage()) {
441			break
442		}
443	}
444
445	return p.Err()
446}
447
448const opListEntities = "ListEntities"
449
450// ListEntitiesRequest generates a "aws/request.Request" representing the
451// client's request for the ListEntities operation. The "output" return
452// value will be populated with the request's response once the request completes
453// successfully.
454//
455// Use "Send" method on the returned Request to send the API call to the service.
456// the "output" return value is not valid until after Send returns without error.
457//
458// See ListEntities for more information on using the ListEntities
459// API call, and error handling.
460//
461// This method is useful when you want to inject custom logic or configuration
462// into the SDK's request lifecycle. Such as custom headers, or retry logic.
463//
464//
465//    // Example sending a request using the ListEntitiesRequest method.
466//    req, resp := client.ListEntitiesRequest(params)
467//
468//    err := req.Send()
469//    if err == nil { // resp is now filled
470//        fmt.Println(resp)
471//    }
472//
473// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/ListEntities
474func (c *MarketplaceCatalog) ListEntitiesRequest(input *ListEntitiesInput) (req *request.Request, output *ListEntitiesOutput) {
475	op := &request.Operation{
476		Name:       opListEntities,
477		HTTPMethod: "POST",
478		HTTPPath:   "/ListEntities",
479		Paginator: &request.Paginator{
480			InputTokens:     []string{"NextToken"},
481			OutputTokens:    []string{"NextToken"},
482			LimitToken:      "MaxResults",
483			TruncationToken: "",
484		},
485	}
486
487	if input == nil {
488		input = &ListEntitiesInput{}
489	}
490
491	output = &ListEntitiesOutput{}
492	req = c.newRequest(op, input, output)
493	return
494}
495
496// ListEntities API operation for AWS Marketplace Catalog Service.
497//
498// Provides the list of entities of a given type.
499//
500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
501// with awserr.Error's Code and Message methods to get detailed information about
502// the error.
503//
504// See the AWS API reference guide for AWS Marketplace Catalog Service's
505// API operation ListEntities for usage and error information.
506//
507// Returned Error Types:
508//   * InternalServiceException
509//   There was an internal service exception.
510//
511//   * AccessDeniedException
512//   Access is denied.
513//
514//   * ValidationException
515//   An error occurred during validation.
516//
517//   * ResourceNotFoundException
518//   The specified resource wasn't found.
519//
520//   * ThrottlingException
521//   Too many requests.
522//
523// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/ListEntities
524func (c *MarketplaceCatalog) ListEntities(input *ListEntitiesInput) (*ListEntitiesOutput, error) {
525	req, out := c.ListEntitiesRequest(input)
526	return out, req.Send()
527}
528
529// ListEntitiesWithContext is the same as ListEntities with the addition of
530// the ability to pass a context and additional request options.
531//
532// See ListEntities for details on how to use this API operation.
533//
534// The context must be non-nil and will be used for request cancellation. If
535// the context is nil a panic will occur. In the future the SDK may create
536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
537// for more information on using Contexts.
538func (c *MarketplaceCatalog) ListEntitiesWithContext(ctx aws.Context, input *ListEntitiesInput, opts ...request.Option) (*ListEntitiesOutput, error) {
539	req, out := c.ListEntitiesRequest(input)
540	req.SetContext(ctx)
541	req.ApplyOptions(opts...)
542	return out, req.Send()
543}
544
545// ListEntitiesPages iterates over the pages of a ListEntities operation,
546// calling the "fn" function with the response data for each page. To stop
547// iterating, return false from the fn function.
548//
549// See ListEntities method for more information on how to use this operation.
550//
551// Note: This operation can generate multiple requests to a service.
552//
553//    // Example iterating over at most 3 pages of a ListEntities operation.
554//    pageNum := 0
555//    err := client.ListEntitiesPages(params,
556//        func(page *marketplacecatalog.ListEntitiesOutput, lastPage bool) bool {
557//            pageNum++
558//            fmt.Println(page)
559//            return pageNum <= 3
560//        })
561//
562func (c *MarketplaceCatalog) ListEntitiesPages(input *ListEntitiesInput, fn func(*ListEntitiesOutput, bool) bool) error {
563	return c.ListEntitiesPagesWithContext(aws.BackgroundContext(), input, fn)
564}
565
566// ListEntitiesPagesWithContext same as ListEntitiesPages except
567// it takes a Context and allows setting request options on the pages.
568//
569// The context must be non-nil and will be used for request cancellation. If
570// the context is nil a panic will occur. In the future the SDK may create
571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
572// for more information on using Contexts.
573func (c *MarketplaceCatalog) ListEntitiesPagesWithContext(ctx aws.Context, input *ListEntitiesInput, fn func(*ListEntitiesOutput, bool) bool, opts ...request.Option) error {
574	p := request.Pagination{
575		NewRequest: func() (*request.Request, error) {
576			var inCpy *ListEntitiesInput
577			if input != nil {
578				tmp := *input
579				inCpy = &tmp
580			}
581			req, _ := c.ListEntitiesRequest(inCpy)
582			req.SetContext(ctx)
583			req.ApplyOptions(opts...)
584			return req, nil
585		},
586	}
587
588	for p.Next() {
589		if !fn(p.Page().(*ListEntitiesOutput), !p.HasNextPage()) {
590			break
591		}
592	}
593
594	return p.Err()
595}
596
597const opStartChangeSet = "StartChangeSet"
598
599// StartChangeSetRequest generates a "aws/request.Request" representing the
600// client's request for the StartChangeSet operation. The "output" return
601// value will be populated with the request's response once the request completes
602// successfully.
603//
604// Use "Send" method on the returned Request to send the API call to the service.
605// the "output" return value is not valid until after Send returns without error.
606//
607// See StartChangeSet for more information on using the StartChangeSet
608// API call, and error handling.
609//
610// This method is useful when you want to inject custom logic or configuration
611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
612//
613//
614//    // Example sending a request using the StartChangeSetRequest method.
615//    req, resp := client.StartChangeSetRequest(params)
616//
617//    err := req.Send()
618//    if err == nil { // resp is now filled
619//        fmt.Println(resp)
620//    }
621//
622// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/StartChangeSet
623func (c *MarketplaceCatalog) StartChangeSetRequest(input *StartChangeSetInput) (req *request.Request, output *StartChangeSetOutput) {
624	op := &request.Operation{
625		Name:       opStartChangeSet,
626		HTTPMethod: "POST",
627		HTTPPath:   "/StartChangeSet",
628	}
629
630	if input == nil {
631		input = &StartChangeSetInput{}
632	}
633
634	output = &StartChangeSetOutput{}
635	req = c.newRequest(op, input, output)
636	return
637}
638
639// StartChangeSet API operation for AWS Marketplace Catalog Service.
640//
641// This operation allows you to request changes for your entities. Within a
642// single ChangeSet, you cannot start the same change type against the same
643// entity multiple times. Additionally, when a ChangeSet is running, all the
644// entities targeted by the different changes are locked until the ChangeSet
645// has completed (either succeeded, cancelled, or failed). If you try to start
646// a ChangeSet containing a change against an entity that is already locked,
647// you will receive a ResourceInUseException.
648//
649// For example, you cannot start the ChangeSet described in the example (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_StartChangeSet.html#API_StartChangeSet_Examples)
650// below because it contains two changes to execute the same change type (AddRevisions)
651// against the same entity (entity-id@1).
652//
653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
654// with awserr.Error's Code and Message methods to get detailed information about
655// the error.
656//
657// See the AWS API reference guide for AWS Marketplace Catalog Service's
658// API operation StartChangeSet for usage and error information.
659//
660// Returned Error Types:
661//   * InternalServiceException
662//   There was an internal service exception.
663//
664//   * AccessDeniedException
665//   Access is denied.
666//
667//   * ValidationException
668//   An error occurred during validation.
669//
670//   * ResourceNotFoundException
671//   The specified resource wasn't found.
672//
673//   * ResourceInUseException
674//   The resource is currently in use.
675//
676//   * ThrottlingException
677//   Too many requests.
678//
679//   * ServiceQuotaExceededException
680//   The maximum number of open requests per account has been exceeded.
681//
682// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/StartChangeSet
683func (c *MarketplaceCatalog) StartChangeSet(input *StartChangeSetInput) (*StartChangeSetOutput, error) {
684	req, out := c.StartChangeSetRequest(input)
685	return out, req.Send()
686}
687
688// StartChangeSetWithContext is the same as StartChangeSet with the addition of
689// the ability to pass a context and additional request options.
690//
691// See StartChangeSet for details on how to use this API operation.
692//
693// The context must be non-nil and will be used for request cancellation. If
694// the context is nil a panic will occur. In the future the SDK may create
695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
696// for more information on using Contexts.
697func (c *MarketplaceCatalog) StartChangeSetWithContext(ctx aws.Context, input *StartChangeSetInput, opts ...request.Option) (*StartChangeSetOutput, error) {
698	req, out := c.StartChangeSetRequest(input)
699	req.SetContext(ctx)
700	req.ApplyOptions(opts...)
701	return out, req.Send()
702}
703
704// Access is denied.
705type AccessDeniedException struct {
706	_            struct{}                  `type:"structure"`
707	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
708
709	Message_ *string `locationName:"Message" type:"string"`
710}
711
712// String returns the string representation
713func (s AccessDeniedException) String() string {
714	return awsutil.Prettify(s)
715}
716
717// GoString returns the string representation
718func (s AccessDeniedException) GoString() string {
719	return s.String()
720}
721
722func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
723	return &AccessDeniedException{
724		RespMetadata: v,
725	}
726}
727
728// Code returns the exception type name.
729func (s *AccessDeniedException) Code() string {
730	return "AccessDeniedException"
731}
732
733// Message returns the exception's message.
734func (s *AccessDeniedException) Message() string {
735	if s.Message_ != nil {
736		return *s.Message_
737	}
738	return ""
739}
740
741// OrigErr always returns nil, satisfies awserr.Error interface.
742func (s *AccessDeniedException) OrigErr() error {
743	return nil
744}
745
746func (s *AccessDeniedException) Error() string {
747	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
748}
749
750// Status code returns the HTTP status code for the request's response error.
751func (s *AccessDeniedException) StatusCode() int {
752	return s.RespMetadata.StatusCode
753}
754
755// RequestID returns the service's response RequestID for request.
756func (s *AccessDeniedException) RequestID() string {
757	return s.RespMetadata.RequestID
758}
759
760type CancelChangeSetInput struct {
761	_ struct{} `type:"structure"`
762
763	// Required. The catalog related to the request. Fixed value: AWSMarketplace.
764	//
765	// Catalog is a required field
766	Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"`
767
768	// Required. The unique identifier of the StartChangeSet request that you want
769	// to cancel.
770	//
771	// ChangeSetId is a required field
772	ChangeSetId *string `location:"querystring" locationName:"changeSetId" min:"1" type:"string" required:"true"`
773}
774
775// String returns the string representation
776func (s CancelChangeSetInput) String() string {
777	return awsutil.Prettify(s)
778}
779
780// GoString returns the string representation
781func (s CancelChangeSetInput) GoString() string {
782	return s.String()
783}
784
785// Validate inspects the fields of the type to determine if they are valid.
786func (s *CancelChangeSetInput) Validate() error {
787	invalidParams := request.ErrInvalidParams{Context: "CancelChangeSetInput"}
788	if s.Catalog == nil {
789		invalidParams.Add(request.NewErrParamRequired("Catalog"))
790	}
791	if s.Catalog != nil && len(*s.Catalog) < 1 {
792		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
793	}
794	if s.ChangeSetId == nil {
795		invalidParams.Add(request.NewErrParamRequired("ChangeSetId"))
796	}
797	if s.ChangeSetId != nil && len(*s.ChangeSetId) < 1 {
798		invalidParams.Add(request.NewErrParamMinLen("ChangeSetId", 1))
799	}
800
801	if invalidParams.Len() > 0 {
802		return invalidParams
803	}
804	return nil
805}
806
807// SetCatalog sets the Catalog field's value.
808func (s *CancelChangeSetInput) SetCatalog(v string) *CancelChangeSetInput {
809	s.Catalog = &v
810	return s
811}
812
813// SetChangeSetId sets the ChangeSetId field's value.
814func (s *CancelChangeSetInput) SetChangeSetId(v string) *CancelChangeSetInput {
815	s.ChangeSetId = &v
816	return s
817}
818
819type CancelChangeSetOutput struct {
820	_ struct{} `type:"structure"`
821
822	// The ARN associated with the change set referenced in this request.
823	ChangeSetArn *string `min:"1" type:"string"`
824
825	// The unique identifier for the change set referenced in this request.
826	ChangeSetId *string `min:"1" type:"string"`
827}
828
829// String returns the string representation
830func (s CancelChangeSetOutput) String() string {
831	return awsutil.Prettify(s)
832}
833
834// GoString returns the string representation
835func (s CancelChangeSetOutput) GoString() string {
836	return s.String()
837}
838
839// SetChangeSetArn sets the ChangeSetArn field's value.
840func (s *CancelChangeSetOutput) SetChangeSetArn(v string) *CancelChangeSetOutput {
841	s.ChangeSetArn = &v
842	return s
843}
844
845// SetChangeSetId sets the ChangeSetId field's value.
846func (s *CancelChangeSetOutput) SetChangeSetId(v string) *CancelChangeSetOutput {
847	s.ChangeSetId = &v
848	return s
849}
850
851// An object that contains the ChangeType, Details, and Entity.
852type Change struct {
853	_ struct{} `type:"structure"`
854
855	// Change types are single string values that describe your intention for the
856	// change. Each change type is unique for each EntityType provided in the change's
857	// scope.
858	//
859	// ChangeType is a required field
860	ChangeType *string `min:"1" type:"string" required:"true"`
861
862	// This object contains details specific to the change type of the requested
863	// change.
864	//
865	// Details is a required field
866	Details *string `min:"2" type:"string" required:"true"`
867
868	// The entity to be changed.
869	//
870	// Entity is a required field
871	Entity *Entity `type:"structure" required:"true"`
872}
873
874// String returns the string representation
875func (s Change) String() string {
876	return awsutil.Prettify(s)
877}
878
879// GoString returns the string representation
880func (s Change) GoString() string {
881	return s.String()
882}
883
884// Validate inspects the fields of the type to determine if they are valid.
885func (s *Change) Validate() error {
886	invalidParams := request.ErrInvalidParams{Context: "Change"}
887	if s.ChangeType == nil {
888		invalidParams.Add(request.NewErrParamRequired("ChangeType"))
889	}
890	if s.ChangeType != nil && len(*s.ChangeType) < 1 {
891		invalidParams.Add(request.NewErrParamMinLen("ChangeType", 1))
892	}
893	if s.Details == nil {
894		invalidParams.Add(request.NewErrParamRequired("Details"))
895	}
896	if s.Details != nil && len(*s.Details) < 2 {
897		invalidParams.Add(request.NewErrParamMinLen("Details", 2))
898	}
899	if s.Entity == nil {
900		invalidParams.Add(request.NewErrParamRequired("Entity"))
901	}
902	if s.Entity != nil {
903		if err := s.Entity.Validate(); err != nil {
904			invalidParams.AddNested("Entity", err.(request.ErrInvalidParams))
905		}
906	}
907
908	if invalidParams.Len() > 0 {
909		return invalidParams
910	}
911	return nil
912}
913
914// SetChangeType sets the ChangeType field's value.
915func (s *Change) SetChangeType(v string) *Change {
916	s.ChangeType = &v
917	return s
918}
919
920// SetDetails sets the Details field's value.
921func (s *Change) SetDetails(v string) *Change {
922	s.Details = &v
923	return s
924}
925
926// SetEntity sets the Entity field's value.
927func (s *Change) SetEntity(v *Entity) *Change {
928	s.Entity = v
929	return s
930}
931
932// A summary of a change set returned in a list of change sets when the ListChangeSets
933// action is called.
934type ChangeSetSummaryListItem struct {
935	_ struct{} `type:"structure"`
936
937	// The ARN associated with the unique identifier for the change set referenced
938	// in this request.
939	ChangeSetArn *string `min:"1" type:"string"`
940
941	// The unique identifier for a change set.
942	ChangeSetId *string `min:"1" type:"string"`
943
944	// The non-unique name for the change set.
945	ChangeSetName *string `min:"1" type:"string"`
946
947	// The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set
948	// was finished.
949	EndTime *string `min:"20" type:"string"`
950
951	// This object is a list of entity IDs (string) that are a part of a change
952	// set. The entity ID list is a maximum of 20 entities. It must contain at least
953	// one entity.
954	EntityIdList []*string `type:"list"`
955
956	// The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set
957	// was started.
958	StartTime *string `min:"20" type:"string"`
959
960	// The current status of the change set.
961	Status *string `type:"string" enum:"ChangeStatus"`
962}
963
964// String returns the string representation
965func (s ChangeSetSummaryListItem) String() string {
966	return awsutil.Prettify(s)
967}
968
969// GoString returns the string representation
970func (s ChangeSetSummaryListItem) GoString() string {
971	return s.String()
972}
973
974// SetChangeSetArn sets the ChangeSetArn field's value.
975func (s *ChangeSetSummaryListItem) SetChangeSetArn(v string) *ChangeSetSummaryListItem {
976	s.ChangeSetArn = &v
977	return s
978}
979
980// SetChangeSetId sets the ChangeSetId field's value.
981func (s *ChangeSetSummaryListItem) SetChangeSetId(v string) *ChangeSetSummaryListItem {
982	s.ChangeSetId = &v
983	return s
984}
985
986// SetChangeSetName sets the ChangeSetName field's value.
987func (s *ChangeSetSummaryListItem) SetChangeSetName(v string) *ChangeSetSummaryListItem {
988	s.ChangeSetName = &v
989	return s
990}
991
992// SetEndTime sets the EndTime field's value.
993func (s *ChangeSetSummaryListItem) SetEndTime(v string) *ChangeSetSummaryListItem {
994	s.EndTime = &v
995	return s
996}
997
998// SetEntityIdList sets the EntityIdList field's value.
999func (s *ChangeSetSummaryListItem) SetEntityIdList(v []*string) *ChangeSetSummaryListItem {
1000	s.EntityIdList = v
1001	return s
1002}
1003
1004// SetStartTime sets the StartTime field's value.
1005func (s *ChangeSetSummaryListItem) SetStartTime(v string) *ChangeSetSummaryListItem {
1006	s.StartTime = &v
1007	return s
1008}
1009
1010// SetStatus sets the Status field's value.
1011func (s *ChangeSetSummaryListItem) SetStatus(v string) *ChangeSetSummaryListItem {
1012	s.Status = &v
1013	return s
1014}
1015
1016// This object is a container for common summary information about the change.
1017// The summary doesn't contain the whole change structure.
1018type ChangeSummary struct {
1019	_ struct{} `type:"structure"`
1020
1021	// The type of the change.
1022	ChangeType *string `min:"1" type:"string"`
1023
1024	// This object contains details specific to the change type of the requested
1025	// change.
1026	Details *string `min:"2" type:"string"`
1027
1028	// The entity to be changed.
1029	Entity *Entity `type:"structure"`
1030
1031	// An array of ErrorDetail objects associated with the change.
1032	ErrorDetailList []*ErrorDetail `type:"list"`
1033}
1034
1035// String returns the string representation
1036func (s ChangeSummary) String() string {
1037	return awsutil.Prettify(s)
1038}
1039
1040// GoString returns the string representation
1041func (s ChangeSummary) GoString() string {
1042	return s.String()
1043}
1044
1045// SetChangeType sets the ChangeType field's value.
1046func (s *ChangeSummary) SetChangeType(v string) *ChangeSummary {
1047	s.ChangeType = &v
1048	return s
1049}
1050
1051// SetDetails sets the Details field's value.
1052func (s *ChangeSummary) SetDetails(v string) *ChangeSummary {
1053	s.Details = &v
1054	return s
1055}
1056
1057// SetEntity sets the Entity field's value.
1058func (s *ChangeSummary) SetEntity(v *Entity) *ChangeSummary {
1059	s.Entity = v
1060	return s
1061}
1062
1063// SetErrorDetailList sets the ErrorDetailList field's value.
1064func (s *ChangeSummary) SetErrorDetailList(v []*ErrorDetail) *ChangeSummary {
1065	s.ErrorDetailList = v
1066	return s
1067}
1068
1069type DescribeChangeSetInput struct {
1070	_ struct{} `type:"structure"`
1071
1072	// Required. The catalog related to the request. Fixed value: AWSMarketplace
1073	//
1074	// Catalog is a required field
1075	Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"`
1076
1077	// Required. The unique identifier for the StartChangeSet request that you want
1078	// to describe the details for.
1079	//
1080	// ChangeSetId is a required field
1081	ChangeSetId *string `location:"querystring" locationName:"changeSetId" min:"1" type:"string" required:"true"`
1082}
1083
1084// String returns the string representation
1085func (s DescribeChangeSetInput) String() string {
1086	return awsutil.Prettify(s)
1087}
1088
1089// GoString returns the string representation
1090func (s DescribeChangeSetInput) GoString() string {
1091	return s.String()
1092}
1093
1094// Validate inspects the fields of the type to determine if they are valid.
1095func (s *DescribeChangeSetInput) Validate() error {
1096	invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetInput"}
1097	if s.Catalog == nil {
1098		invalidParams.Add(request.NewErrParamRequired("Catalog"))
1099	}
1100	if s.Catalog != nil && len(*s.Catalog) < 1 {
1101		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
1102	}
1103	if s.ChangeSetId == nil {
1104		invalidParams.Add(request.NewErrParamRequired("ChangeSetId"))
1105	}
1106	if s.ChangeSetId != nil && len(*s.ChangeSetId) < 1 {
1107		invalidParams.Add(request.NewErrParamMinLen("ChangeSetId", 1))
1108	}
1109
1110	if invalidParams.Len() > 0 {
1111		return invalidParams
1112	}
1113	return nil
1114}
1115
1116// SetCatalog sets the Catalog field's value.
1117func (s *DescribeChangeSetInput) SetCatalog(v string) *DescribeChangeSetInput {
1118	s.Catalog = &v
1119	return s
1120}
1121
1122// SetChangeSetId sets the ChangeSetId field's value.
1123func (s *DescribeChangeSetInput) SetChangeSetId(v string) *DescribeChangeSetInput {
1124	s.ChangeSetId = &v
1125	return s
1126}
1127
1128type DescribeChangeSetOutput struct {
1129	_ struct{} `type:"structure"`
1130
1131	// An array of ChangeSummary objects.
1132	ChangeSet []*ChangeSummary `type:"list"`
1133
1134	// The ARN associated with the unique identifier for the change set referenced
1135	// in this request.
1136	ChangeSetArn *string `min:"1" type:"string"`
1137
1138	// Required. The unique identifier for the change set referenced in this request.
1139	ChangeSetId *string `min:"1" type:"string"`
1140
1141	// The optional name provided in the StartChangeSet request. If you do not provide
1142	// a name, one is set by default.
1143	ChangeSetName *string `min:"1" type:"string"`
1144
1145	// The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request
1146	// transitioned to a terminal state. The change cannot transition to a different
1147	// state. Null if the request is not in a terminal state.
1148	EndTime *string `min:"20" type:"string"`
1149
1150	// Returned if there is a failure on the change set, but that failure is not
1151	// related to any of the changes in the request.
1152	FailureDescription *string `type:"string"`
1153
1154	// The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request
1155	// started.
1156	StartTime *string `min:"20" type:"string"`
1157
1158	// The status of the change request.
1159	Status *string `type:"string" enum:"ChangeStatus"`
1160}
1161
1162// String returns the string representation
1163func (s DescribeChangeSetOutput) String() string {
1164	return awsutil.Prettify(s)
1165}
1166
1167// GoString returns the string representation
1168func (s DescribeChangeSetOutput) GoString() string {
1169	return s.String()
1170}
1171
1172// SetChangeSet sets the ChangeSet field's value.
1173func (s *DescribeChangeSetOutput) SetChangeSet(v []*ChangeSummary) *DescribeChangeSetOutput {
1174	s.ChangeSet = v
1175	return s
1176}
1177
1178// SetChangeSetArn sets the ChangeSetArn field's value.
1179func (s *DescribeChangeSetOutput) SetChangeSetArn(v string) *DescribeChangeSetOutput {
1180	s.ChangeSetArn = &v
1181	return s
1182}
1183
1184// SetChangeSetId sets the ChangeSetId field's value.
1185func (s *DescribeChangeSetOutput) SetChangeSetId(v string) *DescribeChangeSetOutput {
1186	s.ChangeSetId = &v
1187	return s
1188}
1189
1190// SetChangeSetName sets the ChangeSetName field's value.
1191func (s *DescribeChangeSetOutput) SetChangeSetName(v string) *DescribeChangeSetOutput {
1192	s.ChangeSetName = &v
1193	return s
1194}
1195
1196// SetEndTime sets the EndTime field's value.
1197func (s *DescribeChangeSetOutput) SetEndTime(v string) *DescribeChangeSetOutput {
1198	s.EndTime = &v
1199	return s
1200}
1201
1202// SetFailureDescription sets the FailureDescription field's value.
1203func (s *DescribeChangeSetOutput) SetFailureDescription(v string) *DescribeChangeSetOutput {
1204	s.FailureDescription = &v
1205	return s
1206}
1207
1208// SetStartTime sets the StartTime field's value.
1209func (s *DescribeChangeSetOutput) SetStartTime(v string) *DescribeChangeSetOutput {
1210	s.StartTime = &v
1211	return s
1212}
1213
1214// SetStatus sets the Status field's value.
1215func (s *DescribeChangeSetOutput) SetStatus(v string) *DescribeChangeSetOutput {
1216	s.Status = &v
1217	return s
1218}
1219
1220type DescribeEntityInput struct {
1221	_ struct{} `type:"structure"`
1222
1223	// Required. The catalog related to the request. Fixed value: AWSMarketplace
1224	//
1225	// Catalog is a required field
1226	Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"`
1227
1228	// Required. The unique ID of the entity to describe.
1229	//
1230	// EntityId is a required field
1231	EntityId *string `location:"querystring" locationName:"entityId" min:"1" type:"string" required:"true"`
1232}
1233
1234// String returns the string representation
1235func (s DescribeEntityInput) String() string {
1236	return awsutil.Prettify(s)
1237}
1238
1239// GoString returns the string representation
1240func (s DescribeEntityInput) GoString() string {
1241	return s.String()
1242}
1243
1244// Validate inspects the fields of the type to determine if they are valid.
1245func (s *DescribeEntityInput) Validate() error {
1246	invalidParams := request.ErrInvalidParams{Context: "DescribeEntityInput"}
1247	if s.Catalog == nil {
1248		invalidParams.Add(request.NewErrParamRequired("Catalog"))
1249	}
1250	if s.Catalog != nil && len(*s.Catalog) < 1 {
1251		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
1252	}
1253	if s.EntityId == nil {
1254		invalidParams.Add(request.NewErrParamRequired("EntityId"))
1255	}
1256	if s.EntityId != nil && len(*s.EntityId) < 1 {
1257		invalidParams.Add(request.NewErrParamMinLen("EntityId", 1))
1258	}
1259
1260	if invalidParams.Len() > 0 {
1261		return invalidParams
1262	}
1263	return nil
1264}
1265
1266// SetCatalog sets the Catalog field's value.
1267func (s *DescribeEntityInput) SetCatalog(v string) *DescribeEntityInput {
1268	s.Catalog = &v
1269	return s
1270}
1271
1272// SetEntityId sets the EntityId field's value.
1273func (s *DescribeEntityInput) SetEntityId(v string) *DescribeEntityInput {
1274	s.EntityId = &v
1275	return s
1276}
1277
1278type DescribeEntityOutput struct {
1279	_ struct{} `type:"structure"`
1280
1281	// This stringified JSON object includes the details of the entity.
1282	Details *string `min:"2" type:"string"`
1283
1284	// The ARN associated to the unique identifier for the change set referenced
1285	// in this request.
1286	EntityArn *string `min:"1" type:"string"`
1287
1288	// The identifier of the entity, in the format of EntityId@RevisionId.
1289	EntityIdentifier *string `min:"1" type:"string"`
1290
1291	// The named type of the entity, in the format of EntityType@Version.
1292	EntityType *string `min:"1" type:"string"`
1293
1294	// The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z).
1295	LastModifiedDate *string `type:"string"`
1296}
1297
1298// String returns the string representation
1299func (s DescribeEntityOutput) String() string {
1300	return awsutil.Prettify(s)
1301}
1302
1303// GoString returns the string representation
1304func (s DescribeEntityOutput) GoString() string {
1305	return s.String()
1306}
1307
1308// SetDetails sets the Details field's value.
1309func (s *DescribeEntityOutput) SetDetails(v string) *DescribeEntityOutput {
1310	s.Details = &v
1311	return s
1312}
1313
1314// SetEntityArn sets the EntityArn field's value.
1315func (s *DescribeEntityOutput) SetEntityArn(v string) *DescribeEntityOutput {
1316	s.EntityArn = &v
1317	return s
1318}
1319
1320// SetEntityIdentifier sets the EntityIdentifier field's value.
1321func (s *DescribeEntityOutput) SetEntityIdentifier(v string) *DescribeEntityOutput {
1322	s.EntityIdentifier = &v
1323	return s
1324}
1325
1326// SetEntityType sets the EntityType field's value.
1327func (s *DescribeEntityOutput) SetEntityType(v string) *DescribeEntityOutput {
1328	s.EntityType = &v
1329	return s
1330}
1331
1332// SetLastModifiedDate sets the LastModifiedDate field's value.
1333func (s *DescribeEntityOutput) SetLastModifiedDate(v string) *DescribeEntityOutput {
1334	s.LastModifiedDate = &v
1335	return s
1336}
1337
1338// A product entity contains data that describes your product, its supported
1339// features, and how it can be used or launched by your customer.
1340type Entity struct {
1341	_ struct{} `type:"structure"`
1342
1343	// The identifier for the entity.
1344	Identifier *string `min:"1" type:"string"`
1345
1346	// The type of entity.
1347	//
1348	// Type is a required field
1349	Type *string `min:"1" type:"string" required:"true"`
1350}
1351
1352// String returns the string representation
1353func (s Entity) String() string {
1354	return awsutil.Prettify(s)
1355}
1356
1357// GoString returns the string representation
1358func (s Entity) GoString() string {
1359	return s.String()
1360}
1361
1362// Validate inspects the fields of the type to determine if they are valid.
1363func (s *Entity) Validate() error {
1364	invalidParams := request.ErrInvalidParams{Context: "Entity"}
1365	if s.Identifier != nil && len(*s.Identifier) < 1 {
1366		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
1367	}
1368	if s.Type == nil {
1369		invalidParams.Add(request.NewErrParamRequired("Type"))
1370	}
1371	if s.Type != nil && len(*s.Type) < 1 {
1372		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
1373	}
1374
1375	if invalidParams.Len() > 0 {
1376		return invalidParams
1377	}
1378	return nil
1379}
1380
1381// SetIdentifier sets the Identifier field's value.
1382func (s *Entity) SetIdentifier(v string) *Entity {
1383	s.Identifier = &v
1384	return s
1385}
1386
1387// SetType sets the Type field's value.
1388func (s *Entity) SetType(v string) *Entity {
1389	s.Type = &v
1390	return s
1391}
1392
1393// This object is a container for common summary information about the entity.
1394// The summary doesn't contain the whole entity structure, but it does contain
1395// information common across all entities.
1396type EntitySummary struct {
1397	_ struct{} `type:"structure"`
1398
1399	// The ARN associated with the unique identifier for the entity.
1400	EntityArn *string `min:"1" type:"string"`
1401
1402	// The unique identifier for the entity.
1403	EntityId *string `min:"1" type:"string"`
1404
1405	// The type of the entity.
1406	EntityType *string `min:"1" type:"string"`
1407
1408	// The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).
1409	LastModifiedDate *string `type:"string"`
1410
1411	// The name for the entity. This value is not unique. It is defined by the seller.
1412	Name *string `type:"string"`
1413
1414	// The visibility status of the entity to buyers. This value can be Public (everyone
1415	// can view the entity), Limited (the entity is visible to limited accounts
1416	// only), or Restricted (the entity was published and then unpublished and only
1417	// existing buyers can view it).
1418	Visibility *string `type:"string"`
1419}
1420
1421// String returns the string representation
1422func (s EntitySummary) String() string {
1423	return awsutil.Prettify(s)
1424}
1425
1426// GoString returns the string representation
1427func (s EntitySummary) GoString() string {
1428	return s.String()
1429}
1430
1431// SetEntityArn sets the EntityArn field's value.
1432func (s *EntitySummary) SetEntityArn(v string) *EntitySummary {
1433	s.EntityArn = &v
1434	return s
1435}
1436
1437// SetEntityId sets the EntityId field's value.
1438func (s *EntitySummary) SetEntityId(v string) *EntitySummary {
1439	s.EntityId = &v
1440	return s
1441}
1442
1443// SetEntityType sets the EntityType field's value.
1444func (s *EntitySummary) SetEntityType(v string) *EntitySummary {
1445	s.EntityType = &v
1446	return s
1447}
1448
1449// SetLastModifiedDate sets the LastModifiedDate field's value.
1450func (s *EntitySummary) SetLastModifiedDate(v string) *EntitySummary {
1451	s.LastModifiedDate = &v
1452	return s
1453}
1454
1455// SetName sets the Name field's value.
1456func (s *EntitySummary) SetName(v string) *EntitySummary {
1457	s.Name = &v
1458	return s
1459}
1460
1461// SetVisibility sets the Visibility field's value.
1462func (s *EntitySummary) SetVisibility(v string) *EntitySummary {
1463	s.Visibility = &v
1464	return s
1465}
1466
1467// Details about the error.
1468type ErrorDetail struct {
1469	_ struct{} `type:"structure"`
1470
1471	// The error code that identifies the type of error.
1472	ErrorCode *string `type:"string"`
1473
1474	// The message for the error.
1475	ErrorMessage *string `type:"string"`
1476}
1477
1478// String returns the string representation
1479func (s ErrorDetail) String() string {
1480	return awsutil.Prettify(s)
1481}
1482
1483// GoString returns the string representation
1484func (s ErrorDetail) GoString() string {
1485	return s.String()
1486}
1487
1488// SetErrorCode sets the ErrorCode field's value.
1489func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail {
1490	s.ErrorCode = &v
1491	return s
1492}
1493
1494// SetErrorMessage sets the ErrorMessage field's value.
1495func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail {
1496	s.ErrorMessage = &v
1497	return s
1498}
1499
1500// A filter object, used to optionally filter results from calls to the ListEntities
1501// and ListChangeSets actions.
1502type Filter struct {
1503	_ struct{} `type:"structure"`
1504
1505	// For ListEntities, the supported value for this is an EntityId.
1506	//
1507	// For ListChangeSets, the supported values are as follows:
1508	Name *string `min:"1" type:"string"`
1509
1510	// ListEntities - This is a list of unique EntityIds.
1511	//
1512	// ListChangeSets - The supported filter names and associated ValueLists is
1513	// as follows:
1514	//
1515	//    * ChangeSetName - The supported ValueList is a list of non-unique ChangeSetNames.
1516	//    These are defined when you call the StartChangeSet action.
1517	//
1518	//    * Status - The supported ValueList is a list of statuses for all change
1519	//    set requests.
1520	//
1521	//    * EntityId - The supported ValueList is a list of unique EntityIds.
1522	//
1523	//    * BeforeStartTime - The supported ValueList is a list of all change sets
1524	//    that started before the filter value.
1525	//
1526	//    * AfterStartTime - The supported ValueList is a list of all change sets
1527	//    that started after the filter value.
1528	//
1529	//    * BeforeEndTime - The supported ValueList is a list of all change sets
1530	//    that ended before the filter value.
1531	//
1532	//    * AfterEndTime - The supported ValueList is a list of all change sets
1533	//    that ended after the filter value.
1534	ValueList []*string `min:"1" type:"list"`
1535}
1536
1537// String returns the string representation
1538func (s Filter) String() string {
1539	return awsutil.Prettify(s)
1540}
1541
1542// GoString returns the string representation
1543func (s Filter) GoString() string {
1544	return s.String()
1545}
1546
1547// Validate inspects the fields of the type to determine if they are valid.
1548func (s *Filter) Validate() error {
1549	invalidParams := request.ErrInvalidParams{Context: "Filter"}
1550	if s.Name != nil && len(*s.Name) < 1 {
1551		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1552	}
1553	if s.ValueList != nil && len(s.ValueList) < 1 {
1554		invalidParams.Add(request.NewErrParamMinLen("ValueList", 1))
1555	}
1556
1557	if invalidParams.Len() > 0 {
1558		return invalidParams
1559	}
1560	return nil
1561}
1562
1563// SetName sets the Name field's value.
1564func (s *Filter) SetName(v string) *Filter {
1565	s.Name = &v
1566	return s
1567}
1568
1569// SetValueList sets the ValueList field's value.
1570func (s *Filter) SetValueList(v []*string) *Filter {
1571	s.ValueList = v
1572	return s
1573}
1574
1575// There was an internal service exception.
1576type InternalServiceException struct {
1577	_            struct{}                  `type:"structure"`
1578	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1579
1580	Message_ *string `locationName:"Message" type:"string"`
1581}
1582
1583// String returns the string representation
1584func (s InternalServiceException) String() string {
1585	return awsutil.Prettify(s)
1586}
1587
1588// GoString returns the string representation
1589func (s InternalServiceException) GoString() string {
1590	return s.String()
1591}
1592
1593func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
1594	return &InternalServiceException{
1595		RespMetadata: v,
1596	}
1597}
1598
1599// Code returns the exception type name.
1600func (s *InternalServiceException) Code() string {
1601	return "InternalServiceException"
1602}
1603
1604// Message returns the exception's message.
1605func (s *InternalServiceException) Message() string {
1606	if s.Message_ != nil {
1607		return *s.Message_
1608	}
1609	return ""
1610}
1611
1612// OrigErr always returns nil, satisfies awserr.Error interface.
1613func (s *InternalServiceException) OrigErr() error {
1614	return nil
1615}
1616
1617func (s *InternalServiceException) Error() string {
1618	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1619}
1620
1621// Status code returns the HTTP status code for the request's response error.
1622func (s *InternalServiceException) StatusCode() int {
1623	return s.RespMetadata.StatusCode
1624}
1625
1626// RequestID returns the service's response RequestID for request.
1627func (s *InternalServiceException) RequestID() string {
1628	return s.RespMetadata.RequestID
1629}
1630
1631type ListChangeSetsInput struct {
1632	_ struct{} `type:"structure"`
1633
1634	// The catalog related to the request. Fixed value: AWSMarketplace
1635	//
1636	// Catalog is a required field
1637	Catalog *string `min:"1" type:"string" required:"true"`
1638
1639	// An array of filter objects.
1640	FilterList []*Filter `min:"1" type:"list"`
1641
1642	// The maximum number of results returned by a single call. This value must
1643	// be provided in the next call to retrieve the next set of results. By default,
1644	// this value is 20.
1645	MaxResults *int64 `min:"1" type:"integer"`
1646
1647	// The token value retrieved from a previous call to access the next page of
1648	// results.
1649	NextToken *string `min:"1" type:"string"`
1650
1651	// An object that contains two attributes, SortBy and SortOrder.
1652	Sort *Sort `type:"structure"`
1653}
1654
1655// String returns the string representation
1656func (s ListChangeSetsInput) String() string {
1657	return awsutil.Prettify(s)
1658}
1659
1660// GoString returns the string representation
1661func (s ListChangeSetsInput) GoString() string {
1662	return s.String()
1663}
1664
1665// Validate inspects the fields of the type to determine if they are valid.
1666func (s *ListChangeSetsInput) Validate() error {
1667	invalidParams := request.ErrInvalidParams{Context: "ListChangeSetsInput"}
1668	if s.Catalog == nil {
1669		invalidParams.Add(request.NewErrParamRequired("Catalog"))
1670	}
1671	if s.Catalog != nil && len(*s.Catalog) < 1 {
1672		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
1673	}
1674	if s.FilterList != nil && len(s.FilterList) < 1 {
1675		invalidParams.Add(request.NewErrParamMinLen("FilterList", 1))
1676	}
1677	if s.MaxResults != nil && *s.MaxResults < 1 {
1678		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
1679	}
1680	if s.NextToken != nil && len(*s.NextToken) < 1 {
1681		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
1682	}
1683	if s.FilterList != nil {
1684		for i, v := range s.FilterList {
1685			if v == nil {
1686				continue
1687			}
1688			if err := v.Validate(); err != nil {
1689				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterList", i), err.(request.ErrInvalidParams))
1690			}
1691		}
1692	}
1693	if s.Sort != nil {
1694		if err := s.Sort.Validate(); err != nil {
1695			invalidParams.AddNested("Sort", err.(request.ErrInvalidParams))
1696		}
1697	}
1698
1699	if invalidParams.Len() > 0 {
1700		return invalidParams
1701	}
1702	return nil
1703}
1704
1705// SetCatalog sets the Catalog field's value.
1706func (s *ListChangeSetsInput) SetCatalog(v string) *ListChangeSetsInput {
1707	s.Catalog = &v
1708	return s
1709}
1710
1711// SetFilterList sets the FilterList field's value.
1712func (s *ListChangeSetsInput) SetFilterList(v []*Filter) *ListChangeSetsInput {
1713	s.FilterList = v
1714	return s
1715}
1716
1717// SetMaxResults sets the MaxResults field's value.
1718func (s *ListChangeSetsInput) SetMaxResults(v int64) *ListChangeSetsInput {
1719	s.MaxResults = &v
1720	return s
1721}
1722
1723// SetNextToken sets the NextToken field's value.
1724func (s *ListChangeSetsInput) SetNextToken(v string) *ListChangeSetsInput {
1725	s.NextToken = &v
1726	return s
1727}
1728
1729// SetSort sets the Sort field's value.
1730func (s *ListChangeSetsInput) SetSort(v *Sort) *ListChangeSetsInput {
1731	s.Sort = v
1732	return s
1733}
1734
1735type ListChangeSetsOutput struct {
1736	_ struct{} `type:"structure"`
1737
1738	// Array of ChangeSetSummaryListItem objects.
1739	ChangeSetSummaryList []*ChangeSetSummaryListItem `type:"list"`
1740
1741	// The value of the next token, if it exists. Null if there are no more results.
1742	NextToken *string `min:"1" type:"string"`
1743}
1744
1745// String returns the string representation
1746func (s ListChangeSetsOutput) String() string {
1747	return awsutil.Prettify(s)
1748}
1749
1750// GoString returns the string representation
1751func (s ListChangeSetsOutput) GoString() string {
1752	return s.String()
1753}
1754
1755// SetChangeSetSummaryList sets the ChangeSetSummaryList field's value.
1756func (s *ListChangeSetsOutput) SetChangeSetSummaryList(v []*ChangeSetSummaryListItem) *ListChangeSetsOutput {
1757	s.ChangeSetSummaryList = v
1758	return s
1759}
1760
1761// SetNextToken sets the NextToken field's value.
1762func (s *ListChangeSetsOutput) SetNextToken(v string) *ListChangeSetsOutput {
1763	s.NextToken = &v
1764	return s
1765}
1766
1767type ListEntitiesInput struct {
1768	_ struct{} `type:"structure"`
1769
1770	// The catalog related to the request. Fixed value: AWSMarketplace
1771	//
1772	// Catalog is a required field
1773	Catalog *string `min:"1" type:"string" required:"true"`
1774
1775	// The type of entities to retrieve.
1776	//
1777	// EntityType is a required field
1778	EntityType *string `min:"1" type:"string" required:"true"`
1779
1780	// An array of filter objects. Each filter object contains two attributes, filterName
1781	// and filterValues.
1782	FilterList []*Filter `min:"1" type:"list"`
1783
1784	// Specifies the upper limit of the elements on a single page. If a value isn't
1785	// provided, the default value is 20.
1786	MaxResults *int64 `min:"1" type:"integer"`
1787
1788	// The value of the next token, if it exists. Null if there are no more results.
1789	NextToken *string `min:"1" type:"string"`
1790
1791	// An object that contains two attributes, SortBy and SortOrder.
1792	Sort *Sort `type:"structure"`
1793}
1794
1795// String returns the string representation
1796func (s ListEntitiesInput) String() string {
1797	return awsutil.Prettify(s)
1798}
1799
1800// GoString returns the string representation
1801func (s ListEntitiesInput) GoString() string {
1802	return s.String()
1803}
1804
1805// Validate inspects the fields of the type to determine if they are valid.
1806func (s *ListEntitiesInput) Validate() error {
1807	invalidParams := request.ErrInvalidParams{Context: "ListEntitiesInput"}
1808	if s.Catalog == nil {
1809		invalidParams.Add(request.NewErrParamRequired("Catalog"))
1810	}
1811	if s.Catalog != nil && len(*s.Catalog) < 1 {
1812		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
1813	}
1814	if s.EntityType == nil {
1815		invalidParams.Add(request.NewErrParamRequired("EntityType"))
1816	}
1817	if s.EntityType != nil && len(*s.EntityType) < 1 {
1818		invalidParams.Add(request.NewErrParamMinLen("EntityType", 1))
1819	}
1820	if s.FilterList != nil && len(s.FilterList) < 1 {
1821		invalidParams.Add(request.NewErrParamMinLen("FilterList", 1))
1822	}
1823	if s.MaxResults != nil && *s.MaxResults < 1 {
1824		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
1825	}
1826	if s.NextToken != nil && len(*s.NextToken) < 1 {
1827		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
1828	}
1829	if s.FilterList != nil {
1830		for i, v := range s.FilterList {
1831			if v == nil {
1832				continue
1833			}
1834			if err := v.Validate(); err != nil {
1835				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterList", i), err.(request.ErrInvalidParams))
1836			}
1837		}
1838	}
1839	if s.Sort != nil {
1840		if err := s.Sort.Validate(); err != nil {
1841			invalidParams.AddNested("Sort", err.(request.ErrInvalidParams))
1842		}
1843	}
1844
1845	if invalidParams.Len() > 0 {
1846		return invalidParams
1847	}
1848	return nil
1849}
1850
1851// SetCatalog sets the Catalog field's value.
1852func (s *ListEntitiesInput) SetCatalog(v string) *ListEntitiesInput {
1853	s.Catalog = &v
1854	return s
1855}
1856
1857// SetEntityType sets the EntityType field's value.
1858func (s *ListEntitiesInput) SetEntityType(v string) *ListEntitiesInput {
1859	s.EntityType = &v
1860	return s
1861}
1862
1863// SetFilterList sets the FilterList field's value.
1864func (s *ListEntitiesInput) SetFilterList(v []*Filter) *ListEntitiesInput {
1865	s.FilterList = v
1866	return s
1867}
1868
1869// SetMaxResults sets the MaxResults field's value.
1870func (s *ListEntitiesInput) SetMaxResults(v int64) *ListEntitiesInput {
1871	s.MaxResults = &v
1872	return s
1873}
1874
1875// SetNextToken sets the NextToken field's value.
1876func (s *ListEntitiesInput) SetNextToken(v string) *ListEntitiesInput {
1877	s.NextToken = &v
1878	return s
1879}
1880
1881// SetSort sets the Sort field's value.
1882func (s *ListEntitiesInput) SetSort(v *Sort) *ListEntitiesInput {
1883	s.Sort = v
1884	return s
1885}
1886
1887type ListEntitiesOutput struct {
1888	_ struct{} `type:"structure"`
1889
1890	// Array of EntitySummary object.
1891	EntitySummaryList []*EntitySummary `type:"list"`
1892
1893	// The value of the next token if it exists. Null if there is no more result.
1894	NextToken *string `min:"1" type:"string"`
1895}
1896
1897// String returns the string representation
1898func (s ListEntitiesOutput) String() string {
1899	return awsutil.Prettify(s)
1900}
1901
1902// GoString returns the string representation
1903func (s ListEntitiesOutput) GoString() string {
1904	return s.String()
1905}
1906
1907// SetEntitySummaryList sets the EntitySummaryList field's value.
1908func (s *ListEntitiesOutput) SetEntitySummaryList(v []*EntitySummary) *ListEntitiesOutput {
1909	s.EntitySummaryList = v
1910	return s
1911}
1912
1913// SetNextToken sets the NextToken field's value.
1914func (s *ListEntitiesOutput) SetNextToken(v string) *ListEntitiesOutput {
1915	s.NextToken = &v
1916	return s
1917}
1918
1919// The resource is currently in use.
1920type ResourceInUseException struct {
1921	_            struct{}                  `type:"structure"`
1922	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1923
1924	Message_ *string `locationName:"Message" type:"string"`
1925}
1926
1927// String returns the string representation
1928func (s ResourceInUseException) String() string {
1929	return awsutil.Prettify(s)
1930}
1931
1932// GoString returns the string representation
1933func (s ResourceInUseException) GoString() string {
1934	return s.String()
1935}
1936
1937func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
1938	return &ResourceInUseException{
1939		RespMetadata: v,
1940	}
1941}
1942
1943// Code returns the exception type name.
1944func (s *ResourceInUseException) Code() string {
1945	return "ResourceInUseException"
1946}
1947
1948// Message returns the exception's message.
1949func (s *ResourceInUseException) Message() string {
1950	if s.Message_ != nil {
1951		return *s.Message_
1952	}
1953	return ""
1954}
1955
1956// OrigErr always returns nil, satisfies awserr.Error interface.
1957func (s *ResourceInUseException) OrigErr() error {
1958	return nil
1959}
1960
1961func (s *ResourceInUseException) Error() string {
1962	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1963}
1964
1965// Status code returns the HTTP status code for the request's response error.
1966func (s *ResourceInUseException) StatusCode() int {
1967	return s.RespMetadata.StatusCode
1968}
1969
1970// RequestID returns the service's response RequestID for request.
1971func (s *ResourceInUseException) RequestID() string {
1972	return s.RespMetadata.RequestID
1973}
1974
1975// The specified resource wasn't found.
1976type ResourceNotFoundException struct {
1977	_            struct{}                  `type:"structure"`
1978	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1979
1980	Message_ *string `locationName:"Message" type:"string"`
1981}
1982
1983// String returns the string representation
1984func (s ResourceNotFoundException) String() string {
1985	return awsutil.Prettify(s)
1986}
1987
1988// GoString returns the string representation
1989func (s ResourceNotFoundException) GoString() string {
1990	return s.String()
1991}
1992
1993func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
1994	return &ResourceNotFoundException{
1995		RespMetadata: v,
1996	}
1997}
1998
1999// Code returns the exception type name.
2000func (s *ResourceNotFoundException) Code() string {
2001	return "ResourceNotFoundException"
2002}
2003
2004// Message returns the exception's message.
2005func (s *ResourceNotFoundException) Message() string {
2006	if s.Message_ != nil {
2007		return *s.Message_
2008	}
2009	return ""
2010}
2011
2012// OrigErr always returns nil, satisfies awserr.Error interface.
2013func (s *ResourceNotFoundException) OrigErr() error {
2014	return nil
2015}
2016
2017func (s *ResourceNotFoundException) Error() string {
2018	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2019}
2020
2021// Status code returns the HTTP status code for the request's response error.
2022func (s *ResourceNotFoundException) StatusCode() int {
2023	return s.RespMetadata.StatusCode
2024}
2025
2026// RequestID returns the service's response RequestID for request.
2027func (s *ResourceNotFoundException) RequestID() string {
2028	return s.RespMetadata.RequestID
2029}
2030
2031// Currently, the specified resource is not supported.
2032type ResourceNotSupportedException struct {
2033	_            struct{}                  `type:"structure"`
2034	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2035
2036	Message_ *string `locationName:"Message" type:"string"`
2037}
2038
2039// String returns the string representation
2040func (s ResourceNotSupportedException) String() string {
2041	return awsutil.Prettify(s)
2042}
2043
2044// GoString returns the string representation
2045func (s ResourceNotSupportedException) GoString() string {
2046	return s.String()
2047}
2048
2049func newErrorResourceNotSupportedException(v protocol.ResponseMetadata) error {
2050	return &ResourceNotSupportedException{
2051		RespMetadata: v,
2052	}
2053}
2054
2055// Code returns the exception type name.
2056func (s *ResourceNotSupportedException) Code() string {
2057	return "ResourceNotSupportedException"
2058}
2059
2060// Message returns the exception's message.
2061func (s *ResourceNotSupportedException) Message() string {
2062	if s.Message_ != nil {
2063		return *s.Message_
2064	}
2065	return ""
2066}
2067
2068// OrigErr always returns nil, satisfies awserr.Error interface.
2069func (s *ResourceNotSupportedException) OrigErr() error {
2070	return nil
2071}
2072
2073func (s *ResourceNotSupportedException) Error() string {
2074	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2075}
2076
2077// Status code returns the HTTP status code for the request's response error.
2078func (s *ResourceNotSupportedException) StatusCode() int {
2079	return s.RespMetadata.StatusCode
2080}
2081
2082// RequestID returns the service's response RequestID for request.
2083func (s *ResourceNotSupportedException) RequestID() string {
2084	return s.RespMetadata.RequestID
2085}
2086
2087// The maximum number of open requests per account has been exceeded.
2088type ServiceQuotaExceededException struct {
2089	_            struct{}                  `type:"structure"`
2090	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2091
2092	Message_ *string `locationName:"Message" type:"string"`
2093}
2094
2095// String returns the string representation
2096func (s ServiceQuotaExceededException) String() string {
2097	return awsutil.Prettify(s)
2098}
2099
2100// GoString returns the string representation
2101func (s ServiceQuotaExceededException) GoString() string {
2102	return s.String()
2103}
2104
2105func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
2106	return &ServiceQuotaExceededException{
2107		RespMetadata: v,
2108	}
2109}
2110
2111// Code returns the exception type name.
2112func (s *ServiceQuotaExceededException) Code() string {
2113	return "ServiceQuotaExceededException"
2114}
2115
2116// Message returns the exception's message.
2117func (s *ServiceQuotaExceededException) Message() string {
2118	if s.Message_ != nil {
2119		return *s.Message_
2120	}
2121	return ""
2122}
2123
2124// OrigErr always returns nil, satisfies awserr.Error interface.
2125func (s *ServiceQuotaExceededException) OrigErr() error {
2126	return nil
2127}
2128
2129func (s *ServiceQuotaExceededException) Error() string {
2130	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2131}
2132
2133// Status code returns the HTTP status code for the request's response error.
2134func (s *ServiceQuotaExceededException) StatusCode() int {
2135	return s.RespMetadata.StatusCode
2136}
2137
2138// RequestID returns the service's response RequestID for request.
2139func (s *ServiceQuotaExceededException) RequestID() string {
2140	return s.RespMetadata.RequestID
2141}
2142
2143// An object that contains two attributes, SortBy and SortOrder.
2144type Sort struct {
2145	_ struct{} `type:"structure"`
2146
2147	// For ListEntities, supported attributes include LastModifiedDate (default),
2148	// Visibility, EntityId, and Name.
2149	//
2150	// For ListChangeSets, supported attributes include StartTime and EndTime.
2151	SortBy *string `min:"1" type:"string"`
2152
2153	// The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING.
2154	SortOrder *string `type:"string" enum:"SortOrder"`
2155}
2156
2157// String returns the string representation
2158func (s Sort) String() string {
2159	return awsutil.Prettify(s)
2160}
2161
2162// GoString returns the string representation
2163func (s Sort) GoString() string {
2164	return s.String()
2165}
2166
2167// Validate inspects the fields of the type to determine if they are valid.
2168func (s *Sort) Validate() error {
2169	invalidParams := request.ErrInvalidParams{Context: "Sort"}
2170	if s.SortBy != nil && len(*s.SortBy) < 1 {
2171		invalidParams.Add(request.NewErrParamMinLen("SortBy", 1))
2172	}
2173
2174	if invalidParams.Len() > 0 {
2175		return invalidParams
2176	}
2177	return nil
2178}
2179
2180// SetSortBy sets the SortBy field's value.
2181func (s *Sort) SetSortBy(v string) *Sort {
2182	s.SortBy = &v
2183	return s
2184}
2185
2186// SetSortOrder sets the SortOrder field's value.
2187func (s *Sort) SetSortOrder(v string) *Sort {
2188	s.SortOrder = &v
2189	return s
2190}
2191
2192type StartChangeSetInput struct {
2193	_ struct{} `type:"structure"`
2194
2195	// The catalog related to the request. Fixed value: AWSMarketplace
2196	//
2197	// Catalog is a required field
2198	Catalog *string `min:"1" type:"string" required:"true"`
2199
2200	// Array of change object.
2201	//
2202	// ChangeSet is a required field
2203	ChangeSet []*Change `min:"1" type:"list" required:"true"`
2204
2205	// Optional case sensitive string of up to 100 ASCII characters. The change
2206	// set name can be used to filter the list of change sets.
2207	ChangeSetName *string `min:"1" type:"string"`
2208
2209	// A unique token to identify the request to ensure idempotency.
2210	ClientRequestToken *string `min:"1" type:"string"`
2211}
2212
2213// String returns the string representation
2214func (s StartChangeSetInput) String() string {
2215	return awsutil.Prettify(s)
2216}
2217
2218// GoString returns the string representation
2219func (s StartChangeSetInput) GoString() string {
2220	return s.String()
2221}
2222
2223// Validate inspects the fields of the type to determine if they are valid.
2224func (s *StartChangeSetInput) Validate() error {
2225	invalidParams := request.ErrInvalidParams{Context: "StartChangeSetInput"}
2226	if s.Catalog == nil {
2227		invalidParams.Add(request.NewErrParamRequired("Catalog"))
2228	}
2229	if s.Catalog != nil && len(*s.Catalog) < 1 {
2230		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
2231	}
2232	if s.ChangeSet == nil {
2233		invalidParams.Add(request.NewErrParamRequired("ChangeSet"))
2234	}
2235	if s.ChangeSet != nil && len(s.ChangeSet) < 1 {
2236		invalidParams.Add(request.NewErrParamMinLen("ChangeSet", 1))
2237	}
2238	if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
2239		invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
2240	}
2241	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
2242		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
2243	}
2244	if s.ChangeSet != nil {
2245		for i, v := range s.ChangeSet {
2246			if v == nil {
2247				continue
2248			}
2249			if err := v.Validate(); err != nil {
2250				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChangeSet", i), err.(request.ErrInvalidParams))
2251			}
2252		}
2253	}
2254
2255	if invalidParams.Len() > 0 {
2256		return invalidParams
2257	}
2258	return nil
2259}
2260
2261// SetCatalog sets the Catalog field's value.
2262func (s *StartChangeSetInput) SetCatalog(v string) *StartChangeSetInput {
2263	s.Catalog = &v
2264	return s
2265}
2266
2267// SetChangeSet sets the ChangeSet field's value.
2268func (s *StartChangeSetInput) SetChangeSet(v []*Change) *StartChangeSetInput {
2269	s.ChangeSet = v
2270	return s
2271}
2272
2273// SetChangeSetName sets the ChangeSetName field's value.
2274func (s *StartChangeSetInput) SetChangeSetName(v string) *StartChangeSetInput {
2275	s.ChangeSetName = &v
2276	return s
2277}
2278
2279// SetClientRequestToken sets the ClientRequestToken field's value.
2280func (s *StartChangeSetInput) SetClientRequestToken(v string) *StartChangeSetInput {
2281	s.ClientRequestToken = &v
2282	return s
2283}
2284
2285type StartChangeSetOutput struct {
2286	_ struct{} `type:"structure"`
2287
2288	// The ARN associated to the unique identifier generated for the request.
2289	ChangeSetArn *string `min:"1" type:"string"`
2290
2291	// Unique identifier generated for the request.
2292	ChangeSetId *string `min:"1" type:"string"`
2293}
2294
2295// String returns the string representation
2296func (s StartChangeSetOutput) String() string {
2297	return awsutil.Prettify(s)
2298}
2299
2300// GoString returns the string representation
2301func (s StartChangeSetOutput) GoString() string {
2302	return s.String()
2303}
2304
2305// SetChangeSetArn sets the ChangeSetArn field's value.
2306func (s *StartChangeSetOutput) SetChangeSetArn(v string) *StartChangeSetOutput {
2307	s.ChangeSetArn = &v
2308	return s
2309}
2310
2311// SetChangeSetId sets the ChangeSetId field's value.
2312func (s *StartChangeSetOutput) SetChangeSetId(v string) *StartChangeSetOutput {
2313	s.ChangeSetId = &v
2314	return s
2315}
2316
2317// Too many requests.
2318type ThrottlingException struct {
2319	_            struct{}                  `type:"structure"`
2320	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2321
2322	Message_ *string `locationName:"Message" type:"string"`
2323}
2324
2325// String returns the string representation
2326func (s ThrottlingException) String() string {
2327	return awsutil.Prettify(s)
2328}
2329
2330// GoString returns the string representation
2331func (s ThrottlingException) GoString() string {
2332	return s.String()
2333}
2334
2335func newErrorThrottlingException(v protocol.ResponseMetadata) error {
2336	return &ThrottlingException{
2337		RespMetadata: v,
2338	}
2339}
2340
2341// Code returns the exception type name.
2342func (s *ThrottlingException) Code() string {
2343	return "ThrottlingException"
2344}
2345
2346// Message returns the exception's message.
2347func (s *ThrottlingException) Message() string {
2348	if s.Message_ != nil {
2349		return *s.Message_
2350	}
2351	return ""
2352}
2353
2354// OrigErr always returns nil, satisfies awserr.Error interface.
2355func (s *ThrottlingException) OrigErr() error {
2356	return nil
2357}
2358
2359func (s *ThrottlingException) Error() string {
2360	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2361}
2362
2363// Status code returns the HTTP status code for the request's response error.
2364func (s *ThrottlingException) StatusCode() int {
2365	return s.RespMetadata.StatusCode
2366}
2367
2368// RequestID returns the service's response RequestID for request.
2369func (s *ThrottlingException) RequestID() string {
2370	return s.RespMetadata.RequestID
2371}
2372
2373// An error occurred during validation.
2374type ValidationException struct {
2375	_            struct{}                  `type:"structure"`
2376	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2377
2378	Message_ *string `locationName:"Message" type:"string"`
2379}
2380
2381// String returns the string representation
2382func (s ValidationException) String() string {
2383	return awsutil.Prettify(s)
2384}
2385
2386// GoString returns the string representation
2387func (s ValidationException) GoString() string {
2388	return s.String()
2389}
2390
2391func newErrorValidationException(v protocol.ResponseMetadata) error {
2392	return &ValidationException{
2393		RespMetadata: v,
2394	}
2395}
2396
2397// Code returns the exception type name.
2398func (s *ValidationException) Code() string {
2399	return "ValidationException"
2400}
2401
2402// Message returns the exception's message.
2403func (s *ValidationException) Message() string {
2404	if s.Message_ != nil {
2405		return *s.Message_
2406	}
2407	return ""
2408}
2409
2410// OrigErr always returns nil, satisfies awserr.Error interface.
2411func (s *ValidationException) OrigErr() error {
2412	return nil
2413}
2414
2415func (s *ValidationException) Error() string {
2416	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2417}
2418
2419// Status code returns the HTTP status code for the request's response error.
2420func (s *ValidationException) StatusCode() int {
2421	return s.RespMetadata.StatusCode
2422}
2423
2424// RequestID returns the service's response RequestID for request.
2425func (s *ValidationException) RequestID() string {
2426	return s.RespMetadata.RequestID
2427}
2428
2429const (
2430	// ChangeStatusPreparing is a ChangeStatus enum value
2431	ChangeStatusPreparing = "PREPARING"
2432
2433	// ChangeStatusApplying is a ChangeStatus enum value
2434	ChangeStatusApplying = "APPLYING"
2435
2436	// ChangeStatusSucceeded is a ChangeStatus enum value
2437	ChangeStatusSucceeded = "SUCCEEDED"
2438
2439	// ChangeStatusCancelled is a ChangeStatus enum value
2440	ChangeStatusCancelled = "CANCELLED"
2441
2442	// ChangeStatusFailed is a ChangeStatus enum value
2443	ChangeStatusFailed = "FAILED"
2444)
2445
2446const (
2447	// SortOrderAscending is a SortOrder enum value
2448	SortOrderAscending = "ASCENDING"
2449
2450	// SortOrderDescending is a SortOrder enum value
2451	SortOrderDescending = "DESCENDING"
2452)
2453