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// later in this topic, because it contains two changes to execute the same
651// change type (AddRevisions) against the same entity (entity-id@1).
652//
653// For more information about working with change sets, see Working with change
654// sets (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets).
655//
656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
657// with awserr.Error's Code and Message methods to get detailed information about
658// the error.
659//
660// See the AWS API reference guide for AWS Marketplace Catalog Service's
661// API operation StartChangeSet for usage and error information.
662//
663// Returned Error Types:
664//   * InternalServiceException
665//   There was an internal service exception.
666//
667//   * AccessDeniedException
668//   Access is denied.
669//
670//   * ValidationException
671//   An error occurred during validation.
672//
673//   * ResourceNotFoundException
674//   The specified resource wasn't found.
675//
676//   * ResourceInUseException
677//   The resource is currently in use.
678//
679//   * ThrottlingException
680//   Too many requests.
681//
682//   * ServiceQuotaExceededException
683//   The maximum number of open requests per account has been exceeded.
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-catalog-2018-09-17/StartChangeSet
686func (c *MarketplaceCatalog) StartChangeSet(input *StartChangeSetInput) (*StartChangeSetOutput, error) {
687	req, out := c.StartChangeSetRequest(input)
688	return out, req.Send()
689}
690
691// StartChangeSetWithContext is the same as StartChangeSet with the addition of
692// the ability to pass a context and additional request options.
693//
694// See StartChangeSet for details on how to use this API operation.
695//
696// The context must be non-nil and will be used for request cancellation. If
697// the context is nil a panic will occur. In the future the SDK may create
698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
699// for more information on using Contexts.
700func (c *MarketplaceCatalog) StartChangeSetWithContext(ctx aws.Context, input *StartChangeSetInput, opts ...request.Option) (*StartChangeSetOutput, error) {
701	req, out := c.StartChangeSetRequest(input)
702	req.SetContext(ctx)
703	req.ApplyOptions(opts...)
704	return out, req.Send()
705}
706
707// Access is denied.
708type AccessDeniedException struct {
709	_            struct{}                  `type:"structure"`
710	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
711
712	Message_ *string `locationName:"Message" min:"1" type:"string"`
713}
714
715// String returns the string representation
716func (s AccessDeniedException) String() string {
717	return awsutil.Prettify(s)
718}
719
720// GoString returns the string representation
721func (s AccessDeniedException) GoString() string {
722	return s.String()
723}
724
725func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
726	return &AccessDeniedException{
727		RespMetadata: v,
728	}
729}
730
731// Code returns the exception type name.
732func (s *AccessDeniedException) Code() string {
733	return "AccessDeniedException"
734}
735
736// Message returns the exception's message.
737func (s *AccessDeniedException) Message() string {
738	if s.Message_ != nil {
739		return *s.Message_
740	}
741	return ""
742}
743
744// OrigErr always returns nil, satisfies awserr.Error interface.
745func (s *AccessDeniedException) OrigErr() error {
746	return nil
747}
748
749func (s *AccessDeniedException) Error() string {
750	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
751}
752
753// Status code returns the HTTP status code for the request's response error.
754func (s *AccessDeniedException) StatusCode() int {
755	return s.RespMetadata.StatusCode
756}
757
758// RequestID returns the service's response RequestID for request.
759func (s *AccessDeniedException) RequestID() string {
760	return s.RespMetadata.RequestID
761}
762
763type CancelChangeSetInput struct {
764	_ struct{} `type:"structure"`
765
766	// Required. The catalog related to the request. Fixed value: AWSMarketplace.
767	//
768	// Catalog is a required field
769	Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"`
770
771	// Required. The unique identifier of the StartChangeSet request that you want
772	// to cancel.
773	//
774	// ChangeSetId is a required field
775	ChangeSetId *string `location:"querystring" locationName:"changeSetId" min:"1" type:"string" required:"true"`
776}
777
778// String returns the string representation
779func (s CancelChangeSetInput) String() string {
780	return awsutil.Prettify(s)
781}
782
783// GoString returns the string representation
784func (s CancelChangeSetInput) GoString() string {
785	return s.String()
786}
787
788// Validate inspects the fields of the type to determine if they are valid.
789func (s *CancelChangeSetInput) Validate() error {
790	invalidParams := request.ErrInvalidParams{Context: "CancelChangeSetInput"}
791	if s.Catalog == nil {
792		invalidParams.Add(request.NewErrParamRequired("Catalog"))
793	}
794	if s.Catalog != nil && len(*s.Catalog) < 1 {
795		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
796	}
797	if s.ChangeSetId == nil {
798		invalidParams.Add(request.NewErrParamRequired("ChangeSetId"))
799	}
800	if s.ChangeSetId != nil && len(*s.ChangeSetId) < 1 {
801		invalidParams.Add(request.NewErrParamMinLen("ChangeSetId", 1))
802	}
803
804	if invalidParams.Len() > 0 {
805		return invalidParams
806	}
807	return nil
808}
809
810// SetCatalog sets the Catalog field's value.
811func (s *CancelChangeSetInput) SetCatalog(v string) *CancelChangeSetInput {
812	s.Catalog = &v
813	return s
814}
815
816// SetChangeSetId sets the ChangeSetId field's value.
817func (s *CancelChangeSetInput) SetChangeSetId(v string) *CancelChangeSetInput {
818	s.ChangeSetId = &v
819	return s
820}
821
822type CancelChangeSetOutput struct {
823	_ struct{} `type:"structure"`
824
825	// The ARN associated with the change set referenced in this request.
826	ChangeSetArn *string `min:"1" type:"string"`
827
828	// The unique identifier for the change set referenced in this request.
829	ChangeSetId *string `min:"1" type:"string"`
830}
831
832// String returns the string representation
833func (s CancelChangeSetOutput) String() string {
834	return awsutil.Prettify(s)
835}
836
837// GoString returns the string representation
838func (s CancelChangeSetOutput) GoString() string {
839	return s.String()
840}
841
842// SetChangeSetArn sets the ChangeSetArn field's value.
843func (s *CancelChangeSetOutput) SetChangeSetArn(v string) *CancelChangeSetOutput {
844	s.ChangeSetArn = &v
845	return s
846}
847
848// SetChangeSetId sets the ChangeSetId field's value.
849func (s *CancelChangeSetOutput) SetChangeSetId(v string) *CancelChangeSetOutput {
850	s.ChangeSetId = &v
851	return s
852}
853
854// An object that contains the ChangeType, Details, and Entity.
855type Change struct {
856	_ struct{} `type:"structure"`
857
858	// Optional name for the change.
859	ChangeName *string `min:"1" type:"string"`
860
861	// Change types are single string values that describe your intention for the
862	// change. Each change type is unique for each EntityType provided in the change's
863	// scope.
864	//
865	// ChangeType is a required field
866	ChangeType *string `min:"1" type:"string" required:"true"`
867
868	// This object contains details specific to the change type of the requested
869	// change.
870	//
871	// Details is a required field
872	Details *string `min:"2" type:"string" required:"true"`
873
874	// The entity to be changed.
875	//
876	// Entity is a required field
877	Entity *Entity `type:"structure" required:"true"`
878}
879
880// String returns the string representation
881func (s Change) String() string {
882	return awsutil.Prettify(s)
883}
884
885// GoString returns the string representation
886func (s Change) GoString() string {
887	return s.String()
888}
889
890// Validate inspects the fields of the type to determine if they are valid.
891func (s *Change) Validate() error {
892	invalidParams := request.ErrInvalidParams{Context: "Change"}
893	if s.ChangeName != nil && len(*s.ChangeName) < 1 {
894		invalidParams.Add(request.NewErrParamMinLen("ChangeName", 1))
895	}
896	if s.ChangeType == nil {
897		invalidParams.Add(request.NewErrParamRequired("ChangeType"))
898	}
899	if s.ChangeType != nil && len(*s.ChangeType) < 1 {
900		invalidParams.Add(request.NewErrParamMinLen("ChangeType", 1))
901	}
902	if s.Details == nil {
903		invalidParams.Add(request.NewErrParamRequired("Details"))
904	}
905	if s.Details != nil && len(*s.Details) < 2 {
906		invalidParams.Add(request.NewErrParamMinLen("Details", 2))
907	}
908	if s.Entity == nil {
909		invalidParams.Add(request.NewErrParamRequired("Entity"))
910	}
911	if s.Entity != nil {
912		if err := s.Entity.Validate(); err != nil {
913			invalidParams.AddNested("Entity", err.(request.ErrInvalidParams))
914		}
915	}
916
917	if invalidParams.Len() > 0 {
918		return invalidParams
919	}
920	return nil
921}
922
923// SetChangeName sets the ChangeName field's value.
924func (s *Change) SetChangeName(v string) *Change {
925	s.ChangeName = &v
926	return s
927}
928
929// SetChangeType sets the ChangeType field's value.
930func (s *Change) SetChangeType(v string) *Change {
931	s.ChangeType = &v
932	return s
933}
934
935// SetDetails sets the Details field's value.
936func (s *Change) SetDetails(v string) *Change {
937	s.Details = &v
938	return s
939}
940
941// SetEntity sets the Entity field's value.
942func (s *Change) SetEntity(v *Entity) *Change {
943	s.Entity = v
944	return s
945}
946
947// A summary of a change set returned in a list of change sets when the ListChangeSets
948// action is called.
949type ChangeSetSummaryListItem struct {
950	_ struct{} `type:"structure"`
951
952	// The ARN associated with the unique identifier for the change set referenced
953	// in this request.
954	ChangeSetArn *string `min:"1" type:"string"`
955
956	// The unique identifier for a change set.
957	ChangeSetId *string `min:"1" type:"string"`
958
959	// The non-unique name for the change set.
960	ChangeSetName *string `min:"1" type:"string"`
961
962	// The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set
963	// was finished.
964	EndTime *string `min:"20" type:"string"`
965
966	// This object is a list of entity IDs (string) that are a part of a change
967	// set. The entity ID list is a maximum of 20 entities. It must contain at least
968	// one entity.
969	EntityIdList []*string `type:"list"`
970
971	// Returned if the change set is in FAILED status. Can be either CLIENT_ERROR,
972	// which means that there are issues with the request (see the ErrorDetailList
973	// of DescribeChangeSet), or SERVER_FAULT, which means that there is a problem
974	// in the system, and you should retry your request.
975	FailureCode *string `type:"string" enum:"FailureCode"`
976
977	// The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set
978	// was started.
979	StartTime *string `min:"20" type:"string"`
980
981	// The current status of the change set.
982	Status *string `type:"string" enum:"ChangeStatus"`
983}
984
985// String returns the string representation
986func (s ChangeSetSummaryListItem) String() string {
987	return awsutil.Prettify(s)
988}
989
990// GoString returns the string representation
991func (s ChangeSetSummaryListItem) GoString() string {
992	return s.String()
993}
994
995// SetChangeSetArn sets the ChangeSetArn field's value.
996func (s *ChangeSetSummaryListItem) SetChangeSetArn(v string) *ChangeSetSummaryListItem {
997	s.ChangeSetArn = &v
998	return s
999}
1000
1001// SetChangeSetId sets the ChangeSetId field's value.
1002func (s *ChangeSetSummaryListItem) SetChangeSetId(v string) *ChangeSetSummaryListItem {
1003	s.ChangeSetId = &v
1004	return s
1005}
1006
1007// SetChangeSetName sets the ChangeSetName field's value.
1008func (s *ChangeSetSummaryListItem) SetChangeSetName(v string) *ChangeSetSummaryListItem {
1009	s.ChangeSetName = &v
1010	return s
1011}
1012
1013// SetEndTime sets the EndTime field's value.
1014func (s *ChangeSetSummaryListItem) SetEndTime(v string) *ChangeSetSummaryListItem {
1015	s.EndTime = &v
1016	return s
1017}
1018
1019// SetEntityIdList sets the EntityIdList field's value.
1020func (s *ChangeSetSummaryListItem) SetEntityIdList(v []*string) *ChangeSetSummaryListItem {
1021	s.EntityIdList = v
1022	return s
1023}
1024
1025// SetFailureCode sets the FailureCode field's value.
1026func (s *ChangeSetSummaryListItem) SetFailureCode(v string) *ChangeSetSummaryListItem {
1027	s.FailureCode = &v
1028	return s
1029}
1030
1031// SetStartTime sets the StartTime field's value.
1032func (s *ChangeSetSummaryListItem) SetStartTime(v string) *ChangeSetSummaryListItem {
1033	s.StartTime = &v
1034	return s
1035}
1036
1037// SetStatus sets the Status field's value.
1038func (s *ChangeSetSummaryListItem) SetStatus(v string) *ChangeSetSummaryListItem {
1039	s.Status = &v
1040	return s
1041}
1042
1043// This object is a container for common summary information about the change.
1044// The summary doesn't contain the whole change structure.
1045type ChangeSummary struct {
1046	_ struct{} `type:"structure"`
1047
1048	// Optional name for the change.
1049	ChangeName *string `min:"1" type:"string"`
1050
1051	// The type of the change.
1052	ChangeType *string `min:"1" type:"string"`
1053
1054	// This object contains details specific to the change type of the requested
1055	// change.
1056	Details *string `min:"2" type:"string"`
1057
1058	// The entity to be changed.
1059	Entity *Entity `type:"structure"`
1060
1061	// An array of ErrorDetail objects associated with the change.
1062	ErrorDetailList []*ErrorDetail `type:"list"`
1063}
1064
1065// String returns the string representation
1066func (s ChangeSummary) String() string {
1067	return awsutil.Prettify(s)
1068}
1069
1070// GoString returns the string representation
1071func (s ChangeSummary) GoString() string {
1072	return s.String()
1073}
1074
1075// SetChangeName sets the ChangeName field's value.
1076func (s *ChangeSummary) SetChangeName(v string) *ChangeSummary {
1077	s.ChangeName = &v
1078	return s
1079}
1080
1081// SetChangeType sets the ChangeType field's value.
1082func (s *ChangeSummary) SetChangeType(v string) *ChangeSummary {
1083	s.ChangeType = &v
1084	return s
1085}
1086
1087// SetDetails sets the Details field's value.
1088func (s *ChangeSummary) SetDetails(v string) *ChangeSummary {
1089	s.Details = &v
1090	return s
1091}
1092
1093// SetEntity sets the Entity field's value.
1094func (s *ChangeSummary) SetEntity(v *Entity) *ChangeSummary {
1095	s.Entity = v
1096	return s
1097}
1098
1099// SetErrorDetailList sets the ErrorDetailList field's value.
1100func (s *ChangeSummary) SetErrorDetailList(v []*ErrorDetail) *ChangeSummary {
1101	s.ErrorDetailList = v
1102	return s
1103}
1104
1105type DescribeChangeSetInput struct {
1106	_ struct{} `type:"structure"`
1107
1108	// Required. The catalog related to the request. Fixed value: AWSMarketplace
1109	//
1110	// Catalog is a required field
1111	Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"`
1112
1113	// Required. The unique identifier for the StartChangeSet request that you want
1114	// to describe the details for.
1115	//
1116	// ChangeSetId is a required field
1117	ChangeSetId *string `location:"querystring" locationName:"changeSetId" min:"1" type:"string" required:"true"`
1118}
1119
1120// String returns the string representation
1121func (s DescribeChangeSetInput) String() string {
1122	return awsutil.Prettify(s)
1123}
1124
1125// GoString returns the string representation
1126func (s DescribeChangeSetInput) GoString() string {
1127	return s.String()
1128}
1129
1130// Validate inspects the fields of the type to determine if they are valid.
1131func (s *DescribeChangeSetInput) Validate() error {
1132	invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetInput"}
1133	if s.Catalog == nil {
1134		invalidParams.Add(request.NewErrParamRequired("Catalog"))
1135	}
1136	if s.Catalog != nil && len(*s.Catalog) < 1 {
1137		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
1138	}
1139	if s.ChangeSetId == nil {
1140		invalidParams.Add(request.NewErrParamRequired("ChangeSetId"))
1141	}
1142	if s.ChangeSetId != nil && len(*s.ChangeSetId) < 1 {
1143		invalidParams.Add(request.NewErrParamMinLen("ChangeSetId", 1))
1144	}
1145
1146	if invalidParams.Len() > 0 {
1147		return invalidParams
1148	}
1149	return nil
1150}
1151
1152// SetCatalog sets the Catalog field's value.
1153func (s *DescribeChangeSetInput) SetCatalog(v string) *DescribeChangeSetInput {
1154	s.Catalog = &v
1155	return s
1156}
1157
1158// SetChangeSetId sets the ChangeSetId field's value.
1159func (s *DescribeChangeSetInput) SetChangeSetId(v string) *DescribeChangeSetInput {
1160	s.ChangeSetId = &v
1161	return s
1162}
1163
1164type DescribeChangeSetOutput struct {
1165	_ struct{} `type:"structure"`
1166
1167	// An array of ChangeSummary objects.
1168	ChangeSet []*ChangeSummary `type:"list"`
1169
1170	// The ARN associated with the unique identifier for the change set referenced
1171	// in this request.
1172	ChangeSetArn *string `min:"1" type:"string"`
1173
1174	// Required. The unique identifier for the change set referenced in this request.
1175	ChangeSetId *string `min:"1" type:"string"`
1176
1177	// The optional name provided in the StartChangeSet request. If you do not provide
1178	// a name, one is set by default.
1179	ChangeSetName *string `min:"1" type:"string"`
1180
1181	// The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request
1182	// transitioned to a terminal state. The change cannot transition to a different
1183	// state. Null if the request is not in a terminal state.
1184	EndTime *string `min:"20" type:"string"`
1185
1186	// Returned if the change set is in FAILED status. Can be either CLIENT_ERROR,
1187	// which means that there are issues with the request (see the ErrorDetailList),
1188	// or SERVER_FAULT, which means that there is a problem in the system, and you
1189	// should retry your request.
1190	FailureCode *string `type:"string" enum:"FailureCode"`
1191
1192	// Returned if there is a failure on the change set, but that failure is not
1193	// related to any of the changes in the request.
1194	FailureDescription *string `min:"1" type:"string"`
1195
1196	// The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request
1197	// started.
1198	StartTime *string `min:"20" type:"string"`
1199
1200	// The status of the change request.
1201	Status *string `type:"string" enum:"ChangeStatus"`
1202}
1203
1204// String returns the string representation
1205func (s DescribeChangeSetOutput) String() string {
1206	return awsutil.Prettify(s)
1207}
1208
1209// GoString returns the string representation
1210func (s DescribeChangeSetOutput) GoString() string {
1211	return s.String()
1212}
1213
1214// SetChangeSet sets the ChangeSet field's value.
1215func (s *DescribeChangeSetOutput) SetChangeSet(v []*ChangeSummary) *DescribeChangeSetOutput {
1216	s.ChangeSet = v
1217	return s
1218}
1219
1220// SetChangeSetArn sets the ChangeSetArn field's value.
1221func (s *DescribeChangeSetOutput) SetChangeSetArn(v string) *DescribeChangeSetOutput {
1222	s.ChangeSetArn = &v
1223	return s
1224}
1225
1226// SetChangeSetId sets the ChangeSetId field's value.
1227func (s *DescribeChangeSetOutput) SetChangeSetId(v string) *DescribeChangeSetOutput {
1228	s.ChangeSetId = &v
1229	return s
1230}
1231
1232// SetChangeSetName sets the ChangeSetName field's value.
1233func (s *DescribeChangeSetOutput) SetChangeSetName(v string) *DescribeChangeSetOutput {
1234	s.ChangeSetName = &v
1235	return s
1236}
1237
1238// SetEndTime sets the EndTime field's value.
1239func (s *DescribeChangeSetOutput) SetEndTime(v string) *DescribeChangeSetOutput {
1240	s.EndTime = &v
1241	return s
1242}
1243
1244// SetFailureCode sets the FailureCode field's value.
1245func (s *DescribeChangeSetOutput) SetFailureCode(v string) *DescribeChangeSetOutput {
1246	s.FailureCode = &v
1247	return s
1248}
1249
1250// SetFailureDescription sets the FailureDescription field's value.
1251func (s *DescribeChangeSetOutput) SetFailureDescription(v string) *DescribeChangeSetOutput {
1252	s.FailureDescription = &v
1253	return s
1254}
1255
1256// SetStartTime sets the StartTime field's value.
1257func (s *DescribeChangeSetOutput) SetStartTime(v string) *DescribeChangeSetOutput {
1258	s.StartTime = &v
1259	return s
1260}
1261
1262// SetStatus sets the Status field's value.
1263func (s *DescribeChangeSetOutput) SetStatus(v string) *DescribeChangeSetOutput {
1264	s.Status = &v
1265	return s
1266}
1267
1268type DescribeEntityInput struct {
1269	_ struct{} `type:"structure"`
1270
1271	// Required. The catalog related to the request. Fixed value: AWSMarketplace
1272	//
1273	// Catalog is a required field
1274	Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"`
1275
1276	// Required. The unique ID of the entity to describe.
1277	//
1278	// EntityId is a required field
1279	EntityId *string `location:"querystring" locationName:"entityId" min:"1" type:"string" required:"true"`
1280}
1281
1282// String returns the string representation
1283func (s DescribeEntityInput) String() string {
1284	return awsutil.Prettify(s)
1285}
1286
1287// GoString returns the string representation
1288func (s DescribeEntityInput) GoString() string {
1289	return s.String()
1290}
1291
1292// Validate inspects the fields of the type to determine if they are valid.
1293func (s *DescribeEntityInput) Validate() error {
1294	invalidParams := request.ErrInvalidParams{Context: "DescribeEntityInput"}
1295	if s.Catalog == nil {
1296		invalidParams.Add(request.NewErrParamRequired("Catalog"))
1297	}
1298	if s.Catalog != nil && len(*s.Catalog) < 1 {
1299		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
1300	}
1301	if s.EntityId == nil {
1302		invalidParams.Add(request.NewErrParamRequired("EntityId"))
1303	}
1304	if s.EntityId != nil && len(*s.EntityId) < 1 {
1305		invalidParams.Add(request.NewErrParamMinLen("EntityId", 1))
1306	}
1307
1308	if invalidParams.Len() > 0 {
1309		return invalidParams
1310	}
1311	return nil
1312}
1313
1314// SetCatalog sets the Catalog field's value.
1315func (s *DescribeEntityInput) SetCatalog(v string) *DescribeEntityInput {
1316	s.Catalog = &v
1317	return s
1318}
1319
1320// SetEntityId sets the EntityId field's value.
1321func (s *DescribeEntityInput) SetEntityId(v string) *DescribeEntityInput {
1322	s.EntityId = &v
1323	return s
1324}
1325
1326type DescribeEntityOutput struct {
1327	_ struct{} `type:"structure"`
1328
1329	// This stringified JSON object includes the details of the entity.
1330	Details *string `min:"2" type:"string"`
1331
1332	// The ARN associated to the unique identifier for the change set referenced
1333	// in this request.
1334	EntityArn *string `min:"1" type:"string"`
1335
1336	// The identifier of the entity, in the format of EntityId@RevisionId.
1337	EntityIdentifier *string `min:"1" type:"string"`
1338
1339	// The named type of the entity, in the format of EntityType@Version.
1340	EntityType *string `min:"1" type:"string"`
1341
1342	// The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z).
1343	LastModifiedDate *string `min:"20" type:"string"`
1344}
1345
1346// String returns the string representation
1347func (s DescribeEntityOutput) String() string {
1348	return awsutil.Prettify(s)
1349}
1350
1351// GoString returns the string representation
1352func (s DescribeEntityOutput) GoString() string {
1353	return s.String()
1354}
1355
1356// SetDetails sets the Details field's value.
1357func (s *DescribeEntityOutput) SetDetails(v string) *DescribeEntityOutput {
1358	s.Details = &v
1359	return s
1360}
1361
1362// SetEntityArn sets the EntityArn field's value.
1363func (s *DescribeEntityOutput) SetEntityArn(v string) *DescribeEntityOutput {
1364	s.EntityArn = &v
1365	return s
1366}
1367
1368// SetEntityIdentifier sets the EntityIdentifier field's value.
1369func (s *DescribeEntityOutput) SetEntityIdentifier(v string) *DescribeEntityOutput {
1370	s.EntityIdentifier = &v
1371	return s
1372}
1373
1374// SetEntityType sets the EntityType field's value.
1375func (s *DescribeEntityOutput) SetEntityType(v string) *DescribeEntityOutput {
1376	s.EntityType = &v
1377	return s
1378}
1379
1380// SetLastModifiedDate sets the LastModifiedDate field's value.
1381func (s *DescribeEntityOutput) SetLastModifiedDate(v string) *DescribeEntityOutput {
1382	s.LastModifiedDate = &v
1383	return s
1384}
1385
1386// An entity contains data that describes your product, its supported features,
1387// and how it can be used or launched by your customer.
1388type Entity struct {
1389	_ struct{} `type:"structure"`
1390
1391	// The identifier for the entity.
1392	Identifier *string `min:"1" type:"string"`
1393
1394	// The type of entity.
1395	//
1396	// Type is a required field
1397	Type *string `min:"1" type:"string" required:"true"`
1398}
1399
1400// String returns the string representation
1401func (s Entity) String() string {
1402	return awsutil.Prettify(s)
1403}
1404
1405// GoString returns the string representation
1406func (s Entity) GoString() string {
1407	return s.String()
1408}
1409
1410// Validate inspects the fields of the type to determine if they are valid.
1411func (s *Entity) Validate() error {
1412	invalidParams := request.ErrInvalidParams{Context: "Entity"}
1413	if s.Identifier != nil && len(*s.Identifier) < 1 {
1414		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
1415	}
1416	if s.Type == nil {
1417		invalidParams.Add(request.NewErrParamRequired("Type"))
1418	}
1419	if s.Type != nil && len(*s.Type) < 1 {
1420		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
1421	}
1422
1423	if invalidParams.Len() > 0 {
1424		return invalidParams
1425	}
1426	return nil
1427}
1428
1429// SetIdentifier sets the Identifier field's value.
1430func (s *Entity) SetIdentifier(v string) *Entity {
1431	s.Identifier = &v
1432	return s
1433}
1434
1435// SetType sets the Type field's value.
1436func (s *Entity) SetType(v string) *Entity {
1437	s.Type = &v
1438	return s
1439}
1440
1441// This object is a container for common summary information about the entity.
1442// The summary doesn't contain the whole entity structure, but it does contain
1443// information common across all entities.
1444type EntitySummary struct {
1445	_ struct{} `type:"structure"`
1446
1447	// The ARN associated with the unique identifier for the entity.
1448	EntityArn *string `min:"1" type:"string"`
1449
1450	// The unique identifier for the entity.
1451	EntityId *string `min:"1" type:"string"`
1452
1453	// The type of the entity.
1454	EntityType *string `min:"1" type:"string"`
1455
1456	// The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).
1457	LastModifiedDate *string `min:"20" type:"string"`
1458
1459	// The name for the entity. This value is not unique. It is defined by the seller.
1460	Name *string `min:"1" type:"string"`
1461
1462	// The visibility status of the entity to buyers. This value can be Public (everyone
1463	// can view the entity), Limited (the entity is visible to limited accounts
1464	// only), or Restricted (the entity was published and then unpublished and only
1465	// existing buyers can view it).
1466	Visibility *string `min:"1" type:"string"`
1467}
1468
1469// String returns the string representation
1470func (s EntitySummary) String() string {
1471	return awsutil.Prettify(s)
1472}
1473
1474// GoString returns the string representation
1475func (s EntitySummary) GoString() string {
1476	return s.String()
1477}
1478
1479// SetEntityArn sets the EntityArn field's value.
1480func (s *EntitySummary) SetEntityArn(v string) *EntitySummary {
1481	s.EntityArn = &v
1482	return s
1483}
1484
1485// SetEntityId sets the EntityId field's value.
1486func (s *EntitySummary) SetEntityId(v string) *EntitySummary {
1487	s.EntityId = &v
1488	return s
1489}
1490
1491// SetEntityType sets the EntityType field's value.
1492func (s *EntitySummary) SetEntityType(v string) *EntitySummary {
1493	s.EntityType = &v
1494	return s
1495}
1496
1497// SetLastModifiedDate sets the LastModifiedDate field's value.
1498func (s *EntitySummary) SetLastModifiedDate(v string) *EntitySummary {
1499	s.LastModifiedDate = &v
1500	return s
1501}
1502
1503// SetName sets the Name field's value.
1504func (s *EntitySummary) SetName(v string) *EntitySummary {
1505	s.Name = &v
1506	return s
1507}
1508
1509// SetVisibility sets the Visibility field's value.
1510func (s *EntitySummary) SetVisibility(v string) *EntitySummary {
1511	s.Visibility = &v
1512	return s
1513}
1514
1515// Details about the error.
1516type ErrorDetail struct {
1517	_ struct{} `type:"structure"`
1518
1519	// The error code that identifies the type of error.
1520	ErrorCode *string `min:"1" type:"string"`
1521
1522	// The message for the error.
1523	ErrorMessage *string `min:"1" type:"string"`
1524}
1525
1526// String returns the string representation
1527func (s ErrorDetail) String() string {
1528	return awsutil.Prettify(s)
1529}
1530
1531// GoString returns the string representation
1532func (s ErrorDetail) GoString() string {
1533	return s.String()
1534}
1535
1536// SetErrorCode sets the ErrorCode field's value.
1537func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail {
1538	s.ErrorCode = &v
1539	return s
1540}
1541
1542// SetErrorMessage sets the ErrorMessage field's value.
1543func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail {
1544	s.ErrorMessage = &v
1545	return s
1546}
1547
1548// A filter object, used to optionally filter results from calls to the ListEntities
1549// and ListChangeSets actions.
1550type Filter struct {
1551	_ struct{} `type:"structure"`
1552
1553	// For ListEntities, the supported value for this is an EntityId.
1554	//
1555	// For ListChangeSets, the supported values are as follows:
1556	Name *string `min:"1" type:"string"`
1557
1558	// ListEntities - This is a list of unique EntityIds.
1559	//
1560	// ListChangeSets - The supported filter names and associated ValueLists is
1561	// as follows:
1562	//
1563	//    * ChangeSetName - The supported ValueList is a list of non-unique ChangeSetNames.
1564	//    These are defined when you call the StartChangeSet action.
1565	//
1566	//    * Status - The supported ValueList is a list of statuses for all change
1567	//    set requests.
1568	//
1569	//    * EntityId - The supported ValueList is a list of unique EntityIds.
1570	//
1571	//    * BeforeStartTime - The supported ValueList is a list of all change sets
1572	//    that started before the filter value.
1573	//
1574	//    * AfterStartTime - The supported ValueList is a list of all change sets
1575	//    that started after the filter value.
1576	//
1577	//    * BeforeEndTime - The supported ValueList is a list of all change sets
1578	//    that ended before the filter value.
1579	//
1580	//    * AfterEndTime - The supported ValueList is a list of all change sets
1581	//    that ended after the filter value.
1582	ValueList []*string `min:"1" type:"list"`
1583}
1584
1585// String returns the string representation
1586func (s Filter) String() string {
1587	return awsutil.Prettify(s)
1588}
1589
1590// GoString returns the string representation
1591func (s Filter) GoString() string {
1592	return s.String()
1593}
1594
1595// Validate inspects the fields of the type to determine if they are valid.
1596func (s *Filter) Validate() error {
1597	invalidParams := request.ErrInvalidParams{Context: "Filter"}
1598	if s.Name != nil && len(*s.Name) < 1 {
1599		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1600	}
1601	if s.ValueList != nil && len(s.ValueList) < 1 {
1602		invalidParams.Add(request.NewErrParamMinLen("ValueList", 1))
1603	}
1604
1605	if invalidParams.Len() > 0 {
1606		return invalidParams
1607	}
1608	return nil
1609}
1610
1611// SetName sets the Name field's value.
1612func (s *Filter) SetName(v string) *Filter {
1613	s.Name = &v
1614	return s
1615}
1616
1617// SetValueList sets the ValueList field's value.
1618func (s *Filter) SetValueList(v []*string) *Filter {
1619	s.ValueList = v
1620	return s
1621}
1622
1623// There was an internal service exception.
1624type InternalServiceException struct {
1625	_            struct{}                  `type:"structure"`
1626	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1627
1628	Message_ *string `locationName:"Message" min:"1" type:"string"`
1629}
1630
1631// String returns the string representation
1632func (s InternalServiceException) String() string {
1633	return awsutil.Prettify(s)
1634}
1635
1636// GoString returns the string representation
1637func (s InternalServiceException) GoString() string {
1638	return s.String()
1639}
1640
1641func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
1642	return &InternalServiceException{
1643		RespMetadata: v,
1644	}
1645}
1646
1647// Code returns the exception type name.
1648func (s *InternalServiceException) Code() string {
1649	return "InternalServiceException"
1650}
1651
1652// Message returns the exception's message.
1653func (s *InternalServiceException) Message() string {
1654	if s.Message_ != nil {
1655		return *s.Message_
1656	}
1657	return ""
1658}
1659
1660// OrigErr always returns nil, satisfies awserr.Error interface.
1661func (s *InternalServiceException) OrigErr() error {
1662	return nil
1663}
1664
1665func (s *InternalServiceException) Error() string {
1666	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1667}
1668
1669// Status code returns the HTTP status code for the request's response error.
1670func (s *InternalServiceException) StatusCode() int {
1671	return s.RespMetadata.StatusCode
1672}
1673
1674// RequestID returns the service's response RequestID for request.
1675func (s *InternalServiceException) RequestID() string {
1676	return s.RespMetadata.RequestID
1677}
1678
1679type ListChangeSetsInput struct {
1680	_ struct{} `type:"structure"`
1681
1682	// The catalog related to the request. Fixed value: AWSMarketplace
1683	//
1684	// Catalog is a required field
1685	Catalog *string `min:"1" type:"string" required:"true"`
1686
1687	// An array of filter objects.
1688	FilterList []*Filter `min:"1" type:"list"`
1689
1690	// The maximum number of results returned by a single call. This value must
1691	// be provided in the next call to retrieve the next set of results. By default,
1692	// this value is 20.
1693	MaxResults *int64 `min:"1" type:"integer"`
1694
1695	// The token value retrieved from a previous call to access the next page of
1696	// results.
1697	NextToken *string `min:"1" type:"string"`
1698
1699	// An object that contains two attributes, SortBy and SortOrder.
1700	Sort *Sort `type:"structure"`
1701}
1702
1703// String returns the string representation
1704func (s ListChangeSetsInput) String() string {
1705	return awsutil.Prettify(s)
1706}
1707
1708// GoString returns the string representation
1709func (s ListChangeSetsInput) GoString() string {
1710	return s.String()
1711}
1712
1713// Validate inspects the fields of the type to determine if they are valid.
1714func (s *ListChangeSetsInput) Validate() error {
1715	invalidParams := request.ErrInvalidParams{Context: "ListChangeSetsInput"}
1716	if s.Catalog == nil {
1717		invalidParams.Add(request.NewErrParamRequired("Catalog"))
1718	}
1719	if s.Catalog != nil && len(*s.Catalog) < 1 {
1720		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
1721	}
1722	if s.FilterList != nil && len(s.FilterList) < 1 {
1723		invalidParams.Add(request.NewErrParamMinLen("FilterList", 1))
1724	}
1725	if s.MaxResults != nil && *s.MaxResults < 1 {
1726		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
1727	}
1728	if s.NextToken != nil && len(*s.NextToken) < 1 {
1729		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
1730	}
1731	if s.FilterList != nil {
1732		for i, v := range s.FilterList {
1733			if v == nil {
1734				continue
1735			}
1736			if err := v.Validate(); err != nil {
1737				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterList", i), err.(request.ErrInvalidParams))
1738			}
1739		}
1740	}
1741	if s.Sort != nil {
1742		if err := s.Sort.Validate(); err != nil {
1743			invalidParams.AddNested("Sort", err.(request.ErrInvalidParams))
1744		}
1745	}
1746
1747	if invalidParams.Len() > 0 {
1748		return invalidParams
1749	}
1750	return nil
1751}
1752
1753// SetCatalog sets the Catalog field's value.
1754func (s *ListChangeSetsInput) SetCatalog(v string) *ListChangeSetsInput {
1755	s.Catalog = &v
1756	return s
1757}
1758
1759// SetFilterList sets the FilterList field's value.
1760func (s *ListChangeSetsInput) SetFilterList(v []*Filter) *ListChangeSetsInput {
1761	s.FilterList = v
1762	return s
1763}
1764
1765// SetMaxResults sets the MaxResults field's value.
1766func (s *ListChangeSetsInput) SetMaxResults(v int64) *ListChangeSetsInput {
1767	s.MaxResults = &v
1768	return s
1769}
1770
1771// SetNextToken sets the NextToken field's value.
1772func (s *ListChangeSetsInput) SetNextToken(v string) *ListChangeSetsInput {
1773	s.NextToken = &v
1774	return s
1775}
1776
1777// SetSort sets the Sort field's value.
1778func (s *ListChangeSetsInput) SetSort(v *Sort) *ListChangeSetsInput {
1779	s.Sort = v
1780	return s
1781}
1782
1783type ListChangeSetsOutput struct {
1784	_ struct{} `type:"structure"`
1785
1786	// Array of ChangeSetSummaryListItem objects.
1787	ChangeSetSummaryList []*ChangeSetSummaryListItem `type:"list"`
1788
1789	// The value of the next token, if it exists. Null if there are no more results.
1790	NextToken *string `min:"1" type:"string"`
1791}
1792
1793// String returns the string representation
1794func (s ListChangeSetsOutput) String() string {
1795	return awsutil.Prettify(s)
1796}
1797
1798// GoString returns the string representation
1799func (s ListChangeSetsOutput) GoString() string {
1800	return s.String()
1801}
1802
1803// SetChangeSetSummaryList sets the ChangeSetSummaryList field's value.
1804func (s *ListChangeSetsOutput) SetChangeSetSummaryList(v []*ChangeSetSummaryListItem) *ListChangeSetsOutput {
1805	s.ChangeSetSummaryList = v
1806	return s
1807}
1808
1809// SetNextToken sets the NextToken field's value.
1810func (s *ListChangeSetsOutput) SetNextToken(v string) *ListChangeSetsOutput {
1811	s.NextToken = &v
1812	return s
1813}
1814
1815type ListEntitiesInput struct {
1816	_ struct{} `type:"structure"`
1817
1818	// The catalog related to the request. Fixed value: AWSMarketplace
1819	//
1820	// Catalog is a required field
1821	Catalog *string `min:"1" type:"string" required:"true"`
1822
1823	// The type of entities to retrieve.
1824	//
1825	// EntityType is a required field
1826	EntityType *string `min:"1" type:"string" required:"true"`
1827
1828	// An array of filter objects. Each filter object contains two attributes, filterName
1829	// and filterValues.
1830	FilterList []*Filter `min:"1" type:"list"`
1831
1832	// Specifies the upper limit of the elements on a single page. If a value isn't
1833	// provided, the default value is 20.
1834	MaxResults *int64 `min:"1" type:"integer"`
1835
1836	// The value of the next token, if it exists. Null if there are no more results.
1837	NextToken *string `min:"1" type:"string"`
1838
1839	// An object that contains two attributes, SortBy and SortOrder.
1840	Sort *Sort `type:"structure"`
1841}
1842
1843// String returns the string representation
1844func (s ListEntitiesInput) String() string {
1845	return awsutil.Prettify(s)
1846}
1847
1848// GoString returns the string representation
1849func (s ListEntitiesInput) GoString() string {
1850	return s.String()
1851}
1852
1853// Validate inspects the fields of the type to determine if they are valid.
1854func (s *ListEntitiesInput) Validate() error {
1855	invalidParams := request.ErrInvalidParams{Context: "ListEntitiesInput"}
1856	if s.Catalog == nil {
1857		invalidParams.Add(request.NewErrParamRequired("Catalog"))
1858	}
1859	if s.Catalog != nil && len(*s.Catalog) < 1 {
1860		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
1861	}
1862	if s.EntityType == nil {
1863		invalidParams.Add(request.NewErrParamRequired("EntityType"))
1864	}
1865	if s.EntityType != nil && len(*s.EntityType) < 1 {
1866		invalidParams.Add(request.NewErrParamMinLen("EntityType", 1))
1867	}
1868	if s.FilterList != nil && len(s.FilterList) < 1 {
1869		invalidParams.Add(request.NewErrParamMinLen("FilterList", 1))
1870	}
1871	if s.MaxResults != nil && *s.MaxResults < 1 {
1872		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
1873	}
1874	if s.NextToken != nil && len(*s.NextToken) < 1 {
1875		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
1876	}
1877	if s.FilterList != nil {
1878		for i, v := range s.FilterList {
1879			if v == nil {
1880				continue
1881			}
1882			if err := v.Validate(); err != nil {
1883				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterList", i), err.(request.ErrInvalidParams))
1884			}
1885		}
1886	}
1887	if s.Sort != nil {
1888		if err := s.Sort.Validate(); err != nil {
1889			invalidParams.AddNested("Sort", err.(request.ErrInvalidParams))
1890		}
1891	}
1892
1893	if invalidParams.Len() > 0 {
1894		return invalidParams
1895	}
1896	return nil
1897}
1898
1899// SetCatalog sets the Catalog field's value.
1900func (s *ListEntitiesInput) SetCatalog(v string) *ListEntitiesInput {
1901	s.Catalog = &v
1902	return s
1903}
1904
1905// SetEntityType sets the EntityType field's value.
1906func (s *ListEntitiesInput) SetEntityType(v string) *ListEntitiesInput {
1907	s.EntityType = &v
1908	return s
1909}
1910
1911// SetFilterList sets the FilterList field's value.
1912func (s *ListEntitiesInput) SetFilterList(v []*Filter) *ListEntitiesInput {
1913	s.FilterList = v
1914	return s
1915}
1916
1917// SetMaxResults sets the MaxResults field's value.
1918func (s *ListEntitiesInput) SetMaxResults(v int64) *ListEntitiesInput {
1919	s.MaxResults = &v
1920	return s
1921}
1922
1923// SetNextToken sets the NextToken field's value.
1924func (s *ListEntitiesInput) SetNextToken(v string) *ListEntitiesInput {
1925	s.NextToken = &v
1926	return s
1927}
1928
1929// SetSort sets the Sort field's value.
1930func (s *ListEntitiesInput) SetSort(v *Sort) *ListEntitiesInput {
1931	s.Sort = v
1932	return s
1933}
1934
1935type ListEntitiesOutput struct {
1936	_ struct{} `type:"structure"`
1937
1938	// Array of EntitySummary object.
1939	EntitySummaryList []*EntitySummary `type:"list"`
1940
1941	// The value of the next token if it exists. Null if there is no more result.
1942	NextToken *string `min:"1" type:"string"`
1943}
1944
1945// String returns the string representation
1946func (s ListEntitiesOutput) String() string {
1947	return awsutil.Prettify(s)
1948}
1949
1950// GoString returns the string representation
1951func (s ListEntitiesOutput) GoString() string {
1952	return s.String()
1953}
1954
1955// SetEntitySummaryList sets the EntitySummaryList field's value.
1956func (s *ListEntitiesOutput) SetEntitySummaryList(v []*EntitySummary) *ListEntitiesOutput {
1957	s.EntitySummaryList = v
1958	return s
1959}
1960
1961// SetNextToken sets the NextToken field's value.
1962func (s *ListEntitiesOutput) SetNextToken(v string) *ListEntitiesOutput {
1963	s.NextToken = &v
1964	return s
1965}
1966
1967// The resource is currently in use.
1968type ResourceInUseException struct {
1969	_            struct{}                  `type:"structure"`
1970	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1971
1972	Message_ *string `locationName:"Message" min:"1" type:"string"`
1973}
1974
1975// String returns the string representation
1976func (s ResourceInUseException) String() string {
1977	return awsutil.Prettify(s)
1978}
1979
1980// GoString returns the string representation
1981func (s ResourceInUseException) GoString() string {
1982	return s.String()
1983}
1984
1985func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
1986	return &ResourceInUseException{
1987		RespMetadata: v,
1988	}
1989}
1990
1991// Code returns the exception type name.
1992func (s *ResourceInUseException) Code() string {
1993	return "ResourceInUseException"
1994}
1995
1996// Message returns the exception's message.
1997func (s *ResourceInUseException) Message() string {
1998	if s.Message_ != nil {
1999		return *s.Message_
2000	}
2001	return ""
2002}
2003
2004// OrigErr always returns nil, satisfies awserr.Error interface.
2005func (s *ResourceInUseException) OrigErr() error {
2006	return nil
2007}
2008
2009func (s *ResourceInUseException) Error() string {
2010	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2011}
2012
2013// Status code returns the HTTP status code for the request's response error.
2014func (s *ResourceInUseException) StatusCode() int {
2015	return s.RespMetadata.StatusCode
2016}
2017
2018// RequestID returns the service's response RequestID for request.
2019func (s *ResourceInUseException) RequestID() string {
2020	return s.RespMetadata.RequestID
2021}
2022
2023// The specified resource wasn't found.
2024type ResourceNotFoundException struct {
2025	_            struct{}                  `type:"structure"`
2026	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2027
2028	Message_ *string `locationName:"Message" min:"1" type:"string"`
2029}
2030
2031// String returns the string representation
2032func (s ResourceNotFoundException) String() string {
2033	return awsutil.Prettify(s)
2034}
2035
2036// GoString returns the string representation
2037func (s ResourceNotFoundException) GoString() string {
2038	return s.String()
2039}
2040
2041func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
2042	return &ResourceNotFoundException{
2043		RespMetadata: v,
2044	}
2045}
2046
2047// Code returns the exception type name.
2048func (s *ResourceNotFoundException) Code() string {
2049	return "ResourceNotFoundException"
2050}
2051
2052// Message returns the exception's message.
2053func (s *ResourceNotFoundException) Message() string {
2054	if s.Message_ != nil {
2055		return *s.Message_
2056	}
2057	return ""
2058}
2059
2060// OrigErr always returns nil, satisfies awserr.Error interface.
2061func (s *ResourceNotFoundException) OrigErr() error {
2062	return nil
2063}
2064
2065func (s *ResourceNotFoundException) Error() string {
2066	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2067}
2068
2069// Status code returns the HTTP status code for the request's response error.
2070func (s *ResourceNotFoundException) StatusCode() int {
2071	return s.RespMetadata.StatusCode
2072}
2073
2074// RequestID returns the service's response RequestID for request.
2075func (s *ResourceNotFoundException) RequestID() string {
2076	return s.RespMetadata.RequestID
2077}
2078
2079// Currently, the specified resource is not supported.
2080type ResourceNotSupportedException struct {
2081	_            struct{}                  `type:"structure"`
2082	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2083
2084	Message_ *string `locationName:"Message" min:"1" type:"string"`
2085}
2086
2087// String returns the string representation
2088func (s ResourceNotSupportedException) String() string {
2089	return awsutil.Prettify(s)
2090}
2091
2092// GoString returns the string representation
2093func (s ResourceNotSupportedException) GoString() string {
2094	return s.String()
2095}
2096
2097func newErrorResourceNotSupportedException(v protocol.ResponseMetadata) error {
2098	return &ResourceNotSupportedException{
2099		RespMetadata: v,
2100	}
2101}
2102
2103// Code returns the exception type name.
2104func (s *ResourceNotSupportedException) Code() string {
2105	return "ResourceNotSupportedException"
2106}
2107
2108// Message returns the exception's message.
2109func (s *ResourceNotSupportedException) Message() string {
2110	if s.Message_ != nil {
2111		return *s.Message_
2112	}
2113	return ""
2114}
2115
2116// OrigErr always returns nil, satisfies awserr.Error interface.
2117func (s *ResourceNotSupportedException) OrigErr() error {
2118	return nil
2119}
2120
2121func (s *ResourceNotSupportedException) Error() string {
2122	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2123}
2124
2125// Status code returns the HTTP status code for the request's response error.
2126func (s *ResourceNotSupportedException) StatusCode() int {
2127	return s.RespMetadata.StatusCode
2128}
2129
2130// RequestID returns the service's response RequestID for request.
2131func (s *ResourceNotSupportedException) RequestID() string {
2132	return s.RespMetadata.RequestID
2133}
2134
2135// The maximum number of open requests per account has been exceeded.
2136type ServiceQuotaExceededException struct {
2137	_            struct{}                  `type:"structure"`
2138	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2139
2140	Message_ *string `locationName:"Message" min:"1" type:"string"`
2141}
2142
2143// String returns the string representation
2144func (s ServiceQuotaExceededException) String() string {
2145	return awsutil.Prettify(s)
2146}
2147
2148// GoString returns the string representation
2149func (s ServiceQuotaExceededException) GoString() string {
2150	return s.String()
2151}
2152
2153func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
2154	return &ServiceQuotaExceededException{
2155		RespMetadata: v,
2156	}
2157}
2158
2159// Code returns the exception type name.
2160func (s *ServiceQuotaExceededException) Code() string {
2161	return "ServiceQuotaExceededException"
2162}
2163
2164// Message returns the exception's message.
2165func (s *ServiceQuotaExceededException) Message() string {
2166	if s.Message_ != nil {
2167		return *s.Message_
2168	}
2169	return ""
2170}
2171
2172// OrigErr always returns nil, satisfies awserr.Error interface.
2173func (s *ServiceQuotaExceededException) OrigErr() error {
2174	return nil
2175}
2176
2177func (s *ServiceQuotaExceededException) Error() string {
2178	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2179}
2180
2181// Status code returns the HTTP status code for the request's response error.
2182func (s *ServiceQuotaExceededException) StatusCode() int {
2183	return s.RespMetadata.StatusCode
2184}
2185
2186// RequestID returns the service's response RequestID for request.
2187func (s *ServiceQuotaExceededException) RequestID() string {
2188	return s.RespMetadata.RequestID
2189}
2190
2191// An object that contains two attributes, SortBy and SortOrder.
2192type Sort struct {
2193	_ struct{} `type:"structure"`
2194
2195	// For ListEntities, supported attributes include LastModifiedDate (default),
2196	// Visibility, EntityId, and Name.
2197	//
2198	// For ListChangeSets, supported attributes include StartTime and EndTime.
2199	SortBy *string `min:"1" type:"string"`
2200
2201	// The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING.
2202	SortOrder *string `type:"string" enum:"SortOrder"`
2203}
2204
2205// String returns the string representation
2206func (s Sort) String() string {
2207	return awsutil.Prettify(s)
2208}
2209
2210// GoString returns the string representation
2211func (s Sort) GoString() string {
2212	return s.String()
2213}
2214
2215// Validate inspects the fields of the type to determine if they are valid.
2216func (s *Sort) Validate() error {
2217	invalidParams := request.ErrInvalidParams{Context: "Sort"}
2218	if s.SortBy != nil && len(*s.SortBy) < 1 {
2219		invalidParams.Add(request.NewErrParamMinLen("SortBy", 1))
2220	}
2221
2222	if invalidParams.Len() > 0 {
2223		return invalidParams
2224	}
2225	return nil
2226}
2227
2228// SetSortBy sets the SortBy field's value.
2229func (s *Sort) SetSortBy(v string) *Sort {
2230	s.SortBy = &v
2231	return s
2232}
2233
2234// SetSortOrder sets the SortOrder field's value.
2235func (s *Sort) SetSortOrder(v string) *Sort {
2236	s.SortOrder = &v
2237	return s
2238}
2239
2240type StartChangeSetInput struct {
2241	_ struct{} `type:"structure"`
2242
2243	// The catalog related to the request. Fixed value: AWSMarketplace
2244	//
2245	// Catalog is a required field
2246	Catalog *string `min:"1" type:"string" required:"true"`
2247
2248	// Array of change object.
2249	//
2250	// ChangeSet is a required field
2251	ChangeSet []*Change `min:"1" type:"list" required:"true"`
2252
2253	// Optional case sensitive string of up to 100 ASCII characters. The change
2254	// set name can be used to filter the list of change sets.
2255	ChangeSetName *string `min:"1" type:"string"`
2256
2257	// A unique token to identify the request to ensure idempotency.
2258	ClientRequestToken *string `min:"1" type:"string"`
2259}
2260
2261// String returns the string representation
2262func (s StartChangeSetInput) String() string {
2263	return awsutil.Prettify(s)
2264}
2265
2266// GoString returns the string representation
2267func (s StartChangeSetInput) GoString() string {
2268	return s.String()
2269}
2270
2271// Validate inspects the fields of the type to determine if they are valid.
2272func (s *StartChangeSetInput) Validate() error {
2273	invalidParams := request.ErrInvalidParams{Context: "StartChangeSetInput"}
2274	if s.Catalog == nil {
2275		invalidParams.Add(request.NewErrParamRequired("Catalog"))
2276	}
2277	if s.Catalog != nil && len(*s.Catalog) < 1 {
2278		invalidParams.Add(request.NewErrParamMinLen("Catalog", 1))
2279	}
2280	if s.ChangeSet == nil {
2281		invalidParams.Add(request.NewErrParamRequired("ChangeSet"))
2282	}
2283	if s.ChangeSet != nil && len(s.ChangeSet) < 1 {
2284		invalidParams.Add(request.NewErrParamMinLen("ChangeSet", 1))
2285	}
2286	if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 {
2287		invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1))
2288	}
2289	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
2290		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
2291	}
2292	if s.ChangeSet != nil {
2293		for i, v := range s.ChangeSet {
2294			if v == nil {
2295				continue
2296			}
2297			if err := v.Validate(); err != nil {
2298				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChangeSet", i), err.(request.ErrInvalidParams))
2299			}
2300		}
2301	}
2302
2303	if invalidParams.Len() > 0 {
2304		return invalidParams
2305	}
2306	return nil
2307}
2308
2309// SetCatalog sets the Catalog field's value.
2310func (s *StartChangeSetInput) SetCatalog(v string) *StartChangeSetInput {
2311	s.Catalog = &v
2312	return s
2313}
2314
2315// SetChangeSet sets the ChangeSet field's value.
2316func (s *StartChangeSetInput) SetChangeSet(v []*Change) *StartChangeSetInput {
2317	s.ChangeSet = v
2318	return s
2319}
2320
2321// SetChangeSetName sets the ChangeSetName field's value.
2322func (s *StartChangeSetInput) SetChangeSetName(v string) *StartChangeSetInput {
2323	s.ChangeSetName = &v
2324	return s
2325}
2326
2327// SetClientRequestToken sets the ClientRequestToken field's value.
2328func (s *StartChangeSetInput) SetClientRequestToken(v string) *StartChangeSetInput {
2329	s.ClientRequestToken = &v
2330	return s
2331}
2332
2333type StartChangeSetOutput struct {
2334	_ struct{} `type:"structure"`
2335
2336	// The ARN associated to the unique identifier generated for the request.
2337	ChangeSetArn *string `min:"1" type:"string"`
2338
2339	// Unique identifier generated for the request.
2340	ChangeSetId *string `min:"1" type:"string"`
2341}
2342
2343// String returns the string representation
2344func (s StartChangeSetOutput) String() string {
2345	return awsutil.Prettify(s)
2346}
2347
2348// GoString returns the string representation
2349func (s StartChangeSetOutput) GoString() string {
2350	return s.String()
2351}
2352
2353// SetChangeSetArn sets the ChangeSetArn field's value.
2354func (s *StartChangeSetOutput) SetChangeSetArn(v string) *StartChangeSetOutput {
2355	s.ChangeSetArn = &v
2356	return s
2357}
2358
2359// SetChangeSetId sets the ChangeSetId field's value.
2360func (s *StartChangeSetOutput) SetChangeSetId(v string) *StartChangeSetOutput {
2361	s.ChangeSetId = &v
2362	return s
2363}
2364
2365// Too many requests.
2366type ThrottlingException struct {
2367	_            struct{}                  `type:"structure"`
2368	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2369
2370	Message_ *string `locationName:"Message" min:"1" type:"string"`
2371}
2372
2373// String returns the string representation
2374func (s ThrottlingException) String() string {
2375	return awsutil.Prettify(s)
2376}
2377
2378// GoString returns the string representation
2379func (s ThrottlingException) GoString() string {
2380	return s.String()
2381}
2382
2383func newErrorThrottlingException(v protocol.ResponseMetadata) error {
2384	return &ThrottlingException{
2385		RespMetadata: v,
2386	}
2387}
2388
2389// Code returns the exception type name.
2390func (s *ThrottlingException) Code() string {
2391	return "ThrottlingException"
2392}
2393
2394// Message returns the exception's message.
2395func (s *ThrottlingException) Message() string {
2396	if s.Message_ != nil {
2397		return *s.Message_
2398	}
2399	return ""
2400}
2401
2402// OrigErr always returns nil, satisfies awserr.Error interface.
2403func (s *ThrottlingException) OrigErr() error {
2404	return nil
2405}
2406
2407func (s *ThrottlingException) Error() string {
2408	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2409}
2410
2411// Status code returns the HTTP status code for the request's response error.
2412func (s *ThrottlingException) StatusCode() int {
2413	return s.RespMetadata.StatusCode
2414}
2415
2416// RequestID returns the service's response RequestID for request.
2417func (s *ThrottlingException) RequestID() string {
2418	return s.RespMetadata.RequestID
2419}
2420
2421// An error occurred during validation.
2422type ValidationException struct {
2423	_            struct{}                  `type:"structure"`
2424	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2425
2426	Message_ *string `locationName:"Message" min:"1" type:"string"`
2427}
2428
2429// String returns the string representation
2430func (s ValidationException) String() string {
2431	return awsutil.Prettify(s)
2432}
2433
2434// GoString returns the string representation
2435func (s ValidationException) GoString() string {
2436	return s.String()
2437}
2438
2439func newErrorValidationException(v protocol.ResponseMetadata) error {
2440	return &ValidationException{
2441		RespMetadata: v,
2442	}
2443}
2444
2445// Code returns the exception type name.
2446func (s *ValidationException) Code() string {
2447	return "ValidationException"
2448}
2449
2450// Message returns the exception's message.
2451func (s *ValidationException) Message() string {
2452	if s.Message_ != nil {
2453		return *s.Message_
2454	}
2455	return ""
2456}
2457
2458// OrigErr always returns nil, satisfies awserr.Error interface.
2459func (s *ValidationException) OrigErr() error {
2460	return nil
2461}
2462
2463func (s *ValidationException) Error() string {
2464	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2465}
2466
2467// Status code returns the HTTP status code for the request's response error.
2468func (s *ValidationException) StatusCode() int {
2469	return s.RespMetadata.StatusCode
2470}
2471
2472// RequestID returns the service's response RequestID for request.
2473func (s *ValidationException) RequestID() string {
2474	return s.RespMetadata.RequestID
2475}
2476
2477const (
2478	// ChangeStatusPreparing is a ChangeStatus enum value
2479	ChangeStatusPreparing = "PREPARING"
2480
2481	// ChangeStatusApplying is a ChangeStatus enum value
2482	ChangeStatusApplying = "APPLYING"
2483
2484	// ChangeStatusSucceeded is a ChangeStatus enum value
2485	ChangeStatusSucceeded = "SUCCEEDED"
2486
2487	// ChangeStatusCancelled is a ChangeStatus enum value
2488	ChangeStatusCancelled = "CANCELLED"
2489
2490	// ChangeStatusFailed is a ChangeStatus enum value
2491	ChangeStatusFailed = "FAILED"
2492)
2493
2494// ChangeStatus_Values returns all elements of the ChangeStatus enum
2495func ChangeStatus_Values() []string {
2496	return []string{
2497		ChangeStatusPreparing,
2498		ChangeStatusApplying,
2499		ChangeStatusSucceeded,
2500		ChangeStatusCancelled,
2501		ChangeStatusFailed,
2502	}
2503}
2504
2505const (
2506	// FailureCodeClientError is a FailureCode enum value
2507	FailureCodeClientError = "CLIENT_ERROR"
2508
2509	// FailureCodeServerFault is a FailureCode enum value
2510	FailureCodeServerFault = "SERVER_FAULT"
2511)
2512
2513// FailureCode_Values returns all elements of the FailureCode enum
2514func FailureCode_Values() []string {
2515	return []string{
2516		FailureCodeClientError,
2517		FailureCodeServerFault,
2518	}
2519}
2520
2521const (
2522	// SortOrderAscending is a SortOrder enum value
2523	SortOrderAscending = "ASCENDING"
2524
2525	// SortOrderDescending is a SortOrder enum value
2526	SortOrderDescending = "DESCENDING"
2527)
2528
2529// SortOrder_Values returns all elements of the SortOrder enum
2530func SortOrder_Values() []string {
2531	return []string{
2532		SortOrderAscending,
2533		SortOrderDescending,
2534	}
2535}
2536