github.com/aavshr/aws-sdk-go@v1.41.3/service/marketplacecatalog/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package marketplacecatalog
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  )
    13  
    14  const 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
    40  func (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
    90  func (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.
   104  func (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  
   111  const 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
   137  func (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
   181  func (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.
   195  func (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  
   202  const 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
   228  func (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
   275  func (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.
   289  func (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  
   296  const 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
   322  func (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
   375  func (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.
   389  func (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  //
   413  func (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.
   424  func (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  
   448  const 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
   474  func (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
   524  func (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.
   538  func (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  //
   562  func (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.
   573  func (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  
   597  const 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
   623  func (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
   686  func (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.
   700  func (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.
   708  type 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".
   720  func (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".
   729  func (s AccessDeniedException) GoString() string {
   730  	return s.String()
   731  }
   732  
   733  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
   734  	return &AccessDeniedException{
   735  		RespMetadata: v,
   736  	}
   737  }
   738  
   739  // Code returns the exception type name.
   740  func (s *AccessDeniedException) Code() string {
   741  	return "AccessDeniedException"
   742  }
   743  
   744  // Message returns the exception's message.
   745  func (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.
   753  func (s *AccessDeniedException) OrigErr() error {
   754  	return nil
   755  }
   756  
   757  func (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.
   762  func (s *AccessDeniedException) StatusCode() int {
   763  	return s.RespMetadata.StatusCode
   764  }
   765  
   766  // RequestID returns the service's response RequestID for request.
   767  func (s *AccessDeniedException) RequestID() string {
   768  	return s.RespMetadata.RequestID
   769  }
   770  
   771  type 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".
   791  func (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".
   800  func (s CancelChangeSetInput) GoString() string {
   801  	return s.String()
   802  }
   803  
   804  // Validate inspects the fields of the type to determine if they are valid.
   805  func (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.
   827  func (s *CancelChangeSetInput) SetCatalog(v string) *CancelChangeSetInput {
   828  	s.Catalog = &v
   829  	return s
   830  }
   831  
   832  // SetChangeSetId sets the ChangeSetId field's value.
   833  func (s *CancelChangeSetInput) SetChangeSetId(v string) *CancelChangeSetInput {
   834  	s.ChangeSetId = &v
   835  	return s
   836  }
   837  
   838  type 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".
   853  func (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".
   862  func (s CancelChangeSetOutput) GoString() string {
   863  	return s.String()
   864  }
   865  
   866  // SetChangeSetArn sets the ChangeSetArn field's value.
   867  func (s *CancelChangeSetOutput) SetChangeSetArn(v string) *CancelChangeSetOutput {
   868  	s.ChangeSetArn = &v
   869  	return s
   870  }
   871  
   872  // SetChangeSetId sets the ChangeSetId field's value.
   873  func (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.
   879  type 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".
   909  func (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".
   918  func (s Change) GoString() string {
   919  	return s.String()
   920  }
   921  
   922  // Validate inspects the fields of the type to determine if they are valid.
   923  func (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.
   956  func (s *Change) SetChangeName(v string) *Change {
   957  	s.ChangeName = &v
   958  	return s
   959  }
   960  
   961  // SetChangeType sets the ChangeType field's value.
   962  func (s *Change) SetChangeType(v string) *Change {
   963  	s.ChangeType = &v
   964  	return s
   965  }
   966  
   967  // SetDetails sets the Details field's value.
   968  func (s *Change) SetDetails(v string) *Change {
   969  	s.Details = &v
   970  	return s
   971  }
   972  
   973  // SetEntity sets the Entity field's value.
   974  func (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.
   981  type 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".
  1022  func (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".
  1031  func (s ChangeSetSummaryListItem) GoString() string {
  1032  	return s.String()
  1033  }
  1034  
  1035  // SetChangeSetArn sets the ChangeSetArn field's value.
  1036  func (s *ChangeSetSummaryListItem) SetChangeSetArn(v string) *ChangeSetSummaryListItem {
  1037  	s.ChangeSetArn = &v
  1038  	return s
  1039  }
  1040  
  1041  // SetChangeSetId sets the ChangeSetId field's value.
  1042  func (s *ChangeSetSummaryListItem) SetChangeSetId(v string) *ChangeSetSummaryListItem {
  1043  	s.ChangeSetId = &v
  1044  	return s
  1045  }
  1046  
  1047  // SetChangeSetName sets the ChangeSetName field's value.
  1048  func (s *ChangeSetSummaryListItem) SetChangeSetName(v string) *ChangeSetSummaryListItem {
  1049  	s.ChangeSetName = &v
  1050  	return s
  1051  }
  1052  
  1053  // SetEndTime sets the EndTime field's value.
  1054  func (s *ChangeSetSummaryListItem) SetEndTime(v string) *ChangeSetSummaryListItem {
  1055  	s.EndTime = &v
  1056  	return s
  1057  }
  1058  
  1059  // SetEntityIdList sets the EntityIdList field's value.
  1060  func (s *ChangeSetSummaryListItem) SetEntityIdList(v []*string) *ChangeSetSummaryListItem {
  1061  	s.EntityIdList = v
  1062  	return s
  1063  }
  1064  
  1065  // SetFailureCode sets the FailureCode field's value.
  1066  func (s *ChangeSetSummaryListItem) SetFailureCode(v string) *ChangeSetSummaryListItem {
  1067  	s.FailureCode = &v
  1068  	return s
  1069  }
  1070  
  1071  // SetStartTime sets the StartTime field's value.
  1072  func (s *ChangeSetSummaryListItem) SetStartTime(v string) *ChangeSetSummaryListItem {
  1073  	s.StartTime = &v
  1074  	return s
  1075  }
  1076  
  1077  // SetStatus sets the Status field's value.
  1078  func (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.
  1085  type 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".
  1110  func (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".
  1119  func (s ChangeSummary) GoString() string {
  1120  	return s.String()
  1121  }
  1122  
  1123  // SetChangeName sets the ChangeName field's value.
  1124  func (s *ChangeSummary) SetChangeName(v string) *ChangeSummary {
  1125  	s.ChangeName = &v
  1126  	return s
  1127  }
  1128  
  1129  // SetChangeType sets the ChangeType field's value.
  1130  func (s *ChangeSummary) SetChangeType(v string) *ChangeSummary {
  1131  	s.ChangeType = &v
  1132  	return s
  1133  }
  1134  
  1135  // SetDetails sets the Details field's value.
  1136  func (s *ChangeSummary) SetDetails(v string) *ChangeSummary {
  1137  	s.Details = &v
  1138  	return s
  1139  }
  1140  
  1141  // SetEntity sets the Entity field's value.
  1142  func (s *ChangeSummary) SetEntity(v *Entity) *ChangeSummary {
  1143  	s.Entity = v
  1144  	return s
  1145  }
  1146  
  1147  // SetErrorDetailList sets the ErrorDetailList field's value.
  1148  func (s *ChangeSummary) SetErrorDetailList(v []*ErrorDetail) *ChangeSummary {
  1149  	s.ErrorDetailList = v
  1150  	return s
  1151  }
  1152  
  1153  type 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".
  1173  func (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".
  1182  func (s DescribeChangeSetInput) GoString() string {
  1183  	return s.String()
  1184  }
  1185  
  1186  // Validate inspects the fields of the type to determine if they are valid.
  1187  func (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.
  1209  func (s *DescribeChangeSetInput) SetCatalog(v string) *DescribeChangeSetInput {
  1210  	s.Catalog = &v
  1211  	return s
  1212  }
  1213  
  1214  // SetChangeSetId sets the ChangeSetId field's value.
  1215  func (s *DescribeChangeSetInput) SetChangeSetId(v string) *DescribeChangeSetInput {
  1216  	s.ChangeSetId = &v
  1217  	return s
  1218  }
  1219  
  1220  type 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".
  1265  func (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".
  1274  func (s DescribeChangeSetOutput) GoString() string {
  1275  	return s.String()
  1276  }
  1277  
  1278  // SetChangeSet sets the ChangeSet field's value.
  1279  func (s *DescribeChangeSetOutput) SetChangeSet(v []*ChangeSummary) *DescribeChangeSetOutput {
  1280  	s.ChangeSet = v
  1281  	return s
  1282  }
  1283  
  1284  // SetChangeSetArn sets the ChangeSetArn field's value.
  1285  func (s *DescribeChangeSetOutput) SetChangeSetArn(v string) *DescribeChangeSetOutput {
  1286  	s.ChangeSetArn = &v
  1287  	return s
  1288  }
  1289  
  1290  // SetChangeSetId sets the ChangeSetId field's value.
  1291  func (s *DescribeChangeSetOutput) SetChangeSetId(v string) *DescribeChangeSetOutput {
  1292  	s.ChangeSetId = &v
  1293  	return s
  1294  }
  1295  
  1296  // SetChangeSetName sets the ChangeSetName field's value.
  1297  func (s *DescribeChangeSetOutput) SetChangeSetName(v string) *DescribeChangeSetOutput {
  1298  	s.ChangeSetName = &v
  1299  	return s
  1300  }
  1301  
  1302  // SetEndTime sets the EndTime field's value.
  1303  func (s *DescribeChangeSetOutput) SetEndTime(v string) *DescribeChangeSetOutput {
  1304  	s.EndTime = &v
  1305  	return s
  1306  }
  1307  
  1308  // SetFailureCode sets the FailureCode field's value.
  1309  func (s *DescribeChangeSetOutput) SetFailureCode(v string) *DescribeChangeSetOutput {
  1310  	s.FailureCode = &v
  1311  	return s
  1312  }
  1313  
  1314  // SetFailureDescription sets the FailureDescription field's value.
  1315  func (s *DescribeChangeSetOutput) SetFailureDescription(v string) *DescribeChangeSetOutput {
  1316  	s.FailureDescription = &v
  1317  	return s
  1318  }
  1319  
  1320  // SetStartTime sets the StartTime field's value.
  1321  func (s *DescribeChangeSetOutput) SetStartTime(v string) *DescribeChangeSetOutput {
  1322  	s.StartTime = &v
  1323  	return s
  1324  }
  1325  
  1326  // SetStatus sets the Status field's value.
  1327  func (s *DescribeChangeSetOutput) SetStatus(v string) *DescribeChangeSetOutput {
  1328  	s.Status = &v
  1329  	return s
  1330  }
  1331  
  1332  type 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".
  1351  func (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".
  1360  func (s DescribeEntityInput) GoString() string {
  1361  	return s.String()
  1362  }
  1363  
  1364  // Validate inspects the fields of the type to determine if they are valid.
  1365  func (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.
  1387  func (s *DescribeEntityInput) SetCatalog(v string) *DescribeEntityInput {
  1388  	s.Catalog = &v
  1389  	return s
  1390  }
  1391  
  1392  // SetEntityId sets the EntityId field's value.
  1393  func (s *DescribeEntityInput) SetEntityId(v string) *DescribeEntityInput {
  1394  	s.EntityId = &v
  1395  	return s
  1396  }
  1397  
  1398  type 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".
  1423  func (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".
  1432  func (s DescribeEntityOutput) GoString() string {
  1433  	return s.String()
  1434  }
  1435  
  1436  // SetDetails sets the Details field's value.
  1437  func (s *DescribeEntityOutput) SetDetails(v string) *DescribeEntityOutput {
  1438  	s.Details = &v
  1439  	return s
  1440  }
  1441  
  1442  // SetEntityArn sets the EntityArn field's value.
  1443  func (s *DescribeEntityOutput) SetEntityArn(v string) *DescribeEntityOutput {
  1444  	s.EntityArn = &v
  1445  	return s
  1446  }
  1447  
  1448  // SetEntityIdentifier sets the EntityIdentifier field's value.
  1449  func (s *DescribeEntityOutput) SetEntityIdentifier(v string) *DescribeEntityOutput {
  1450  	s.EntityIdentifier = &v
  1451  	return s
  1452  }
  1453  
  1454  // SetEntityType sets the EntityType field's value.
  1455  func (s *DescribeEntityOutput) SetEntityType(v string) *DescribeEntityOutput {
  1456  	s.EntityType = &v
  1457  	return s
  1458  }
  1459  
  1460  // SetLastModifiedDate sets the LastModifiedDate field's value.
  1461  func (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.
  1468  type 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".
  1485  func (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".
  1494  func (s Entity) GoString() string {
  1495  	return s.String()
  1496  }
  1497  
  1498  // Validate inspects the fields of the type to determine if they are valid.
  1499  func (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.
  1518  func (s *Entity) SetIdentifier(v string) *Entity {
  1519  	s.Identifier = &v
  1520  	return s
  1521  }
  1522  
  1523  // SetType sets the Type field's value.
  1524  func (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.
  1532  type 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".
  1562  func (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".
  1571  func (s EntitySummary) GoString() string {
  1572  	return s.String()
  1573  }
  1574  
  1575  // SetEntityArn sets the EntityArn field's value.
  1576  func (s *EntitySummary) SetEntityArn(v string) *EntitySummary {
  1577  	s.EntityArn = &v
  1578  	return s
  1579  }
  1580  
  1581  // SetEntityId sets the EntityId field's value.
  1582  func (s *EntitySummary) SetEntityId(v string) *EntitySummary {
  1583  	s.EntityId = &v
  1584  	return s
  1585  }
  1586  
  1587  // SetEntityType sets the EntityType field's value.
  1588  func (s *EntitySummary) SetEntityType(v string) *EntitySummary {
  1589  	s.EntityType = &v
  1590  	return s
  1591  }
  1592  
  1593  // SetLastModifiedDate sets the LastModifiedDate field's value.
  1594  func (s *EntitySummary) SetLastModifiedDate(v string) *EntitySummary {
  1595  	s.LastModifiedDate = &v
  1596  	return s
  1597  }
  1598  
  1599  // SetName sets the Name field's value.
  1600  func (s *EntitySummary) SetName(v string) *EntitySummary {
  1601  	s.Name = &v
  1602  	return s
  1603  }
  1604  
  1605  // SetVisibility sets the Visibility field's value.
  1606  func (s *EntitySummary) SetVisibility(v string) *EntitySummary {
  1607  	s.Visibility = &v
  1608  	return s
  1609  }
  1610  
  1611  // Details about the error.
  1612  type 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".
  1627  func (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".
  1636  func (s ErrorDetail) GoString() string {
  1637  	return s.String()
  1638  }
  1639  
  1640  // SetErrorCode sets the ErrorCode field's value.
  1641  func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail {
  1642  	s.ErrorCode = &v
  1643  	return s
  1644  }
  1645  
  1646  // SetErrorMessage sets the ErrorMessage field's value.
  1647  func (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.
  1654  type 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".
  1694  func (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".
  1703  func (s Filter) GoString() string {
  1704  	return s.String()
  1705  }
  1706  
  1707  // Validate inspects the fields of the type to determine if they are valid.
  1708  func (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.
  1724  func (s *Filter) SetName(v string) *Filter {
  1725  	s.Name = &v
  1726  	return s
  1727  }
  1728  
  1729  // SetValueList sets the ValueList field's value.
  1730  func (s *Filter) SetValueList(v []*string) *Filter {
  1731  	s.ValueList = v
  1732  	return s
  1733  }
  1734  
  1735  // There was an internal service exception.
  1736  type 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".
  1748  func (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".
  1757  func (s InternalServiceException) GoString() string {
  1758  	return s.String()
  1759  }
  1760  
  1761  func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
  1762  	return &InternalServiceException{
  1763  		RespMetadata: v,
  1764  	}
  1765  }
  1766  
  1767  // Code returns the exception type name.
  1768  func (s *InternalServiceException) Code() string {
  1769  	return "InternalServiceException"
  1770  }
  1771  
  1772  // Message returns the exception's message.
  1773  func (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.
  1781  func (s *InternalServiceException) OrigErr() error {
  1782  	return nil
  1783  }
  1784  
  1785  func (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.
  1790  func (s *InternalServiceException) StatusCode() int {
  1791  	return s.RespMetadata.StatusCode
  1792  }
  1793  
  1794  // RequestID returns the service's response RequestID for request.
  1795  func (s *InternalServiceException) RequestID() string {
  1796  	return s.RespMetadata.RequestID
  1797  }
  1798  
  1799  type 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".
  1828  func (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".
  1837  func (s ListChangeSetsInput) GoString() string {
  1838  	return s.String()
  1839  }
  1840  
  1841  // Validate inspects the fields of the type to determine if they are valid.
  1842  func (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.
  1882  func (s *ListChangeSetsInput) SetCatalog(v string) *ListChangeSetsInput {
  1883  	s.Catalog = &v
  1884  	return s
  1885  }
  1886  
  1887  // SetFilterList sets the FilterList field's value.
  1888  func (s *ListChangeSetsInput) SetFilterList(v []*Filter) *ListChangeSetsInput {
  1889  	s.FilterList = v
  1890  	return s
  1891  }
  1892  
  1893  // SetMaxResults sets the MaxResults field's value.
  1894  func (s *ListChangeSetsInput) SetMaxResults(v int64) *ListChangeSetsInput {
  1895  	s.MaxResults = &v
  1896  	return s
  1897  }
  1898  
  1899  // SetNextToken sets the NextToken field's value.
  1900  func (s *ListChangeSetsInput) SetNextToken(v string) *ListChangeSetsInput {
  1901  	s.NextToken = &v
  1902  	return s
  1903  }
  1904  
  1905  // SetSort sets the Sort field's value.
  1906  func (s *ListChangeSetsInput) SetSort(v *Sort) *ListChangeSetsInput {
  1907  	s.Sort = v
  1908  	return s
  1909  }
  1910  
  1911  type 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".
  1926  func (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".
  1935  func (s ListChangeSetsOutput) GoString() string {
  1936  	return s.String()
  1937  }
  1938  
  1939  // SetChangeSetSummaryList sets the ChangeSetSummaryList field's value.
  1940  func (s *ListChangeSetsOutput) SetChangeSetSummaryList(v []*ChangeSetSummaryListItem) *ListChangeSetsOutput {
  1941  	s.ChangeSetSummaryList = v
  1942  	return s
  1943  }
  1944  
  1945  // SetNextToken sets the NextToken field's value.
  1946  func (s *ListChangeSetsOutput) SetNextToken(v string) *ListChangeSetsOutput {
  1947  	s.NextToken = &v
  1948  	return s
  1949  }
  1950  
  1951  type 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".
  1984  func (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".
  1993  func (s ListEntitiesInput) GoString() string {
  1994  	return s.String()
  1995  }
  1996  
  1997  // Validate inspects the fields of the type to determine if they are valid.
  1998  func (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.
  2044  func (s *ListEntitiesInput) SetCatalog(v string) *ListEntitiesInput {
  2045  	s.Catalog = &v
  2046  	return s
  2047  }
  2048  
  2049  // SetEntityType sets the EntityType field's value.
  2050  func (s *ListEntitiesInput) SetEntityType(v string) *ListEntitiesInput {
  2051  	s.EntityType = &v
  2052  	return s
  2053  }
  2054  
  2055  // SetFilterList sets the FilterList field's value.
  2056  func (s *ListEntitiesInput) SetFilterList(v []*Filter) *ListEntitiesInput {
  2057  	s.FilterList = v
  2058  	return s
  2059  }
  2060  
  2061  // SetMaxResults sets the MaxResults field's value.
  2062  func (s *ListEntitiesInput) SetMaxResults(v int64) *ListEntitiesInput {
  2063  	s.MaxResults = &v
  2064  	return s
  2065  }
  2066  
  2067  // SetNextToken sets the NextToken field's value.
  2068  func (s *ListEntitiesInput) SetNextToken(v string) *ListEntitiesInput {
  2069  	s.NextToken = &v
  2070  	return s
  2071  }
  2072  
  2073  // SetSort sets the Sort field's value.
  2074  func (s *ListEntitiesInput) SetSort(v *Sort) *ListEntitiesInput {
  2075  	s.Sort = v
  2076  	return s
  2077  }
  2078  
  2079  type 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".
  2094  func (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".
  2103  func (s ListEntitiesOutput) GoString() string {
  2104  	return s.String()
  2105  }
  2106  
  2107  // SetEntitySummaryList sets the EntitySummaryList field's value.
  2108  func (s *ListEntitiesOutput) SetEntitySummaryList(v []*EntitySummary) *ListEntitiesOutput {
  2109  	s.EntitySummaryList = v
  2110  	return s
  2111  }
  2112  
  2113  // SetNextToken sets the NextToken field's value.
  2114  func (s *ListEntitiesOutput) SetNextToken(v string) *ListEntitiesOutput {
  2115  	s.NextToken = &v
  2116  	return s
  2117  }
  2118  
  2119  // The resource is currently in use.
  2120  type 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".
  2132  func (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".
  2141  func (s ResourceInUseException) GoString() string {
  2142  	return s.String()
  2143  }
  2144  
  2145  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
  2146  	return &ResourceInUseException{
  2147  		RespMetadata: v,
  2148  	}
  2149  }
  2150  
  2151  // Code returns the exception type name.
  2152  func (s *ResourceInUseException) Code() string {
  2153  	return "ResourceInUseException"
  2154  }
  2155  
  2156  // Message returns the exception's message.
  2157  func (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.
  2165  func (s *ResourceInUseException) OrigErr() error {
  2166  	return nil
  2167  }
  2168  
  2169  func (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.
  2174  func (s *ResourceInUseException) StatusCode() int {
  2175  	return s.RespMetadata.StatusCode
  2176  }
  2177  
  2178  // RequestID returns the service's response RequestID for request.
  2179  func (s *ResourceInUseException) RequestID() string {
  2180  	return s.RespMetadata.RequestID
  2181  }
  2182  
  2183  // The specified resource wasn't found.
  2184  type 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".
  2196  func (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".
  2205  func (s ResourceNotFoundException) GoString() string {
  2206  	return s.String()
  2207  }
  2208  
  2209  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  2210  	return &ResourceNotFoundException{
  2211  		RespMetadata: v,
  2212  	}
  2213  }
  2214  
  2215  // Code returns the exception type name.
  2216  func (s *ResourceNotFoundException) Code() string {
  2217  	return "ResourceNotFoundException"
  2218  }
  2219  
  2220  // Message returns the exception's message.
  2221  func (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.
  2229  func (s *ResourceNotFoundException) OrigErr() error {
  2230  	return nil
  2231  }
  2232  
  2233  func (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.
  2238  func (s *ResourceNotFoundException) StatusCode() int {
  2239  	return s.RespMetadata.StatusCode
  2240  }
  2241  
  2242  // RequestID returns the service's response RequestID for request.
  2243  func (s *ResourceNotFoundException) RequestID() string {
  2244  	return s.RespMetadata.RequestID
  2245  }
  2246  
  2247  // Currently, the specified resource is not supported.
  2248  type 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".
  2260  func (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".
  2269  func (s ResourceNotSupportedException) GoString() string {
  2270  	return s.String()
  2271  }
  2272  
  2273  func newErrorResourceNotSupportedException(v protocol.ResponseMetadata) error {
  2274  	return &ResourceNotSupportedException{
  2275  		RespMetadata: v,
  2276  	}
  2277  }
  2278  
  2279  // Code returns the exception type name.
  2280  func (s *ResourceNotSupportedException) Code() string {
  2281  	return "ResourceNotSupportedException"
  2282  }
  2283  
  2284  // Message returns the exception's message.
  2285  func (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.
  2293  func (s *ResourceNotSupportedException) OrigErr() error {
  2294  	return nil
  2295  }
  2296  
  2297  func (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.
  2302  func (s *ResourceNotSupportedException) StatusCode() int {
  2303  	return s.RespMetadata.StatusCode
  2304  }
  2305  
  2306  // RequestID returns the service's response RequestID for request.
  2307  func (s *ResourceNotSupportedException) RequestID() string {
  2308  	return s.RespMetadata.RequestID
  2309  }
  2310  
  2311  // The maximum number of open requests per account has been exceeded.
  2312  type 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".
  2324  func (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".
  2333  func (s ServiceQuotaExceededException) GoString() string {
  2334  	return s.String()
  2335  }
  2336  
  2337  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  2338  	return &ServiceQuotaExceededException{
  2339  		RespMetadata: v,
  2340  	}
  2341  }
  2342  
  2343  // Code returns the exception type name.
  2344  func (s *ServiceQuotaExceededException) Code() string {
  2345  	return "ServiceQuotaExceededException"
  2346  }
  2347  
  2348  // Message returns the exception's message.
  2349  func (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.
  2357  func (s *ServiceQuotaExceededException) OrigErr() error {
  2358  	return nil
  2359  }
  2360  
  2361  func (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.
  2366  func (s *ServiceQuotaExceededException) StatusCode() int {
  2367  	return s.RespMetadata.StatusCode
  2368  }
  2369  
  2370  // RequestID returns the service's response RequestID for request.
  2371  func (s *ServiceQuotaExceededException) RequestID() string {
  2372  	return s.RespMetadata.RequestID
  2373  }
  2374  
  2375  // An object that contains two attributes, SortBy and SortOrder.
  2376  type 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".
  2394  func (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".
  2403  func (s Sort) GoString() string {
  2404  	return s.String()
  2405  }
  2406  
  2407  // Validate inspects the fields of the type to determine if they are valid.
  2408  func (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.
  2421  func (s *Sort) SetSortBy(v string) *Sort {
  2422  	s.SortBy = &v
  2423  	return s
  2424  }
  2425  
  2426  // SetSortOrder sets the SortOrder field's value.
  2427  func (s *Sort) SetSortOrder(v string) *Sort {
  2428  	s.SortOrder = &v
  2429  	return s
  2430  }
  2431  
  2432  type 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".
  2458  func (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".
  2467  func (s StartChangeSetInput) GoString() string {
  2468  	return s.String()
  2469  }
  2470  
  2471  // Validate inspects the fields of the type to determine if they are valid.
  2472  func (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.
  2510  func (s *StartChangeSetInput) SetCatalog(v string) *StartChangeSetInput {
  2511  	s.Catalog = &v
  2512  	return s
  2513  }
  2514  
  2515  // SetChangeSet sets the ChangeSet field's value.
  2516  func (s *StartChangeSetInput) SetChangeSet(v []*Change) *StartChangeSetInput {
  2517  	s.ChangeSet = v
  2518  	return s
  2519  }
  2520  
  2521  // SetChangeSetName sets the ChangeSetName field's value.
  2522  func (s *StartChangeSetInput) SetChangeSetName(v string) *StartChangeSetInput {
  2523  	s.ChangeSetName = &v
  2524  	return s
  2525  }
  2526  
  2527  // SetClientRequestToken sets the ClientRequestToken field's value.
  2528  func (s *StartChangeSetInput) SetClientRequestToken(v string) *StartChangeSetInput {
  2529  	s.ClientRequestToken = &v
  2530  	return s
  2531  }
  2532  
  2533  type 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".
  2548  func (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".
  2557  func (s StartChangeSetOutput) GoString() string {
  2558  	return s.String()
  2559  }
  2560  
  2561  // SetChangeSetArn sets the ChangeSetArn field's value.
  2562  func (s *StartChangeSetOutput) SetChangeSetArn(v string) *StartChangeSetOutput {
  2563  	s.ChangeSetArn = &v
  2564  	return s
  2565  }
  2566  
  2567  // SetChangeSetId sets the ChangeSetId field's value.
  2568  func (s *StartChangeSetOutput) SetChangeSetId(v string) *StartChangeSetOutput {
  2569  	s.ChangeSetId = &v
  2570  	return s
  2571  }
  2572  
  2573  // Too many requests.
  2574  type 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".
  2586  func (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".
  2595  func (s ThrottlingException) GoString() string {
  2596  	return s.String()
  2597  }
  2598  
  2599  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  2600  	return &ThrottlingException{
  2601  		RespMetadata: v,
  2602  	}
  2603  }
  2604  
  2605  // Code returns the exception type name.
  2606  func (s *ThrottlingException) Code() string {
  2607  	return "ThrottlingException"
  2608  }
  2609  
  2610  // Message returns the exception's message.
  2611  func (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.
  2619  func (s *ThrottlingException) OrigErr() error {
  2620  	return nil
  2621  }
  2622  
  2623  func (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.
  2628  func (s *ThrottlingException) StatusCode() int {
  2629  	return s.RespMetadata.StatusCode
  2630  }
  2631  
  2632  // RequestID returns the service's response RequestID for request.
  2633  func (s *ThrottlingException) RequestID() string {
  2634  	return s.RespMetadata.RequestID
  2635  }
  2636  
  2637  // An error occurred during validation.
  2638  type 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".
  2650  func (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".
  2659  func (s ValidationException) GoString() string {
  2660  	return s.String()
  2661  }
  2662  
  2663  func newErrorValidationException(v protocol.ResponseMetadata) error {
  2664  	return &ValidationException{
  2665  		RespMetadata: v,
  2666  	}
  2667  }
  2668  
  2669  // Code returns the exception type name.
  2670  func (s *ValidationException) Code() string {
  2671  	return "ValidationException"
  2672  }
  2673  
  2674  // Message returns the exception's message.
  2675  func (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.
  2683  func (s *ValidationException) OrigErr() error {
  2684  	return nil
  2685  }
  2686  
  2687  func (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.
  2692  func (s *ValidationException) StatusCode() int {
  2693  	return s.RespMetadata.StatusCode
  2694  }
  2695  
  2696  // RequestID returns the service's response RequestID for request.
  2697  func (s *ValidationException) RequestID() string {
  2698  	return s.RespMetadata.RequestID
  2699  }
  2700  
  2701  const (
  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
  2719  func ChangeStatus_Values() []string {
  2720  	return []string{
  2721  		ChangeStatusPreparing,
  2722  		ChangeStatusApplying,
  2723  		ChangeStatusSucceeded,
  2724  		ChangeStatusCancelled,
  2725  		ChangeStatusFailed,
  2726  	}
  2727  }
  2728  
  2729  const (
  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
  2738  func FailureCode_Values() []string {
  2739  	return []string{
  2740  		FailureCodeClientError,
  2741  		FailureCodeServerFault,
  2742  	}
  2743  }
  2744  
  2745  const (
  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
  2754  func SortOrder_Values() []string {
  2755  	return []string{
  2756  		SortOrderAscending,
  2757  		SortOrderDescending,
  2758  	}
  2759  }