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