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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package servicecatalog
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opAcceptPortfolioShare = "AcceptPortfolioShare"
    17  
    18  // AcceptPortfolioShareRequest generates a "aws/request.Request" representing the
    19  // client's request for the AcceptPortfolioShare operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AcceptPortfolioShare for more information on using the AcceptPortfolioShare
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AcceptPortfolioShareRequest method.
    34  //    req, resp := client.AcceptPortfolioShareRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AcceptPortfolioShare
    42  func (c *ServiceCatalog) AcceptPortfolioShareRequest(input *AcceptPortfolioShareInput) (req *request.Request, output *AcceptPortfolioShareOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAcceptPortfolioShare,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AcceptPortfolioShareInput{}
    51  	}
    52  
    53  	output = &AcceptPortfolioShareOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AcceptPortfolioShare API operation for AWS Service Catalog.
    60  //
    61  // Accepts an offer to share the specified portfolio.
    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 Service Catalog's
    68  // API operation AcceptPortfolioShare for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * InvalidParametersException
    72  //   One or more parameters provided to the operation are not valid.
    73  //
    74  //   * ResourceNotFoundException
    75  //   The specified resource was not found.
    76  //
    77  //   * LimitExceededException
    78  //   The current limits of the service would have been exceeded by this operation.
    79  //   Decrease your resource use or increase your service limits and retry the
    80  //   operation.
    81  //
    82  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AcceptPortfolioShare
    83  func (c *ServiceCatalog) AcceptPortfolioShare(input *AcceptPortfolioShareInput) (*AcceptPortfolioShareOutput, error) {
    84  	req, out := c.AcceptPortfolioShareRequest(input)
    85  	return out, req.Send()
    86  }
    87  
    88  // AcceptPortfolioShareWithContext is the same as AcceptPortfolioShare with the addition of
    89  // the ability to pass a context and additional request options.
    90  //
    91  // See AcceptPortfolioShare for details on how to use this API operation.
    92  //
    93  // The context must be non-nil and will be used for request cancellation. If
    94  // the context is nil a panic will occur. In the future the SDK may create
    95  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    96  // for more information on using Contexts.
    97  func (c *ServiceCatalog) AcceptPortfolioShareWithContext(ctx aws.Context, input *AcceptPortfolioShareInput, opts ...request.Option) (*AcceptPortfolioShareOutput, error) {
    98  	req, out := c.AcceptPortfolioShareRequest(input)
    99  	req.SetContext(ctx)
   100  	req.ApplyOptions(opts...)
   101  	return out, req.Send()
   102  }
   103  
   104  const opAssociateBudgetWithResource = "AssociateBudgetWithResource"
   105  
   106  // AssociateBudgetWithResourceRequest generates a "aws/request.Request" representing the
   107  // client's request for the AssociateBudgetWithResource operation. The "output" return
   108  // value will be populated with the request's response once the request completes
   109  // successfully.
   110  //
   111  // Use "Send" method on the returned Request to send the API call to the service.
   112  // the "output" return value is not valid until after Send returns without error.
   113  //
   114  // See AssociateBudgetWithResource for more information on using the AssociateBudgetWithResource
   115  // API call, and error handling.
   116  //
   117  // This method is useful when you want to inject custom logic or configuration
   118  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   119  //
   120  //
   121  //    // Example sending a request using the AssociateBudgetWithResourceRequest method.
   122  //    req, resp := client.AssociateBudgetWithResourceRequest(params)
   123  //
   124  //    err := req.Send()
   125  //    if err == nil { // resp is now filled
   126  //        fmt.Println(resp)
   127  //    }
   128  //
   129  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateBudgetWithResource
   130  func (c *ServiceCatalog) AssociateBudgetWithResourceRequest(input *AssociateBudgetWithResourceInput) (req *request.Request, output *AssociateBudgetWithResourceOutput) {
   131  	op := &request.Operation{
   132  		Name:       opAssociateBudgetWithResource,
   133  		HTTPMethod: "POST",
   134  		HTTPPath:   "/",
   135  	}
   136  
   137  	if input == nil {
   138  		input = &AssociateBudgetWithResourceInput{}
   139  	}
   140  
   141  	output = &AssociateBudgetWithResourceOutput{}
   142  	req = c.newRequest(op, input, output)
   143  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   144  	return
   145  }
   146  
   147  // AssociateBudgetWithResource API operation for AWS Service Catalog.
   148  //
   149  // Associates the specified budget with the specified resource.
   150  //
   151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   152  // with awserr.Error's Code and Message methods to get detailed information about
   153  // the error.
   154  //
   155  // See the AWS API reference guide for AWS Service Catalog's
   156  // API operation AssociateBudgetWithResource for usage and error information.
   157  //
   158  // Returned Error Types:
   159  //   * InvalidParametersException
   160  //   One or more parameters provided to the operation are not valid.
   161  //
   162  //   * DuplicateResourceException
   163  //   The specified resource is a duplicate.
   164  //
   165  //   * LimitExceededException
   166  //   The current limits of the service would have been exceeded by this operation.
   167  //   Decrease your resource use or increase your service limits and retry the
   168  //   operation.
   169  //
   170  //   * ResourceNotFoundException
   171  //   The specified resource was not found.
   172  //
   173  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateBudgetWithResource
   174  func (c *ServiceCatalog) AssociateBudgetWithResource(input *AssociateBudgetWithResourceInput) (*AssociateBudgetWithResourceOutput, error) {
   175  	req, out := c.AssociateBudgetWithResourceRequest(input)
   176  	return out, req.Send()
   177  }
   178  
   179  // AssociateBudgetWithResourceWithContext is the same as AssociateBudgetWithResource with the addition of
   180  // the ability to pass a context and additional request options.
   181  //
   182  // See AssociateBudgetWithResource for details on how to use this API operation.
   183  //
   184  // The context must be non-nil and will be used for request cancellation. If
   185  // the context is nil a panic will occur. In the future the SDK may create
   186  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   187  // for more information on using Contexts.
   188  func (c *ServiceCatalog) AssociateBudgetWithResourceWithContext(ctx aws.Context, input *AssociateBudgetWithResourceInput, opts ...request.Option) (*AssociateBudgetWithResourceOutput, error) {
   189  	req, out := c.AssociateBudgetWithResourceRequest(input)
   190  	req.SetContext(ctx)
   191  	req.ApplyOptions(opts...)
   192  	return out, req.Send()
   193  }
   194  
   195  const opAssociatePrincipalWithPortfolio = "AssociatePrincipalWithPortfolio"
   196  
   197  // AssociatePrincipalWithPortfolioRequest generates a "aws/request.Request" representing the
   198  // client's request for the AssociatePrincipalWithPortfolio operation. The "output" return
   199  // value will be populated with the request's response once the request completes
   200  // successfully.
   201  //
   202  // Use "Send" method on the returned Request to send the API call to the service.
   203  // the "output" return value is not valid until after Send returns without error.
   204  //
   205  // See AssociatePrincipalWithPortfolio for more information on using the AssociatePrincipalWithPortfolio
   206  // API call, and error handling.
   207  //
   208  // This method is useful when you want to inject custom logic or configuration
   209  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   210  //
   211  //
   212  //    // Example sending a request using the AssociatePrincipalWithPortfolioRequest method.
   213  //    req, resp := client.AssociatePrincipalWithPortfolioRequest(params)
   214  //
   215  //    err := req.Send()
   216  //    if err == nil { // resp is now filled
   217  //        fmt.Println(resp)
   218  //    }
   219  //
   220  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociatePrincipalWithPortfolio
   221  func (c *ServiceCatalog) AssociatePrincipalWithPortfolioRequest(input *AssociatePrincipalWithPortfolioInput) (req *request.Request, output *AssociatePrincipalWithPortfolioOutput) {
   222  	op := &request.Operation{
   223  		Name:       opAssociatePrincipalWithPortfolio,
   224  		HTTPMethod: "POST",
   225  		HTTPPath:   "/",
   226  	}
   227  
   228  	if input == nil {
   229  		input = &AssociatePrincipalWithPortfolioInput{}
   230  	}
   231  
   232  	output = &AssociatePrincipalWithPortfolioOutput{}
   233  	req = c.newRequest(op, input, output)
   234  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   235  	return
   236  }
   237  
   238  // AssociatePrincipalWithPortfolio API operation for AWS Service Catalog.
   239  //
   240  // Associates the specified principal ARN with the specified portfolio.
   241  //
   242  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   243  // with awserr.Error's Code and Message methods to get detailed information about
   244  // the error.
   245  //
   246  // See the AWS API reference guide for AWS Service Catalog's
   247  // API operation AssociatePrincipalWithPortfolio for usage and error information.
   248  //
   249  // Returned Error Types:
   250  //   * InvalidParametersException
   251  //   One or more parameters provided to the operation are not valid.
   252  //
   253  //   * ResourceNotFoundException
   254  //   The specified resource was not found.
   255  //
   256  //   * LimitExceededException
   257  //   The current limits of the service would have been exceeded by this operation.
   258  //   Decrease your resource use or increase your service limits and retry the
   259  //   operation.
   260  //
   261  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociatePrincipalWithPortfolio
   262  func (c *ServiceCatalog) AssociatePrincipalWithPortfolio(input *AssociatePrincipalWithPortfolioInput) (*AssociatePrincipalWithPortfolioOutput, error) {
   263  	req, out := c.AssociatePrincipalWithPortfolioRequest(input)
   264  	return out, req.Send()
   265  }
   266  
   267  // AssociatePrincipalWithPortfolioWithContext is the same as AssociatePrincipalWithPortfolio with the addition of
   268  // the ability to pass a context and additional request options.
   269  //
   270  // See AssociatePrincipalWithPortfolio for details on how to use this API operation.
   271  //
   272  // The context must be non-nil and will be used for request cancellation. If
   273  // the context is nil a panic will occur. In the future the SDK may create
   274  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   275  // for more information on using Contexts.
   276  func (c *ServiceCatalog) AssociatePrincipalWithPortfolioWithContext(ctx aws.Context, input *AssociatePrincipalWithPortfolioInput, opts ...request.Option) (*AssociatePrincipalWithPortfolioOutput, error) {
   277  	req, out := c.AssociatePrincipalWithPortfolioRequest(input)
   278  	req.SetContext(ctx)
   279  	req.ApplyOptions(opts...)
   280  	return out, req.Send()
   281  }
   282  
   283  const opAssociateProductWithPortfolio = "AssociateProductWithPortfolio"
   284  
   285  // AssociateProductWithPortfolioRequest generates a "aws/request.Request" representing the
   286  // client's request for the AssociateProductWithPortfolio operation. The "output" return
   287  // value will be populated with the request's response once the request completes
   288  // successfully.
   289  //
   290  // Use "Send" method on the returned Request to send the API call to the service.
   291  // the "output" return value is not valid until after Send returns without error.
   292  //
   293  // See AssociateProductWithPortfolio for more information on using the AssociateProductWithPortfolio
   294  // API call, and error handling.
   295  //
   296  // This method is useful when you want to inject custom logic or configuration
   297  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   298  //
   299  //
   300  //    // Example sending a request using the AssociateProductWithPortfolioRequest method.
   301  //    req, resp := client.AssociateProductWithPortfolioRequest(params)
   302  //
   303  //    err := req.Send()
   304  //    if err == nil { // resp is now filled
   305  //        fmt.Println(resp)
   306  //    }
   307  //
   308  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateProductWithPortfolio
   309  func (c *ServiceCatalog) AssociateProductWithPortfolioRequest(input *AssociateProductWithPortfolioInput) (req *request.Request, output *AssociateProductWithPortfolioOutput) {
   310  	op := &request.Operation{
   311  		Name:       opAssociateProductWithPortfolio,
   312  		HTTPMethod: "POST",
   313  		HTTPPath:   "/",
   314  	}
   315  
   316  	if input == nil {
   317  		input = &AssociateProductWithPortfolioInput{}
   318  	}
   319  
   320  	output = &AssociateProductWithPortfolioOutput{}
   321  	req = c.newRequest(op, input, output)
   322  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   323  	return
   324  }
   325  
   326  // AssociateProductWithPortfolio API operation for AWS Service Catalog.
   327  //
   328  // Associates the specified product with the specified portfolio.
   329  //
   330  // A delegated admin is authorized to invoke this command.
   331  //
   332  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   333  // with awserr.Error's Code and Message methods to get detailed information about
   334  // the error.
   335  //
   336  // See the AWS API reference guide for AWS Service Catalog's
   337  // API operation AssociateProductWithPortfolio for usage and error information.
   338  //
   339  // Returned Error Types:
   340  //   * InvalidParametersException
   341  //   One or more parameters provided to the operation are not valid.
   342  //
   343  //   * ResourceNotFoundException
   344  //   The specified resource was not found.
   345  //
   346  //   * LimitExceededException
   347  //   The current limits of the service would have been exceeded by this operation.
   348  //   Decrease your resource use or increase your service limits and retry the
   349  //   operation.
   350  //
   351  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateProductWithPortfolio
   352  func (c *ServiceCatalog) AssociateProductWithPortfolio(input *AssociateProductWithPortfolioInput) (*AssociateProductWithPortfolioOutput, error) {
   353  	req, out := c.AssociateProductWithPortfolioRequest(input)
   354  	return out, req.Send()
   355  }
   356  
   357  // AssociateProductWithPortfolioWithContext is the same as AssociateProductWithPortfolio with the addition of
   358  // the ability to pass a context and additional request options.
   359  //
   360  // See AssociateProductWithPortfolio for details on how to use this API operation.
   361  //
   362  // The context must be non-nil and will be used for request cancellation. If
   363  // the context is nil a panic will occur. In the future the SDK may create
   364  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   365  // for more information on using Contexts.
   366  func (c *ServiceCatalog) AssociateProductWithPortfolioWithContext(ctx aws.Context, input *AssociateProductWithPortfolioInput, opts ...request.Option) (*AssociateProductWithPortfolioOutput, error) {
   367  	req, out := c.AssociateProductWithPortfolioRequest(input)
   368  	req.SetContext(ctx)
   369  	req.ApplyOptions(opts...)
   370  	return out, req.Send()
   371  }
   372  
   373  const opAssociateServiceActionWithProvisioningArtifact = "AssociateServiceActionWithProvisioningArtifact"
   374  
   375  // AssociateServiceActionWithProvisioningArtifactRequest generates a "aws/request.Request" representing the
   376  // client's request for the AssociateServiceActionWithProvisioningArtifact operation. The "output" return
   377  // value will be populated with the request's response once the request completes
   378  // successfully.
   379  //
   380  // Use "Send" method on the returned Request to send the API call to the service.
   381  // the "output" return value is not valid until after Send returns without error.
   382  //
   383  // See AssociateServiceActionWithProvisioningArtifact for more information on using the AssociateServiceActionWithProvisioningArtifact
   384  // API call, and error handling.
   385  //
   386  // This method is useful when you want to inject custom logic or configuration
   387  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   388  //
   389  //
   390  //    // Example sending a request using the AssociateServiceActionWithProvisioningArtifactRequest method.
   391  //    req, resp := client.AssociateServiceActionWithProvisioningArtifactRequest(params)
   392  //
   393  //    err := req.Send()
   394  //    if err == nil { // resp is now filled
   395  //        fmt.Println(resp)
   396  //    }
   397  //
   398  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateServiceActionWithProvisioningArtifact
   399  func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifactRequest(input *AssociateServiceActionWithProvisioningArtifactInput) (req *request.Request, output *AssociateServiceActionWithProvisioningArtifactOutput) {
   400  	op := &request.Operation{
   401  		Name:       opAssociateServiceActionWithProvisioningArtifact,
   402  		HTTPMethod: "POST",
   403  		HTTPPath:   "/",
   404  	}
   405  
   406  	if input == nil {
   407  		input = &AssociateServiceActionWithProvisioningArtifactInput{}
   408  	}
   409  
   410  	output = &AssociateServiceActionWithProvisioningArtifactOutput{}
   411  	req = c.newRequest(op, input, output)
   412  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   413  	return
   414  }
   415  
   416  // AssociateServiceActionWithProvisioningArtifact API operation for AWS Service Catalog.
   417  //
   418  // Associates a self-service action with a provisioning artifact.
   419  //
   420  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   421  // with awserr.Error's Code and Message methods to get detailed information about
   422  // the error.
   423  //
   424  // See the AWS API reference guide for AWS Service Catalog's
   425  // API operation AssociateServiceActionWithProvisioningArtifact for usage and error information.
   426  //
   427  // Returned Error Types:
   428  //   * ResourceNotFoundException
   429  //   The specified resource was not found.
   430  //
   431  //   * DuplicateResourceException
   432  //   The specified resource is a duplicate.
   433  //
   434  //   * LimitExceededException
   435  //   The current limits of the service would have been exceeded by this operation.
   436  //   Decrease your resource use or increase your service limits and retry the
   437  //   operation.
   438  //
   439  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateServiceActionWithProvisioningArtifact
   440  func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifact(input *AssociateServiceActionWithProvisioningArtifactInput) (*AssociateServiceActionWithProvisioningArtifactOutput, error) {
   441  	req, out := c.AssociateServiceActionWithProvisioningArtifactRequest(input)
   442  	return out, req.Send()
   443  }
   444  
   445  // AssociateServiceActionWithProvisioningArtifactWithContext is the same as AssociateServiceActionWithProvisioningArtifact with the addition of
   446  // the ability to pass a context and additional request options.
   447  //
   448  // See AssociateServiceActionWithProvisioningArtifact for details on how to use this API operation.
   449  //
   450  // The context must be non-nil and will be used for request cancellation. If
   451  // the context is nil a panic will occur. In the future the SDK may create
   452  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   453  // for more information on using Contexts.
   454  func (c *ServiceCatalog) AssociateServiceActionWithProvisioningArtifactWithContext(ctx aws.Context, input *AssociateServiceActionWithProvisioningArtifactInput, opts ...request.Option) (*AssociateServiceActionWithProvisioningArtifactOutput, error) {
   455  	req, out := c.AssociateServiceActionWithProvisioningArtifactRequest(input)
   456  	req.SetContext(ctx)
   457  	req.ApplyOptions(opts...)
   458  	return out, req.Send()
   459  }
   460  
   461  const opAssociateTagOptionWithResource = "AssociateTagOptionWithResource"
   462  
   463  // AssociateTagOptionWithResourceRequest generates a "aws/request.Request" representing the
   464  // client's request for the AssociateTagOptionWithResource operation. The "output" return
   465  // value will be populated with the request's response once the request completes
   466  // successfully.
   467  //
   468  // Use "Send" method on the returned Request to send the API call to the service.
   469  // the "output" return value is not valid until after Send returns without error.
   470  //
   471  // See AssociateTagOptionWithResource for more information on using the AssociateTagOptionWithResource
   472  // API call, and error handling.
   473  //
   474  // This method is useful when you want to inject custom logic or configuration
   475  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   476  //
   477  //
   478  //    // Example sending a request using the AssociateTagOptionWithResourceRequest method.
   479  //    req, resp := client.AssociateTagOptionWithResourceRequest(params)
   480  //
   481  //    err := req.Send()
   482  //    if err == nil { // resp is now filled
   483  //        fmt.Println(resp)
   484  //    }
   485  //
   486  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateTagOptionWithResource
   487  func (c *ServiceCatalog) AssociateTagOptionWithResourceRequest(input *AssociateTagOptionWithResourceInput) (req *request.Request, output *AssociateTagOptionWithResourceOutput) {
   488  	op := &request.Operation{
   489  		Name:       opAssociateTagOptionWithResource,
   490  		HTTPMethod: "POST",
   491  		HTTPPath:   "/",
   492  	}
   493  
   494  	if input == nil {
   495  		input = &AssociateTagOptionWithResourceInput{}
   496  	}
   497  
   498  	output = &AssociateTagOptionWithResourceOutput{}
   499  	req = c.newRequest(op, input, output)
   500  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   501  	return
   502  }
   503  
   504  // AssociateTagOptionWithResource API operation for AWS Service Catalog.
   505  //
   506  // Associate the specified TagOption with the specified portfolio or product.
   507  //
   508  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   509  // with awserr.Error's Code and Message methods to get detailed information about
   510  // the error.
   511  //
   512  // See the AWS API reference guide for AWS Service Catalog's
   513  // API operation AssociateTagOptionWithResource for usage and error information.
   514  //
   515  // Returned Error Types:
   516  //   * TagOptionNotMigratedException
   517  //   An operation requiring TagOptions failed because the TagOptions migration
   518  //   process has not been performed for this account. Please use the AWS console
   519  //   to perform the migration process before retrying the operation.
   520  //
   521  //   * ResourceNotFoundException
   522  //   The specified resource was not found.
   523  //
   524  //   * InvalidParametersException
   525  //   One or more parameters provided to the operation are not valid.
   526  //
   527  //   * LimitExceededException
   528  //   The current limits of the service would have been exceeded by this operation.
   529  //   Decrease your resource use or increase your service limits and retry the
   530  //   operation.
   531  //
   532  //   * DuplicateResourceException
   533  //   The specified resource is a duplicate.
   534  //
   535  //   * InvalidStateException
   536  //   An attempt was made to modify a resource that is in a state that is not valid.
   537  //   Check your resources to ensure that they are in valid states before retrying
   538  //   the operation.
   539  //
   540  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociateTagOptionWithResource
   541  func (c *ServiceCatalog) AssociateTagOptionWithResource(input *AssociateTagOptionWithResourceInput) (*AssociateTagOptionWithResourceOutput, error) {
   542  	req, out := c.AssociateTagOptionWithResourceRequest(input)
   543  	return out, req.Send()
   544  }
   545  
   546  // AssociateTagOptionWithResourceWithContext is the same as AssociateTagOptionWithResource with the addition of
   547  // the ability to pass a context and additional request options.
   548  //
   549  // See AssociateTagOptionWithResource for details on how to use this API operation.
   550  //
   551  // The context must be non-nil and will be used for request cancellation. If
   552  // the context is nil a panic will occur. In the future the SDK may create
   553  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   554  // for more information on using Contexts.
   555  func (c *ServiceCatalog) AssociateTagOptionWithResourceWithContext(ctx aws.Context, input *AssociateTagOptionWithResourceInput, opts ...request.Option) (*AssociateTagOptionWithResourceOutput, error) {
   556  	req, out := c.AssociateTagOptionWithResourceRequest(input)
   557  	req.SetContext(ctx)
   558  	req.ApplyOptions(opts...)
   559  	return out, req.Send()
   560  }
   561  
   562  const opBatchAssociateServiceActionWithProvisioningArtifact = "BatchAssociateServiceActionWithProvisioningArtifact"
   563  
   564  // BatchAssociateServiceActionWithProvisioningArtifactRequest generates a "aws/request.Request" representing the
   565  // client's request for the BatchAssociateServiceActionWithProvisioningArtifact operation. The "output" return
   566  // value will be populated with the request's response once the request completes
   567  // successfully.
   568  //
   569  // Use "Send" method on the returned Request to send the API call to the service.
   570  // the "output" return value is not valid until after Send returns without error.
   571  //
   572  // See BatchAssociateServiceActionWithProvisioningArtifact for more information on using the BatchAssociateServiceActionWithProvisioningArtifact
   573  // API call, and error handling.
   574  //
   575  // This method is useful when you want to inject custom logic or configuration
   576  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   577  //
   578  //
   579  //    // Example sending a request using the BatchAssociateServiceActionWithProvisioningArtifactRequest method.
   580  //    req, resp := client.BatchAssociateServiceActionWithProvisioningArtifactRequest(params)
   581  //
   582  //    err := req.Send()
   583  //    if err == nil { // resp is now filled
   584  //        fmt.Println(resp)
   585  //    }
   586  //
   587  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchAssociateServiceActionWithProvisioningArtifact
   588  func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifactRequest(input *BatchAssociateServiceActionWithProvisioningArtifactInput) (req *request.Request, output *BatchAssociateServiceActionWithProvisioningArtifactOutput) {
   589  	op := &request.Operation{
   590  		Name:       opBatchAssociateServiceActionWithProvisioningArtifact,
   591  		HTTPMethod: "POST",
   592  		HTTPPath:   "/",
   593  	}
   594  
   595  	if input == nil {
   596  		input = &BatchAssociateServiceActionWithProvisioningArtifactInput{}
   597  	}
   598  
   599  	output = &BatchAssociateServiceActionWithProvisioningArtifactOutput{}
   600  	req = c.newRequest(op, input, output)
   601  	return
   602  }
   603  
   604  // BatchAssociateServiceActionWithProvisioningArtifact API operation for AWS Service Catalog.
   605  //
   606  // Associates multiple self-service actions with provisioning artifacts.
   607  //
   608  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   609  // with awserr.Error's Code and Message methods to get detailed information about
   610  // the error.
   611  //
   612  // See the AWS API reference guide for AWS Service Catalog's
   613  // API operation BatchAssociateServiceActionWithProvisioningArtifact for usage and error information.
   614  //
   615  // Returned Error Types:
   616  //   * InvalidParametersException
   617  //   One or more parameters provided to the operation are not valid.
   618  //
   619  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchAssociateServiceActionWithProvisioningArtifact
   620  func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifact(input *BatchAssociateServiceActionWithProvisioningArtifactInput) (*BatchAssociateServiceActionWithProvisioningArtifactOutput, error) {
   621  	req, out := c.BatchAssociateServiceActionWithProvisioningArtifactRequest(input)
   622  	return out, req.Send()
   623  }
   624  
   625  // BatchAssociateServiceActionWithProvisioningArtifactWithContext is the same as BatchAssociateServiceActionWithProvisioningArtifact with the addition of
   626  // the ability to pass a context and additional request options.
   627  //
   628  // See BatchAssociateServiceActionWithProvisioningArtifact for details on how to use this API operation.
   629  //
   630  // The context must be non-nil and will be used for request cancellation. If
   631  // the context is nil a panic will occur. In the future the SDK may create
   632  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   633  // for more information on using Contexts.
   634  func (c *ServiceCatalog) BatchAssociateServiceActionWithProvisioningArtifactWithContext(ctx aws.Context, input *BatchAssociateServiceActionWithProvisioningArtifactInput, opts ...request.Option) (*BatchAssociateServiceActionWithProvisioningArtifactOutput, error) {
   635  	req, out := c.BatchAssociateServiceActionWithProvisioningArtifactRequest(input)
   636  	req.SetContext(ctx)
   637  	req.ApplyOptions(opts...)
   638  	return out, req.Send()
   639  }
   640  
   641  const opBatchDisassociateServiceActionFromProvisioningArtifact = "BatchDisassociateServiceActionFromProvisioningArtifact"
   642  
   643  // BatchDisassociateServiceActionFromProvisioningArtifactRequest generates a "aws/request.Request" representing the
   644  // client's request for the BatchDisassociateServiceActionFromProvisioningArtifact operation. The "output" return
   645  // value will be populated with the request's response once the request completes
   646  // successfully.
   647  //
   648  // Use "Send" method on the returned Request to send the API call to the service.
   649  // the "output" return value is not valid until after Send returns without error.
   650  //
   651  // See BatchDisassociateServiceActionFromProvisioningArtifact for more information on using the BatchDisassociateServiceActionFromProvisioningArtifact
   652  // API call, and error handling.
   653  //
   654  // This method is useful when you want to inject custom logic or configuration
   655  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   656  //
   657  //
   658  //    // Example sending a request using the BatchDisassociateServiceActionFromProvisioningArtifactRequest method.
   659  //    req, resp := client.BatchDisassociateServiceActionFromProvisioningArtifactRequest(params)
   660  //
   661  //    err := req.Send()
   662  //    if err == nil { // resp is now filled
   663  //        fmt.Println(resp)
   664  //    }
   665  //
   666  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchDisassociateServiceActionFromProvisioningArtifact
   667  func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifactRequest(input *BatchDisassociateServiceActionFromProvisioningArtifactInput) (req *request.Request, output *BatchDisassociateServiceActionFromProvisioningArtifactOutput) {
   668  	op := &request.Operation{
   669  		Name:       opBatchDisassociateServiceActionFromProvisioningArtifact,
   670  		HTTPMethod: "POST",
   671  		HTTPPath:   "/",
   672  	}
   673  
   674  	if input == nil {
   675  		input = &BatchDisassociateServiceActionFromProvisioningArtifactInput{}
   676  	}
   677  
   678  	output = &BatchDisassociateServiceActionFromProvisioningArtifactOutput{}
   679  	req = c.newRequest(op, input, output)
   680  	return
   681  }
   682  
   683  // BatchDisassociateServiceActionFromProvisioningArtifact API operation for AWS Service Catalog.
   684  //
   685  // Disassociates a batch of self-service actions from the specified provisioning
   686  // artifact.
   687  //
   688  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   689  // with awserr.Error's Code and Message methods to get detailed information about
   690  // the error.
   691  //
   692  // See the AWS API reference guide for AWS Service Catalog's
   693  // API operation BatchDisassociateServiceActionFromProvisioningArtifact for usage and error information.
   694  //
   695  // Returned Error Types:
   696  //   * InvalidParametersException
   697  //   One or more parameters provided to the operation are not valid.
   698  //
   699  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/BatchDisassociateServiceActionFromProvisioningArtifact
   700  func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifact(input *BatchDisassociateServiceActionFromProvisioningArtifactInput) (*BatchDisassociateServiceActionFromProvisioningArtifactOutput, error) {
   701  	req, out := c.BatchDisassociateServiceActionFromProvisioningArtifactRequest(input)
   702  	return out, req.Send()
   703  }
   704  
   705  // BatchDisassociateServiceActionFromProvisioningArtifactWithContext is the same as BatchDisassociateServiceActionFromProvisioningArtifact with the addition of
   706  // the ability to pass a context and additional request options.
   707  //
   708  // See BatchDisassociateServiceActionFromProvisioningArtifact for details on how to use this API operation.
   709  //
   710  // The context must be non-nil and will be used for request cancellation. If
   711  // the context is nil a panic will occur. In the future the SDK may create
   712  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   713  // for more information on using Contexts.
   714  func (c *ServiceCatalog) BatchDisassociateServiceActionFromProvisioningArtifactWithContext(ctx aws.Context, input *BatchDisassociateServiceActionFromProvisioningArtifactInput, opts ...request.Option) (*BatchDisassociateServiceActionFromProvisioningArtifactOutput, error) {
   715  	req, out := c.BatchDisassociateServiceActionFromProvisioningArtifactRequest(input)
   716  	req.SetContext(ctx)
   717  	req.ApplyOptions(opts...)
   718  	return out, req.Send()
   719  }
   720  
   721  const opCopyProduct = "CopyProduct"
   722  
   723  // CopyProductRequest generates a "aws/request.Request" representing the
   724  // client's request for the CopyProduct operation. The "output" return
   725  // value will be populated with the request's response once the request completes
   726  // successfully.
   727  //
   728  // Use "Send" method on the returned Request to send the API call to the service.
   729  // the "output" return value is not valid until after Send returns without error.
   730  //
   731  // See CopyProduct for more information on using the CopyProduct
   732  // API call, and error handling.
   733  //
   734  // This method is useful when you want to inject custom logic or configuration
   735  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   736  //
   737  //
   738  //    // Example sending a request using the CopyProductRequest method.
   739  //    req, resp := client.CopyProductRequest(params)
   740  //
   741  //    err := req.Send()
   742  //    if err == nil { // resp is now filled
   743  //        fmt.Println(resp)
   744  //    }
   745  //
   746  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct
   747  func (c *ServiceCatalog) CopyProductRequest(input *CopyProductInput) (req *request.Request, output *CopyProductOutput) {
   748  	op := &request.Operation{
   749  		Name:       opCopyProduct,
   750  		HTTPMethod: "POST",
   751  		HTTPPath:   "/",
   752  	}
   753  
   754  	if input == nil {
   755  		input = &CopyProductInput{}
   756  	}
   757  
   758  	output = &CopyProductOutput{}
   759  	req = c.newRequest(op, input, output)
   760  	return
   761  }
   762  
   763  // CopyProduct API operation for AWS Service Catalog.
   764  //
   765  // Copies the specified source product to the specified target product or a
   766  // new product.
   767  //
   768  // You can copy a product to the same account or another account. You can copy
   769  // a product to the same region or another region.
   770  //
   771  // This operation is performed asynchronously. To track the progress of the
   772  // operation, use DescribeCopyProductStatus.
   773  //
   774  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   775  // with awserr.Error's Code and Message methods to get detailed information about
   776  // the error.
   777  //
   778  // See the AWS API reference guide for AWS Service Catalog's
   779  // API operation CopyProduct for usage and error information.
   780  //
   781  // Returned Error Types:
   782  //   * ResourceNotFoundException
   783  //   The specified resource was not found.
   784  //
   785  //   * InvalidParametersException
   786  //   One or more parameters provided to the operation are not valid.
   787  //
   788  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct
   789  func (c *ServiceCatalog) CopyProduct(input *CopyProductInput) (*CopyProductOutput, error) {
   790  	req, out := c.CopyProductRequest(input)
   791  	return out, req.Send()
   792  }
   793  
   794  // CopyProductWithContext is the same as CopyProduct with the addition of
   795  // the ability to pass a context and additional request options.
   796  //
   797  // See CopyProduct for details on how to use this API operation.
   798  //
   799  // The context must be non-nil and will be used for request cancellation. If
   800  // the context is nil a panic will occur. In the future the SDK may create
   801  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   802  // for more information on using Contexts.
   803  func (c *ServiceCatalog) CopyProductWithContext(ctx aws.Context, input *CopyProductInput, opts ...request.Option) (*CopyProductOutput, error) {
   804  	req, out := c.CopyProductRequest(input)
   805  	req.SetContext(ctx)
   806  	req.ApplyOptions(opts...)
   807  	return out, req.Send()
   808  }
   809  
   810  const opCreateConstraint = "CreateConstraint"
   811  
   812  // CreateConstraintRequest generates a "aws/request.Request" representing the
   813  // client's request for the CreateConstraint operation. The "output" return
   814  // value will be populated with the request's response once the request completes
   815  // successfully.
   816  //
   817  // Use "Send" method on the returned Request to send the API call to the service.
   818  // the "output" return value is not valid until after Send returns without error.
   819  //
   820  // See CreateConstraint for more information on using the CreateConstraint
   821  // API call, and error handling.
   822  //
   823  // This method is useful when you want to inject custom logic or configuration
   824  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   825  //
   826  //
   827  //    // Example sending a request using the CreateConstraintRequest method.
   828  //    req, resp := client.CreateConstraintRequest(params)
   829  //
   830  //    err := req.Send()
   831  //    if err == nil { // resp is now filled
   832  //        fmt.Println(resp)
   833  //    }
   834  //
   835  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateConstraint
   836  func (c *ServiceCatalog) CreateConstraintRequest(input *CreateConstraintInput) (req *request.Request, output *CreateConstraintOutput) {
   837  	op := &request.Operation{
   838  		Name:       opCreateConstraint,
   839  		HTTPMethod: "POST",
   840  		HTTPPath:   "/",
   841  	}
   842  
   843  	if input == nil {
   844  		input = &CreateConstraintInput{}
   845  	}
   846  
   847  	output = &CreateConstraintOutput{}
   848  	req = c.newRequest(op, input, output)
   849  	return
   850  }
   851  
   852  // CreateConstraint API operation for AWS Service Catalog.
   853  //
   854  // Creates a constraint.
   855  //
   856  // A delegated admin is authorized to invoke this command.
   857  //
   858  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   859  // with awserr.Error's Code and Message methods to get detailed information about
   860  // the error.
   861  //
   862  // See the AWS API reference guide for AWS Service Catalog's
   863  // API operation CreateConstraint for usage and error information.
   864  //
   865  // Returned Error Types:
   866  //   * ResourceNotFoundException
   867  //   The specified resource was not found.
   868  //
   869  //   * InvalidParametersException
   870  //   One or more parameters provided to the operation are not valid.
   871  //
   872  //   * LimitExceededException
   873  //   The current limits of the service would have been exceeded by this operation.
   874  //   Decrease your resource use or increase your service limits and retry the
   875  //   operation.
   876  //
   877  //   * DuplicateResourceException
   878  //   The specified resource is a duplicate.
   879  //
   880  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateConstraint
   881  func (c *ServiceCatalog) CreateConstraint(input *CreateConstraintInput) (*CreateConstraintOutput, error) {
   882  	req, out := c.CreateConstraintRequest(input)
   883  	return out, req.Send()
   884  }
   885  
   886  // CreateConstraintWithContext is the same as CreateConstraint with the addition of
   887  // the ability to pass a context and additional request options.
   888  //
   889  // See CreateConstraint for details on how to use this API operation.
   890  //
   891  // The context must be non-nil and will be used for request cancellation. If
   892  // the context is nil a panic will occur. In the future the SDK may create
   893  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   894  // for more information on using Contexts.
   895  func (c *ServiceCatalog) CreateConstraintWithContext(ctx aws.Context, input *CreateConstraintInput, opts ...request.Option) (*CreateConstraintOutput, error) {
   896  	req, out := c.CreateConstraintRequest(input)
   897  	req.SetContext(ctx)
   898  	req.ApplyOptions(opts...)
   899  	return out, req.Send()
   900  }
   901  
   902  const opCreatePortfolio = "CreatePortfolio"
   903  
   904  // CreatePortfolioRequest generates a "aws/request.Request" representing the
   905  // client's request for the CreatePortfolio operation. The "output" return
   906  // value will be populated with the request's response once the request completes
   907  // successfully.
   908  //
   909  // Use "Send" method on the returned Request to send the API call to the service.
   910  // the "output" return value is not valid until after Send returns without error.
   911  //
   912  // See CreatePortfolio for more information on using the CreatePortfolio
   913  // API call, and error handling.
   914  //
   915  // This method is useful when you want to inject custom logic or configuration
   916  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   917  //
   918  //
   919  //    // Example sending a request using the CreatePortfolioRequest method.
   920  //    req, resp := client.CreatePortfolioRequest(params)
   921  //
   922  //    err := req.Send()
   923  //    if err == nil { // resp is now filled
   924  //        fmt.Println(resp)
   925  //    }
   926  //
   927  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolio
   928  func (c *ServiceCatalog) CreatePortfolioRequest(input *CreatePortfolioInput) (req *request.Request, output *CreatePortfolioOutput) {
   929  	op := &request.Operation{
   930  		Name:       opCreatePortfolio,
   931  		HTTPMethod: "POST",
   932  		HTTPPath:   "/",
   933  	}
   934  
   935  	if input == nil {
   936  		input = &CreatePortfolioInput{}
   937  	}
   938  
   939  	output = &CreatePortfolioOutput{}
   940  	req = c.newRequest(op, input, output)
   941  	return
   942  }
   943  
   944  // CreatePortfolio API operation for AWS Service Catalog.
   945  //
   946  // Creates a portfolio.
   947  //
   948  // A delegated admin is authorized to invoke this command.
   949  //
   950  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   951  // with awserr.Error's Code and Message methods to get detailed information about
   952  // the error.
   953  //
   954  // See the AWS API reference guide for AWS Service Catalog's
   955  // API operation CreatePortfolio for usage and error information.
   956  //
   957  // Returned Error Types:
   958  //   * InvalidParametersException
   959  //   One or more parameters provided to the operation are not valid.
   960  //
   961  //   * LimitExceededException
   962  //   The current limits of the service would have been exceeded by this operation.
   963  //   Decrease your resource use or increase your service limits and retry the
   964  //   operation.
   965  //
   966  //   * TagOptionNotMigratedException
   967  //   An operation requiring TagOptions failed because the TagOptions migration
   968  //   process has not been performed for this account. Please use the AWS console
   969  //   to perform the migration process before retrying the operation.
   970  //
   971  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolio
   972  func (c *ServiceCatalog) CreatePortfolio(input *CreatePortfolioInput) (*CreatePortfolioOutput, error) {
   973  	req, out := c.CreatePortfolioRequest(input)
   974  	return out, req.Send()
   975  }
   976  
   977  // CreatePortfolioWithContext is the same as CreatePortfolio with the addition of
   978  // the ability to pass a context and additional request options.
   979  //
   980  // See CreatePortfolio for details on how to use this API operation.
   981  //
   982  // The context must be non-nil and will be used for request cancellation. If
   983  // the context is nil a panic will occur. In the future the SDK may create
   984  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   985  // for more information on using Contexts.
   986  func (c *ServiceCatalog) CreatePortfolioWithContext(ctx aws.Context, input *CreatePortfolioInput, opts ...request.Option) (*CreatePortfolioOutput, error) {
   987  	req, out := c.CreatePortfolioRequest(input)
   988  	req.SetContext(ctx)
   989  	req.ApplyOptions(opts...)
   990  	return out, req.Send()
   991  }
   992  
   993  const opCreatePortfolioShare = "CreatePortfolioShare"
   994  
   995  // CreatePortfolioShareRequest generates a "aws/request.Request" representing the
   996  // client's request for the CreatePortfolioShare operation. The "output" return
   997  // value will be populated with the request's response once the request completes
   998  // successfully.
   999  //
  1000  // Use "Send" method on the returned Request to send the API call to the service.
  1001  // the "output" return value is not valid until after Send returns without error.
  1002  //
  1003  // See CreatePortfolioShare for more information on using the CreatePortfolioShare
  1004  // API call, and error handling.
  1005  //
  1006  // This method is useful when you want to inject custom logic or configuration
  1007  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1008  //
  1009  //
  1010  //    // Example sending a request using the CreatePortfolioShareRequest method.
  1011  //    req, resp := client.CreatePortfolioShareRequest(params)
  1012  //
  1013  //    err := req.Send()
  1014  //    if err == nil { // resp is now filled
  1015  //        fmt.Println(resp)
  1016  //    }
  1017  //
  1018  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShare
  1019  func (c *ServiceCatalog) CreatePortfolioShareRequest(input *CreatePortfolioShareInput) (req *request.Request, output *CreatePortfolioShareOutput) {
  1020  	op := &request.Operation{
  1021  		Name:       opCreatePortfolioShare,
  1022  		HTTPMethod: "POST",
  1023  		HTTPPath:   "/",
  1024  	}
  1025  
  1026  	if input == nil {
  1027  		input = &CreatePortfolioShareInput{}
  1028  	}
  1029  
  1030  	output = &CreatePortfolioShareOutput{}
  1031  	req = c.newRequest(op, input, output)
  1032  	return
  1033  }
  1034  
  1035  // CreatePortfolioShare API operation for AWS Service Catalog.
  1036  //
  1037  // Shares the specified portfolio with the specified account or organization
  1038  // node. Shares to an organization node can only be created by the management
  1039  // account of an organization or by a delegated administrator. You can share
  1040  // portfolios to an organization, an organizational unit, or a specific account.
  1041  //
  1042  // Note that if a delegated admin is de-registered, they can no longer create
  1043  // portfolio shares.
  1044  //
  1045  // AWSOrganizationsAccess must be enabled in order to create a portfolio share
  1046  // to an organization node.
  1047  //
  1048  // You can't share a shared resource, including portfolios that contain a shared
  1049  // product.
  1050  //
  1051  // If the portfolio share with the specified account or organization node already
  1052  // exists, this action will have no effect and will not return an error. To
  1053  // update an existing share, you must use the UpdatePortfolioShare API instead.
  1054  //
  1055  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1056  // with awserr.Error's Code and Message methods to get detailed information about
  1057  // the error.
  1058  //
  1059  // See the AWS API reference guide for AWS Service Catalog's
  1060  // API operation CreatePortfolioShare for usage and error information.
  1061  //
  1062  // Returned Error Types:
  1063  //   * ResourceNotFoundException
  1064  //   The specified resource was not found.
  1065  //
  1066  //   * LimitExceededException
  1067  //   The current limits of the service would have been exceeded by this operation.
  1068  //   Decrease your resource use or increase your service limits and retry the
  1069  //   operation.
  1070  //
  1071  //   * InvalidParametersException
  1072  //   One or more parameters provided to the operation are not valid.
  1073  //
  1074  //   * OperationNotSupportedException
  1075  //   The operation is not supported.
  1076  //
  1077  //   * InvalidStateException
  1078  //   An attempt was made to modify a resource that is in a state that is not valid.
  1079  //   Check your resources to ensure that they are in valid states before retrying
  1080  //   the operation.
  1081  //
  1082  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShare
  1083  func (c *ServiceCatalog) CreatePortfolioShare(input *CreatePortfolioShareInput) (*CreatePortfolioShareOutput, error) {
  1084  	req, out := c.CreatePortfolioShareRequest(input)
  1085  	return out, req.Send()
  1086  }
  1087  
  1088  // CreatePortfolioShareWithContext is the same as CreatePortfolioShare with the addition of
  1089  // the ability to pass a context and additional request options.
  1090  //
  1091  // See CreatePortfolioShare for details on how to use this API operation.
  1092  //
  1093  // The context must be non-nil and will be used for request cancellation. If
  1094  // the context is nil a panic will occur. In the future the SDK may create
  1095  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1096  // for more information on using Contexts.
  1097  func (c *ServiceCatalog) CreatePortfolioShareWithContext(ctx aws.Context, input *CreatePortfolioShareInput, opts ...request.Option) (*CreatePortfolioShareOutput, error) {
  1098  	req, out := c.CreatePortfolioShareRequest(input)
  1099  	req.SetContext(ctx)
  1100  	req.ApplyOptions(opts...)
  1101  	return out, req.Send()
  1102  }
  1103  
  1104  const opCreateProduct = "CreateProduct"
  1105  
  1106  // CreateProductRequest generates a "aws/request.Request" representing the
  1107  // client's request for the CreateProduct operation. The "output" return
  1108  // value will be populated with the request's response once the request completes
  1109  // successfully.
  1110  //
  1111  // Use "Send" method on the returned Request to send the API call to the service.
  1112  // the "output" return value is not valid until after Send returns without error.
  1113  //
  1114  // See CreateProduct for more information on using the CreateProduct
  1115  // API call, and error handling.
  1116  //
  1117  // This method is useful when you want to inject custom logic or configuration
  1118  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1119  //
  1120  //
  1121  //    // Example sending a request using the CreateProductRequest method.
  1122  //    req, resp := client.CreateProductRequest(params)
  1123  //
  1124  //    err := req.Send()
  1125  //    if err == nil { // resp is now filled
  1126  //        fmt.Println(resp)
  1127  //    }
  1128  //
  1129  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
  1130  func (c *ServiceCatalog) CreateProductRequest(input *CreateProductInput) (req *request.Request, output *CreateProductOutput) {
  1131  	op := &request.Operation{
  1132  		Name:       opCreateProduct,
  1133  		HTTPMethod: "POST",
  1134  		HTTPPath:   "/",
  1135  	}
  1136  
  1137  	if input == nil {
  1138  		input = &CreateProductInput{}
  1139  	}
  1140  
  1141  	output = &CreateProductOutput{}
  1142  	req = c.newRequest(op, input, output)
  1143  	return
  1144  }
  1145  
  1146  // CreateProduct API operation for AWS Service Catalog.
  1147  //
  1148  // Creates a product.
  1149  //
  1150  // A delegated admin is authorized to invoke this command.
  1151  //
  1152  // The user or role that performs this operation must have the cloudformation:GetTemplate
  1153  // IAM policy permission. This policy permission is required when using the
  1154  // ImportFromPhysicalId template source in the information data section.
  1155  //
  1156  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1157  // with awserr.Error's Code and Message methods to get detailed information about
  1158  // the error.
  1159  //
  1160  // See the AWS API reference guide for AWS Service Catalog's
  1161  // API operation CreateProduct for usage and error information.
  1162  //
  1163  // Returned Error Types:
  1164  //   * InvalidParametersException
  1165  //   One or more parameters provided to the operation are not valid.
  1166  //
  1167  //   * LimitExceededException
  1168  //   The current limits of the service would have been exceeded by this operation.
  1169  //   Decrease your resource use or increase your service limits and retry the
  1170  //   operation.
  1171  //
  1172  //   * TagOptionNotMigratedException
  1173  //   An operation requiring TagOptions failed because the TagOptions migration
  1174  //   process has not been performed for this account. Please use the AWS console
  1175  //   to perform the migration process before retrying the operation.
  1176  //
  1177  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProduct
  1178  func (c *ServiceCatalog) CreateProduct(input *CreateProductInput) (*CreateProductOutput, error) {
  1179  	req, out := c.CreateProductRequest(input)
  1180  	return out, req.Send()
  1181  }
  1182  
  1183  // CreateProductWithContext is the same as CreateProduct with the addition of
  1184  // the ability to pass a context and additional request options.
  1185  //
  1186  // See CreateProduct for details on how to use this API operation.
  1187  //
  1188  // The context must be non-nil and will be used for request cancellation. If
  1189  // the context is nil a panic will occur. In the future the SDK may create
  1190  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1191  // for more information on using Contexts.
  1192  func (c *ServiceCatalog) CreateProductWithContext(ctx aws.Context, input *CreateProductInput, opts ...request.Option) (*CreateProductOutput, error) {
  1193  	req, out := c.CreateProductRequest(input)
  1194  	req.SetContext(ctx)
  1195  	req.ApplyOptions(opts...)
  1196  	return out, req.Send()
  1197  }
  1198  
  1199  const opCreateProvisionedProductPlan = "CreateProvisionedProductPlan"
  1200  
  1201  // CreateProvisionedProductPlanRequest generates a "aws/request.Request" representing the
  1202  // client's request for the CreateProvisionedProductPlan operation. The "output" return
  1203  // value will be populated with the request's response once the request completes
  1204  // successfully.
  1205  //
  1206  // Use "Send" method on the returned Request to send the API call to the service.
  1207  // the "output" return value is not valid until after Send returns without error.
  1208  //
  1209  // See CreateProvisionedProductPlan for more information on using the CreateProvisionedProductPlan
  1210  // API call, and error handling.
  1211  //
  1212  // This method is useful when you want to inject custom logic or configuration
  1213  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1214  //
  1215  //
  1216  //    // Example sending a request using the CreateProvisionedProductPlanRequest method.
  1217  //    req, resp := client.CreateProvisionedProductPlanRequest(params)
  1218  //
  1219  //    err := req.Send()
  1220  //    if err == nil { // resp is now filled
  1221  //        fmt.Println(resp)
  1222  //    }
  1223  //
  1224  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
  1225  func (c *ServiceCatalog) CreateProvisionedProductPlanRequest(input *CreateProvisionedProductPlanInput) (req *request.Request, output *CreateProvisionedProductPlanOutput) {
  1226  	op := &request.Operation{
  1227  		Name:       opCreateProvisionedProductPlan,
  1228  		HTTPMethod: "POST",
  1229  		HTTPPath:   "/",
  1230  	}
  1231  
  1232  	if input == nil {
  1233  		input = &CreateProvisionedProductPlanInput{}
  1234  	}
  1235  
  1236  	output = &CreateProvisionedProductPlanOutput{}
  1237  	req = c.newRequest(op, input, output)
  1238  	return
  1239  }
  1240  
  1241  // CreateProvisionedProductPlan API operation for AWS Service Catalog.
  1242  //
  1243  // Creates a plan. A plan includes the list of resources to be created (when
  1244  // provisioning a new product) or modified (when updating a provisioned product)
  1245  // when the plan is executed.
  1246  //
  1247  // You can create one plan per provisioned product. To create a plan for an
  1248  // existing provisioned product, the product status must be AVAILBLE or TAINTED.
  1249  //
  1250  // To view the resource changes in the change set, use DescribeProvisionedProductPlan.
  1251  // To create or modify the provisioned product, use ExecuteProvisionedProductPlan.
  1252  //
  1253  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1254  // with awserr.Error's Code and Message methods to get detailed information about
  1255  // the error.
  1256  //
  1257  // See the AWS API reference guide for AWS Service Catalog's
  1258  // API operation CreateProvisionedProductPlan for usage and error information.
  1259  //
  1260  // Returned Error Types:
  1261  //   * InvalidParametersException
  1262  //   One or more parameters provided to the operation are not valid.
  1263  //
  1264  //   * ResourceNotFoundException
  1265  //   The specified resource was not found.
  1266  //
  1267  //   * InvalidStateException
  1268  //   An attempt was made to modify a resource that is in a state that is not valid.
  1269  //   Check your resources to ensure that they are in valid states before retrying
  1270  //   the operation.
  1271  //
  1272  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan
  1273  func (c *ServiceCatalog) CreateProvisionedProductPlan(input *CreateProvisionedProductPlanInput) (*CreateProvisionedProductPlanOutput, error) {
  1274  	req, out := c.CreateProvisionedProductPlanRequest(input)
  1275  	return out, req.Send()
  1276  }
  1277  
  1278  // CreateProvisionedProductPlanWithContext is the same as CreateProvisionedProductPlan with the addition of
  1279  // the ability to pass a context and additional request options.
  1280  //
  1281  // See CreateProvisionedProductPlan for details on how to use this API operation.
  1282  //
  1283  // The context must be non-nil and will be used for request cancellation. If
  1284  // the context is nil a panic will occur. In the future the SDK may create
  1285  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1286  // for more information on using Contexts.
  1287  func (c *ServiceCatalog) CreateProvisionedProductPlanWithContext(ctx aws.Context, input *CreateProvisionedProductPlanInput, opts ...request.Option) (*CreateProvisionedProductPlanOutput, error) {
  1288  	req, out := c.CreateProvisionedProductPlanRequest(input)
  1289  	req.SetContext(ctx)
  1290  	req.ApplyOptions(opts...)
  1291  	return out, req.Send()
  1292  }
  1293  
  1294  const opCreateProvisioningArtifact = "CreateProvisioningArtifact"
  1295  
  1296  // CreateProvisioningArtifactRequest generates a "aws/request.Request" representing the
  1297  // client's request for the CreateProvisioningArtifact operation. The "output" return
  1298  // value will be populated with the request's response once the request completes
  1299  // successfully.
  1300  //
  1301  // Use "Send" method on the returned Request to send the API call to the service.
  1302  // the "output" return value is not valid until after Send returns without error.
  1303  //
  1304  // See CreateProvisioningArtifact for more information on using the CreateProvisioningArtifact
  1305  // API call, and error handling.
  1306  //
  1307  // This method is useful when you want to inject custom logic or configuration
  1308  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1309  //
  1310  //
  1311  //    // Example sending a request using the CreateProvisioningArtifactRequest method.
  1312  //    req, resp := client.CreateProvisioningArtifactRequest(params)
  1313  //
  1314  //    err := req.Send()
  1315  //    if err == nil { // resp is now filled
  1316  //        fmt.Println(resp)
  1317  //    }
  1318  //
  1319  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
  1320  func (c *ServiceCatalog) CreateProvisioningArtifactRequest(input *CreateProvisioningArtifactInput) (req *request.Request, output *CreateProvisioningArtifactOutput) {
  1321  	op := &request.Operation{
  1322  		Name:       opCreateProvisioningArtifact,
  1323  		HTTPMethod: "POST",
  1324  		HTTPPath:   "/",
  1325  	}
  1326  
  1327  	if input == nil {
  1328  		input = &CreateProvisioningArtifactInput{}
  1329  	}
  1330  
  1331  	output = &CreateProvisioningArtifactOutput{}
  1332  	req = c.newRequest(op, input, output)
  1333  	return
  1334  }
  1335  
  1336  // CreateProvisioningArtifact API operation for AWS Service Catalog.
  1337  //
  1338  // Creates a provisioning artifact (also known as a version) for the specified
  1339  // product.
  1340  //
  1341  // You cannot create a provisioning artifact for a product that was shared with
  1342  // you.
  1343  //
  1344  // The user or role that performs this operation must have the cloudformation:GetTemplate
  1345  // IAM policy permission. This policy permission is required when using the
  1346  // ImportFromPhysicalId template source in the information data section.
  1347  //
  1348  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1349  // with awserr.Error's Code and Message methods to get detailed information about
  1350  // the error.
  1351  //
  1352  // See the AWS API reference guide for AWS Service Catalog's
  1353  // API operation CreateProvisioningArtifact for usage and error information.
  1354  //
  1355  // Returned Error Types:
  1356  //   * ResourceNotFoundException
  1357  //   The specified resource was not found.
  1358  //
  1359  //   * InvalidParametersException
  1360  //   One or more parameters provided to the operation are not valid.
  1361  //
  1362  //   * LimitExceededException
  1363  //   The current limits of the service would have been exceeded by this operation.
  1364  //   Decrease your resource use or increase your service limits and retry the
  1365  //   operation.
  1366  //
  1367  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisioningArtifact
  1368  func (c *ServiceCatalog) CreateProvisioningArtifact(input *CreateProvisioningArtifactInput) (*CreateProvisioningArtifactOutput, error) {
  1369  	req, out := c.CreateProvisioningArtifactRequest(input)
  1370  	return out, req.Send()
  1371  }
  1372  
  1373  // CreateProvisioningArtifactWithContext is the same as CreateProvisioningArtifact with the addition of
  1374  // the ability to pass a context and additional request options.
  1375  //
  1376  // See CreateProvisioningArtifact for details on how to use this API operation.
  1377  //
  1378  // The context must be non-nil and will be used for request cancellation. If
  1379  // the context is nil a panic will occur. In the future the SDK may create
  1380  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1381  // for more information on using Contexts.
  1382  func (c *ServiceCatalog) CreateProvisioningArtifactWithContext(ctx aws.Context, input *CreateProvisioningArtifactInput, opts ...request.Option) (*CreateProvisioningArtifactOutput, error) {
  1383  	req, out := c.CreateProvisioningArtifactRequest(input)
  1384  	req.SetContext(ctx)
  1385  	req.ApplyOptions(opts...)
  1386  	return out, req.Send()
  1387  }
  1388  
  1389  const opCreateServiceAction = "CreateServiceAction"
  1390  
  1391  // CreateServiceActionRequest generates a "aws/request.Request" representing the
  1392  // client's request for the CreateServiceAction operation. The "output" return
  1393  // value will be populated with the request's response once the request completes
  1394  // successfully.
  1395  //
  1396  // Use "Send" method on the returned Request to send the API call to the service.
  1397  // the "output" return value is not valid until after Send returns without error.
  1398  //
  1399  // See CreateServiceAction for more information on using the CreateServiceAction
  1400  // API call, and error handling.
  1401  //
  1402  // This method is useful when you want to inject custom logic or configuration
  1403  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1404  //
  1405  //
  1406  //    // Example sending a request using the CreateServiceActionRequest method.
  1407  //    req, resp := client.CreateServiceActionRequest(params)
  1408  //
  1409  //    err := req.Send()
  1410  //    if err == nil { // resp is now filled
  1411  //        fmt.Println(resp)
  1412  //    }
  1413  //
  1414  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
  1415  func (c *ServiceCatalog) CreateServiceActionRequest(input *CreateServiceActionInput) (req *request.Request, output *CreateServiceActionOutput) {
  1416  	op := &request.Operation{
  1417  		Name:       opCreateServiceAction,
  1418  		HTTPMethod: "POST",
  1419  		HTTPPath:   "/",
  1420  	}
  1421  
  1422  	if input == nil {
  1423  		input = &CreateServiceActionInput{}
  1424  	}
  1425  
  1426  	output = &CreateServiceActionOutput{}
  1427  	req = c.newRequest(op, input, output)
  1428  	return
  1429  }
  1430  
  1431  // CreateServiceAction API operation for AWS Service Catalog.
  1432  //
  1433  // Creates a self-service action.
  1434  //
  1435  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1436  // with awserr.Error's Code and Message methods to get detailed information about
  1437  // the error.
  1438  //
  1439  // See the AWS API reference guide for AWS Service Catalog's
  1440  // API operation CreateServiceAction for usage and error information.
  1441  //
  1442  // Returned Error Types:
  1443  //   * InvalidParametersException
  1444  //   One or more parameters provided to the operation are not valid.
  1445  //
  1446  //   * LimitExceededException
  1447  //   The current limits of the service would have been exceeded by this operation.
  1448  //   Decrease your resource use or increase your service limits and retry the
  1449  //   operation.
  1450  //
  1451  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateServiceAction
  1452  func (c *ServiceCatalog) CreateServiceAction(input *CreateServiceActionInput) (*CreateServiceActionOutput, error) {
  1453  	req, out := c.CreateServiceActionRequest(input)
  1454  	return out, req.Send()
  1455  }
  1456  
  1457  // CreateServiceActionWithContext is the same as CreateServiceAction with the addition of
  1458  // the ability to pass a context and additional request options.
  1459  //
  1460  // See CreateServiceAction for details on how to use this API operation.
  1461  //
  1462  // The context must be non-nil and will be used for request cancellation. If
  1463  // the context is nil a panic will occur. In the future the SDK may create
  1464  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1465  // for more information on using Contexts.
  1466  func (c *ServiceCatalog) CreateServiceActionWithContext(ctx aws.Context, input *CreateServiceActionInput, opts ...request.Option) (*CreateServiceActionOutput, error) {
  1467  	req, out := c.CreateServiceActionRequest(input)
  1468  	req.SetContext(ctx)
  1469  	req.ApplyOptions(opts...)
  1470  	return out, req.Send()
  1471  }
  1472  
  1473  const opCreateTagOption = "CreateTagOption"
  1474  
  1475  // CreateTagOptionRequest generates a "aws/request.Request" representing the
  1476  // client's request for the CreateTagOption operation. The "output" return
  1477  // value will be populated with the request's response once the request completes
  1478  // successfully.
  1479  //
  1480  // Use "Send" method on the returned Request to send the API call to the service.
  1481  // the "output" return value is not valid until after Send returns without error.
  1482  //
  1483  // See CreateTagOption for more information on using the CreateTagOption
  1484  // API call, and error handling.
  1485  //
  1486  // This method is useful when you want to inject custom logic or configuration
  1487  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1488  //
  1489  //
  1490  //    // Example sending a request using the CreateTagOptionRequest method.
  1491  //    req, resp := client.CreateTagOptionRequest(params)
  1492  //
  1493  //    err := req.Send()
  1494  //    if err == nil { // resp is now filled
  1495  //        fmt.Println(resp)
  1496  //    }
  1497  //
  1498  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
  1499  func (c *ServiceCatalog) CreateTagOptionRequest(input *CreateTagOptionInput) (req *request.Request, output *CreateTagOptionOutput) {
  1500  	op := &request.Operation{
  1501  		Name:       opCreateTagOption,
  1502  		HTTPMethod: "POST",
  1503  		HTTPPath:   "/",
  1504  	}
  1505  
  1506  	if input == nil {
  1507  		input = &CreateTagOptionInput{}
  1508  	}
  1509  
  1510  	output = &CreateTagOptionOutput{}
  1511  	req = c.newRequest(op, input, output)
  1512  	return
  1513  }
  1514  
  1515  // CreateTagOption API operation for AWS Service Catalog.
  1516  //
  1517  // Creates a TagOption.
  1518  //
  1519  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1520  // with awserr.Error's Code and Message methods to get detailed information about
  1521  // the error.
  1522  //
  1523  // See the AWS API reference guide for AWS Service Catalog's
  1524  // API operation CreateTagOption for usage and error information.
  1525  //
  1526  // Returned Error Types:
  1527  //   * TagOptionNotMigratedException
  1528  //   An operation requiring TagOptions failed because the TagOptions migration
  1529  //   process has not been performed for this account. Please use the AWS console
  1530  //   to perform the migration process before retrying the operation.
  1531  //
  1532  //   * DuplicateResourceException
  1533  //   The specified resource is a duplicate.
  1534  //
  1535  //   * LimitExceededException
  1536  //   The current limits of the service would have been exceeded by this operation.
  1537  //   Decrease your resource use or increase your service limits and retry the
  1538  //   operation.
  1539  //
  1540  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateTagOption
  1541  func (c *ServiceCatalog) CreateTagOption(input *CreateTagOptionInput) (*CreateTagOptionOutput, error) {
  1542  	req, out := c.CreateTagOptionRequest(input)
  1543  	return out, req.Send()
  1544  }
  1545  
  1546  // CreateTagOptionWithContext is the same as CreateTagOption with the addition of
  1547  // the ability to pass a context and additional request options.
  1548  //
  1549  // See CreateTagOption for details on how to use this API operation.
  1550  //
  1551  // The context must be non-nil and will be used for request cancellation. If
  1552  // the context is nil a panic will occur. In the future the SDK may create
  1553  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1554  // for more information on using Contexts.
  1555  func (c *ServiceCatalog) CreateTagOptionWithContext(ctx aws.Context, input *CreateTagOptionInput, opts ...request.Option) (*CreateTagOptionOutput, error) {
  1556  	req, out := c.CreateTagOptionRequest(input)
  1557  	req.SetContext(ctx)
  1558  	req.ApplyOptions(opts...)
  1559  	return out, req.Send()
  1560  }
  1561  
  1562  const opDeleteConstraint = "DeleteConstraint"
  1563  
  1564  // DeleteConstraintRequest generates a "aws/request.Request" representing the
  1565  // client's request for the DeleteConstraint operation. The "output" return
  1566  // value will be populated with the request's response once the request completes
  1567  // successfully.
  1568  //
  1569  // Use "Send" method on the returned Request to send the API call to the service.
  1570  // the "output" return value is not valid until after Send returns without error.
  1571  //
  1572  // See DeleteConstraint for more information on using the DeleteConstraint
  1573  // API call, and error handling.
  1574  //
  1575  // This method is useful when you want to inject custom logic or configuration
  1576  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1577  //
  1578  //
  1579  //    // Example sending a request using the DeleteConstraintRequest method.
  1580  //    req, resp := client.DeleteConstraintRequest(params)
  1581  //
  1582  //    err := req.Send()
  1583  //    if err == nil { // resp is now filled
  1584  //        fmt.Println(resp)
  1585  //    }
  1586  //
  1587  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
  1588  func (c *ServiceCatalog) DeleteConstraintRequest(input *DeleteConstraintInput) (req *request.Request, output *DeleteConstraintOutput) {
  1589  	op := &request.Operation{
  1590  		Name:       opDeleteConstraint,
  1591  		HTTPMethod: "POST",
  1592  		HTTPPath:   "/",
  1593  	}
  1594  
  1595  	if input == nil {
  1596  		input = &DeleteConstraintInput{}
  1597  	}
  1598  
  1599  	output = &DeleteConstraintOutput{}
  1600  	req = c.newRequest(op, input, output)
  1601  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1602  	return
  1603  }
  1604  
  1605  // DeleteConstraint API operation for AWS Service Catalog.
  1606  //
  1607  // Deletes the specified constraint.
  1608  //
  1609  // A delegated admin is authorized to invoke this command.
  1610  //
  1611  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1612  // with awserr.Error's Code and Message methods to get detailed information about
  1613  // the error.
  1614  //
  1615  // See the AWS API reference guide for AWS Service Catalog's
  1616  // API operation DeleteConstraint for usage and error information.
  1617  //
  1618  // Returned Error Types:
  1619  //   * ResourceNotFoundException
  1620  //   The specified resource was not found.
  1621  //
  1622  //   * InvalidParametersException
  1623  //   One or more parameters provided to the operation are not valid.
  1624  //
  1625  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteConstraint
  1626  func (c *ServiceCatalog) DeleteConstraint(input *DeleteConstraintInput) (*DeleteConstraintOutput, error) {
  1627  	req, out := c.DeleteConstraintRequest(input)
  1628  	return out, req.Send()
  1629  }
  1630  
  1631  // DeleteConstraintWithContext is the same as DeleteConstraint with the addition of
  1632  // the ability to pass a context and additional request options.
  1633  //
  1634  // See DeleteConstraint for details on how to use this API operation.
  1635  //
  1636  // The context must be non-nil and will be used for request cancellation. If
  1637  // the context is nil a panic will occur. In the future the SDK may create
  1638  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1639  // for more information on using Contexts.
  1640  func (c *ServiceCatalog) DeleteConstraintWithContext(ctx aws.Context, input *DeleteConstraintInput, opts ...request.Option) (*DeleteConstraintOutput, error) {
  1641  	req, out := c.DeleteConstraintRequest(input)
  1642  	req.SetContext(ctx)
  1643  	req.ApplyOptions(opts...)
  1644  	return out, req.Send()
  1645  }
  1646  
  1647  const opDeletePortfolio = "DeletePortfolio"
  1648  
  1649  // DeletePortfolioRequest generates a "aws/request.Request" representing the
  1650  // client's request for the DeletePortfolio operation. The "output" return
  1651  // value will be populated with the request's response once the request completes
  1652  // successfully.
  1653  //
  1654  // Use "Send" method on the returned Request to send the API call to the service.
  1655  // the "output" return value is not valid until after Send returns without error.
  1656  //
  1657  // See DeletePortfolio for more information on using the DeletePortfolio
  1658  // API call, and error handling.
  1659  //
  1660  // This method is useful when you want to inject custom logic or configuration
  1661  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1662  //
  1663  //
  1664  //    // Example sending a request using the DeletePortfolioRequest method.
  1665  //    req, resp := client.DeletePortfolioRequest(params)
  1666  //
  1667  //    err := req.Send()
  1668  //    if err == nil { // resp is now filled
  1669  //        fmt.Println(resp)
  1670  //    }
  1671  //
  1672  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
  1673  func (c *ServiceCatalog) DeletePortfolioRequest(input *DeletePortfolioInput) (req *request.Request, output *DeletePortfolioOutput) {
  1674  	op := &request.Operation{
  1675  		Name:       opDeletePortfolio,
  1676  		HTTPMethod: "POST",
  1677  		HTTPPath:   "/",
  1678  	}
  1679  
  1680  	if input == nil {
  1681  		input = &DeletePortfolioInput{}
  1682  	}
  1683  
  1684  	output = &DeletePortfolioOutput{}
  1685  	req = c.newRequest(op, input, output)
  1686  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1687  	return
  1688  }
  1689  
  1690  // DeletePortfolio API operation for AWS Service Catalog.
  1691  //
  1692  // Deletes the specified portfolio.
  1693  //
  1694  // You cannot delete a portfolio if it was shared with you or if it has associated
  1695  // products, users, constraints, or shared accounts.
  1696  //
  1697  // A delegated admin is authorized to invoke this command.
  1698  //
  1699  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1700  // with awserr.Error's Code and Message methods to get detailed information about
  1701  // the error.
  1702  //
  1703  // See the AWS API reference guide for AWS Service Catalog's
  1704  // API operation DeletePortfolio for usage and error information.
  1705  //
  1706  // Returned Error Types:
  1707  //   * ResourceNotFoundException
  1708  //   The specified resource was not found.
  1709  //
  1710  //   * InvalidParametersException
  1711  //   One or more parameters provided to the operation are not valid.
  1712  //
  1713  //   * ResourceInUseException
  1714  //   A resource that is currently in use. Ensure that the resource is not in use
  1715  //   and retry the operation.
  1716  //
  1717  //   * TagOptionNotMigratedException
  1718  //   An operation requiring TagOptions failed because the TagOptions migration
  1719  //   process has not been performed for this account. Please use the AWS console
  1720  //   to perform the migration process before retrying the operation.
  1721  //
  1722  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolio
  1723  func (c *ServiceCatalog) DeletePortfolio(input *DeletePortfolioInput) (*DeletePortfolioOutput, error) {
  1724  	req, out := c.DeletePortfolioRequest(input)
  1725  	return out, req.Send()
  1726  }
  1727  
  1728  // DeletePortfolioWithContext is the same as DeletePortfolio with the addition of
  1729  // the ability to pass a context and additional request options.
  1730  //
  1731  // See DeletePortfolio for details on how to use this API operation.
  1732  //
  1733  // The context must be non-nil and will be used for request cancellation. If
  1734  // the context is nil a panic will occur. In the future the SDK may create
  1735  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1736  // for more information on using Contexts.
  1737  func (c *ServiceCatalog) DeletePortfolioWithContext(ctx aws.Context, input *DeletePortfolioInput, opts ...request.Option) (*DeletePortfolioOutput, error) {
  1738  	req, out := c.DeletePortfolioRequest(input)
  1739  	req.SetContext(ctx)
  1740  	req.ApplyOptions(opts...)
  1741  	return out, req.Send()
  1742  }
  1743  
  1744  const opDeletePortfolioShare = "DeletePortfolioShare"
  1745  
  1746  // DeletePortfolioShareRequest generates a "aws/request.Request" representing the
  1747  // client's request for the DeletePortfolioShare operation. The "output" return
  1748  // value will be populated with the request's response once the request completes
  1749  // successfully.
  1750  //
  1751  // Use "Send" method on the returned Request to send the API call to the service.
  1752  // the "output" return value is not valid until after Send returns without error.
  1753  //
  1754  // See DeletePortfolioShare for more information on using the DeletePortfolioShare
  1755  // API call, and error handling.
  1756  //
  1757  // This method is useful when you want to inject custom logic or configuration
  1758  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1759  //
  1760  //
  1761  //    // Example sending a request using the DeletePortfolioShareRequest method.
  1762  //    req, resp := client.DeletePortfolioShareRequest(params)
  1763  //
  1764  //    err := req.Send()
  1765  //    if err == nil { // resp is now filled
  1766  //        fmt.Println(resp)
  1767  //    }
  1768  //
  1769  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
  1770  func (c *ServiceCatalog) DeletePortfolioShareRequest(input *DeletePortfolioShareInput) (req *request.Request, output *DeletePortfolioShareOutput) {
  1771  	op := &request.Operation{
  1772  		Name:       opDeletePortfolioShare,
  1773  		HTTPMethod: "POST",
  1774  		HTTPPath:   "/",
  1775  	}
  1776  
  1777  	if input == nil {
  1778  		input = &DeletePortfolioShareInput{}
  1779  	}
  1780  
  1781  	output = &DeletePortfolioShareOutput{}
  1782  	req = c.newRequest(op, input, output)
  1783  	return
  1784  }
  1785  
  1786  // DeletePortfolioShare API operation for AWS Service Catalog.
  1787  //
  1788  // Stops sharing the specified portfolio with the specified account or organization
  1789  // node. Shares to an organization node can only be deleted by the management
  1790  // account of an organization or by a delegated administrator.
  1791  //
  1792  // Note that if a delegated admin is de-registered, portfolio shares created
  1793  // from that account are removed.
  1794  //
  1795  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1796  // with awserr.Error's Code and Message methods to get detailed information about
  1797  // the error.
  1798  //
  1799  // See the AWS API reference guide for AWS Service Catalog's
  1800  // API operation DeletePortfolioShare for usage and error information.
  1801  //
  1802  // Returned Error Types:
  1803  //   * ResourceNotFoundException
  1804  //   The specified resource was not found.
  1805  //
  1806  //   * InvalidParametersException
  1807  //   One or more parameters provided to the operation are not valid.
  1808  //
  1809  //   * OperationNotSupportedException
  1810  //   The operation is not supported.
  1811  //
  1812  //   * InvalidStateException
  1813  //   An attempt was made to modify a resource that is in a state that is not valid.
  1814  //   Check your resources to ensure that they are in valid states before retrying
  1815  //   the operation.
  1816  //
  1817  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeletePortfolioShare
  1818  func (c *ServiceCatalog) DeletePortfolioShare(input *DeletePortfolioShareInput) (*DeletePortfolioShareOutput, error) {
  1819  	req, out := c.DeletePortfolioShareRequest(input)
  1820  	return out, req.Send()
  1821  }
  1822  
  1823  // DeletePortfolioShareWithContext is the same as DeletePortfolioShare with the addition of
  1824  // the ability to pass a context and additional request options.
  1825  //
  1826  // See DeletePortfolioShare for details on how to use this API operation.
  1827  //
  1828  // The context must be non-nil and will be used for request cancellation. If
  1829  // the context is nil a panic will occur. In the future the SDK may create
  1830  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1831  // for more information on using Contexts.
  1832  func (c *ServiceCatalog) DeletePortfolioShareWithContext(ctx aws.Context, input *DeletePortfolioShareInput, opts ...request.Option) (*DeletePortfolioShareOutput, error) {
  1833  	req, out := c.DeletePortfolioShareRequest(input)
  1834  	req.SetContext(ctx)
  1835  	req.ApplyOptions(opts...)
  1836  	return out, req.Send()
  1837  }
  1838  
  1839  const opDeleteProduct = "DeleteProduct"
  1840  
  1841  // DeleteProductRequest generates a "aws/request.Request" representing the
  1842  // client's request for the DeleteProduct operation. The "output" return
  1843  // value will be populated with the request's response once the request completes
  1844  // successfully.
  1845  //
  1846  // Use "Send" method on the returned Request to send the API call to the service.
  1847  // the "output" return value is not valid until after Send returns without error.
  1848  //
  1849  // See DeleteProduct for more information on using the DeleteProduct
  1850  // API call, and error handling.
  1851  //
  1852  // This method is useful when you want to inject custom logic or configuration
  1853  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1854  //
  1855  //
  1856  //    // Example sending a request using the DeleteProductRequest method.
  1857  //    req, resp := client.DeleteProductRequest(params)
  1858  //
  1859  //    err := req.Send()
  1860  //    if err == nil { // resp is now filled
  1861  //        fmt.Println(resp)
  1862  //    }
  1863  //
  1864  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
  1865  func (c *ServiceCatalog) DeleteProductRequest(input *DeleteProductInput) (req *request.Request, output *DeleteProductOutput) {
  1866  	op := &request.Operation{
  1867  		Name:       opDeleteProduct,
  1868  		HTTPMethod: "POST",
  1869  		HTTPPath:   "/",
  1870  	}
  1871  
  1872  	if input == nil {
  1873  		input = &DeleteProductInput{}
  1874  	}
  1875  
  1876  	output = &DeleteProductOutput{}
  1877  	req = c.newRequest(op, input, output)
  1878  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1879  	return
  1880  }
  1881  
  1882  // DeleteProduct API operation for AWS Service Catalog.
  1883  //
  1884  // Deletes the specified product.
  1885  //
  1886  // You cannot delete a product if it was shared with you or is associated with
  1887  // a portfolio.
  1888  //
  1889  // A delegated admin is authorized to invoke this command.
  1890  //
  1891  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1892  // with awserr.Error's Code and Message methods to get detailed information about
  1893  // the error.
  1894  //
  1895  // See the AWS API reference guide for AWS Service Catalog's
  1896  // API operation DeleteProduct for usage and error information.
  1897  //
  1898  // Returned Error Types:
  1899  //   * ResourceNotFoundException
  1900  //   The specified resource was not found.
  1901  //
  1902  //   * ResourceInUseException
  1903  //   A resource that is currently in use. Ensure that the resource is not in use
  1904  //   and retry the operation.
  1905  //
  1906  //   * InvalidParametersException
  1907  //   One or more parameters provided to the operation are not valid.
  1908  //
  1909  //   * TagOptionNotMigratedException
  1910  //   An operation requiring TagOptions failed because the TagOptions migration
  1911  //   process has not been performed for this account. Please use the AWS console
  1912  //   to perform the migration process before retrying the operation.
  1913  //
  1914  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProduct
  1915  func (c *ServiceCatalog) DeleteProduct(input *DeleteProductInput) (*DeleteProductOutput, error) {
  1916  	req, out := c.DeleteProductRequest(input)
  1917  	return out, req.Send()
  1918  }
  1919  
  1920  // DeleteProductWithContext is the same as DeleteProduct with the addition of
  1921  // the ability to pass a context and additional request options.
  1922  //
  1923  // See DeleteProduct for details on how to use this API operation.
  1924  //
  1925  // The context must be non-nil and will be used for request cancellation. If
  1926  // the context is nil a panic will occur. In the future the SDK may create
  1927  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1928  // for more information on using Contexts.
  1929  func (c *ServiceCatalog) DeleteProductWithContext(ctx aws.Context, input *DeleteProductInput, opts ...request.Option) (*DeleteProductOutput, error) {
  1930  	req, out := c.DeleteProductRequest(input)
  1931  	req.SetContext(ctx)
  1932  	req.ApplyOptions(opts...)
  1933  	return out, req.Send()
  1934  }
  1935  
  1936  const opDeleteProvisionedProductPlan = "DeleteProvisionedProductPlan"
  1937  
  1938  // DeleteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
  1939  // client's request for the DeleteProvisionedProductPlan operation. The "output" return
  1940  // value will be populated with the request's response once the request completes
  1941  // successfully.
  1942  //
  1943  // Use "Send" method on the returned Request to send the API call to the service.
  1944  // the "output" return value is not valid until after Send returns without error.
  1945  //
  1946  // See DeleteProvisionedProductPlan for more information on using the DeleteProvisionedProductPlan
  1947  // API call, and error handling.
  1948  //
  1949  // This method is useful when you want to inject custom logic or configuration
  1950  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1951  //
  1952  //
  1953  //    // Example sending a request using the DeleteProvisionedProductPlanRequest method.
  1954  //    req, resp := client.DeleteProvisionedProductPlanRequest(params)
  1955  //
  1956  //    err := req.Send()
  1957  //    if err == nil { // resp is now filled
  1958  //        fmt.Println(resp)
  1959  //    }
  1960  //
  1961  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
  1962  func (c *ServiceCatalog) DeleteProvisionedProductPlanRequest(input *DeleteProvisionedProductPlanInput) (req *request.Request, output *DeleteProvisionedProductPlanOutput) {
  1963  	op := &request.Operation{
  1964  		Name:       opDeleteProvisionedProductPlan,
  1965  		HTTPMethod: "POST",
  1966  		HTTPPath:   "/",
  1967  	}
  1968  
  1969  	if input == nil {
  1970  		input = &DeleteProvisionedProductPlanInput{}
  1971  	}
  1972  
  1973  	output = &DeleteProvisionedProductPlanOutput{}
  1974  	req = c.newRequest(op, input, output)
  1975  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1976  	return
  1977  }
  1978  
  1979  // DeleteProvisionedProductPlan API operation for AWS Service Catalog.
  1980  //
  1981  // Deletes the specified plan.
  1982  //
  1983  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1984  // with awserr.Error's Code and Message methods to get detailed information about
  1985  // the error.
  1986  //
  1987  // See the AWS API reference guide for AWS Service Catalog's
  1988  // API operation DeleteProvisionedProductPlan for usage and error information.
  1989  //
  1990  // Returned Error Types:
  1991  //   * InvalidParametersException
  1992  //   One or more parameters provided to the operation are not valid.
  1993  //
  1994  //   * ResourceNotFoundException
  1995  //   The specified resource was not found.
  1996  //
  1997  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisionedProductPlan
  1998  func (c *ServiceCatalog) DeleteProvisionedProductPlan(input *DeleteProvisionedProductPlanInput) (*DeleteProvisionedProductPlanOutput, error) {
  1999  	req, out := c.DeleteProvisionedProductPlanRequest(input)
  2000  	return out, req.Send()
  2001  }
  2002  
  2003  // DeleteProvisionedProductPlanWithContext is the same as DeleteProvisionedProductPlan with the addition of
  2004  // the ability to pass a context and additional request options.
  2005  //
  2006  // See DeleteProvisionedProductPlan for details on how to use this API operation.
  2007  //
  2008  // The context must be non-nil and will be used for request cancellation. If
  2009  // the context is nil a panic will occur. In the future the SDK may create
  2010  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2011  // for more information on using Contexts.
  2012  func (c *ServiceCatalog) DeleteProvisionedProductPlanWithContext(ctx aws.Context, input *DeleteProvisionedProductPlanInput, opts ...request.Option) (*DeleteProvisionedProductPlanOutput, error) {
  2013  	req, out := c.DeleteProvisionedProductPlanRequest(input)
  2014  	req.SetContext(ctx)
  2015  	req.ApplyOptions(opts...)
  2016  	return out, req.Send()
  2017  }
  2018  
  2019  const opDeleteProvisioningArtifact = "DeleteProvisioningArtifact"
  2020  
  2021  // DeleteProvisioningArtifactRequest generates a "aws/request.Request" representing the
  2022  // client's request for the DeleteProvisioningArtifact operation. The "output" return
  2023  // value will be populated with the request's response once the request completes
  2024  // successfully.
  2025  //
  2026  // Use "Send" method on the returned Request to send the API call to the service.
  2027  // the "output" return value is not valid until after Send returns without error.
  2028  //
  2029  // See DeleteProvisioningArtifact for more information on using the DeleteProvisioningArtifact
  2030  // API call, and error handling.
  2031  //
  2032  // This method is useful when you want to inject custom logic or configuration
  2033  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2034  //
  2035  //
  2036  //    // Example sending a request using the DeleteProvisioningArtifactRequest method.
  2037  //    req, resp := client.DeleteProvisioningArtifactRequest(params)
  2038  //
  2039  //    err := req.Send()
  2040  //    if err == nil { // resp is now filled
  2041  //        fmt.Println(resp)
  2042  //    }
  2043  //
  2044  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
  2045  func (c *ServiceCatalog) DeleteProvisioningArtifactRequest(input *DeleteProvisioningArtifactInput) (req *request.Request, output *DeleteProvisioningArtifactOutput) {
  2046  	op := &request.Operation{
  2047  		Name:       opDeleteProvisioningArtifact,
  2048  		HTTPMethod: "POST",
  2049  		HTTPPath:   "/",
  2050  	}
  2051  
  2052  	if input == nil {
  2053  		input = &DeleteProvisioningArtifactInput{}
  2054  	}
  2055  
  2056  	output = &DeleteProvisioningArtifactOutput{}
  2057  	req = c.newRequest(op, input, output)
  2058  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2059  	return
  2060  }
  2061  
  2062  // DeleteProvisioningArtifact API operation for AWS Service Catalog.
  2063  //
  2064  // Deletes the specified provisioning artifact (also known as a version) for
  2065  // the specified product.
  2066  //
  2067  // You cannot delete a provisioning artifact associated with a product that
  2068  // was shared with you. You cannot delete the last provisioning artifact for
  2069  // a product, because a product must have at least one provisioning artifact.
  2070  //
  2071  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2072  // with awserr.Error's Code and Message methods to get detailed information about
  2073  // the error.
  2074  //
  2075  // See the AWS API reference guide for AWS Service Catalog's
  2076  // API operation DeleteProvisioningArtifact for usage and error information.
  2077  //
  2078  // Returned Error Types:
  2079  //   * ResourceNotFoundException
  2080  //   The specified resource was not found.
  2081  //
  2082  //   * ResourceInUseException
  2083  //   A resource that is currently in use. Ensure that the resource is not in use
  2084  //   and retry the operation.
  2085  //
  2086  //   * InvalidParametersException
  2087  //   One or more parameters provided to the operation are not valid.
  2088  //
  2089  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteProvisioningArtifact
  2090  func (c *ServiceCatalog) DeleteProvisioningArtifact(input *DeleteProvisioningArtifactInput) (*DeleteProvisioningArtifactOutput, error) {
  2091  	req, out := c.DeleteProvisioningArtifactRequest(input)
  2092  	return out, req.Send()
  2093  }
  2094  
  2095  // DeleteProvisioningArtifactWithContext is the same as DeleteProvisioningArtifact with the addition of
  2096  // the ability to pass a context and additional request options.
  2097  //
  2098  // See DeleteProvisioningArtifact for details on how to use this API operation.
  2099  //
  2100  // The context must be non-nil and will be used for request cancellation. If
  2101  // the context is nil a panic will occur. In the future the SDK may create
  2102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2103  // for more information on using Contexts.
  2104  func (c *ServiceCatalog) DeleteProvisioningArtifactWithContext(ctx aws.Context, input *DeleteProvisioningArtifactInput, opts ...request.Option) (*DeleteProvisioningArtifactOutput, error) {
  2105  	req, out := c.DeleteProvisioningArtifactRequest(input)
  2106  	req.SetContext(ctx)
  2107  	req.ApplyOptions(opts...)
  2108  	return out, req.Send()
  2109  }
  2110  
  2111  const opDeleteServiceAction = "DeleteServiceAction"
  2112  
  2113  // DeleteServiceActionRequest generates a "aws/request.Request" representing the
  2114  // client's request for the DeleteServiceAction operation. The "output" return
  2115  // value will be populated with the request's response once the request completes
  2116  // successfully.
  2117  //
  2118  // Use "Send" method on the returned Request to send the API call to the service.
  2119  // the "output" return value is not valid until after Send returns without error.
  2120  //
  2121  // See DeleteServiceAction for more information on using the DeleteServiceAction
  2122  // API call, and error handling.
  2123  //
  2124  // This method is useful when you want to inject custom logic or configuration
  2125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2126  //
  2127  //
  2128  //    // Example sending a request using the DeleteServiceActionRequest method.
  2129  //    req, resp := client.DeleteServiceActionRequest(params)
  2130  //
  2131  //    err := req.Send()
  2132  //    if err == nil { // resp is now filled
  2133  //        fmt.Println(resp)
  2134  //    }
  2135  //
  2136  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
  2137  func (c *ServiceCatalog) DeleteServiceActionRequest(input *DeleteServiceActionInput) (req *request.Request, output *DeleteServiceActionOutput) {
  2138  	op := &request.Operation{
  2139  		Name:       opDeleteServiceAction,
  2140  		HTTPMethod: "POST",
  2141  		HTTPPath:   "/",
  2142  	}
  2143  
  2144  	if input == nil {
  2145  		input = &DeleteServiceActionInput{}
  2146  	}
  2147  
  2148  	output = &DeleteServiceActionOutput{}
  2149  	req = c.newRequest(op, input, output)
  2150  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2151  	return
  2152  }
  2153  
  2154  // DeleteServiceAction API operation for AWS Service Catalog.
  2155  //
  2156  // Deletes a self-service action.
  2157  //
  2158  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2159  // with awserr.Error's Code and Message methods to get detailed information about
  2160  // the error.
  2161  //
  2162  // See the AWS API reference guide for AWS Service Catalog's
  2163  // API operation DeleteServiceAction for usage and error information.
  2164  //
  2165  // Returned Error Types:
  2166  //   * ResourceNotFoundException
  2167  //   The specified resource was not found.
  2168  //
  2169  //   * ResourceInUseException
  2170  //   A resource that is currently in use. Ensure that the resource is not in use
  2171  //   and retry the operation.
  2172  //
  2173  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteServiceAction
  2174  func (c *ServiceCatalog) DeleteServiceAction(input *DeleteServiceActionInput) (*DeleteServiceActionOutput, error) {
  2175  	req, out := c.DeleteServiceActionRequest(input)
  2176  	return out, req.Send()
  2177  }
  2178  
  2179  // DeleteServiceActionWithContext is the same as DeleteServiceAction with the addition of
  2180  // the ability to pass a context and additional request options.
  2181  //
  2182  // See DeleteServiceAction for details on how to use this API operation.
  2183  //
  2184  // The context must be non-nil and will be used for request cancellation. If
  2185  // the context is nil a panic will occur. In the future the SDK may create
  2186  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2187  // for more information on using Contexts.
  2188  func (c *ServiceCatalog) DeleteServiceActionWithContext(ctx aws.Context, input *DeleteServiceActionInput, opts ...request.Option) (*DeleteServiceActionOutput, error) {
  2189  	req, out := c.DeleteServiceActionRequest(input)
  2190  	req.SetContext(ctx)
  2191  	req.ApplyOptions(opts...)
  2192  	return out, req.Send()
  2193  }
  2194  
  2195  const opDeleteTagOption = "DeleteTagOption"
  2196  
  2197  // DeleteTagOptionRequest generates a "aws/request.Request" representing the
  2198  // client's request for the DeleteTagOption operation. The "output" return
  2199  // value will be populated with the request's response once the request completes
  2200  // successfully.
  2201  //
  2202  // Use "Send" method on the returned Request to send the API call to the service.
  2203  // the "output" return value is not valid until after Send returns without error.
  2204  //
  2205  // See DeleteTagOption for more information on using the DeleteTagOption
  2206  // API call, and error handling.
  2207  //
  2208  // This method is useful when you want to inject custom logic or configuration
  2209  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2210  //
  2211  //
  2212  //    // Example sending a request using the DeleteTagOptionRequest method.
  2213  //    req, resp := client.DeleteTagOptionRequest(params)
  2214  //
  2215  //    err := req.Send()
  2216  //    if err == nil { // resp is now filled
  2217  //        fmt.Println(resp)
  2218  //    }
  2219  //
  2220  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
  2221  func (c *ServiceCatalog) DeleteTagOptionRequest(input *DeleteTagOptionInput) (req *request.Request, output *DeleteTagOptionOutput) {
  2222  	op := &request.Operation{
  2223  		Name:       opDeleteTagOption,
  2224  		HTTPMethod: "POST",
  2225  		HTTPPath:   "/",
  2226  	}
  2227  
  2228  	if input == nil {
  2229  		input = &DeleteTagOptionInput{}
  2230  	}
  2231  
  2232  	output = &DeleteTagOptionOutput{}
  2233  	req = c.newRequest(op, input, output)
  2234  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2235  	return
  2236  }
  2237  
  2238  // DeleteTagOption API operation for AWS Service Catalog.
  2239  //
  2240  // Deletes the specified TagOption.
  2241  //
  2242  // You cannot delete a TagOption if it is associated with a product or portfolio.
  2243  //
  2244  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2245  // with awserr.Error's Code and Message methods to get detailed information about
  2246  // the error.
  2247  //
  2248  // See the AWS API reference guide for AWS Service Catalog's
  2249  // API operation DeleteTagOption for usage and error information.
  2250  //
  2251  // Returned Error Types:
  2252  //   * TagOptionNotMigratedException
  2253  //   An operation requiring TagOptions failed because the TagOptions migration
  2254  //   process has not been performed for this account. Please use the AWS console
  2255  //   to perform the migration process before retrying the operation.
  2256  //
  2257  //   * ResourceInUseException
  2258  //   A resource that is currently in use. Ensure that the resource is not in use
  2259  //   and retry the operation.
  2260  //
  2261  //   * ResourceNotFoundException
  2262  //   The specified resource was not found.
  2263  //
  2264  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DeleteTagOption
  2265  func (c *ServiceCatalog) DeleteTagOption(input *DeleteTagOptionInput) (*DeleteTagOptionOutput, error) {
  2266  	req, out := c.DeleteTagOptionRequest(input)
  2267  	return out, req.Send()
  2268  }
  2269  
  2270  // DeleteTagOptionWithContext is the same as DeleteTagOption with the addition of
  2271  // the ability to pass a context and additional request options.
  2272  //
  2273  // See DeleteTagOption for details on how to use this API operation.
  2274  //
  2275  // The context must be non-nil and will be used for request cancellation. If
  2276  // the context is nil a panic will occur. In the future the SDK may create
  2277  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2278  // for more information on using Contexts.
  2279  func (c *ServiceCatalog) DeleteTagOptionWithContext(ctx aws.Context, input *DeleteTagOptionInput, opts ...request.Option) (*DeleteTagOptionOutput, error) {
  2280  	req, out := c.DeleteTagOptionRequest(input)
  2281  	req.SetContext(ctx)
  2282  	req.ApplyOptions(opts...)
  2283  	return out, req.Send()
  2284  }
  2285  
  2286  const opDescribeConstraint = "DescribeConstraint"
  2287  
  2288  // DescribeConstraintRequest generates a "aws/request.Request" representing the
  2289  // client's request for the DescribeConstraint operation. The "output" return
  2290  // value will be populated with the request's response once the request completes
  2291  // successfully.
  2292  //
  2293  // Use "Send" method on the returned Request to send the API call to the service.
  2294  // the "output" return value is not valid until after Send returns without error.
  2295  //
  2296  // See DescribeConstraint for more information on using the DescribeConstraint
  2297  // API call, and error handling.
  2298  //
  2299  // This method is useful when you want to inject custom logic or configuration
  2300  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2301  //
  2302  //
  2303  //    // Example sending a request using the DescribeConstraintRequest method.
  2304  //    req, resp := client.DescribeConstraintRequest(params)
  2305  //
  2306  //    err := req.Send()
  2307  //    if err == nil { // resp is now filled
  2308  //        fmt.Println(resp)
  2309  //    }
  2310  //
  2311  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
  2312  func (c *ServiceCatalog) DescribeConstraintRequest(input *DescribeConstraintInput) (req *request.Request, output *DescribeConstraintOutput) {
  2313  	op := &request.Operation{
  2314  		Name:       opDescribeConstraint,
  2315  		HTTPMethod: "POST",
  2316  		HTTPPath:   "/",
  2317  	}
  2318  
  2319  	if input == nil {
  2320  		input = &DescribeConstraintInput{}
  2321  	}
  2322  
  2323  	output = &DescribeConstraintOutput{}
  2324  	req = c.newRequest(op, input, output)
  2325  	return
  2326  }
  2327  
  2328  // DescribeConstraint API operation for AWS Service Catalog.
  2329  //
  2330  // Gets information about the specified constraint.
  2331  //
  2332  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2333  // with awserr.Error's Code and Message methods to get detailed information about
  2334  // the error.
  2335  //
  2336  // See the AWS API reference guide for AWS Service Catalog's
  2337  // API operation DescribeConstraint for usage and error information.
  2338  //
  2339  // Returned Error Types:
  2340  //   * ResourceNotFoundException
  2341  //   The specified resource was not found.
  2342  //
  2343  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeConstraint
  2344  func (c *ServiceCatalog) DescribeConstraint(input *DescribeConstraintInput) (*DescribeConstraintOutput, error) {
  2345  	req, out := c.DescribeConstraintRequest(input)
  2346  	return out, req.Send()
  2347  }
  2348  
  2349  // DescribeConstraintWithContext is the same as DescribeConstraint with the addition of
  2350  // the ability to pass a context and additional request options.
  2351  //
  2352  // See DescribeConstraint for details on how to use this API operation.
  2353  //
  2354  // The context must be non-nil and will be used for request cancellation. If
  2355  // the context is nil a panic will occur. In the future the SDK may create
  2356  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2357  // for more information on using Contexts.
  2358  func (c *ServiceCatalog) DescribeConstraintWithContext(ctx aws.Context, input *DescribeConstraintInput, opts ...request.Option) (*DescribeConstraintOutput, error) {
  2359  	req, out := c.DescribeConstraintRequest(input)
  2360  	req.SetContext(ctx)
  2361  	req.ApplyOptions(opts...)
  2362  	return out, req.Send()
  2363  }
  2364  
  2365  const opDescribeCopyProductStatus = "DescribeCopyProductStatus"
  2366  
  2367  // DescribeCopyProductStatusRequest generates a "aws/request.Request" representing the
  2368  // client's request for the DescribeCopyProductStatus operation. The "output" return
  2369  // value will be populated with the request's response once the request completes
  2370  // successfully.
  2371  //
  2372  // Use "Send" method on the returned Request to send the API call to the service.
  2373  // the "output" return value is not valid until after Send returns without error.
  2374  //
  2375  // See DescribeCopyProductStatus for more information on using the DescribeCopyProductStatus
  2376  // API call, and error handling.
  2377  //
  2378  // This method is useful when you want to inject custom logic or configuration
  2379  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2380  //
  2381  //
  2382  //    // Example sending a request using the DescribeCopyProductStatusRequest method.
  2383  //    req, resp := client.DescribeCopyProductStatusRequest(params)
  2384  //
  2385  //    err := req.Send()
  2386  //    if err == nil { // resp is now filled
  2387  //        fmt.Println(resp)
  2388  //    }
  2389  //
  2390  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
  2391  func (c *ServiceCatalog) DescribeCopyProductStatusRequest(input *DescribeCopyProductStatusInput) (req *request.Request, output *DescribeCopyProductStatusOutput) {
  2392  	op := &request.Operation{
  2393  		Name:       opDescribeCopyProductStatus,
  2394  		HTTPMethod: "POST",
  2395  		HTTPPath:   "/",
  2396  	}
  2397  
  2398  	if input == nil {
  2399  		input = &DescribeCopyProductStatusInput{}
  2400  	}
  2401  
  2402  	output = &DescribeCopyProductStatusOutput{}
  2403  	req = c.newRequest(op, input, output)
  2404  	return
  2405  }
  2406  
  2407  // DescribeCopyProductStatus API operation for AWS Service Catalog.
  2408  //
  2409  // Gets the status of the specified copy product operation.
  2410  //
  2411  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2412  // with awserr.Error's Code and Message methods to get detailed information about
  2413  // the error.
  2414  //
  2415  // See the AWS API reference guide for AWS Service Catalog's
  2416  // API operation DescribeCopyProductStatus for usage and error information.
  2417  //
  2418  // Returned Error Types:
  2419  //   * ResourceNotFoundException
  2420  //   The specified resource was not found.
  2421  //
  2422  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus
  2423  func (c *ServiceCatalog) DescribeCopyProductStatus(input *DescribeCopyProductStatusInput) (*DescribeCopyProductStatusOutput, error) {
  2424  	req, out := c.DescribeCopyProductStatusRequest(input)
  2425  	return out, req.Send()
  2426  }
  2427  
  2428  // DescribeCopyProductStatusWithContext is the same as DescribeCopyProductStatus with the addition of
  2429  // the ability to pass a context and additional request options.
  2430  //
  2431  // See DescribeCopyProductStatus for details on how to use this API operation.
  2432  //
  2433  // The context must be non-nil and will be used for request cancellation. If
  2434  // the context is nil a panic will occur. In the future the SDK may create
  2435  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2436  // for more information on using Contexts.
  2437  func (c *ServiceCatalog) DescribeCopyProductStatusWithContext(ctx aws.Context, input *DescribeCopyProductStatusInput, opts ...request.Option) (*DescribeCopyProductStatusOutput, error) {
  2438  	req, out := c.DescribeCopyProductStatusRequest(input)
  2439  	req.SetContext(ctx)
  2440  	req.ApplyOptions(opts...)
  2441  	return out, req.Send()
  2442  }
  2443  
  2444  const opDescribePortfolio = "DescribePortfolio"
  2445  
  2446  // DescribePortfolioRequest generates a "aws/request.Request" representing the
  2447  // client's request for the DescribePortfolio operation. The "output" return
  2448  // value will be populated with the request's response once the request completes
  2449  // successfully.
  2450  //
  2451  // Use "Send" method on the returned Request to send the API call to the service.
  2452  // the "output" return value is not valid until after Send returns without error.
  2453  //
  2454  // See DescribePortfolio for more information on using the DescribePortfolio
  2455  // API call, and error handling.
  2456  //
  2457  // This method is useful when you want to inject custom logic or configuration
  2458  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2459  //
  2460  //
  2461  //    // Example sending a request using the DescribePortfolioRequest method.
  2462  //    req, resp := client.DescribePortfolioRequest(params)
  2463  //
  2464  //    err := req.Send()
  2465  //    if err == nil { // resp is now filled
  2466  //        fmt.Println(resp)
  2467  //    }
  2468  //
  2469  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
  2470  func (c *ServiceCatalog) DescribePortfolioRequest(input *DescribePortfolioInput) (req *request.Request, output *DescribePortfolioOutput) {
  2471  	op := &request.Operation{
  2472  		Name:       opDescribePortfolio,
  2473  		HTTPMethod: "POST",
  2474  		HTTPPath:   "/",
  2475  	}
  2476  
  2477  	if input == nil {
  2478  		input = &DescribePortfolioInput{}
  2479  	}
  2480  
  2481  	output = &DescribePortfolioOutput{}
  2482  	req = c.newRequest(op, input, output)
  2483  	return
  2484  }
  2485  
  2486  // DescribePortfolio API operation for AWS Service Catalog.
  2487  //
  2488  // Gets information about the specified portfolio.
  2489  //
  2490  // A delegated admin is authorized to invoke this command.
  2491  //
  2492  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2493  // with awserr.Error's Code and Message methods to get detailed information about
  2494  // the error.
  2495  //
  2496  // See the AWS API reference guide for AWS Service Catalog's
  2497  // API operation DescribePortfolio for usage and error information.
  2498  //
  2499  // Returned Error Types:
  2500  //   * ResourceNotFoundException
  2501  //   The specified resource was not found.
  2502  //
  2503  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolio
  2504  func (c *ServiceCatalog) DescribePortfolio(input *DescribePortfolioInput) (*DescribePortfolioOutput, error) {
  2505  	req, out := c.DescribePortfolioRequest(input)
  2506  	return out, req.Send()
  2507  }
  2508  
  2509  // DescribePortfolioWithContext is the same as DescribePortfolio with the addition of
  2510  // the ability to pass a context and additional request options.
  2511  //
  2512  // See DescribePortfolio for details on how to use this API operation.
  2513  //
  2514  // The context must be non-nil and will be used for request cancellation. If
  2515  // the context is nil a panic will occur. In the future the SDK may create
  2516  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2517  // for more information on using Contexts.
  2518  func (c *ServiceCatalog) DescribePortfolioWithContext(ctx aws.Context, input *DescribePortfolioInput, opts ...request.Option) (*DescribePortfolioOutput, error) {
  2519  	req, out := c.DescribePortfolioRequest(input)
  2520  	req.SetContext(ctx)
  2521  	req.ApplyOptions(opts...)
  2522  	return out, req.Send()
  2523  }
  2524  
  2525  const opDescribePortfolioShareStatus = "DescribePortfolioShareStatus"
  2526  
  2527  // DescribePortfolioShareStatusRequest generates a "aws/request.Request" representing the
  2528  // client's request for the DescribePortfolioShareStatus operation. The "output" return
  2529  // value will be populated with the request's response once the request completes
  2530  // successfully.
  2531  //
  2532  // Use "Send" method on the returned Request to send the API call to the service.
  2533  // the "output" return value is not valid until after Send returns without error.
  2534  //
  2535  // See DescribePortfolioShareStatus for more information on using the DescribePortfolioShareStatus
  2536  // API call, and error handling.
  2537  //
  2538  // This method is useful when you want to inject custom logic or configuration
  2539  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2540  //
  2541  //
  2542  //    // Example sending a request using the DescribePortfolioShareStatusRequest method.
  2543  //    req, resp := client.DescribePortfolioShareStatusRequest(params)
  2544  //
  2545  //    err := req.Send()
  2546  //    if err == nil { // resp is now filled
  2547  //        fmt.Println(resp)
  2548  //    }
  2549  //
  2550  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
  2551  func (c *ServiceCatalog) DescribePortfolioShareStatusRequest(input *DescribePortfolioShareStatusInput) (req *request.Request, output *DescribePortfolioShareStatusOutput) {
  2552  	op := &request.Operation{
  2553  		Name:       opDescribePortfolioShareStatus,
  2554  		HTTPMethod: "POST",
  2555  		HTTPPath:   "/",
  2556  	}
  2557  
  2558  	if input == nil {
  2559  		input = &DescribePortfolioShareStatusInput{}
  2560  	}
  2561  
  2562  	output = &DescribePortfolioShareStatusOutput{}
  2563  	req = c.newRequest(op, input, output)
  2564  	return
  2565  }
  2566  
  2567  // DescribePortfolioShareStatus API operation for AWS Service Catalog.
  2568  //
  2569  // Gets the status of the specified portfolio share operation. This API can
  2570  // only be called by the management account in the organization or by a delegated
  2571  // admin.
  2572  //
  2573  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2574  // with awserr.Error's Code and Message methods to get detailed information about
  2575  // the error.
  2576  //
  2577  // See the AWS API reference guide for AWS Service Catalog's
  2578  // API operation DescribePortfolioShareStatus for usage and error information.
  2579  //
  2580  // Returned Error Types:
  2581  //   * ResourceNotFoundException
  2582  //   The specified resource was not found.
  2583  //
  2584  //   * InvalidParametersException
  2585  //   One or more parameters provided to the operation are not valid.
  2586  //
  2587  //   * OperationNotSupportedException
  2588  //   The operation is not supported.
  2589  //
  2590  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShareStatus
  2591  func (c *ServiceCatalog) DescribePortfolioShareStatus(input *DescribePortfolioShareStatusInput) (*DescribePortfolioShareStatusOutput, error) {
  2592  	req, out := c.DescribePortfolioShareStatusRequest(input)
  2593  	return out, req.Send()
  2594  }
  2595  
  2596  // DescribePortfolioShareStatusWithContext is the same as DescribePortfolioShareStatus with the addition of
  2597  // the ability to pass a context and additional request options.
  2598  //
  2599  // See DescribePortfolioShareStatus for details on how to use this API operation.
  2600  //
  2601  // The context must be non-nil and will be used for request cancellation. If
  2602  // the context is nil a panic will occur. In the future the SDK may create
  2603  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2604  // for more information on using Contexts.
  2605  func (c *ServiceCatalog) DescribePortfolioShareStatusWithContext(ctx aws.Context, input *DescribePortfolioShareStatusInput, opts ...request.Option) (*DescribePortfolioShareStatusOutput, error) {
  2606  	req, out := c.DescribePortfolioShareStatusRequest(input)
  2607  	req.SetContext(ctx)
  2608  	req.ApplyOptions(opts...)
  2609  	return out, req.Send()
  2610  }
  2611  
  2612  const opDescribePortfolioShares = "DescribePortfolioShares"
  2613  
  2614  // DescribePortfolioSharesRequest generates a "aws/request.Request" representing the
  2615  // client's request for the DescribePortfolioShares operation. The "output" return
  2616  // value will be populated with the request's response once the request completes
  2617  // successfully.
  2618  //
  2619  // Use "Send" method on the returned Request to send the API call to the service.
  2620  // the "output" return value is not valid until after Send returns without error.
  2621  //
  2622  // See DescribePortfolioShares for more information on using the DescribePortfolioShares
  2623  // API call, and error handling.
  2624  //
  2625  // This method is useful when you want to inject custom logic or configuration
  2626  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2627  //
  2628  //
  2629  //    // Example sending a request using the DescribePortfolioSharesRequest method.
  2630  //    req, resp := client.DescribePortfolioSharesRequest(params)
  2631  //
  2632  //    err := req.Send()
  2633  //    if err == nil { // resp is now filled
  2634  //        fmt.Println(resp)
  2635  //    }
  2636  //
  2637  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShares
  2638  func (c *ServiceCatalog) DescribePortfolioSharesRequest(input *DescribePortfolioSharesInput) (req *request.Request, output *DescribePortfolioSharesOutput) {
  2639  	op := &request.Operation{
  2640  		Name:       opDescribePortfolioShares,
  2641  		HTTPMethod: "POST",
  2642  		HTTPPath:   "/",
  2643  		Paginator: &request.Paginator{
  2644  			InputTokens:     []string{"PageToken"},
  2645  			OutputTokens:    []string{"NextPageToken"},
  2646  			LimitToken:      "PageSize",
  2647  			TruncationToken: "",
  2648  		},
  2649  	}
  2650  
  2651  	if input == nil {
  2652  		input = &DescribePortfolioSharesInput{}
  2653  	}
  2654  
  2655  	output = &DescribePortfolioSharesOutput{}
  2656  	req = c.newRequest(op, input, output)
  2657  	return
  2658  }
  2659  
  2660  // DescribePortfolioShares API operation for AWS Service Catalog.
  2661  //
  2662  // Returns a summary of each of the portfolio shares that were created for the
  2663  // specified portfolio.
  2664  //
  2665  // You can use this API to determine which accounts or organizational nodes
  2666  // this portfolio have been shared, whether the recipient entity has imported
  2667  // the share, and whether TagOptions are included with the share.
  2668  //
  2669  // The PortfolioId and Type parameters are both required.
  2670  //
  2671  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2672  // with awserr.Error's Code and Message methods to get detailed information about
  2673  // the error.
  2674  //
  2675  // See the AWS API reference guide for AWS Service Catalog's
  2676  // API operation DescribePortfolioShares for usage and error information.
  2677  //
  2678  // Returned Error Types:
  2679  //   * ResourceNotFoundException
  2680  //   The specified resource was not found.
  2681  //
  2682  //   * InvalidParametersException
  2683  //   One or more parameters provided to the operation are not valid.
  2684  //
  2685  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShares
  2686  func (c *ServiceCatalog) DescribePortfolioShares(input *DescribePortfolioSharesInput) (*DescribePortfolioSharesOutput, error) {
  2687  	req, out := c.DescribePortfolioSharesRequest(input)
  2688  	return out, req.Send()
  2689  }
  2690  
  2691  // DescribePortfolioSharesWithContext is the same as DescribePortfolioShares with the addition of
  2692  // the ability to pass a context and additional request options.
  2693  //
  2694  // See DescribePortfolioShares for details on how to use this API operation.
  2695  //
  2696  // The context must be non-nil and will be used for request cancellation. If
  2697  // the context is nil a panic will occur. In the future the SDK may create
  2698  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2699  // for more information on using Contexts.
  2700  func (c *ServiceCatalog) DescribePortfolioSharesWithContext(ctx aws.Context, input *DescribePortfolioSharesInput, opts ...request.Option) (*DescribePortfolioSharesOutput, error) {
  2701  	req, out := c.DescribePortfolioSharesRequest(input)
  2702  	req.SetContext(ctx)
  2703  	req.ApplyOptions(opts...)
  2704  	return out, req.Send()
  2705  }
  2706  
  2707  // DescribePortfolioSharesPages iterates over the pages of a DescribePortfolioShares operation,
  2708  // calling the "fn" function with the response data for each page. To stop
  2709  // iterating, return false from the fn function.
  2710  //
  2711  // See DescribePortfolioShares method for more information on how to use this operation.
  2712  //
  2713  // Note: This operation can generate multiple requests to a service.
  2714  //
  2715  //    // Example iterating over at most 3 pages of a DescribePortfolioShares operation.
  2716  //    pageNum := 0
  2717  //    err := client.DescribePortfolioSharesPages(params,
  2718  //        func(page *servicecatalog.DescribePortfolioSharesOutput, lastPage bool) bool {
  2719  //            pageNum++
  2720  //            fmt.Println(page)
  2721  //            return pageNum <= 3
  2722  //        })
  2723  //
  2724  func (c *ServiceCatalog) DescribePortfolioSharesPages(input *DescribePortfolioSharesInput, fn func(*DescribePortfolioSharesOutput, bool) bool) error {
  2725  	return c.DescribePortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn)
  2726  }
  2727  
  2728  // DescribePortfolioSharesPagesWithContext same as DescribePortfolioSharesPages except
  2729  // it takes a Context and allows setting request options on the pages.
  2730  //
  2731  // The context must be non-nil and will be used for request cancellation. If
  2732  // the context is nil a panic will occur. In the future the SDK may create
  2733  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2734  // for more information on using Contexts.
  2735  func (c *ServiceCatalog) DescribePortfolioSharesPagesWithContext(ctx aws.Context, input *DescribePortfolioSharesInput, fn func(*DescribePortfolioSharesOutput, bool) bool, opts ...request.Option) error {
  2736  	p := request.Pagination{
  2737  		NewRequest: func() (*request.Request, error) {
  2738  			var inCpy *DescribePortfolioSharesInput
  2739  			if input != nil {
  2740  				tmp := *input
  2741  				inCpy = &tmp
  2742  			}
  2743  			req, _ := c.DescribePortfolioSharesRequest(inCpy)
  2744  			req.SetContext(ctx)
  2745  			req.ApplyOptions(opts...)
  2746  			return req, nil
  2747  		},
  2748  	}
  2749  
  2750  	for p.Next() {
  2751  		if !fn(p.Page().(*DescribePortfolioSharesOutput), !p.HasNextPage()) {
  2752  			break
  2753  		}
  2754  	}
  2755  
  2756  	return p.Err()
  2757  }
  2758  
  2759  const opDescribeProduct = "DescribeProduct"
  2760  
  2761  // DescribeProductRequest generates a "aws/request.Request" representing the
  2762  // client's request for the DescribeProduct operation. The "output" return
  2763  // value will be populated with the request's response once the request completes
  2764  // successfully.
  2765  //
  2766  // Use "Send" method on the returned Request to send the API call to the service.
  2767  // the "output" return value is not valid until after Send returns without error.
  2768  //
  2769  // See DescribeProduct for more information on using the DescribeProduct
  2770  // API call, and error handling.
  2771  //
  2772  // This method is useful when you want to inject custom logic or configuration
  2773  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2774  //
  2775  //
  2776  //    // Example sending a request using the DescribeProductRequest method.
  2777  //    req, resp := client.DescribeProductRequest(params)
  2778  //
  2779  //    err := req.Send()
  2780  //    if err == nil { // resp is now filled
  2781  //        fmt.Println(resp)
  2782  //    }
  2783  //
  2784  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
  2785  func (c *ServiceCatalog) DescribeProductRequest(input *DescribeProductInput) (req *request.Request, output *DescribeProductOutput) {
  2786  	op := &request.Operation{
  2787  		Name:       opDescribeProduct,
  2788  		HTTPMethod: "POST",
  2789  		HTTPPath:   "/",
  2790  	}
  2791  
  2792  	if input == nil {
  2793  		input = &DescribeProductInput{}
  2794  	}
  2795  
  2796  	output = &DescribeProductOutput{}
  2797  	req = c.newRequest(op, input, output)
  2798  	return
  2799  }
  2800  
  2801  // DescribeProduct API operation for AWS Service Catalog.
  2802  //
  2803  // Gets information about the specified product.
  2804  //
  2805  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2806  // with awserr.Error's Code and Message methods to get detailed information about
  2807  // the error.
  2808  //
  2809  // See the AWS API reference guide for AWS Service Catalog's
  2810  // API operation DescribeProduct for usage and error information.
  2811  //
  2812  // Returned Error Types:
  2813  //   * ResourceNotFoundException
  2814  //   The specified resource was not found.
  2815  //
  2816  //   * InvalidParametersException
  2817  //   One or more parameters provided to the operation are not valid.
  2818  //
  2819  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProduct
  2820  func (c *ServiceCatalog) DescribeProduct(input *DescribeProductInput) (*DescribeProductOutput, error) {
  2821  	req, out := c.DescribeProductRequest(input)
  2822  	return out, req.Send()
  2823  }
  2824  
  2825  // DescribeProductWithContext is the same as DescribeProduct with the addition of
  2826  // the ability to pass a context and additional request options.
  2827  //
  2828  // See DescribeProduct for details on how to use this API operation.
  2829  //
  2830  // The context must be non-nil and will be used for request cancellation. If
  2831  // the context is nil a panic will occur. In the future the SDK may create
  2832  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2833  // for more information on using Contexts.
  2834  func (c *ServiceCatalog) DescribeProductWithContext(ctx aws.Context, input *DescribeProductInput, opts ...request.Option) (*DescribeProductOutput, error) {
  2835  	req, out := c.DescribeProductRequest(input)
  2836  	req.SetContext(ctx)
  2837  	req.ApplyOptions(opts...)
  2838  	return out, req.Send()
  2839  }
  2840  
  2841  const opDescribeProductAsAdmin = "DescribeProductAsAdmin"
  2842  
  2843  // DescribeProductAsAdminRequest generates a "aws/request.Request" representing the
  2844  // client's request for the DescribeProductAsAdmin operation. The "output" return
  2845  // value will be populated with the request's response once the request completes
  2846  // successfully.
  2847  //
  2848  // Use "Send" method on the returned Request to send the API call to the service.
  2849  // the "output" return value is not valid until after Send returns without error.
  2850  //
  2851  // See DescribeProductAsAdmin for more information on using the DescribeProductAsAdmin
  2852  // API call, and error handling.
  2853  //
  2854  // This method is useful when you want to inject custom logic or configuration
  2855  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2856  //
  2857  //
  2858  //    // Example sending a request using the DescribeProductAsAdminRequest method.
  2859  //    req, resp := client.DescribeProductAsAdminRequest(params)
  2860  //
  2861  //    err := req.Send()
  2862  //    if err == nil { // resp is now filled
  2863  //        fmt.Println(resp)
  2864  //    }
  2865  //
  2866  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
  2867  func (c *ServiceCatalog) DescribeProductAsAdminRequest(input *DescribeProductAsAdminInput) (req *request.Request, output *DescribeProductAsAdminOutput) {
  2868  	op := &request.Operation{
  2869  		Name:       opDescribeProductAsAdmin,
  2870  		HTTPMethod: "POST",
  2871  		HTTPPath:   "/",
  2872  	}
  2873  
  2874  	if input == nil {
  2875  		input = &DescribeProductAsAdminInput{}
  2876  	}
  2877  
  2878  	output = &DescribeProductAsAdminOutput{}
  2879  	req = c.newRequest(op, input, output)
  2880  	return
  2881  }
  2882  
  2883  // DescribeProductAsAdmin API operation for AWS Service Catalog.
  2884  //
  2885  // Gets information about the specified product. This operation is run with
  2886  // administrator access.
  2887  //
  2888  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2889  // with awserr.Error's Code and Message methods to get detailed information about
  2890  // the error.
  2891  //
  2892  // See the AWS API reference guide for AWS Service Catalog's
  2893  // API operation DescribeProductAsAdmin for usage and error information.
  2894  //
  2895  // Returned Error Types:
  2896  //   * ResourceNotFoundException
  2897  //   The specified resource was not found.
  2898  //
  2899  //   * InvalidParametersException
  2900  //   One or more parameters provided to the operation are not valid.
  2901  //
  2902  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin
  2903  func (c *ServiceCatalog) DescribeProductAsAdmin(input *DescribeProductAsAdminInput) (*DescribeProductAsAdminOutput, error) {
  2904  	req, out := c.DescribeProductAsAdminRequest(input)
  2905  	return out, req.Send()
  2906  }
  2907  
  2908  // DescribeProductAsAdminWithContext is the same as DescribeProductAsAdmin with the addition of
  2909  // the ability to pass a context and additional request options.
  2910  //
  2911  // See DescribeProductAsAdmin for details on how to use this API operation.
  2912  //
  2913  // The context must be non-nil and will be used for request cancellation. If
  2914  // the context is nil a panic will occur. In the future the SDK may create
  2915  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2916  // for more information on using Contexts.
  2917  func (c *ServiceCatalog) DescribeProductAsAdminWithContext(ctx aws.Context, input *DescribeProductAsAdminInput, opts ...request.Option) (*DescribeProductAsAdminOutput, error) {
  2918  	req, out := c.DescribeProductAsAdminRequest(input)
  2919  	req.SetContext(ctx)
  2920  	req.ApplyOptions(opts...)
  2921  	return out, req.Send()
  2922  }
  2923  
  2924  const opDescribeProductView = "DescribeProductView"
  2925  
  2926  // DescribeProductViewRequest generates a "aws/request.Request" representing the
  2927  // client's request for the DescribeProductView operation. The "output" return
  2928  // value will be populated with the request's response once the request completes
  2929  // successfully.
  2930  //
  2931  // Use "Send" method on the returned Request to send the API call to the service.
  2932  // the "output" return value is not valid until after Send returns without error.
  2933  //
  2934  // See DescribeProductView for more information on using the DescribeProductView
  2935  // API call, and error handling.
  2936  //
  2937  // This method is useful when you want to inject custom logic or configuration
  2938  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2939  //
  2940  //
  2941  //    // Example sending a request using the DescribeProductViewRequest method.
  2942  //    req, resp := client.DescribeProductViewRequest(params)
  2943  //
  2944  //    err := req.Send()
  2945  //    if err == nil { // resp is now filled
  2946  //        fmt.Println(resp)
  2947  //    }
  2948  //
  2949  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
  2950  func (c *ServiceCatalog) DescribeProductViewRequest(input *DescribeProductViewInput) (req *request.Request, output *DescribeProductViewOutput) {
  2951  	op := &request.Operation{
  2952  		Name:       opDescribeProductView,
  2953  		HTTPMethod: "POST",
  2954  		HTTPPath:   "/",
  2955  	}
  2956  
  2957  	if input == nil {
  2958  		input = &DescribeProductViewInput{}
  2959  	}
  2960  
  2961  	output = &DescribeProductViewOutput{}
  2962  	req = c.newRequest(op, input, output)
  2963  	return
  2964  }
  2965  
  2966  // DescribeProductView API operation for AWS Service Catalog.
  2967  //
  2968  // Gets information about the specified product.
  2969  //
  2970  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2971  // with awserr.Error's Code and Message methods to get detailed information about
  2972  // the error.
  2973  //
  2974  // See the AWS API reference guide for AWS Service Catalog's
  2975  // API operation DescribeProductView for usage and error information.
  2976  //
  2977  // Returned Error Types:
  2978  //   * ResourceNotFoundException
  2979  //   The specified resource was not found.
  2980  //
  2981  //   * InvalidParametersException
  2982  //   One or more parameters provided to the operation are not valid.
  2983  //
  2984  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductView
  2985  func (c *ServiceCatalog) DescribeProductView(input *DescribeProductViewInput) (*DescribeProductViewOutput, error) {
  2986  	req, out := c.DescribeProductViewRequest(input)
  2987  	return out, req.Send()
  2988  }
  2989  
  2990  // DescribeProductViewWithContext is the same as DescribeProductView with the addition of
  2991  // the ability to pass a context and additional request options.
  2992  //
  2993  // See DescribeProductView for details on how to use this API operation.
  2994  //
  2995  // The context must be non-nil and will be used for request cancellation. If
  2996  // the context is nil a panic will occur. In the future the SDK may create
  2997  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2998  // for more information on using Contexts.
  2999  func (c *ServiceCatalog) DescribeProductViewWithContext(ctx aws.Context, input *DescribeProductViewInput, opts ...request.Option) (*DescribeProductViewOutput, error) {
  3000  	req, out := c.DescribeProductViewRequest(input)
  3001  	req.SetContext(ctx)
  3002  	req.ApplyOptions(opts...)
  3003  	return out, req.Send()
  3004  }
  3005  
  3006  const opDescribeProvisionedProduct = "DescribeProvisionedProduct"
  3007  
  3008  // DescribeProvisionedProductRequest generates a "aws/request.Request" representing the
  3009  // client's request for the DescribeProvisionedProduct operation. The "output" return
  3010  // value will be populated with the request's response once the request completes
  3011  // successfully.
  3012  //
  3013  // Use "Send" method on the returned Request to send the API call to the service.
  3014  // the "output" return value is not valid until after Send returns without error.
  3015  //
  3016  // See DescribeProvisionedProduct for more information on using the DescribeProvisionedProduct
  3017  // API call, and error handling.
  3018  //
  3019  // This method is useful when you want to inject custom logic or configuration
  3020  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3021  //
  3022  //
  3023  //    // Example sending a request using the DescribeProvisionedProductRequest method.
  3024  //    req, resp := client.DescribeProvisionedProductRequest(params)
  3025  //
  3026  //    err := req.Send()
  3027  //    if err == nil { // resp is now filled
  3028  //        fmt.Println(resp)
  3029  //    }
  3030  //
  3031  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
  3032  func (c *ServiceCatalog) DescribeProvisionedProductRequest(input *DescribeProvisionedProductInput) (req *request.Request, output *DescribeProvisionedProductOutput) {
  3033  	op := &request.Operation{
  3034  		Name:       opDescribeProvisionedProduct,
  3035  		HTTPMethod: "POST",
  3036  		HTTPPath:   "/",
  3037  	}
  3038  
  3039  	if input == nil {
  3040  		input = &DescribeProvisionedProductInput{}
  3041  	}
  3042  
  3043  	output = &DescribeProvisionedProductOutput{}
  3044  	req = c.newRequest(op, input, output)
  3045  	return
  3046  }
  3047  
  3048  // DescribeProvisionedProduct API operation for AWS Service Catalog.
  3049  //
  3050  // Gets information about the specified provisioned product.
  3051  //
  3052  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3053  // with awserr.Error's Code and Message methods to get detailed information about
  3054  // the error.
  3055  //
  3056  // See the AWS API reference guide for AWS Service Catalog's
  3057  // API operation DescribeProvisionedProduct for usage and error information.
  3058  //
  3059  // Returned Error Types:
  3060  //   * ResourceNotFoundException
  3061  //   The specified resource was not found.
  3062  //
  3063  //   * InvalidParametersException
  3064  //   One or more parameters provided to the operation are not valid.
  3065  //
  3066  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProduct
  3067  func (c *ServiceCatalog) DescribeProvisionedProduct(input *DescribeProvisionedProductInput) (*DescribeProvisionedProductOutput, error) {
  3068  	req, out := c.DescribeProvisionedProductRequest(input)
  3069  	return out, req.Send()
  3070  }
  3071  
  3072  // DescribeProvisionedProductWithContext is the same as DescribeProvisionedProduct with the addition of
  3073  // the ability to pass a context and additional request options.
  3074  //
  3075  // See DescribeProvisionedProduct for details on how to use this API operation.
  3076  //
  3077  // The context must be non-nil and will be used for request cancellation. If
  3078  // the context is nil a panic will occur. In the future the SDK may create
  3079  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3080  // for more information on using Contexts.
  3081  func (c *ServiceCatalog) DescribeProvisionedProductWithContext(ctx aws.Context, input *DescribeProvisionedProductInput, opts ...request.Option) (*DescribeProvisionedProductOutput, error) {
  3082  	req, out := c.DescribeProvisionedProductRequest(input)
  3083  	req.SetContext(ctx)
  3084  	req.ApplyOptions(opts...)
  3085  	return out, req.Send()
  3086  }
  3087  
  3088  const opDescribeProvisionedProductPlan = "DescribeProvisionedProductPlan"
  3089  
  3090  // DescribeProvisionedProductPlanRequest generates a "aws/request.Request" representing the
  3091  // client's request for the DescribeProvisionedProductPlan operation. The "output" return
  3092  // value will be populated with the request's response once the request completes
  3093  // successfully.
  3094  //
  3095  // Use "Send" method on the returned Request to send the API call to the service.
  3096  // the "output" return value is not valid until after Send returns without error.
  3097  //
  3098  // See DescribeProvisionedProductPlan for more information on using the DescribeProvisionedProductPlan
  3099  // API call, and error handling.
  3100  //
  3101  // This method is useful when you want to inject custom logic or configuration
  3102  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3103  //
  3104  //
  3105  //    // Example sending a request using the DescribeProvisionedProductPlanRequest method.
  3106  //    req, resp := client.DescribeProvisionedProductPlanRequest(params)
  3107  //
  3108  //    err := req.Send()
  3109  //    if err == nil { // resp is now filled
  3110  //        fmt.Println(resp)
  3111  //    }
  3112  //
  3113  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
  3114  func (c *ServiceCatalog) DescribeProvisionedProductPlanRequest(input *DescribeProvisionedProductPlanInput) (req *request.Request, output *DescribeProvisionedProductPlanOutput) {
  3115  	op := &request.Operation{
  3116  		Name:       opDescribeProvisionedProductPlan,
  3117  		HTTPMethod: "POST",
  3118  		HTTPPath:   "/",
  3119  	}
  3120  
  3121  	if input == nil {
  3122  		input = &DescribeProvisionedProductPlanInput{}
  3123  	}
  3124  
  3125  	output = &DescribeProvisionedProductPlanOutput{}
  3126  	req = c.newRequest(op, input, output)
  3127  	return
  3128  }
  3129  
  3130  // DescribeProvisionedProductPlan API operation for AWS Service Catalog.
  3131  //
  3132  // Gets information about the resource changes for the specified plan.
  3133  //
  3134  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3135  // with awserr.Error's Code and Message methods to get detailed information about
  3136  // the error.
  3137  //
  3138  // See the AWS API reference guide for AWS Service Catalog's
  3139  // API operation DescribeProvisionedProductPlan for usage and error information.
  3140  //
  3141  // Returned Error Types:
  3142  //   * ResourceNotFoundException
  3143  //   The specified resource was not found.
  3144  //
  3145  //   * InvalidParametersException
  3146  //   One or more parameters provided to the operation are not valid.
  3147  //
  3148  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisionedProductPlan
  3149  func (c *ServiceCatalog) DescribeProvisionedProductPlan(input *DescribeProvisionedProductPlanInput) (*DescribeProvisionedProductPlanOutput, error) {
  3150  	req, out := c.DescribeProvisionedProductPlanRequest(input)
  3151  	return out, req.Send()
  3152  }
  3153  
  3154  // DescribeProvisionedProductPlanWithContext is the same as DescribeProvisionedProductPlan with the addition of
  3155  // the ability to pass a context and additional request options.
  3156  //
  3157  // See DescribeProvisionedProductPlan for details on how to use this API operation.
  3158  //
  3159  // The context must be non-nil and will be used for request cancellation. If
  3160  // the context is nil a panic will occur. In the future the SDK may create
  3161  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3162  // for more information on using Contexts.
  3163  func (c *ServiceCatalog) DescribeProvisionedProductPlanWithContext(ctx aws.Context, input *DescribeProvisionedProductPlanInput, opts ...request.Option) (*DescribeProvisionedProductPlanOutput, error) {
  3164  	req, out := c.DescribeProvisionedProductPlanRequest(input)
  3165  	req.SetContext(ctx)
  3166  	req.ApplyOptions(opts...)
  3167  	return out, req.Send()
  3168  }
  3169  
  3170  const opDescribeProvisioningArtifact = "DescribeProvisioningArtifact"
  3171  
  3172  // DescribeProvisioningArtifactRequest generates a "aws/request.Request" representing the
  3173  // client's request for the DescribeProvisioningArtifact operation. The "output" return
  3174  // value will be populated with the request's response once the request completes
  3175  // successfully.
  3176  //
  3177  // Use "Send" method on the returned Request to send the API call to the service.
  3178  // the "output" return value is not valid until after Send returns without error.
  3179  //
  3180  // See DescribeProvisioningArtifact for more information on using the DescribeProvisioningArtifact
  3181  // API call, and error handling.
  3182  //
  3183  // This method is useful when you want to inject custom logic or configuration
  3184  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3185  //
  3186  //
  3187  //    // Example sending a request using the DescribeProvisioningArtifactRequest method.
  3188  //    req, resp := client.DescribeProvisioningArtifactRequest(params)
  3189  //
  3190  //    err := req.Send()
  3191  //    if err == nil { // resp is now filled
  3192  //        fmt.Println(resp)
  3193  //    }
  3194  //
  3195  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
  3196  func (c *ServiceCatalog) DescribeProvisioningArtifactRequest(input *DescribeProvisioningArtifactInput) (req *request.Request, output *DescribeProvisioningArtifactOutput) {
  3197  	op := &request.Operation{
  3198  		Name:       opDescribeProvisioningArtifact,
  3199  		HTTPMethod: "POST",
  3200  		HTTPPath:   "/",
  3201  	}
  3202  
  3203  	if input == nil {
  3204  		input = &DescribeProvisioningArtifactInput{}
  3205  	}
  3206  
  3207  	output = &DescribeProvisioningArtifactOutput{}
  3208  	req = c.newRequest(op, input, output)
  3209  	return
  3210  }
  3211  
  3212  // DescribeProvisioningArtifact API operation for AWS Service Catalog.
  3213  //
  3214  // Gets information about the specified provisioning artifact (also known as
  3215  // a version) for the specified product.
  3216  //
  3217  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3218  // with awserr.Error's Code and Message methods to get detailed information about
  3219  // the error.
  3220  //
  3221  // See the AWS API reference guide for AWS Service Catalog's
  3222  // API operation DescribeProvisioningArtifact for usage and error information.
  3223  //
  3224  // Returned Error Types:
  3225  //   * ResourceNotFoundException
  3226  //   The specified resource was not found.
  3227  //
  3228  //   * InvalidParametersException
  3229  //   One or more parameters provided to the operation are not valid.
  3230  //
  3231  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact
  3232  func (c *ServiceCatalog) DescribeProvisioningArtifact(input *DescribeProvisioningArtifactInput) (*DescribeProvisioningArtifactOutput, error) {
  3233  	req, out := c.DescribeProvisioningArtifactRequest(input)
  3234  	return out, req.Send()
  3235  }
  3236  
  3237  // DescribeProvisioningArtifactWithContext is the same as DescribeProvisioningArtifact with the addition of
  3238  // the ability to pass a context and additional request options.
  3239  //
  3240  // See DescribeProvisioningArtifact for details on how to use this API operation.
  3241  //
  3242  // The context must be non-nil and will be used for request cancellation. If
  3243  // the context is nil a panic will occur. In the future the SDK may create
  3244  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3245  // for more information on using Contexts.
  3246  func (c *ServiceCatalog) DescribeProvisioningArtifactWithContext(ctx aws.Context, input *DescribeProvisioningArtifactInput, opts ...request.Option) (*DescribeProvisioningArtifactOutput, error) {
  3247  	req, out := c.DescribeProvisioningArtifactRequest(input)
  3248  	req.SetContext(ctx)
  3249  	req.ApplyOptions(opts...)
  3250  	return out, req.Send()
  3251  }
  3252  
  3253  const opDescribeProvisioningParameters = "DescribeProvisioningParameters"
  3254  
  3255  // DescribeProvisioningParametersRequest generates a "aws/request.Request" representing the
  3256  // client's request for the DescribeProvisioningParameters operation. The "output" return
  3257  // value will be populated with the request's response once the request completes
  3258  // successfully.
  3259  //
  3260  // Use "Send" method on the returned Request to send the API call to the service.
  3261  // the "output" return value is not valid until after Send returns without error.
  3262  //
  3263  // See DescribeProvisioningParameters for more information on using the DescribeProvisioningParameters
  3264  // API call, and error handling.
  3265  //
  3266  // This method is useful when you want to inject custom logic or configuration
  3267  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3268  //
  3269  //
  3270  //    // Example sending a request using the DescribeProvisioningParametersRequest method.
  3271  //    req, resp := client.DescribeProvisioningParametersRequest(params)
  3272  //
  3273  //    err := req.Send()
  3274  //    if err == nil { // resp is now filled
  3275  //        fmt.Println(resp)
  3276  //    }
  3277  //
  3278  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
  3279  func (c *ServiceCatalog) DescribeProvisioningParametersRequest(input *DescribeProvisioningParametersInput) (req *request.Request, output *DescribeProvisioningParametersOutput) {
  3280  	op := &request.Operation{
  3281  		Name:       opDescribeProvisioningParameters,
  3282  		HTTPMethod: "POST",
  3283  		HTTPPath:   "/",
  3284  	}
  3285  
  3286  	if input == nil {
  3287  		input = &DescribeProvisioningParametersInput{}
  3288  	}
  3289  
  3290  	output = &DescribeProvisioningParametersOutput{}
  3291  	req = c.newRequest(op, input, output)
  3292  	return
  3293  }
  3294  
  3295  // DescribeProvisioningParameters API operation for AWS Service Catalog.
  3296  //
  3297  // Gets information about the configuration required to provision the specified
  3298  // product using the specified provisioning artifact.
  3299  //
  3300  // If the output contains a TagOption key with an empty list of values, there
  3301  // is a TagOption conflict for that key. The end user cannot take action to
  3302  // fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct,
  3303  // do not include conflicted TagOption keys as tags, or this causes the error
  3304  // "Parameter validation failed: Missing required parameter in Tags[N]:Value".
  3305  // Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId.
  3306  //
  3307  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3308  // with awserr.Error's Code and Message methods to get detailed information about
  3309  // the error.
  3310  //
  3311  // See the AWS API reference guide for AWS Service Catalog's
  3312  // API operation DescribeProvisioningParameters for usage and error information.
  3313  //
  3314  // Returned Error Types:
  3315  //   * InvalidParametersException
  3316  //   One or more parameters provided to the operation are not valid.
  3317  //
  3318  //   * ResourceNotFoundException
  3319  //   The specified resource was not found.
  3320  //
  3321  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningParameters
  3322  func (c *ServiceCatalog) DescribeProvisioningParameters(input *DescribeProvisioningParametersInput) (*DescribeProvisioningParametersOutput, error) {
  3323  	req, out := c.DescribeProvisioningParametersRequest(input)
  3324  	return out, req.Send()
  3325  }
  3326  
  3327  // DescribeProvisioningParametersWithContext is the same as DescribeProvisioningParameters with the addition of
  3328  // the ability to pass a context and additional request options.
  3329  //
  3330  // See DescribeProvisioningParameters for details on how to use this API operation.
  3331  //
  3332  // The context must be non-nil and will be used for request cancellation. If
  3333  // the context is nil a panic will occur. In the future the SDK may create
  3334  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3335  // for more information on using Contexts.
  3336  func (c *ServiceCatalog) DescribeProvisioningParametersWithContext(ctx aws.Context, input *DescribeProvisioningParametersInput, opts ...request.Option) (*DescribeProvisioningParametersOutput, error) {
  3337  	req, out := c.DescribeProvisioningParametersRequest(input)
  3338  	req.SetContext(ctx)
  3339  	req.ApplyOptions(opts...)
  3340  	return out, req.Send()
  3341  }
  3342  
  3343  const opDescribeRecord = "DescribeRecord"
  3344  
  3345  // DescribeRecordRequest generates a "aws/request.Request" representing the
  3346  // client's request for the DescribeRecord operation. The "output" return
  3347  // value will be populated with the request's response once the request completes
  3348  // successfully.
  3349  //
  3350  // Use "Send" method on the returned Request to send the API call to the service.
  3351  // the "output" return value is not valid until after Send returns without error.
  3352  //
  3353  // See DescribeRecord for more information on using the DescribeRecord
  3354  // API call, and error handling.
  3355  //
  3356  // This method is useful when you want to inject custom logic or configuration
  3357  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3358  //
  3359  //
  3360  //    // Example sending a request using the DescribeRecordRequest method.
  3361  //    req, resp := client.DescribeRecordRequest(params)
  3362  //
  3363  //    err := req.Send()
  3364  //    if err == nil { // resp is now filled
  3365  //        fmt.Println(resp)
  3366  //    }
  3367  //
  3368  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
  3369  func (c *ServiceCatalog) DescribeRecordRequest(input *DescribeRecordInput) (req *request.Request, output *DescribeRecordOutput) {
  3370  	op := &request.Operation{
  3371  		Name:       opDescribeRecord,
  3372  		HTTPMethod: "POST",
  3373  		HTTPPath:   "/",
  3374  	}
  3375  
  3376  	if input == nil {
  3377  		input = &DescribeRecordInput{}
  3378  	}
  3379  
  3380  	output = &DescribeRecordOutput{}
  3381  	req = c.newRequest(op, input, output)
  3382  	return
  3383  }
  3384  
  3385  // DescribeRecord API operation for AWS Service Catalog.
  3386  //
  3387  // Gets information about the specified request operation.
  3388  //
  3389  // Use this operation after calling a request operation (for example, ProvisionProduct,
  3390  // TerminateProvisionedProduct, or UpdateProvisionedProduct).
  3391  //
  3392  // If a provisioned product was transferred to a new owner using UpdateProvisionedProductProperties,
  3393  // the new owner will be able to describe all past records for that product.
  3394  // The previous owner will no longer be able to describe the records, but will
  3395  // be able to use ListRecordHistory to see the product's history from when he
  3396  // was the owner.
  3397  //
  3398  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3399  // with awserr.Error's Code and Message methods to get detailed information about
  3400  // the error.
  3401  //
  3402  // See the AWS API reference guide for AWS Service Catalog's
  3403  // API operation DescribeRecord for usage and error information.
  3404  //
  3405  // Returned Error Types:
  3406  //   * ResourceNotFoundException
  3407  //   The specified resource was not found.
  3408  //
  3409  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeRecord
  3410  func (c *ServiceCatalog) DescribeRecord(input *DescribeRecordInput) (*DescribeRecordOutput, error) {
  3411  	req, out := c.DescribeRecordRequest(input)
  3412  	return out, req.Send()
  3413  }
  3414  
  3415  // DescribeRecordWithContext is the same as DescribeRecord with the addition of
  3416  // the ability to pass a context and additional request options.
  3417  //
  3418  // See DescribeRecord for details on how to use this API operation.
  3419  //
  3420  // The context must be non-nil and will be used for request cancellation. If
  3421  // the context is nil a panic will occur. In the future the SDK may create
  3422  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3423  // for more information on using Contexts.
  3424  func (c *ServiceCatalog) DescribeRecordWithContext(ctx aws.Context, input *DescribeRecordInput, opts ...request.Option) (*DescribeRecordOutput, error) {
  3425  	req, out := c.DescribeRecordRequest(input)
  3426  	req.SetContext(ctx)
  3427  	req.ApplyOptions(opts...)
  3428  	return out, req.Send()
  3429  }
  3430  
  3431  const opDescribeServiceAction = "DescribeServiceAction"
  3432  
  3433  // DescribeServiceActionRequest generates a "aws/request.Request" representing the
  3434  // client's request for the DescribeServiceAction operation. The "output" return
  3435  // value will be populated with the request's response once the request completes
  3436  // successfully.
  3437  //
  3438  // Use "Send" method on the returned Request to send the API call to the service.
  3439  // the "output" return value is not valid until after Send returns without error.
  3440  //
  3441  // See DescribeServiceAction for more information on using the DescribeServiceAction
  3442  // API call, and error handling.
  3443  //
  3444  // This method is useful when you want to inject custom logic or configuration
  3445  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3446  //
  3447  //
  3448  //    // Example sending a request using the DescribeServiceActionRequest method.
  3449  //    req, resp := client.DescribeServiceActionRequest(params)
  3450  //
  3451  //    err := req.Send()
  3452  //    if err == nil { // resp is now filled
  3453  //        fmt.Println(resp)
  3454  //    }
  3455  //
  3456  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
  3457  func (c *ServiceCatalog) DescribeServiceActionRequest(input *DescribeServiceActionInput) (req *request.Request, output *DescribeServiceActionOutput) {
  3458  	op := &request.Operation{
  3459  		Name:       opDescribeServiceAction,
  3460  		HTTPMethod: "POST",
  3461  		HTTPPath:   "/",
  3462  	}
  3463  
  3464  	if input == nil {
  3465  		input = &DescribeServiceActionInput{}
  3466  	}
  3467  
  3468  	output = &DescribeServiceActionOutput{}
  3469  	req = c.newRequest(op, input, output)
  3470  	return
  3471  }
  3472  
  3473  // DescribeServiceAction API operation for AWS Service Catalog.
  3474  //
  3475  // Describes a self-service action.
  3476  //
  3477  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3478  // with awserr.Error's Code and Message methods to get detailed information about
  3479  // the error.
  3480  //
  3481  // See the AWS API reference guide for AWS Service Catalog's
  3482  // API operation DescribeServiceAction for usage and error information.
  3483  //
  3484  // Returned Error Types:
  3485  //   * ResourceNotFoundException
  3486  //   The specified resource was not found.
  3487  //
  3488  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceAction
  3489  func (c *ServiceCatalog) DescribeServiceAction(input *DescribeServiceActionInput) (*DescribeServiceActionOutput, error) {
  3490  	req, out := c.DescribeServiceActionRequest(input)
  3491  	return out, req.Send()
  3492  }
  3493  
  3494  // DescribeServiceActionWithContext is the same as DescribeServiceAction with the addition of
  3495  // the ability to pass a context and additional request options.
  3496  //
  3497  // See DescribeServiceAction for details on how to use this API operation.
  3498  //
  3499  // The context must be non-nil and will be used for request cancellation. If
  3500  // the context is nil a panic will occur. In the future the SDK may create
  3501  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3502  // for more information on using Contexts.
  3503  func (c *ServiceCatalog) DescribeServiceActionWithContext(ctx aws.Context, input *DescribeServiceActionInput, opts ...request.Option) (*DescribeServiceActionOutput, error) {
  3504  	req, out := c.DescribeServiceActionRequest(input)
  3505  	req.SetContext(ctx)
  3506  	req.ApplyOptions(opts...)
  3507  	return out, req.Send()
  3508  }
  3509  
  3510  const opDescribeServiceActionExecutionParameters = "DescribeServiceActionExecutionParameters"
  3511  
  3512  // DescribeServiceActionExecutionParametersRequest generates a "aws/request.Request" representing the
  3513  // client's request for the DescribeServiceActionExecutionParameters operation. The "output" return
  3514  // value will be populated with the request's response once the request completes
  3515  // successfully.
  3516  //
  3517  // Use "Send" method on the returned Request to send the API call to the service.
  3518  // the "output" return value is not valid until after Send returns without error.
  3519  //
  3520  // See DescribeServiceActionExecutionParameters for more information on using the DescribeServiceActionExecutionParameters
  3521  // API call, and error handling.
  3522  //
  3523  // This method is useful when you want to inject custom logic or configuration
  3524  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3525  //
  3526  //
  3527  //    // Example sending a request using the DescribeServiceActionExecutionParametersRequest method.
  3528  //    req, resp := client.DescribeServiceActionExecutionParametersRequest(params)
  3529  //
  3530  //    err := req.Send()
  3531  //    if err == nil { // resp is now filled
  3532  //        fmt.Println(resp)
  3533  //    }
  3534  //
  3535  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
  3536  func (c *ServiceCatalog) DescribeServiceActionExecutionParametersRequest(input *DescribeServiceActionExecutionParametersInput) (req *request.Request, output *DescribeServiceActionExecutionParametersOutput) {
  3537  	op := &request.Operation{
  3538  		Name:       opDescribeServiceActionExecutionParameters,
  3539  		HTTPMethod: "POST",
  3540  		HTTPPath:   "/",
  3541  	}
  3542  
  3543  	if input == nil {
  3544  		input = &DescribeServiceActionExecutionParametersInput{}
  3545  	}
  3546  
  3547  	output = &DescribeServiceActionExecutionParametersOutput{}
  3548  	req = c.newRequest(op, input, output)
  3549  	return
  3550  }
  3551  
  3552  // DescribeServiceActionExecutionParameters API operation for AWS Service Catalog.
  3553  //
  3554  // Finds the default parameters for a specific self-service action on a specific
  3555  // provisioned product and returns a map of the results to the user.
  3556  //
  3557  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3558  // with awserr.Error's Code and Message methods to get detailed information about
  3559  // the error.
  3560  //
  3561  // See the AWS API reference guide for AWS Service Catalog's
  3562  // API operation DescribeServiceActionExecutionParameters for usage and error information.
  3563  //
  3564  // Returned Error Types:
  3565  //   * InvalidParametersException
  3566  //   One or more parameters provided to the operation are not valid.
  3567  //
  3568  //   * ResourceNotFoundException
  3569  //   The specified resource was not found.
  3570  //
  3571  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeServiceActionExecutionParameters
  3572  func (c *ServiceCatalog) DescribeServiceActionExecutionParameters(input *DescribeServiceActionExecutionParametersInput) (*DescribeServiceActionExecutionParametersOutput, error) {
  3573  	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
  3574  	return out, req.Send()
  3575  }
  3576  
  3577  // DescribeServiceActionExecutionParametersWithContext is the same as DescribeServiceActionExecutionParameters with the addition of
  3578  // the ability to pass a context and additional request options.
  3579  //
  3580  // See DescribeServiceActionExecutionParameters for details on how to use this API operation.
  3581  //
  3582  // The context must be non-nil and will be used for request cancellation. If
  3583  // the context is nil a panic will occur. In the future the SDK may create
  3584  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3585  // for more information on using Contexts.
  3586  func (c *ServiceCatalog) DescribeServiceActionExecutionParametersWithContext(ctx aws.Context, input *DescribeServiceActionExecutionParametersInput, opts ...request.Option) (*DescribeServiceActionExecutionParametersOutput, error) {
  3587  	req, out := c.DescribeServiceActionExecutionParametersRequest(input)
  3588  	req.SetContext(ctx)
  3589  	req.ApplyOptions(opts...)
  3590  	return out, req.Send()
  3591  }
  3592  
  3593  const opDescribeTagOption = "DescribeTagOption"
  3594  
  3595  // DescribeTagOptionRequest generates a "aws/request.Request" representing the
  3596  // client's request for the DescribeTagOption operation. The "output" return
  3597  // value will be populated with the request's response once the request completes
  3598  // successfully.
  3599  //
  3600  // Use "Send" method on the returned Request to send the API call to the service.
  3601  // the "output" return value is not valid until after Send returns without error.
  3602  //
  3603  // See DescribeTagOption for more information on using the DescribeTagOption
  3604  // API call, and error handling.
  3605  //
  3606  // This method is useful when you want to inject custom logic or configuration
  3607  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3608  //
  3609  //
  3610  //    // Example sending a request using the DescribeTagOptionRequest method.
  3611  //    req, resp := client.DescribeTagOptionRequest(params)
  3612  //
  3613  //    err := req.Send()
  3614  //    if err == nil { // resp is now filled
  3615  //        fmt.Println(resp)
  3616  //    }
  3617  //
  3618  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
  3619  func (c *ServiceCatalog) DescribeTagOptionRequest(input *DescribeTagOptionInput) (req *request.Request, output *DescribeTagOptionOutput) {
  3620  	op := &request.Operation{
  3621  		Name:       opDescribeTagOption,
  3622  		HTTPMethod: "POST",
  3623  		HTTPPath:   "/",
  3624  	}
  3625  
  3626  	if input == nil {
  3627  		input = &DescribeTagOptionInput{}
  3628  	}
  3629  
  3630  	output = &DescribeTagOptionOutput{}
  3631  	req = c.newRequest(op, input, output)
  3632  	return
  3633  }
  3634  
  3635  // DescribeTagOption API operation for AWS Service Catalog.
  3636  //
  3637  // Gets information about the specified TagOption.
  3638  //
  3639  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3640  // with awserr.Error's Code and Message methods to get detailed information about
  3641  // the error.
  3642  //
  3643  // See the AWS API reference guide for AWS Service Catalog's
  3644  // API operation DescribeTagOption for usage and error information.
  3645  //
  3646  // Returned Error Types:
  3647  //   * TagOptionNotMigratedException
  3648  //   An operation requiring TagOptions failed because the TagOptions migration
  3649  //   process has not been performed for this account. Please use the AWS console
  3650  //   to perform the migration process before retrying the operation.
  3651  //
  3652  //   * ResourceNotFoundException
  3653  //   The specified resource was not found.
  3654  //
  3655  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeTagOption
  3656  func (c *ServiceCatalog) DescribeTagOption(input *DescribeTagOptionInput) (*DescribeTagOptionOutput, error) {
  3657  	req, out := c.DescribeTagOptionRequest(input)
  3658  	return out, req.Send()
  3659  }
  3660  
  3661  // DescribeTagOptionWithContext is the same as DescribeTagOption with the addition of
  3662  // the ability to pass a context and additional request options.
  3663  //
  3664  // See DescribeTagOption for details on how to use this API operation.
  3665  //
  3666  // The context must be non-nil and will be used for request cancellation. If
  3667  // the context is nil a panic will occur. In the future the SDK may create
  3668  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3669  // for more information on using Contexts.
  3670  func (c *ServiceCatalog) DescribeTagOptionWithContext(ctx aws.Context, input *DescribeTagOptionInput, opts ...request.Option) (*DescribeTagOptionOutput, error) {
  3671  	req, out := c.DescribeTagOptionRequest(input)
  3672  	req.SetContext(ctx)
  3673  	req.ApplyOptions(opts...)
  3674  	return out, req.Send()
  3675  }
  3676  
  3677  const opDisableAWSOrganizationsAccess = "DisableAWSOrganizationsAccess"
  3678  
  3679  // DisableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
  3680  // client's request for the DisableAWSOrganizationsAccess operation. The "output" return
  3681  // value will be populated with the request's response once the request completes
  3682  // successfully.
  3683  //
  3684  // Use "Send" method on the returned Request to send the API call to the service.
  3685  // the "output" return value is not valid until after Send returns without error.
  3686  //
  3687  // See DisableAWSOrganizationsAccess for more information on using the DisableAWSOrganizationsAccess
  3688  // API call, and error handling.
  3689  //
  3690  // This method is useful when you want to inject custom logic or configuration
  3691  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3692  //
  3693  //
  3694  //    // Example sending a request using the DisableAWSOrganizationsAccessRequest method.
  3695  //    req, resp := client.DisableAWSOrganizationsAccessRequest(params)
  3696  //
  3697  //    err := req.Send()
  3698  //    if err == nil { // resp is now filled
  3699  //        fmt.Println(resp)
  3700  //    }
  3701  //
  3702  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
  3703  func (c *ServiceCatalog) DisableAWSOrganizationsAccessRequest(input *DisableAWSOrganizationsAccessInput) (req *request.Request, output *DisableAWSOrganizationsAccessOutput) {
  3704  	op := &request.Operation{
  3705  		Name:       opDisableAWSOrganizationsAccess,
  3706  		HTTPMethod: "POST",
  3707  		HTTPPath:   "/",
  3708  	}
  3709  
  3710  	if input == nil {
  3711  		input = &DisableAWSOrganizationsAccessInput{}
  3712  	}
  3713  
  3714  	output = &DisableAWSOrganizationsAccessOutput{}
  3715  	req = c.newRequest(op, input, output)
  3716  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3717  	return
  3718  }
  3719  
  3720  // DisableAWSOrganizationsAccess API operation for AWS Service Catalog.
  3721  //
  3722  // Disable portfolio sharing through AWS Organizations feature. This feature
  3723  // will not delete your current shares but it will prevent you from creating
  3724  // new shares throughout your organization. Current shares will not be in sync
  3725  // with your organization structure if it changes after calling this API. This
  3726  // API can only be called by the management account in the organization.
  3727  //
  3728  // This API can't be invoked if there are active delegated administrators in
  3729  // the organization.
  3730  //
  3731  // Note that a delegated administrator is not authorized to invoke DisableAWSOrganizationsAccess.
  3732  //
  3733  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3734  // with awserr.Error's Code and Message methods to get detailed information about
  3735  // the error.
  3736  //
  3737  // See the AWS API reference guide for AWS Service Catalog's
  3738  // API operation DisableAWSOrganizationsAccess for usage and error information.
  3739  //
  3740  // Returned Error Types:
  3741  //   * ResourceNotFoundException
  3742  //   The specified resource was not found.
  3743  //
  3744  //   * InvalidStateException
  3745  //   An attempt was made to modify a resource that is in a state that is not valid.
  3746  //   Check your resources to ensure that they are in valid states before retrying
  3747  //   the operation.
  3748  //
  3749  //   * OperationNotSupportedException
  3750  //   The operation is not supported.
  3751  //
  3752  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess
  3753  func (c *ServiceCatalog) DisableAWSOrganizationsAccess(input *DisableAWSOrganizationsAccessInput) (*DisableAWSOrganizationsAccessOutput, error) {
  3754  	req, out := c.DisableAWSOrganizationsAccessRequest(input)
  3755  	return out, req.Send()
  3756  }
  3757  
  3758  // DisableAWSOrganizationsAccessWithContext is the same as DisableAWSOrganizationsAccess with the addition of
  3759  // the ability to pass a context and additional request options.
  3760  //
  3761  // See DisableAWSOrganizationsAccess for details on how to use this API operation.
  3762  //
  3763  // The context must be non-nil and will be used for request cancellation. If
  3764  // the context is nil a panic will occur. In the future the SDK may create
  3765  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3766  // for more information on using Contexts.
  3767  func (c *ServiceCatalog) DisableAWSOrganizationsAccessWithContext(ctx aws.Context, input *DisableAWSOrganizationsAccessInput, opts ...request.Option) (*DisableAWSOrganizationsAccessOutput, error) {
  3768  	req, out := c.DisableAWSOrganizationsAccessRequest(input)
  3769  	req.SetContext(ctx)
  3770  	req.ApplyOptions(opts...)
  3771  	return out, req.Send()
  3772  }
  3773  
  3774  const opDisassociateBudgetFromResource = "DisassociateBudgetFromResource"
  3775  
  3776  // DisassociateBudgetFromResourceRequest generates a "aws/request.Request" representing the
  3777  // client's request for the DisassociateBudgetFromResource operation. The "output" return
  3778  // value will be populated with the request's response once the request completes
  3779  // successfully.
  3780  //
  3781  // Use "Send" method on the returned Request to send the API call to the service.
  3782  // the "output" return value is not valid until after Send returns without error.
  3783  //
  3784  // See DisassociateBudgetFromResource for more information on using the DisassociateBudgetFromResource
  3785  // API call, and error handling.
  3786  //
  3787  // This method is useful when you want to inject custom logic or configuration
  3788  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3789  //
  3790  //
  3791  //    // Example sending a request using the DisassociateBudgetFromResourceRequest method.
  3792  //    req, resp := client.DisassociateBudgetFromResourceRequest(params)
  3793  //
  3794  //    err := req.Send()
  3795  //    if err == nil { // resp is now filled
  3796  //        fmt.Println(resp)
  3797  //    }
  3798  //
  3799  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
  3800  func (c *ServiceCatalog) DisassociateBudgetFromResourceRequest(input *DisassociateBudgetFromResourceInput) (req *request.Request, output *DisassociateBudgetFromResourceOutput) {
  3801  	op := &request.Operation{
  3802  		Name:       opDisassociateBudgetFromResource,
  3803  		HTTPMethod: "POST",
  3804  		HTTPPath:   "/",
  3805  	}
  3806  
  3807  	if input == nil {
  3808  		input = &DisassociateBudgetFromResourceInput{}
  3809  	}
  3810  
  3811  	output = &DisassociateBudgetFromResourceOutput{}
  3812  	req = c.newRequest(op, input, output)
  3813  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3814  	return
  3815  }
  3816  
  3817  // DisassociateBudgetFromResource API operation for AWS Service Catalog.
  3818  //
  3819  // Disassociates the specified budget from the specified resource.
  3820  //
  3821  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3822  // with awserr.Error's Code and Message methods to get detailed information about
  3823  // the error.
  3824  //
  3825  // See the AWS API reference guide for AWS Service Catalog's
  3826  // API operation DisassociateBudgetFromResource for usage and error information.
  3827  //
  3828  // Returned Error Types:
  3829  //   * ResourceNotFoundException
  3830  //   The specified resource was not found.
  3831  //
  3832  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateBudgetFromResource
  3833  func (c *ServiceCatalog) DisassociateBudgetFromResource(input *DisassociateBudgetFromResourceInput) (*DisassociateBudgetFromResourceOutput, error) {
  3834  	req, out := c.DisassociateBudgetFromResourceRequest(input)
  3835  	return out, req.Send()
  3836  }
  3837  
  3838  // DisassociateBudgetFromResourceWithContext is the same as DisassociateBudgetFromResource with the addition of
  3839  // the ability to pass a context and additional request options.
  3840  //
  3841  // See DisassociateBudgetFromResource for details on how to use this API operation.
  3842  //
  3843  // The context must be non-nil and will be used for request cancellation. If
  3844  // the context is nil a panic will occur. In the future the SDK may create
  3845  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3846  // for more information on using Contexts.
  3847  func (c *ServiceCatalog) DisassociateBudgetFromResourceWithContext(ctx aws.Context, input *DisassociateBudgetFromResourceInput, opts ...request.Option) (*DisassociateBudgetFromResourceOutput, error) {
  3848  	req, out := c.DisassociateBudgetFromResourceRequest(input)
  3849  	req.SetContext(ctx)
  3850  	req.ApplyOptions(opts...)
  3851  	return out, req.Send()
  3852  }
  3853  
  3854  const opDisassociatePrincipalFromPortfolio = "DisassociatePrincipalFromPortfolio"
  3855  
  3856  // DisassociatePrincipalFromPortfolioRequest generates a "aws/request.Request" representing the
  3857  // client's request for the DisassociatePrincipalFromPortfolio operation. The "output" return
  3858  // value will be populated with the request's response once the request completes
  3859  // successfully.
  3860  //
  3861  // Use "Send" method on the returned Request to send the API call to the service.
  3862  // the "output" return value is not valid until after Send returns without error.
  3863  //
  3864  // See DisassociatePrincipalFromPortfolio for more information on using the DisassociatePrincipalFromPortfolio
  3865  // API call, and error handling.
  3866  //
  3867  // This method is useful when you want to inject custom logic or configuration
  3868  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3869  //
  3870  //
  3871  //    // Example sending a request using the DisassociatePrincipalFromPortfolioRequest method.
  3872  //    req, resp := client.DisassociatePrincipalFromPortfolioRequest(params)
  3873  //
  3874  //    err := req.Send()
  3875  //    if err == nil { // resp is now filled
  3876  //        fmt.Println(resp)
  3877  //    }
  3878  //
  3879  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
  3880  func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioRequest(input *DisassociatePrincipalFromPortfolioInput) (req *request.Request, output *DisassociatePrincipalFromPortfolioOutput) {
  3881  	op := &request.Operation{
  3882  		Name:       opDisassociatePrincipalFromPortfolio,
  3883  		HTTPMethod: "POST",
  3884  		HTTPPath:   "/",
  3885  	}
  3886  
  3887  	if input == nil {
  3888  		input = &DisassociatePrincipalFromPortfolioInput{}
  3889  	}
  3890  
  3891  	output = &DisassociatePrincipalFromPortfolioOutput{}
  3892  	req = c.newRequest(op, input, output)
  3893  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3894  	return
  3895  }
  3896  
  3897  // DisassociatePrincipalFromPortfolio API operation for AWS Service Catalog.
  3898  //
  3899  // Disassociates a previously associated principal ARN from a specified portfolio.
  3900  //
  3901  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3902  // with awserr.Error's Code and Message methods to get detailed information about
  3903  // the error.
  3904  //
  3905  // See the AWS API reference guide for AWS Service Catalog's
  3906  // API operation DisassociatePrincipalFromPortfolio for usage and error information.
  3907  //
  3908  // Returned Error Types:
  3909  //   * InvalidParametersException
  3910  //   One or more parameters provided to the operation are not valid.
  3911  //
  3912  //   * ResourceNotFoundException
  3913  //   The specified resource was not found.
  3914  //
  3915  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio
  3916  func (c *ServiceCatalog) DisassociatePrincipalFromPortfolio(input *DisassociatePrincipalFromPortfolioInput) (*DisassociatePrincipalFromPortfolioOutput, error) {
  3917  	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
  3918  	return out, req.Send()
  3919  }
  3920  
  3921  // DisassociatePrincipalFromPortfolioWithContext is the same as DisassociatePrincipalFromPortfolio with the addition of
  3922  // the ability to pass a context and additional request options.
  3923  //
  3924  // See DisassociatePrincipalFromPortfolio for details on how to use this API operation.
  3925  //
  3926  // The context must be non-nil and will be used for request cancellation. If
  3927  // the context is nil a panic will occur. In the future the SDK may create
  3928  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3929  // for more information on using Contexts.
  3930  func (c *ServiceCatalog) DisassociatePrincipalFromPortfolioWithContext(ctx aws.Context, input *DisassociatePrincipalFromPortfolioInput, opts ...request.Option) (*DisassociatePrincipalFromPortfolioOutput, error) {
  3931  	req, out := c.DisassociatePrincipalFromPortfolioRequest(input)
  3932  	req.SetContext(ctx)
  3933  	req.ApplyOptions(opts...)
  3934  	return out, req.Send()
  3935  }
  3936  
  3937  const opDisassociateProductFromPortfolio = "DisassociateProductFromPortfolio"
  3938  
  3939  // DisassociateProductFromPortfolioRequest generates a "aws/request.Request" representing the
  3940  // client's request for the DisassociateProductFromPortfolio operation. The "output" return
  3941  // value will be populated with the request's response once the request completes
  3942  // successfully.
  3943  //
  3944  // Use "Send" method on the returned Request to send the API call to the service.
  3945  // the "output" return value is not valid until after Send returns without error.
  3946  //
  3947  // See DisassociateProductFromPortfolio for more information on using the DisassociateProductFromPortfolio
  3948  // API call, and error handling.
  3949  //
  3950  // This method is useful when you want to inject custom logic or configuration
  3951  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3952  //
  3953  //
  3954  //    // Example sending a request using the DisassociateProductFromPortfolioRequest method.
  3955  //    req, resp := client.DisassociateProductFromPortfolioRequest(params)
  3956  //
  3957  //    err := req.Send()
  3958  //    if err == nil { // resp is now filled
  3959  //        fmt.Println(resp)
  3960  //    }
  3961  //
  3962  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
  3963  func (c *ServiceCatalog) DisassociateProductFromPortfolioRequest(input *DisassociateProductFromPortfolioInput) (req *request.Request, output *DisassociateProductFromPortfolioOutput) {
  3964  	op := &request.Operation{
  3965  		Name:       opDisassociateProductFromPortfolio,
  3966  		HTTPMethod: "POST",
  3967  		HTTPPath:   "/",
  3968  	}
  3969  
  3970  	if input == nil {
  3971  		input = &DisassociateProductFromPortfolioInput{}
  3972  	}
  3973  
  3974  	output = &DisassociateProductFromPortfolioOutput{}
  3975  	req = c.newRequest(op, input, output)
  3976  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3977  	return
  3978  }
  3979  
  3980  // DisassociateProductFromPortfolio API operation for AWS Service Catalog.
  3981  //
  3982  // Disassociates the specified product from the specified portfolio.
  3983  //
  3984  // A delegated admin is authorized to invoke this command.
  3985  //
  3986  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3987  // with awserr.Error's Code and Message methods to get detailed information about
  3988  // the error.
  3989  //
  3990  // See the AWS API reference guide for AWS Service Catalog's
  3991  // API operation DisassociateProductFromPortfolio for usage and error information.
  3992  //
  3993  // Returned Error Types:
  3994  //   * ResourceNotFoundException
  3995  //   The specified resource was not found.
  3996  //
  3997  //   * ResourceInUseException
  3998  //   A resource that is currently in use. Ensure that the resource is not in use
  3999  //   and retry the operation.
  4000  //
  4001  //   * InvalidParametersException
  4002  //   One or more parameters provided to the operation are not valid.
  4003  //
  4004  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateProductFromPortfolio
  4005  func (c *ServiceCatalog) DisassociateProductFromPortfolio(input *DisassociateProductFromPortfolioInput) (*DisassociateProductFromPortfolioOutput, error) {
  4006  	req, out := c.DisassociateProductFromPortfolioRequest(input)
  4007  	return out, req.Send()
  4008  }
  4009  
  4010  // DisassociateProductFromPortfolioWithContext is the same as DisassociateProductFromPortfolio with the addition of
  4011  // the ability to pass a context and additional request options.
  4012  //
  4013  // See DisassociateProductFromPortfolio for details on how to use this API operation.
  4014  //
  4015  // The context must be non-nil and will be used for request cancellation. If
  4016  // the context is nil a panic will occur. In the future the SDK may create
  4017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4018  // for more information on using Contexts.
  4019  func (c *ServiceCatalog) DisassociateProductFromPortfolioWithContext(ctx aws.Context, input *DisassociateProductFromPortfolioInput, opts ...request.Option) (*DisassociateProductFromPortfolioOutput, error) {
  4020  	req, out := c.DisassociateProductFromPortfolioRequest(input)
  4021  	req.SetContext(ctx)
  4022  	req.ApplyOptions(opts...)
  4023  	return out, req.Send()
  4024  }
  4025  
  4026  const opDisassociateServiceActionFromProvisioningArtifact = "DisassociateServiceActionFromProvisioningArtifact"
  4027  
  4028  // DisassociateServiceActionFromProvisioningArtifactRequest generates a "aws/request.Request" representing the
  4029  // client's request for the DisassociateServiceActionFromProvisioningArtifact operation. The "output" return
  4030  // value will be populated with the request's response once the request completes
  4031  // successfully.
  4032  //
  4033  // Use "Send" method on the returned Request to send the API call to the service.
  4034  // the "output" return value is not valid until after Send returns without error.
  4035  //
  4036  // See DisassociateServiceActionFromProvisioningArtifact for more information on using the DisassociateServiceActionFromProvisioningArtifact
  4037  // API call, and error handling.
  4038  //
  4039  // This method is useful when you want to inject custom logic or configuration
  4040  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4041  //
  4042  //
  4043  //    // Example sending a request using the DisassociateServiceActionFromProvisioningArtifactRequest method.
  4044  //    req, resp := client.DisassociateServiceActionFromProvisioningArtifactRequest(params)
  4045  //
  4046  //    err := req.Send()
  4047  //    if err == nil { // resp is now filled
  4048  //        fmt.Println(resp)
  4049  //    }
  4050  //
  4051  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
  4052  func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactRequest(input *DisassociateServiceActionFromProvisioningArtifactInput) (req *request.Request, output *DisassociateServiceActionFromProvisioningArtifactOutput) {
  4053  	op := &request.Operation{
  4054  		Name:       opDisassociateServiceActionFromProvisioningArtifact,
  4055  		HTTPMethod: "POST",
  4056  		HTTPPath:   "/",
  4057  	}
  4058  
  4059  	if input == nil {
  4060  		input = &DisassociateServiceActionFromProvisioningArtifactInput{}
  4061  	}
  4062  
  4063  	output = &DisassociateServiceActionFromProvisioningArtifactOutput{}
  4064  	req = c.newRequest(op, input, output)
  4065  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4066  	return
  4067  }
  4068  
  4069  // DisassociateServiceActionFromProvisioningArtifact API operation for AWS Service Catalog.
  4070  //
  4071  // Disassociates the specified self-service action association from the specified
  4072  // provisioning artifact.
  4073  //
  4074  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4075  // with awserr.Error's Code and Message methods to get detailed information about
  4076  // the error.
  4077  //
  4078  // See the AWS API reference guide for AWS Service Catalog's
  4079  // API operation DisassociateServiceActionFromProvisioningArtifact for usage and error information.
  4080  //
  4081  // Returned Error Types:
  4082  //   * ResourceNotFoundException
  4083  //   The specified resource was not found.
  4084  //
  4085  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateServiceActionFromProvisioningArtifact
  4086  func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifact(input *DisassociateServiceActionFromProvisioningArtifactInput) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
  4087  	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
  4088  	return out, req.Send()
  4089  }
  4090  
  4091  // DisassociateServiceActionFromProvisioningArtifactWithContext is the same as DisassociateServiceActionFromProvisioningArtifact with the addition of
  4092  // the ability to pass a context and additional request options.
  4093  //
  4094  // See DisassociateServiceActionFromProvisioningArtifact for details on how to use this API operation.
  4095  //
  4096  // The context must be non-nil and will be used for request cancellation. If
  4097  // the context is nil a panic will occur. In the future the SDK may create
  4098  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4099  // for more information on using Contexts.
  4100  func (c *ServiceCatalog) DisassociateServiceActionFromProvisioningArtifactWithContext(ctx aws.Context, input *DisassociateServiceActionFromProvisioningArtifactInput, opts ...request.Option) (*DisassociateServiceActionFromProvisioningArtifactOutput, error) {
  4101  	req, out := c.DisassociateServiceActionFromProvisioningArtifactRequest(input)
  4102  	req.SetContext(ctx)
  4103  	req.ApplyOptions(opts...)
  4104  	return out, req.Send()
  4105  }
  4106  
  4107  const opDisassociateTagOptionFromResource = "DisassociateTagOptionFromResource"
  4108  
  4109  // DisassociateTagOptionFromResourceRequest generates a "aws/request.Request" representing the
  4110  // client's request for the DisassociateTagOptionFromResource operation. The "output" return
  4111  // value will be populated with the request's response once the request completes
  4112  // successfully.
  4113  //
  4114  // Use "Send" method on the returned Request to send the API call to the service.
  4115  // the "output" return value is not valid until after Send returns without error.
  4116  //
  4117  // See DisassociateTagOptionFromResource for more information on using the DisassociateTagOptionFromResource
  4118  // API call, and error handling.
  4119  //
  4120  // This method is useful when you want to inject custom logic or configuration
  4121  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4122  //
  4123  //
  4124  //    // Example sending a request using the DisassociateTagOptionFromResourceRequest method.
  4125  //    req, resp := client.DisassociateTagOptionFromResourceRequest(params)
  4126  //
  4127  //    err := req.Send()
  4128  //    if err == nil { // resp is now filled
  4129  //        fmt.Println(resp)
  4130  //    }
  4131  //
  4132  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
  4133  func (c *ServiceCatalog) DisassociateTagOptionFromResourceRequest(input *DisassociateTagOptionFromResourceInput) (req *request.Request, output *DisassociateTagOptionFromResourceOutput) {
  4134  	op := &request.Operation{
  4135  		Name:       opDisassociateTagOptionFromResource,
  4136  		HTTPMethod: "POST",
  4137  		HTTPPath:   "/",
  4138  	}
  4139  
  4140  	if input == nil {
  4141  		input = &DisassociateTagOptionFromResourceInput{}
  4142  	}
  4143  
  4144  	output = &DisassociateTagOptionFromResourceOutput{}
  4145  	req = c.newRequest(op, input, output)
  4146  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4147  	return
  4148  }
  4149  
  4150  // DisassociateTagOptionFromResource API operation for AWS Service Catalog.
  4151  //
  4152  // Disassociates the specified TagOption from the specified resource.
  4153  //
  4154  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4155  // with awserr.Error's Code and Message methods to get detailed information about
  4156  // the error.
  4157  //
  4158  // See the AWS API reference guide for AWS Service Catalog's
  4159  // API operation DisassociateTagOptionFromResource for usage and error information.
  4160  //
  4161  // Returned Error Types:
  4162  //   * TagOptionNotMigratedException
  4163  //   An operation requiring TagOptions failed because the TagOptions migration
  4164  //   process has not been performed for this account. Please use the AWS console
  4165  //   to perform the migration process before retrying the operation.
  4166  //
  4167  //   * ResourceNotFoundException
  4168  //   The specified resource was not found.
  4169  //
  4170  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociateTagOptionFromResource
  4171  func (c *ServiceCatalog) DisassociateTagOptionFromResource(input *DisassociateTagOptionFromResourceInput) (*DisassociateTagOptionFromResourceOutput, error) {
  4172  	req, out := c.DisassociateTagOptionFromResourceRequest(input)
  4173  	return out, req.Send()
  4174  }
  4175  
  4176  // DisassociateTagOptionFromResourceWithContext is the same as DisassociateTagOptionFromResource with the addition of
  4177  // the ability to pass a context and additional request options.
  4178  //
  4179  // See DisassociateTagOptionFromResource for details on how to use this API operation.
  4180  //
  4181  // The context must be non-nil and will be used for request cancellation. If
  4182  // the context is nil a panic will occur. In the future the SDK may create
  4183  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4184  // for more information on using Contexts.
  4185  func (c *ServiceCatalog) DisassociateTagOptionFromResourceWithContext(ctx aws.Context, input *DisassociateTagOptionFromResourceInput, opts ...request.Option) (*DisassociateTagOptionFromResourceOutput, error) {
  4186  	req, out := c.DisassociateTagOptionFromResourceRequest(input)
  4187  	req.SetContext(ctx)
  4188  	req.ApplyOptions(opts...)
  4189  	return out, req.Send()
  4190  }
  4191  
  4192  const opEnableAWSOrganizationsAccess = "EnableAWSOrganizationsAccess"
  4193  
  4194  // EnableAWSOrganizationsAccessRequest generates a "aws/request.Request" representing the
  4195  // client's request for the EnableAWSOrganizationsAccess operation. The "output" return
  4196  // value will be populated with the request's response once the request completes
  4197  // successfully.
  4198  //
  4199  // Use "Send" method on the returned Request to send the API call to the service.
  4200  // the "output" return value is not valid until after Send returns without error.
  4201  //
  4202  // See EnableAWSOrganizationsAccess for more information on using the EnableAWSOrganizationsAccess
  4203  // API call, and error handling.
  4204  //
  4205  // This method is useful when you want to inject custom logic or configuration
  4206  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4207  //
  4208  //
  4209  //    // Example sending a request using the EnableAWSOrganizationsAccessRequest method.
  4210  //    req, resp := client.EnableAWSOrganizationsAccessRequest(params)
  4211  //
  4212  //    err := req.Send()
  4213  //    if err == nil { // resp is now filled
  4214  //        fmt.Println(resp)
  4215  //    }
  4216  //
  4217  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
  4218  func (c *ServiceCatalog) EnableAWSOrganizationsAccessRequest(input *EnableAWSOrganizationsAccessInput) (req *request.Request, output *EnableAWSOrganizationsAccessOutput) {
  4219  	op := &request.Operation{
  4220  		Name:       opEnableAWSOrganizationsAccess,
  4221  		HTTPMethod: "POST",
  4222  		HTTPPath:   "/",
  4223  	}
  4224  
  4225  	if input == nil {
  4226  		input = &EnableAWSOrganizationsAccessInput{}
  4227  	}
  4228  
  4229  	output = &EnableAWSOrganizationsAccessOutput{}
  4230  	req = c.newRequest(op, input, output)
  4231  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4232  	return
  4233  }
  4234  
  4235  // EnableAWSOrganizationsAccess API operation for AWS Service Catalog.
  4236  //
  4237  // Enable portfolio sharing feature through AWS Organizations. This API will
  4238  // allow Service Catalog to receive updates on your organization in order to
  4239  // sync your shares with the current structure. This API can only be called
  4240  // by the management account in the organization.
  4241  //
  4242  // By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess
  4243  // on your behalf so that your shares can be in sync with any changes in your
  4244  // AWS Organizations structure.
  4245  //
  4246  // Note that a delegated administrator is not authorized to invoke EnableAWSOrganizationsAccess.
  4247  //
  4248  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4249  // with awserr.Error's Code and Message methods to get detailed information about
  4250  // the error.
  4251  //
  4252  // See the AWS API reference guide for AWS Service Catalog's
  4253  // API operation EnableAWSOrganizationsAccess for usage and error information.
  4254  //
  4255  // Returned Error Types:
  4256  //   * ResourceNotFoundException
  4257  //   The specified resource was not found.
  4258  //
  4259  //   * InvalidStateException
  4260  //   An attempt was made to modify a resource that is in a state that is not valid.
  4261  //   Check your resources to ensure that they are in valid states before retrying
  4262  //   the operation.
  4263  //
  4264  //   * OperationNotSupportedException
  4265  //   The operation is not supported.
  4266  //
  4267  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess
  4268  func (c *ServiceCatalog) EnableAWSOrganizationsAccess(input *EnableAWSOrganizationsAccessInput) (*EnableAWSOrganizationsAccessOutput, error) {
  4269  	req, out := c.EnableAWSOrganizationsAccessRequest(input)
  4270  	return out, req.Send()
  4271  }
  4272  
  4273  // EnableAWSOrganizationsAccessWithContext is the same as EnableAWSOrganizationsAccess with the addition of
  4274  // the ability to pass a context and additional request options.
  4275  //
  4276  // See EnableAWSOrganizationsAccess for details on how to use this API operation.
  4277  //
  4278  // The context must be non-nil and will be used for request cancellation. If
  4279  // the context is nil a panic will occur. In the future the SDK may create
  4280  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4281  // for more information on using Contexts.
  4282  func (c *ServiceCatalog) EnableAWSOrganizationsAccessWithContext(ctx aws.Context, input *EnableAWSOrganizationsAccessInput, opts ...request.Option) (*EnableAWSOrganizationsAccessOutput, error) {
  4283  	req, out := c.EnableAWSOrganizationsAccessRequest(input)
  4284  	req.SetContext(ctx)
  4285  	req.ApplyOptions(opts...)
  4286  	return out, req.Send()
  4287  }
  4288  
  4289  const opExecuteProvisionedProductPlan = "ExecuteProvisionedProductPlan"
  4290  
  4291  // ExecuteProvisionedProductPlanRequest generates a "aws/request.Request" representing the
  4292  // client's request for the ExecuteProvisionedProductPlan operation. The "output" return
  4293  // value will be populated with the request's response once the request completes
  4294  // successfully.
  4295  //
  4296  // Use "Send" method on the returned Request to send the API call to the service.
  4297  // the "output" return value is not valid until after Send returns without error.
  4298  //
  4299  // See ExecuteProvisionedProductPlan for more information on using the ExecuteProvisionedProductPlan
  4300  // API call, and error handling.
  4301  //
  4302  // This method is useful when you want to inject custom logic or configuration
  4303  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4304  //
  4305  //
  4306  //    // Example sending a request using the ExecuteProvisionedProductPlanRequest method.
  4307  //    req, resp := client.ExecuteProvisionedProductPlanRequest(params)
  4308  //
  4309  //    err := req.Send()
  4310  //    if err == nil { // resp is now filled
  4311  //        fmt.Println(resp)
  4312  //    }
  4313  //
  4314  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
  4315  func (c *ServiceCatalog) ExecuteProvisionedProductPlanRequest(input *ExecuteProvisionedProductPlanInput) (req *request.Request, output *ExecuteProvisionedProductPlanOutput) {
  4316  	op := &request.Operation{
  4317  		Name:       opExecuteProvisionedProductPlan,
  4318  		HTTPMethod: "POST",
  4319  		HTTPPath:   "/",
  4320  	}
  4321  
  4322  	if input == nil {
  4323  		input = &ExecuteProvisionedProductPlanInput{}
  4324  	}
  4325  
  4326  	output = &ExecuteProvisionedProductPlanOutput{}
  4327  	req = c.newRequest(op, input, output)
  4328  	return
  4329  }
  4330  
  4331  // ExecuteProvisionedProductPlan API operation for AWS Service Catalog.
  4332  //
  4333  // Provisions or modifies a product based on the resource changes for the specified
  4334  // plan.
  4335  //
  4336  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4337  // with awserr.Error's Code and Message methods to get detailed information about
  4338  // the error.
  4339  //
  4340  // See the AWS API reference guide for AWS Service Catalog's
  4341  // API operation ExecuteProvisionedProductPlan for usage and error information.
  4342  //
  4343  // Returned Error Types:
  4344  //   * InvalidParametersException
  4345  //   One or more parameters provided to the operation are not valid.
  4346  //
  4347  //   * ResourceNotFoundException
  4348  //   The specified resource was not found.
  4349  //
  4350  //   * InvalidStateException
  4351  //   An attempt was made to modify a resource that is in a state that is not valid.
  4352  //   Check your resources to ensure that they are in valid states before retrying
  4353  //   the operation.
  4354  //
  4355  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductPlan
  4356  func (c *ServiceCatalog) ExecuteProvisionedProductPlan(input *ExecuteProvisionedProductPlanInput) (*ExecuteProvisionedProductPlanOutput, error) {
  4357  	req, out := c.ExecuteProvisionedProductPlanRequest(input)
  4358  	return out, req.Send()
  4359  }
  4360  
  4361  // ExecuteProvisionedProductPlanWithContext is the same as ExecuteProvisionedProductPlan with the addition of
  4362  // the ability to pass a context and additional request options.
  4363  //
  4364  // See ExecuteProvisionedProductPlan for details on how to use this API operation.
  4365  //
  4366  // The context must be non-nil and will be used for request cancellation. If
  4367  // the context is nil a panic will occur. In the future the SDK may create
  4368  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4369  // for more information on using Contexts.
  4370  func (c *ServiceCatalog) ExecuteProvisionedProductPlanWithContext(ctx aws.Context, input *ExecuteProvisionedProductPlanInput, opts ...request.Option) (*ExecuteProvisionedProductPlanOutput, error) {
  4371  	req, out := c.ExecuteProvisionedProductPlanRequest(input)
  4372  	req.SetContext(ctx)
  4373  	req.ApplyOptions(opts...)
  4374  	return out, req.Send()
  4375  }
  4376  
  4377  const opExecuteProvisionedProductServiceAction = "ExecuteProvisionedProductServiceAction"
  4378  
  4379  // ExecuteProvisionedProductServiceActionRequest generates a "aws/request.Request" representing the
  4380  // client's request for the ExecuteProvisionedProductServiceAction operation. The "output" return
  4381  // value will be populated with the request's response once the request completes
  4382  // successfully.
  4383  //
  4384  // Use "Send" method on the returned Request to send the API call to the service.
  4385  // the "output" return value is not valid until after Send returns without error.
  4386  //
  4387  // See ExecuteProvisionedProductServiceAction for more information on using the ExecuteProvisionedProductServiceAction
  4388  // API call, and error handling.
  4389  //
  4390  // This method is useful when you want to inject custom logic or configuration
  4391  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4392  //
  4393  //
  4394  //    // Example sending a request using the ExecuteProvisionedProductServiceActionRequest method.
  4395  //    req, resp := client.ExecuteProvisionedProductServiceActionRequest(params)
  4396  //
  4397  //    err := req.Send()
  4398  //    if err == nil { // resp is now filled
  4399  //        fmt.Println(resp)
  4400  //    }
  4401  //
  4402  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
  4403  func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionRequest(input *ExecuteProvisionedProductServiceActionInput) (req *request.Request, output *ExecuteProvisionedProductServiceActionOutput) {
  4404  	op := &request.Operation{
  4405  		Name:       opExecuteProvisionedProductServiceAction,
  4406  		HTTPMethod: "POST",
  4407  		HTTPPath:   "/",
  4408  	}
  4409  
  4410  	if input == nil {
  4411  		input = &ExecuteProvisionedProductServiceActionInput{}
  4412  	}
  4413  
  4414  	output = &ExecuteProvisionedProductServiceActionOutput{}
  4415  	req = c.newRequest(op, input, output)
  4416  	return
  4417  }
  4418  
  4419  // ExecuteProvisionedProductServiceAction API operation for AWS Service Catalog.
  4420  //
  4421  // Executes a self-service action against a provisioned product.
  4422  //
  4423  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4424  // with awserr.Error's Code and Message methods to get detailed information about
  4425  // the error.
  4426  //
  4427  // See the AWS API reference guide for AWS Service Catalog's
  4428  // API operation ExecuteProvisionedProductServiceAction for usage and error information.
  4429  //
  4430  // Returned Error Types:
  4431  //   * InvalidParametersException
  4432  //   One or more parameters provided to the operation are not valid.
  4433  //
  4434  //   * ResourceNotFoundException
  4435  //   The specified resource was not found.
  4436  //
  4437  //   * InvalidStateException
  4438  //   An attempt was made to modify a resource that is in a state that is not valid.
  4439  //   Check your resources to ensure that they are in valid states before retrying
  4440  //   the operation.
  4441  //
  4442  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ExecuteProvisionedProductServiceAction
  4443  func (c *ServiceCatalog) ExecuteProvisionedProductServiceAction(input *ExecuteProvisionedProductServiceActionInput) (*ExecuteProvisionedProductServiceActionOutput, error) {
  4444  	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
  4445  	return out, req.Send()
  4446  }
  4447  
  4448  // ExecuteProvisionedProductServiceActionWithContext is the same as ExecuteProvisionedProductServiceAction with the addition of
  4449  // the ability to pass a context and additional request options.
  4450  //
  4451  // See ExecuteProvisionedProductServiceAction for details on how to use this API operation.
  4452  //
  4453  // The context must be non-nil and will be used for request cancellation. If
  4454  // the context is nil a panic will occur. In the future the SDK may create
  4455  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4456  // for more information on using Contexts.
  4457  func (c *ServiceCatalog) ExecuteProvisionedProductServiceActionWithContext(ctx aws.Context, input *ExecuteProvisionedProductServiceActionInput, opts ...request.Option) (*ExecuteProvisionedProductServiceActionOutput, error) {
  4458  	req, out := c.ExecuteProvisionedProductServiceActionRequest(input)
  4459  	req.SetContext(ctx)
  4460  	req.ApplyOptions(opts...)
  4461  	return out, req.Send()
  4462  }
  4463  
  4464  const opGetAWSOrganizationsAccessStatus = "GetAWSOrganizationsAccessStatus"
  4465  
  4466  // GetAWSOrganizationsAccessStatusRequest generates a "aws/request.Request" representing the
  4467  // client's request for the GetAWSOrganizationsAccessStatus operation. The "output" return
  4468  // value will be populated with the request's response once the request completes
  4469  // successfully.
  4470  //
  4471  // Use "Send" method on the returned Request to send the API call to the service.
  4472  // the "output" return value is not valid until after Send returns without error.
  4473  //
  4474  // See GetAWSOrganizationsAccessStatus for more information on using the GetAWSOrganizationsAccessStatus
  4475  // API call, and error handling.
  4476  //
  4477  // This method is useful when you want to inject custom logic or configuration
  4478  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4479  //
  4480  //
  4481  //    // Example sending a request using the GetAWSOrganizationsAccessStatusRequest method.
  4482  //    req, resp := client.GetAWSOrganizationsAccessStatusRequest(params)
  4483  //
  4484  //    err := req.Send()
  4485  //    if err == nil { // resp is now filled
  4486  //        fmt.Println(resp)
  4487  //    }
  4488  //
  4489  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
  4490  func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusRequest(input *GetAWSOrganizationsAccessStatusInput) (req *request.Request, output *GetAWSOrganizationsAccessStatusOutput) {
  4491  	op := &request.Operation{
  4492  		Name:       opGetAWSOrganizationsAccessStatus,
  4493  		HTTPMethod: "POST",
  4494  		HTTPPath:   "/",
  4495  	}
  4496  
  4497  	if input == nil {
  4498  		input = &GetAWSOrganizationsAccessStatusInput{}
  4499  	}
  4500  
  4501  	output = &GetAWSOrganizationsAccessStatusOutput{}
  4502  	req = c.newRequest(op, input, output)
  4503  	return
  4504  }
  4505  
  4506  // GetAWSOrganizationsAccessStatus API operation for AWS Service Catalog.
  4507  //
  4508  // Get the Access Status for AWS Organization portfolio share feature. This
  4509  // API can only be called by the management account in the organization or by
  4510  // a delegated admin.
  4511  //
  4512  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4513  // with awserr.Error's Code and Message methods to get detailed information about
  4514  // the error.
  4515  //
  4516  // See the AWS API reference guide for AWS Service Catalog's
  4517  // API operation GetAWSOrganizationsAccessStatus for usage and error information.
  4518  //
  4519  // Returned Error Types:
  4520  //   * ResourceNotFoundException
  4521  //   The specified resource was not found.
  4522  //
  4523  //   * OperationNotSupportedException
  4524  //   The operation is not supported.
  4525  //
  4526  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetAWSOrganizationsAccessStatus
  4527  func (c *ServiceCatalog) GetAWSOrganizationsAccessStatus(input *GetAWSOrganizationsAccessStatusInput) (*GetAWSOrganizationsAccessStatusOutput, error) {
  4528  	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
  4529  	return out, req.Send()
  4530  }
  4531  
  4532  // GetAWSOrganizationsAccessStatusWithContext is the same as GetAWSOrganizationsAccessStatus with the addition of
  4533  // the ability to pass a context and additional request options.
  4534  //
  4535  // See GetAWSOrganizationsAccessStatus for details on how to use this API operation.
  4536  //
  4537  // The context must be non-nil and will be used for request cancellation. If
  4538  // the context is nil a panic will occur. In the future the SDK may create
  4539  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4540  // for more information on using Contexts.
  4541  func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusWithContext(ctx aws.Context, input *GetAWSOrganizationsAccessStatusInput, opts ...request.Option) (*GetAWSOrganizationsAccessStatusOutput, error) {
  4542  	req, out := c.GetAWSOrganizationsAccessStatusRequest(input)
  4543  	req.SetContext(ctx)
  4544  	req.ApplyOptions(opts...)
  4545  	return out, req.Send()
  4546  }
  4547  
  4548  const opGetProvisionedProductOutputs = "GetProvisionedProductOutputs"
  4549  
  4550  // GetProvisionedProductOutputsRequest generates a "aws/request.Request" representing the
  4551  // client's request for the GetProvisionedProductOutputs operation. The "output" return
  4552  // value will be populated with the request's response once the request completes
  4553  // successfully.
  4554  //
  4555  // Use "Send" method on the returned Request to send the API call to the service.
  4556  // the "output" return value is not valid until after Send returns without error.
  4557  //
  4558  // See GetProvisionedProductOutputs for more information on using the GetProvisionedProductOutputs
  4559  // API call, and error handling.
  4560  //
  4561  // This method is useful when you want to inject custom logic or configuration
  4562  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4563  //
  4564  //
  4565  //    // Example sending a request using the GetProvisionedProductOutputsRequest method.
  4566  //    req, resp := client.GetProvisionedProductOutputsRequest(params)
  4567  //
  4568  //    err := req.Send()
  4569  //    if err == nil { // resp is now filled
  4570  //        fmt.Println(resp)
  4571  //    }
  4572  //
  4573  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetProvisionedProductOutputs
  4574  func (c *ServiceCatalog) GetProvisionedProductOutputsRequest(input *GetProvisionedProductOutputsInput) (req *request.Request, output *GetProvisionedProductOutputsOutput) {
  4575  	op := &request.Operation{
  4576  		Name:       opGetProvisionedProductOutputs,
  4577  		HTTPMethod: "POST",
  4578  		HTTPPath:   "/",
  4579  		Paginator: &request.Paginator{
  4580  			InputTokens:     []string{"PageToken"},
  4581  			OutputTokens:    []string{"NextPageToken"},
  4582  			LimitToken:      "PageSize",
  4583  			TruncationToken: "",
  4584  		},
  4585  	}
  4586  
  4587  	if input == nil {
  4588  		input = &GetProvisionedProductOutputsInput{}
  4589  	}
  4590  
  4591  	output = &GetProvisionedProductOutputsOutput{}
  4592  	req = c.newRequest(op, input, output)
  4593  	return
  4594  }
  4595  
  4596  // GetProvisionedProductOutputs API operation for AWS Service Catalog.
  4597  //
  4598  // This API takes either a ProvisonedProductId or a ProvisionedProductName,
  4599  // along with a list of one or more output keys, and responds with the key/value
  4600  // pairs of those outputs.
  4601  //
  4602  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4603  // with awserr.Error's Code and Message methods to get detailed information about
  4604  // the error.
  4605  //
  4606  // See the AWS API reference guide for AWS Service Catalog's
  4607  // API operation GetProvisionedProductOutputs for usage and error information.
  4608  //
  4609  // Returned Error Types:
  4610  //   * InvalidParametersException
  4611  //   One or more parameters provided to the operation are not valid.
  4612  //
  4613  //   * ResourceNotFoundException
  4614  //   The specified resource was not found.
  4615  //
  4616  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/GetProvisionedProductOutputs
  4617  func (c *ServiceCatalog) GetProvisionedProductOutputs(input *GetProvisionedProductOutputsInput) (*GetProvisionedProductOutputsOutput, error) {
  4618  	req, out := c.GetProvisionedProductOutputsRequest(input)
  4619  	return out, req.Send()
  4620  }
  4621  
  4622  // GetProvisionedProductOutputsWithContext is the same as GetProvisionedProductOutputs with the addition of
  4623  // the ability to pass a context and additional request options.
  4624  //
  4625  // See GetProvisionedProductOutputs for details on how to use this API operation.
  4626  //
  4627  // The context must be non-nil and will be used for request cancellation. If
  4628  // the context is nil a panic will occur. In the future the SDK may create
  4629  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4630  // for more information on using Contexts.
  4631  func (c *ServiceCatalog) GetProvisionedProductOutputsWithContext(ctx aws.Context, input *GetProvisionedProductOutputsInput, opts ...request.Option) (*GetProvisionedProductOutputsOutput, error) {
  4632  	req, out := c.GetProvisionedProductOutputsRequest(input)
  4633  	req.SetContext(ctx)
  4634  	req.ApplyOptions(opts...)
  4635  	return out, req.Send()
  4636  }
  4637  
  4638  // GetProvisionedProductOutputsPages iterates over the pages of a GetProvisionedProductOutputs operation,
  4639  // calling the "fn" function with the response data for each page. To stop
  4640  // iterating, return false from the fn function.
  4641  //
  4642  // See GetProvisionedProductOutputs method for more information on how to use this operation.
  4643  //
  4644  // Note: This operation can generate multiple requests to a service.
  4645  //
  4646  //    // Example iterating over at most 3 pages of a GetProvisionedProductOutputs operation.
  4647  //    pageNum := 0
  4648  //    err := client.GetProvisionedProductOutputsPages(params,
  4649  //        func(page *servicecatalog.GetProvisionedProductOutputsOutput, lastPage bool) bool {
  4650  //            pageNum++
  4651  //            fmt.Println(page)
  4652  //            return pageNum <= 3
  4653  //        })
  4654  //
  4655  func (c *ServiceCatalog) GetProvisionedProductOutputsPages(input *GetProvisionedProductOutputsInput, fn func(*GetProvisionedProductOutputsOutput, bool) bool) error {
  4656  	return c.GetProvisionedProductOutputsPagesWithContext(aws.BackgroundContext(), input, fn)
  4657  }
  4658  
  4659  // GetProvisionedProductOutputsPagesWithContext same as GetProvisionedProductOutputsPages except
  4660  // it takes a Context and allows setting request options on the pages.
  4661  //
  4662  // The context must be non-nil and will be used for request cancellation. If
  4663  // the context is nil a panic will occur. In the future the SDK may create
  4664  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4665  // for more information on using Contexts.
  4666  func (c *ServiceCatalog) GetProvisionedProductOutputsPagesWithContext(ctx aws.Context, input *GetProvisionedProductOutputsInput, fn func(*GetProvisionedProductOutputsOutput, bool) bool, opts ...request.Option) error {
  4667  	p := request.Pagination{
  4668  		NewRequest: func() (*request.Request, error) {
  4669  			var inCpy *GetProvisionedProductOutputsInput
  4670  			if input != nil {
  4671  				tmp := *input
  4672  				inCpy = &tmp
  4673  			}
  4674  			req, _ := c.GetProvisionedProductOutputsRequest(inCpy)
  4675  			req.SetContext(ctx)
  4676  			req.ApplyOptions(opts...)
  4677  			return req, nil
  4678  		},
  4679  	}
  4680  
  4681  	for p.Next() {
  4682  		if !fn(p.Page().(*GetProvisionedProductOutputsOutput), !p.HasNextPage()) {
  4683  			break
  4684  		}
  4685  	}
  4686  
  4687  	return p.Err()
  4688  }
  4689  
  4690  const opImportAsProvisionedProduct = "ImportAsProvisionedProduct"
  4691  
  4692  // ImportAsProvisionedProductRequest generates a "aws/request.Request" representing the
  4693  // client's request for the ImportAsProvisionedProduct operation. The "output" return
  4694  // value will be populated with the request's response once the request completes
  4695  // successfully.
  4696  //
  4697  // Use "Send" method on the returned Request to send the API call to the service.
  4698  // the "output" return value is not valid until after Send returns without error.
  4699  //
  4700  // See ImportAsProvisionedProduct for more information on using the ImportAsProvisionedProduct
  4701  // API call, and error handling.
  4702  //
  4703  // This method is useful when you want to inject custom logic or configuration
  4704  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4705  //
  4706  //
  4707  //    // Example sending a request using the ImportAsProvisionedProductRequest method.
  4708  //    req, resp := client.ImportAsProvisionedProductRequest(params)
  4709  //
  4710  //    err := req.Send()
  4711  //    if err == nil { // resp is now filled
  4712  //        fmt.Println(resp)
  4713  //    }
  4714  //
  4715  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ImportAsProvisionedProduct
  4716  func (c *ServiceCatalog) ImportAsProvisionedProductRequest(input *ImportAsProvisionedProductInput) (req *request.Request, output *ImportAsProvisionedProductOutput) {
  4717  	op := &request.Operation{
  4718  		Name:       opImportAsProvisionedProduct,
  4719  		HTTPMethod: "POST",
  4720  		HTTPPath:   "/",
  4721  	}
  4722  
  4723  	if input == nil {
  4724  		input = &ImportAsProvisionedProductInput{}
  4725  	}
  4726  
  4727  	output = &ImportAsProvisionedProductOutput{}
  4728  	req = c.newRequest(op, input, output)
  4729  	return
  4730  }
  4731  
  4732  // ImportAsProvisionedProduct API operation for AWS Service Catalog.
  4733  //
  4734  // Requests the import of a resource as a Service Catalog provisioned product
  4735  // that is associated to a Service Catalog product and provisioning artifact.
  4736  // Once imported, all supported Service Catalog governance actions are supported
  4737  // on the provisioned product.
  4738  //
  4739  // Resource import only supports CloudFormation stack ARNs. CloudFormation StackSets
  4740  // and non-root nested stacks are not supported.
  4741  //
  4742  // The CloudFormation stack must have one of the following statuses to be imported:
  4743  // CREATE_COMPLETE, UPDATE_COMPLETE, UPDATE_ROLLBACK_COMPLETE, IMPORT_COMPLETE,
  4744  // IMPORT_ROLLBACK_COMPLETE.
  4745  //
  4746  // Import of the resource requires that the CloudFormation stack template matches
  4747  // the associated Service Catalog product provisioning artifact.
  4748  //
  4749  // The user or role that performs this operation must have the cloudformation:GetTemplate
  4750  // and cloudformation:DescribeStacks IAM policy permissions.
  4751  //
  4752  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4753  // with awserr.Error's Code and Message methods to get detailed information about
  4754  // the error.
  4755  //
  4756  // See the AWS API reference guide for AWS Service Catalog's
  4757  // API operation ImportAsProvisionedProduct for usage and error information.
  4758  //
  4759  // Returned Error Types:
  4760  //   * DuplicateResourceException
  4761  //   The specified resource is a duplicate.
  4762  //
  4763  //   * InvalidStateException
  4764  //   An attempt was made to modify a resource that is in a state that is not valid.
  4765  //   Check your resources to ensure that they are in valid states before retrying
  4766  //   the operation.
  4767  //
  4768  //   * ResourceNotFoundException
  4769  //   The specified resource was not found.
  4770  //
  4771  //   * InvalidParametersException
  4772  //   One or more parameters provided to the operation are not valid.
  4773  //
  4774  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ImportAsProvisionedProduct
  4775  func (c *ServiceCatalog) ImportAsProvisionedProduct(input *ImportAsProvisionedProductInput) (*ImportAsProvisionedProductOutput, error) {
  4776  	req, out := c.ImportAsProvisionedProductRequest(input)
  4777  	return out, req.Send()
  4778  }
  4779  
  4780  // ImportAsProvisionedProductWithContext is the same as ImportAsProvisionedProduct with the addition of
  4781  // the ability to pass a context and additional request options.
  4782  //
  4783  // See ImportAsProvisionedProduct for details on how to use this API operation.
  4784  //
  4785  // The context must be non-nil and will be used for request cancellation. If
  4786  // the context is nil a panic will occur. In the future the SDK may create
  4787  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4788  // for more information on using Contexts.
  4789  func (c *ServiceCatalog) ImportAsProvisionedProductWithContext(ctx aws.Context, input *ImportAsProvisionedProductInput, opts ...request.Option) (*ImportAsProvisionedProductOutput, error) {
  4790  	req, out := c.ImportAsProvisionedProductRequest(input)
  4791  	req.SetContext(ctx)
  4792  	req.ApplyOptions(opts...)
  4793  	return out, req.Send()
  4794  }
  4795  
  4796  const opListAcceptedPortfolioShares = "ListAcceptedPortfolioShares"
  4797  
  4798  // ListAcceptedPortfolioSharesRequest generates a "aws/request.Request" representing the
  4799  // client's request for the ListAcceptedPortfolioShares operation. The "output" return
  4800  // value will be populated with the request's response once the request completes
  4801  // successfully.
  4802  //
  4803  // Use "Send" method on the returned Request to send the API call to the service.
  4804  // the "output" return value is not valid until after Send returns without error.
  4805  //
  4806  // See ListAcceptedPortfolioShares for more information on using the ListAcceptedPortfolioShares
  4807  // API call, and error handling.
  4808  //
  4809  // This method is useful when you want to inject custom logic or configuration
  4810  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4811  //
  4812  //
  4813  //    // Example sending a request using the ListAcceptedPortfolioSharesRequest method.
  4814  //    req, resp := client.ListAcceptedPortfolioSharesRequest(params)
  4815  //
  4816  //    err := req.Send()
  4817  //    if err == nil { // resp is now filled
  4818  //        fmt.Println(resp)
  4819  //    }
  4820  //
  4821  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
  4822  func (c *ServiceCatalog) ListAcceptedPortfolioSharesRequest(input *ListAcceptedPortfolioSharesInput) (req *request.Request, output *ListAcceptedPortfolioSharesOutput) {
  4823  	op := &request.Operation{
  4824  		Name:       opListAcceptedPortfolioShares,
  4825  		HTTPMethod: "POST",
  4826  		HTTPPath:   "/",
  4827  		Paginator: &request.Paginator{
  4828  			InputTokens:     []string{"PageToken"},
  4829  			OutputTokens:    []string{"NextPageToken"},
  4830  			LimitToken:      "PageSize",
  4831  			TruncationToken: "",
  4832  		},
  4833  	}
  4834  
  4835  	if input == nil {
  4836  		input = &ListAcceptedPortfolioSharesInput{}
  4837  	}
  4838  
  4839  	output = &ListAcceptedPortfolioSharesOutput{}
  4840  	req = c.newRequest(op, input, output)
  4841  	return
  4842  }
  4843  
  4844  // ListAcceptedPortfolioShares API operation for AWS Service Catalog.
  4845  //
  4846  // Lists all portfolios for which sharing was accepted by this account.
  4847  //
  4848  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4849  // with awserr.Error's Code and Message methods to get detailed information about
  4850  // the error.
  4851  //
  4852  // See the AWS API reference guide for AWS Service Catalog's
  4853  // API operation ListAcceptedPortfolioShares for usage and error information.
  4854  //
  4855  // Returned Error Types:
  4856  //   * InvalidParametersException
  4857  //   One or more parameters provided to the operation are not valid.
  4858  //
  4859  //   * OperationNotSupportedException
  4860  //   The operation is not supported.
  4861  //
  4862  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListAcceptedPortfolioShares
  4863  func (c *ServiceCatalog) ListAcceptedPortfolioShares(input *ListAcceptedPortfolioSharesInput) (*ListAcceptedPortfolioSharesOutput, error) {
  4864  	req, out := c.ListAcceptedPortfolioSharesRequest(input)
  4865  	return out, req.Send()
  4866  }
  4867  
  4868  // ListAcceptedPortfolioSharesWithContext is the same as ListAcceptedPortfolioShares with the addition of
  4869  // the ability to pass a context and additional request options.
  4870  //
  4871  // See ListAcceptedPortfolioShares for details on how to use this API operation.
  4872  //
  4873  // The context must be non-nil and will be used for request cancellation. If
  4874  // the context is nil a panic will occur. In the future the SDK may create
  4875  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4876  // for more information on using Contexts.
  4877  func (c *ServiceCatalog) ListAcceptedPortfolioSharesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, opts ...request.Option) (*ListAcceptedPortfolioSharesOutput, error) {
  4878  	req, out := c.ListAcceptedPortfolioSharesRequest(input)
  4879  	req.SetContext(ctx)
  4880  	req.ApplyOptions(opts...)
  4881  	return out, req.Send()
  4882  }
  4883  
  4884  // ListAcceptedPortfolioSharesPages iterates over the pages of a ListAcceptedPortfolioShares operation,
  4885  // calling the "fn" function with the response data for each page. To stop
  4886  // iterating, return false from the fn function.
  4887  //
  4888  // See ListAcceptedPortfolioShares method for more information on how to use this operation.
  4889  //
  4890  // Note: This operation can generate multiple requests to a service.
  4891  //
  4892  //    // Example iterating over at most 3 pages of a ListAcceptedPortfolioShares operation.
  4893  //    pageNum := 0
  4894  //    err := client.ListAcceptedPortfolioSharesPages(params,
  4895  //        func(page *servicecatalog.ListAcceptedPortfolioSharesOutput, lastPage bool) bool {
  4896  //            pageNum++
  4897  //            fmt.Println(page)
  4898  //            return pageNum <= 3
  4899  //        })
  4900  //
  4901  func (c *ServiceCatalog) ListAcceptedPortfolioSharesPages(input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool) error {
  4902  	return c.ListAcceptedPortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn)
  4903  }
  4904  
  4905  // ListAcceptedPortfolioSharesPagesWithContext same as ListAcceptedPortfolioSharesPages except
  4906  // it takes a Context and allows setting request options on the pages.
  4907  //
  4908  // The context must be non-nil and will be used for request cancellation. If
  4909  // the context is nil a panic will occur. In the future the SDK may create
  4910  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4911  // for more information on using Contexts.
  4912  func (c *ServiceCatalog) ListAcceptedPortfolioSharesPagesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool, opts ...request.Option) error {
  4913  	p := request.Pagination{
  4914  		NewRequest: func() (*request.Request, error) {
  4915  			var inCpy *ListAcceptedPortfolioSharesInput
  4916  			if input != nil {
  4917  				tmp := *input
  4918  				inCpy = &tmp
  4919  			}
  4920  			req, _ := c.ListAcceptedPortfolioSharesRequest(inCpy)
  4921  			req.SetContext(ctx)
  4922  			req.ApplyOptions(opts...)
  4923  			return req, nil
  4924  		},
  4925  	}
  4926  
  4927  	for p.Next() {
  4928  		if !fn(p.Page().(*ListAcceptedPortfolioSharesOutput), !p.HasNextPage()) {
  4929  			break
  4930  		}
  4931  	}
  4932  
  4933  	return p.Err()
  4934  }
  4935  
  4936  const opListBudgetsForResource = "ListBudgetsForResource"
  4937  
  4938  // ListBudgetsForResourceRequest generates a "aws/request.Request" representing the
  4939  // client's request for the ListBudgetsForResource operation. The "output" return
  4940  // value will be populated with the request's response once the request completes
  4941  // successfully.
  4942  //
  4943  // Use "Send" method on the returned Request to send the API call to the service.
  4944  // the "output" return value is not valid until after Send returns without error.
  4945  //
  4946  // See ListBudgetsForResource for more information on using the ListBudgetsForResource
  4947  // API call, and error handling.
  4948  //
  4949  // This method is useful when you want to inject custom logic or configuration
  4950  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4951  //
  4952  //
  4953  //    // Example sending a request using the ListBudgetsForResourceRequest method.
  4954  //    req, resp := client.ListBudgetsForResourceRequest(params)
  4955  //
  4956  //    err := req.Send()
  4957  //    if err == nil { // resp is now filled
  4958  //        fmt.Println(resp)
  4959  //    }
  4960  //
  4961  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
  4962  func (c *ServiceCatalog) ListBudgetsForResourceRequest(input *ListBudgetsForResourceInput) (req *request.Request, output *ListBudgetsForResourceOutput) {
  4963  	op := &request.Operation{
  4964  		Name:       opListBudgetsForResource,
  4965  		HTTPMethod: "POST",
  4966  		HTTPPath:   "/",
  4967  		Paginator: &request.Paginator{
  4968  			InputTokens:     []string{"PageToken"},
  4969  			OutputTokens:    []string{"NextPageToken"},
  4970  			LimitToken:      "PageSize",
  4971  			TruncationToken: "",
  4972  		},
  4973  	}
  4974  
  4975  	if input == nil {
  4976  		input = &ListBudgetsForResourceInput{}
  4977  	}
  4978  
  4979  	output = &ListBudgetsForResourceOutput{}
  4980  	req = c.newRequest(op, input, output)
  4981  	return
  4982  }
  4983  
  4984  // ListBudgetsForResource API operation for AWS Service Catalog.
  4985  //
  4986  // Lists all the budgets associated to the specified resource.
  4987  //
  4988  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4989  // with awserr.Error's Code and Message methods to get detailed information about
  4990  // the error.
  4991  //
  4992  // See the AWS API reference guide for AWS Service Catalog's
  4993  // API operation ListBudgetsForResource for usage and error information.
  4994  //
  4995  // Returned Error Types:
  4996  //   * ResourceNotFoundException
  4997  //   The specified resource was not found.
  4998  //
  4999  //   * InvalidParametersException
  5000  //   One or more parameters provided to the operation are not valid.
  5001  //
  5002  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListBudgetsForResource
  5003  func (c *ServiceCatalog) ListBudgetsForResource(input *ListBudgetsForResourceInput) (*ListBudgetsForResourceOutput, error) {
  5004  	req, out := c.ListBudgetsForResourceRequest(input)
  5005  	return out, req.Send()
  5006  }
  5007  
  5008  // ListBudgetsForResourceWithContext is the same as ListBudgetsForResource with the addition of
  5009  // the ability to pass a context and additional request options.
  5010  //
  5011  // See ListBudgetsForResource for details on how to use this API operation.
  5012  //
  5013  // The context must be non-nil and will be used for request cancellation. If
  5014  // the context is nil a panic will occur. In the future the SDK may create
  5015  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5016  // for more information on using Contexts.
  5017  func (c *ServiceCatalog) ListBudgetsForResourceWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, opts ...request.Option) (*ListBudgetsForResourceOutput, error) {
  5018  	req, out := c.ListBudgetsForResourceRequest(input)
  5019  	req.SetContext(ctx)
  5020  	req.ApplyOptions(opts...)
  5021  	return out, req.Send()
  5022  }
  5023  
  5024  // ListBudgetsForResourcePages iterates over the pages of a ListBudgetsForResource operation,
  5025  // calling the "fn" function with the response data for each page. To stop
  5026  // iterating, return false from the fn function.
  5027  //
  5028  // See ListBudgetsForResource method for more information on how to use this operation.
  5029  //
  5030  // Note: This operation can generate multiple requests to a service.
  5031  //
  5032  //    // Example iterating over at most 3 pages of a ListBudgetsForResource operation.
  5033  //    pageNum := 0
  5034  //    err := client.ListBudgetsForResourcePages(params,
  5035  //        func(page *servicecatalog.ListBudgetsForResourceOutput, lastPage bool) bool {
  5036  //            pageNum++
  5037  //            fmt.Println(page)
  5038  //            return pageNum <= 3
  5039  //        })
  5040  //
  5041  func (c *ServiceCatalog) ListBudgetsForResourcePages(input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool) error {
  5042  	return c.ListBudgetsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  5043  }
  5044  
  5045  // ListBudgetsForResourcePagesWithContext same as ListBudgetsForResourcePages except
  5046  // it takes a Context and allows setting request options on the pages.
  5047  //
  5048  // The context must be non-nil and will be used for request cancellation. If
  5049  // the context is nil a panic will occur. In the future the SDK may create
  5050  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5051  // for more information on using Contexts.
  5052  func (c *ServiceCatalog) ListBudgetsForResourcePagesWithContext(ctx aws.Context, input *ListBudgetsForResourceInput, fn func(*ListBudgetsForResourceOutput, bool) bool, opts ...request.Option) error {
  5053  	p := request.Pagination{
  5054  		NewRequest: func() (*request.Request, error) {
  5055  			var inCpy *ListBudgetsForResourceInput
  5056  			if input != nil {
  5057  				tmp := *input
  5058  				inCpy = &tmp
  5059  			}
  5060  			req, _ := c.ListBudgetsForResourceRequest(inCpy)
  5061  			req.SetContext(ctx)
  5062  			req.ApplyOptions(opts...)
  5063  			return req, nil
  5064  		},
  5065  	}
  5066  
  5067  	for p.Next() {
  5068  		if !fn(p.Page().(*ListBudgetsForResourceOutput), !p.HasNextPage()) {
  5069  			break
  5070  		}
  5071  	}
  5072  
  5073  	return p.Err()
  5074  }
  5075  
  5076  const opListConstraintsForPortfolio = "ListConstraintsForPortfolio"
  5077  
  5078  // ListConstraintsForPortfolioRequest generates a "aws/request.Request" representing the
  5079  // client's request for the ListConstraintsForPortfolio operation. The "output" return
  5080  // value will be populated with the request's response once the request completes
  5081  // successfully.
  5082  //
  5083  // Use "Send" method on the returned Request to send the API call to the service.
  5084  // the "output" return value is not valid until after Send returns without error.
  5085  //
  5086  // See ListConstraintsForPortfolio for more information on using the ListConstraintsForPortfolio
  5087  // API call, and error handling.
  5088  //
  5089  // This method is useful when you want to inject custom logic or configuration
  5090  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5091  //
  5092  //
  5093  //    // Example sending a request using the ListConstraintsForPortfolioRequest method.
  5094  //    req, resp := client.ListConstraintsForPortfolioRequest(params)
  5095  //
  5096  //    err := req.Send()
  5097  //    if err == nil { // resp is now filled
  5098  //        fmt.Println(resp)
  5099  //    }
  5100  //
  5101  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
  5102  func (c *ServiceCatalog) ListConstraintsForPortfolioRequest(input *ListConstraintsForPortfolioInput) (req *request.Request, output *ListConstraintsForPortfolioOutput) {
  5103  	op := &request.Operation{
  5104  		Name:       opListConstraintsForPortfolio,
  5105  		HTTPMethod: "POST",
  5106  		HTTPPath:   "/",
  5107  		Paginator: &request.Paginator{
  5108  			InputTokens:     []string{"PageToken"},
  5109  			OutputTokens:    []string{"NextPageToken"},
  5110  			LimitToken:      "PageSize",
  5111  			TruncationToken: "",
  5112  		},
  5113  	}
  5114  
  5115  	if input == nil {
  5116  		input = &ListConstraintsForPortfolioInput{}
  5117  	}
  5118  
  5119  	output = &ListConstraintsForPortfolioOutput{}
  5120  	req = c.newRequest(op, input, output)
  5121  	return
  5122  }
  5123  
  5124  // ListConstraintsForPortfolio API operation for AWS Service Catalog.
  5125  //
  5126  // Lists the constraints for the specified portfolio and product.
  5127  //
  5128  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5129  // with awserr.Error's Code and Message methods to get detailed information about
  5130  // the error.
  5131  //
  5132  // See the AWS API reference guide for AWS Service Catalog's
  5133  // API operation ListConstraintsForPortfolio for usage and error information.
  5134  //
  5135  // Returned Error Types:
  5136  //   * ResourceNotFoundException
  5137  //   The specified resource was not found.
  5138  //
  5139  //   * InvalidParametersException
  5140  //   One or more parameters provided to the operation are not valid.
  5141  //
  5142  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListConstraintsForPortfolio
  5143  func (c *ServiceCatalog) ListConstraintsForPortfolio(input *ListConstraintsForPortfolioInput) (*ListConstraintsForPortfolioOutput, error) {
  5144  	req, out := c.ListConstraintsForPortfolioRequest(input)
  5145  	return out, req.Send()
  5146  }
  5147  
  5148  // ListConstraintsForPortfolioWithContext is the same as ListConstraintsForPortfolio with the addition of
  5149  // the ability to pass a context and additional request options.
  5150  //
  5151  // See ListConstraintsForPortfolio for details on how to use this API operation.
  5152  //
  5153  // The context must be non-nil and will be used for request cancellation. If
  5154  // the context is nil a panic will occur. In the future the SDK may create
  5155  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5156  // for more information on using Contexts.
  5157  func (c *ServiceCatalog) ListConstraintsForPortfolioWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, opts ...request.Option) (*ListConstraintsForPortfolioOutput, error) {
  5158  	req, out := c.ListConstraintsForPortfolioRequest(input)
  5159  	req.SetContext(ctx)
  5160  	req.ApplyOptions(opts...)
  5161  	return out, req.Send()
  5162  }
  5163  
  5164  // ListConstraintsForPortfolioPages iterates over the pages of a ListConstraintsForPortfolio operation,
  5165  // calling the "fn" function with the response data for each page. To stop
  5166  // iterating, return false from the fn function.
  5167  //
  5168  // See ListConstraintsForPortfolio method for more information on how to use this operation.
  5169  //
  5170  // Note: This operation can generate multiple requests to a service.
  5171  //
  5172  //    // Example iterating over at most 3 pages of a ListConstraintsForPortfolio operation.
  5173  //    pageNum := 0
  5174  //    err := client.ListConstraintsForPortfolioPages(params,
  5175  //        func(page *servicecatalog.ListConstraintsForPortfolioOutput, lastPage bool) bool {
  5176  //            pageNum++
  5177  //            fmt.Println(page)
  5178  //            return pageNum <= 3
  5179  //        })
  5180  //
  5181  func (c *ServiceCatalog) ListConstraintsForPortfolioPages(input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool) error {
  5182  	return c.ListConstraintsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
  5183  }
  5184  
  5185  // ListConstraintsForPortfolioPagesWithContext same as ListConstraintsForPortfolioPages except
  5186  // it takes a Context and allows setting request options on the pages.
  5187  //
  5188  // The context must be non-nil and will be used for request cancellation. If
  5189  // the context is nil a panic will occur. In the future the SDK may create
  5190  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5191  // for more information on using Contexts.
  5192  func (c *ServiceCatalog) ListConstraintsForPortfolioPagesWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool, opts ...request.Option) error {
  5193  	p := request.Pagination{
  5194  		NewRequest: func() (*request.Request, error) {
  5195  			var inCpy *ListConstraintsForPortfolioInput
  5196  			if input != nil {
  5197  				tmp := *input
  5198  				inCpy = &tmp
  5199  			}
  5200  			req, _ := c.ListConstraintsForPortfolioRequest(inCpy)
  5201  			req.SetContext(ctx)
  5202  			req.ApplyOptions(opts...)
  5203  			return req, nil
  5204  		},
  5205  	}
  5206  
  5207  	for p.Next() {
  5208  		if !fn(p.Page().(*ListConstraintsForPortfolioOutput), !p.HasNextPage()) {
  5209  			break
  5210  		}
  5211  	}
  5212  
  5213  	return p.Err()
  5214  }
  5215  
  5216  const opListLaunchPaths = "ListLaunchPaths"
  5217  
  5218  // ListLaunchPathsRequest generates a "aws/request.Request" representing the
  5219  // client's request for the ListLaunchPaths operation. The "output" return
  5220  // value will be populated with the request's response once the request completes
  5221  // successfully.
  5222  //
  5223  // Use "Send" method on the returned Request to send the API call to the service.
  5224  // the "output" return value is not valid until after Send returns without error.
  5225  //
  5226  // See ListLaunchPaths for more information on using the ListLaunchPaths
  5227  // API call, and error handling.
  5228  //
  5229  // This method is useful when you want to inject custom logic or configuration
  5230  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5231  //
  5232  //
  5233  //    // Example sending a request using the ListLaunchPathsRequest method.
  5234  //    req, resp := client.ListLaunchPathsRequest(params)
  5235  //
  5236  //    err := req.Send()
  5237  //    if err == nil { // resp is now filled
  5238  //        fmt.Println(resp)
  5239  //    }
  5240  //
  5241  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
  5242  func (c *ServiceCatalog) ListLaunchPathsRequest(input *ListLaunchPathsInput) (req *request.Request, output *ListLaunchPathsOutput) {
  5243  	op := &request.Operation{
  5244  		Name:       opListLaunchPaths,
  5245  		HTTPMethod: "POST",
  5246  		HTTPPath:   "/",
  5247  		Paginator: &request.Paginator{
  5248  			InputTokens:     []string{"PageToken"},
  5249  			OutputTokens:    []string{"NextPageToken"},
  5250  			LimitToken:      "PageSize",
  5251  			TruncationToken: "",
  5252  		},
  5253  	}
  5254  
  5255  	if input == nil {
  5256  		input = &ListLaunchPathsInput{}
  5257  	}
  5258  
  5259  	output = &ListLaunchPathsOutput{}
  5260  	req = c.newRequest(op, input, output)
  5261  	return
  5262  }
  5263  
  5264  // ListLaunchPaths API operation for AWS Service Catalog.
  5265  //
  5266  // Lists the paths to the specified product. A path is how the user has access
  5267  // to a specified product, and is necessary when provisioning a product. A path
  5268  // also determines the constraints put on the product.
  5269  //
  5270  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5271  // with awserr.Error's Code and Message methods to get detailed information about
  5272  // the error.
  5273  //
  5274  // See the AWS API reference guide for AWS Service Catalog's
  5275  // API operation ListLaunchPaths for usage and error information.
  5276  //
  5277  // Returned Error Types:
  5278  //   * InvalidParametersException
  5279  //   One or more parameters provided to the operation are not valid.
  5280  //
  5281  //   * ResourceNotFoundException
  5282  //   The specified resource was not found.
  5283  //
  5284  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListLaunchPaths
  5285  func (c *ServiceCatalog) ListLaunchPaths(input *ListLaunchPathsInput) (*ListLaunchPathsOutput, error) {
  5286  	req, out := c.ListLaunchPathsRequest(input)
  5287  	return out, req.Send()
  5288  }
  5289  
  5290  // ListLaunchPathsWithContext is the same as ListLaunchPaths with the addition of
  5291  // the ability to pass a context and additional request options.
  5292  //
  5293  // See ListLaunchPaths for details on how to use this API operation.
  5294  //
  5295  // The context must be non-nil and will be used for request cancellation. If
  5296  // the context is nil a panic will occur. In the future the SDK may create
  5297  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5298  // for more information on using Contexts.
  5299  func (c *ServiceCatalog) ListLaunchPathsWithContext(ctx aws.Context, input *ListLaunchPathsInput, opts ...request.Option) (*ListLaunchPathsOutput, error) {
  5300  	req, out := c.ListLaunchPathsRequest(input)
  5301  	req.SetContext(ctx)
  5302  	req.ApplyOptions(opts...)
  5303  	return out, req.Send()
  5304  }
  5305  
  5306  // ListLaunchPathsPages iterates over the pages of a ListLaunchPaths operation,
  5307  // calling the "fn" function with the response data for each page. To stop
  5308  // iterating, return false from the fn function.
  5309  //
  5310  // See ListLaunchPaths method for more information on how to use this operation.
  5311  //
  5312  // Note: This operation can generate multiple requests to a service.
  5313  //
  5314  //    // Example iterating over at most 3 pages of a ListLaunchPaths operation.
  5315  //    pageNum := 0
  5316  //    err := client.ListLaunchPathsPages(params,
  5317  //        func(page *servicecatalog.ListLaunchPathsOutput, lastPage bool) bool {
  5318  //            pageNum++
  5319  //            fmt.Println(page)
  5320  //            return pageNum <= 3
  5321  //        })
  5322  //
  5323  func (c *ServiceCatalog) ListLaunchPathsPages(input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool) error {
  5324  	return c.ListLaunchPathsPagesWithContext(aws.BackgroundContext(), input, fn)
  5325  }
  5326  
  5327  // ListLaunchPathsPagesWithContext same as ListLaunchPathsPages except
  5328  // it takes a Context and allows setting request options on the pages.
  5329  //
  5330  // The context must be non-nil and will be used for request cancellation. If
  5331  // the context is nil a panic will occur. In the future the SDK may create
  5332  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5333  // for more information on using Contexts.
  5334  func (c *ServiceCatalog) ListLaunchPathsPagesWithContext(ctx aws.Context, input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool, opts ...request.Option) error {
  5335  	p := request.Pagination{
  5336  		NewRequest: func() (*request.Request, error) {
  5337  			var inCpy *ListLaunchPathsInput
  5338  			if input != nil {
  5339  				tmp := *input
  5340  				inCpy = &tmp
  5341  			}
  5342  			req, _ := c.ListLaunchPathsRequest(inCpy)
  5343  			req.SetContext(ctx)
  5344  			req.ApplyOptions(opts...)
  5345  			return req, nil
  5346  		},
  5347  	}
  5348  
  5349  	for p.Next() {
  5350  		if !fn(p.Page().(*ListLaunchPathsOutput), !p.HasNextPage()) {
  5351  			break
  5352  		}
  5353  	}
  5354  
  5355  	return p.Err()
  5356  }
  5357  
  5358  const opListOrganizationPortfolioAccess = "ListOrganizationPortfolioAccess"
  5359  
  5360  // ListOrganizationPortfolioAccessRequest generates a "aws/request.Request" representing the
  5361  // client's request for the ListOrganizationPortfolioAccess operation. The "output" return
  5362  // value will be populated with the request's response once the request completes
  5363  // successfully.
  5364  //
  5365  // Use "Send" method on the returned Request to send the API call to the service.
  5366  // the "output" return value is not valid until after Send returns without error.
  5367  //
  5368  // See ListOrganizationPortfolioAccess for more information on using the ListOrganizationPortfolioAccess
  5369  // API call, and error handling.
  5370  //
  5371  // This method is useful when you want to inject custom logic or configuration
  5372  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5373  //
  5374  //
  5375  //    // Example sending a request using the ListOrganizationPortfolioAccessRequest method.
  5376  //    req, resp := client.ListOrganizationPortfolioAccessRequest(params)
  5377  //
  5378  //    err := req.Send()
  5379  //    if err == nil { // resp is now filled
  5380  //        fmt.Println(resp)
  5381  //    }
  5382  //
  5383  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
  5384  func (c *ServiceCatalog) ListOrganizationPortfolioAccessRequest(input *ListOrganizationPortfolioAccessInput) (req *request.Request, output *ListOrganizationPortfolioAccessOutput) {
  5385  	op := &request.Operation{
  5386  		Name:       opListOrganizationPortfolioAccess,
  5387  		HTTPMethod: "POST",
  5388  		HTTPPath:   "/",
  5389  		Paginator: &request.Paginator{
  5390  			InputTokens:     []string{"PageToken"},
  5391  			OutputTokens:    []string{"NextPageToken"},
  5392  			LimitToken:      "PageSize",
  5393  			TruncationToken: "",
  5394  		},
  5395  	}
  5396  
  5397  	if input == nil {
  5398  		input = &ListOrganizationPortfolioAccessInput{}
  5399  	}
  5400  
  5401  	output = &ListOrganizationPortfolioAccessOutput{}
  5402  	req = c.newRequest(op, input, output)
  5403  	return
  5404  }
  5405  
  5406  // ListOrganizationPortfolioAccess API operation for AWS Service Catalog.
  5407  //
  5408  // Lists the organization nodes that have access to the specified portfolio.
  5409  // This API can only be called by the management account in the organization
  5410  // or by a delegated admin.
  5411  //
  5412  // If a delegated admin is de-registered, they can no longer perform this operation.
  5413  //
  5414  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5415  // with awserr.Error's Code and Message methods to get detailed information about
  5416  // the error.
  5417  //
  5418  // See the AWS API reference guide for AWS Service Catalog's
  5419  // API operation ListOrganizationPortfolioAccess for usage and error information.
  5420  //
  5421  // Returned Error Types:
  5422  //   * ResourceNotFoundException
  5423  //   The specified resource was not found.
  5424  //
  5425  //   * InvalidParametersException
  5426  //   One or more parameters provided to the operation are not valid.
  5427  //
  5428  //   * OperationNotSupportedException
  5429  //   The operation is not supported.
  5430  //
  5431  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListOrganizationPortfolioAccess
  5432  func (c *ServiceCatalog) ListOrganizationPortfolioAccess(input *ListOrganizationPortfolioAccessInput) (*ListOrganizationPortfolioAccessOutput, error) {
  5433  	req, out := c.ListOrganizationPortfolioAccessRequest(input)
  5434  	return out, req.Send()
  5435  }
  5436  
  5437  // ListOrganizationPortfolioAccessWithContext is the same as ListOrganizationPortfolioAccess with the addition of
  5438  // the ability to pass a context and additional request options.
  5439  //
  5440  // See ListOrganizationPortfolioAccess for details on how to use this API operation.
  5441  //
  5442  // The context must be non-nil and will be used for request cancellation. If
  5443  // the context is nil a panic will occur. In the future the SDK may create
  5444  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5445  // for more information on using Contexts.
  5446  func (c *ServiceCatalog) ListOrganizationPortfolioAccessWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, opts ...request.Option) (*ListOrganizationPortfolioAccessOutput, error) {
  5447  	req, out := c.ListOrganizationPortfolioAccessRequest(input)
  5448  	req.SetContext(ctx)
  5449  	req.ApplyOptions(opts...)
  5450  	return out, req.Send()
  5451  }
  5452  
  5453  // ListOrganizationPortfolioAccessPages iterates over the pages of a ListOrganizationPortfolioAccess operation,
  5454  // calling the "fn" function with the response data for each page. To stop
  5455  // iterating, return false from the fn function.
  5456  //
  5457  // See ListOrganizationPortfolioAccess method for more information on how to use this operation.
  5458  //
  5459  // Note: This operation can generate multiple requests to a service.
  5460  //
  5461  //    // Example iterating over at most 3 pages of a ListOrganizationPortfolioAccess operation.
  5462  //    pageNum := 0
  5463  //    err := client.ListOrganizationPortfolioAccessPages(params,
  5464  //        func(page *servicecatalog.ListOrganizationPortfolioAccessOutput, lastPage bool) bool {
  5465  //            pageNum++
  5466  //            fmt.Println(page)
  5467  //            return pageNum <= 3
  5468  //        })
  5469  //
  5470  func (c *ServiceCatalog) ListOrganizationPortfolioAccessPages(input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool) error {
  5471  	return c.ListOrganizationPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
  5472  }
  5473  
  5474  // ListOrganizationPortfolioAccessPagesWithContext same as ListOrganizationPortfolioAccessPages except
  5475  // it takes a Context and allows setting request options on the pages.
  5476  //
  5477  // The context must be non-nil and will be used for request cancellation. If
  5478  // the context is nil a panic will occur. In the future the SDK may create
  5479  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5480  // for more information on using Contexts.
  5481  func (c *ServiceCatalog) ListOrganizationPortfolioAccessPagesWithContext(ctx aws.Context, input *ListOrganizationPortfolioAccessInput, fn func(*ListOrganizationPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
  5482  	p := request.Pagination{
  5483  		NewRequest: func() (*request.Request, error) {
  5484  			var inCpy *ListOrganizationPortfolioAccessInput
  5485  			if input != nil {
  5486  				tmp := *input
  5487  				inCpy = &tmp
  5488  			}
  5489  			req, _ := c.ListOrganizationPortfolioAccessRequest(inCpy)
  5490  			req.SetContext(ctx)
  5491  			req.ApplyOptions(opts...)
  5492  			return req, nil
  5493  		},
  5494  	}
  5495  
  5496  	for p.Next() {
  5497  		if !fn(p.Page().(*ListOrganizationPortfolioAccessOutput), !p.HasNextPage()) {
  5498  			break
  5499  		}
  5500  	}
  5501  
  5502  	return p.Err()
  5503  }
  5504  
  5505  const opListPortfolioAccess = "ListPortfolioAccess"
  5506  
  5507  // ListPortfolioAccessRequest generates a "aws/request.Request" representing the
  5508  // client's request for the ListPortfolioAccess operation. The "output" return
  5509  // value will be populated with the request's response once the request completes
  5510  // successfully.
  5511  //
  5512  // Use "Send" method on the returned Request to send the API call to the service.
  5513  // the "output" return value is not valid until after Send returns without error.
  5514  //
  5515  // See ListPortfolioAccess for more information on using the ListPortfolioAccess
  5516  // API call, and error handling.
  5517  //
  5518  // This method is useful when you want to inject custom logic or configuration
  5519  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5520  //
  5521  //
  5522  //    // Example sending a request using the ListPortfolioAccessRequest method.
  5523  //    req, resp := client.ListPortfolioAccessRequest(params)
  5524  //
  5525  //    err := req.Send()
  5526  //    if err == nil { // resp is now filled
  5527  //        fmt.Println(resp)
  5528  //    }
  5529  //
  5530  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
  5531  func (c *ServiceCatalog) ListPortfolioAccessRequest(input *ListPortfolioAccessInput) (req *request.Request, output *ListPortfolioAccessOutput) {
  5532  	op := &request.Operation{
  5533  		Name:       opListPortfolioAccess,
  5534  		HTTPMethod: "POST",
  5535  		HTTPPath:   "/",
  5536  		Paginator: &request.Paginator{
  5537  			InputTokens:     []string{"PageToken"},
  5538  			OutputTokens:    []string{"NextPageToken"},
  5539  			LimitToken:      "PageSize",
  5540  			TruncationToken: "",
  5541  		},
  5542  	}
  5543  
  5544  	if input == nil {
  5545  		input = &ListPortfolioAccessInput{}
  5546  	}
  5547  
  5548  	output = &ListPortfolioAccessOutput{}
  5549  	req = c.newRequest(op, input, output)
  5550  	return
  5551  }
  5552  
  5553  // ListPortfolioAccess API operation for AWS Service Catalog.
  5554  //
  5555  // Lists the account IDs that have access to the specified portfolio.
  5556  //
  5557  // A delegated admin can list the accounts that have access to the shared portfolio.
  5558  // Note that if a delegated admin is de-registered, they can no longer perform
  5559  // this operation.
  5560  //
  5561  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5562  // with awserr.Error's Code and Message methods to get detailed information about
  5563  // the error.
  5564  //
  5565  // See the AWS API reference guide for AWS Service Catalog's
  5566  // API operation ListPortfolioAccess for usage and error information.
  5567  //
  5568  // Returned Error Types:
  5569  //   * ResourceNotFoundException
  5570  //   The specified resource was not found.
  5571  //
  5572  //   * InvalidParametersException
  5573  //   One or more parameters provided to the operation are not valid.
  5574  //
  5575  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolioAccess
  5576  func (c *ServiceCatalog) ListPortfolioAccess(input *ListPortfolioAccessInput) (*ListPortfolioAccessOutput, error) {
  5577  	req, out := c.ListPortfolioAccessRequest(input)
  5578  	return out, req.Send()
  5579  }
  5580  
  5581  // ListPortfolioAccessWithContext is the same as ListPortfolioAccess with the addition of
  5582  // the ability to pass a context and additional request options.
  5583  //
  5584  // See ListPortfolioAccess for details on how to use this API operation.
  5585  //
  5586  // The context must be non-nil and will be used for request cancellation. If
  5587  // the context is nil a panic will occur. In the future the SDK may create
  5588  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5589  // for more information on using Contexts.
  5590  func (c *ServiceCatalog) ListPortfolioAccessWithContext(ctx aws.Context, input *ListPortfolioAccessInput, opts ...request.Option) (*ListPortfolioAccessOutput, error) {
  5591  	req, out := c.ListPortfolioAccessRequest(input)
  5592  	req.SetContext(ctx)
  5593  	req.ApplyOptions(opts...)
  5594  	return out, req.Send()
  5595  }
  5596  
  5597  // ListPortfolioAccessPages iterates over the pages of a ListPortfolioAccess operation,
  5598  // calling the "fn" function with the response data for each page. To stop
  5599  // iterating, return false from the fn function.
  5600  //
  5601  // See ListPortfolioAccess method for more information on how to use this operation.
  5602  //
  5603  // Note: This operation can generate multiple requests to a service.
  5604  //
  5605  //    // Example iterating over at most 3 pages of a ListPortfolioAccess operation.
  5606  //    pageNum := 0
  5607  //    err := client.ListPortfolioAccessPages(params,
  5608  //        func(page *servicecatalog.ListPortfolioAccessOutput, lastPage bool) bool {
  5609  //            pageNum++
  5610  //            fmt.Println(page)
  5611  //            return pageNum <= 3
  5612  //        })
  5613  //
  5614  func (c *ServiceCatalog) ListPortfolioAccessPages(input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool) error {
  5615  	return c.ListPortfolioAccessPagesWithContext(aws.BackgroundContext(), input, fn)
  5616  }
  5617  
  5618  // ListPortfolioAccessPagesWithContext same as ListPortfolioAccessPages except
  5619  // it takes a Context and allows setting request options on the pages.
  5620  //
  5621  // The context must be non-nil and will be used for request cancellation. If
  5622  // the context is nil a panic will occur. In the future the SDK may create
  5623  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5624  // for more information on using Contexts.
  5625  func (c *ServiceCatalog) ListPortfolioAccessPagesWithContext(ctx aws.Context, input *ListPortfolioAccessInput, fn func(*ListPortfolioAccessOutput, bool) bool, opts ...request.Option) error {
  5626  	p := request.Pagination{
  5627  		NewRequest: func() (*request.Request, error) {
  5628  			var inCpy *ListPortfolioAccessInput
  5629  			if input != nil {
  5630  				tmp := *input
  5631  				inCpy = &tmp
  5632  			}
  5633  			req, _ := c.ListPortfolioAccessRequest(inCpy)
  5634  			req.SetContext(ctx)
  5635  			req.ApplyOptions(opts...)
  5636  			return req, nil
  5637  		},
  5638  	}
  5639  
  5640  	for p.Next() {
  5641  		if !fn(p.Page().(*ListPortfolioAccessOutput), !p.HasNextPage()) {
  5642  			break
  5643  		}
  5644  	}
  5645  
  5646  	return p.Err()
  5647  }
  5648  
  5649  const opListPortfolios = "ListPortfolios"
  5650  
  5651  // ListPortfoliosRequest generates a "aws/request.Request" representing the
  5652  // client's request for the ListPortfolios operation. The "output" return
  5653  // value will be populated with the request's response once the request completes
  5654  // successfully.
  5655  //
  5656  // Use "Send" method on the returned Request to send the API call to the service.
  5657  // the "output" return value is not valid until after Send returns without error.
  5658  //
  5659  // See ListPortfolios for more information on using the ListPortfolios
  5660  // API call, and error handling.
  5661  //
  5662  // This method is useful when you want to inject custom logic or configuration
  5663  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5664  //
  5665  //
  5666  //    // Example sending a request using the ListPortfoliosRequest method.
  5667  //    req, resp := client.ListPortfoliosRequest(params)
  5668  //
  5669  //    err := req.Send()
  5670  //    if err == nil { // resp is now filled
  5671  //        fmt.Println(resp)
  5672  //    }
  5673  //
  5674  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
  5675  func (c *ServiceCatalog) ListPortfoliosRequest(input *ListPortfoliosInput) (req *request.Request, output *ListPortfoliosOutput) {
  5676  	op := &request.Operation{
  5677  		Name:       opListPortfolios,
  5678  		HTTPMethod: "POST",
  5679  		HTTPPath:   "/",
  5680  		Paginator: &request.Paginator{
  5681  			InputTokens:     []string{"PageToken"},
  5682  			OutputTokens:    []string{"NextPageToken"},
  5683  			LimitToken:      "PageSize",
  5684  			TruncationToken: "",
  5685  		},
  5686  	}
  5687  
  5688  	if input == nil {
  5689  		input = &ListPortfoliosInput{}
  5690  	}
  5691  
  5692  	output = &ListPortfoliosOutput{}
  5693  	req = c.newRequest(op, input, output)
  5694  	return
  5695  }
  5696  
  5697  // ListPortfolios API operation for AWS Service Catalog.
  5698  //
  5699  // Lists all portfolios in the catalog.
  5700  //
  5701  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5702  // with awserr.Error's Code and Message methods to get detailed information about
  5703  // the error.
  5704  //
  5705  // See the AWS API reference guide for AWS Service Catalog's
  5706  // API operation ListPortfolios for usage and error information.
  5707  //
  5708  // Returned Error Types:
  5709  //   * InvalidParametersException
  5710  //   One or more parameters provided to the operation are not valid.
  5711  //
  5712  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfolios
  5713  func (c *ServiceCatalog) ListPortfolios(input *ListPortfoliosInput) (*ListPortfoliosOutput, error) {
  5714  	req, out := c.ListPortfoliosRequest(input)
  5715  	return out, req.Send()
  5716  }
  5717  
  5718  // ListPortfoliosWithContext is the same as ListPortfolios with the addition of
  5719  // the ability to pass a context and additional request options.
  5720  //
  5721  // See ListPortfolios for details on how to use this API operation.
  5722  //
  5723  // The context must be non-nil and will be used for request cancellation. If
  5724  // the context is nil a panic will occur. In the future the SDK may create
  5725  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5726  // for more information on using Contexts.
  5727  func (c *ServiceCatalog) ListPortfoliosWithContext(ctx aws.Context, input *ListPortfoliosInput, opts ...request.Option) (*ListPortfoliosOutput, error) {
  5728  	req, out := c.ListPortfoliosRequest(input)
  5729  	req.SetContext(ctx)
  5730  	req.ApplyOptions(opts...)
  5731  	return out, req.Send()
  5732  }
  5733  
  5734  // ListPortfoliosPages iterates over the pages of a ListPortfolios operation,
  5735  // calling the "fn" function with the response data for each page. To stop
  5736  // iterating, return false from the fn function.
  5737  //
  5738  // See ListPortfolios method for more information on how to use this operation.
  5739  //
  5740  // Note: This operation can generate multiple requests to a service.
  5741  //
  5742  //    // Example iterating over at most 3 pages of a ListPortfolios operation.
  5743  //    pageNum := 0
  5744  //    err := client.ListPortfoliosPages(params,
  5745  //        func(page *servicecatalog.ListPortfoliosOutput, lastPage bool) bool {
  5746  //            pageNum++
  5747  //            fmt.Println(page)
  5748  //            return pageNum <= 3
  5749  //        })
  5750  //
  5751  func (c *ServiceCatalog) ListPortfoliosPages(input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool) error {
  5752  	return c.ListPortfoliosPagesWithContext(aws.BackgroundContext(), input, fn)
  5753  }
  5754  
  5755  // ListPortfoliosPagesWithContext same as ListPortfoliosPages except
  5756  // it takes a Context and allows setting request options on the pages.
  5757  //
  5758  // The context must be non-nil and will be used for request cancellation. If
  5759  // the context is nil a panic will occur. In the future the SDK may create
  5760  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5761  // for more information on using Contexts.
  5762  func (c *ServiceCatalog) ListPortfoliosPagesWithContext(ctx aws.Context, input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool, opts ...request.Option) error {
  5763  	p := request.Pagination{
  5764  		NewRequest: func() (*request.Request, error) {
  5765  			var inCpy *ListPortfoliosInput
  5766  			if input != nil {
  5767  				tmp := *input
  5768  				inCpy = &tmp
  5769  			}
  5770  			req, _ := c.ListPortfoliosRequest(inCpy)
  5771  			req.SetContext(ctx)
  5772  			req.ApplyOptions(opts...)
  5773  			return req, nil
  5774  		},
  5775  	}
  5776  
  5777  	for p.Next() {
  5778  		if !fn(p.Page().(*ListPortfoliosOutput), !p.HasNextPage()) {
  5779  			break
  5780  		}
  5781  	}
  5782  
  5783  	return p.Err()
  5784  }
  5785  
  5786  const opListPortfoliosForProduct = "ListPortfoliosForProduct"
  5787  
  5788  // ListPortfoliosForProductRequest generates a "aws/request.Request" representing the
  5789  // client's request for the ListPortfoliosForProduct operation. The "output" return
  5790  // value will be populated with the request's response once the request completes
  5791  // successfully.
  5792  //
  5793  // Use "Send" method on the returned Request to send the API call to the service.
  5794  // the "output" return value is not valid until after Send returns without error.
  5795  //
  5796  // See ListPortfoliosForProduct for more information on using the ListPortfoliosForProduct
  5797  // API call, and error handling.
  5798  //
  5799  // This method is useful when you want to inject custom logic or configuration
  5800  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5801  //
  5802  //
  5803  //    // Example sending a request using the ListPortfoliosForProductRequest method.
  5804  //    req, resp := client.ListPortfoliosForProductRequest(params)
  5805  //
  5806  //    err := req.Send()
  5807  //    if err == nil { // resp is now filled
  5808  //        fmt.Println(resp)
  5809  //    }
  5810  //
  5811  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
  5812  func (c *ServiceCatalog) ListPortfoliosForProductRequest(input *ListPortfoliosForProductInput) (req *request.Request, output *ListPortfoliosForProductOutput) {
  5813  	op := &request.Operation{
  5814  		Name:       opListPortfoliosForProduct,
  5815  		HTTPMethod: "POST",
  5816  		HTTPPath:   "/",
  5817  		Paginator: &request.Paginator{
  5818  			InputTokens:     []string{"PageToken"},
  5819  			OutputTokens:    []string{"NextPageToken"},
  5820  			LimitToken:      "PageSize",
  5821  			TruncationToken: "",
  5822  		},
  5823  	}
  5824  
  5825  	if input == nil {
  5826  		input = &ListPortfoliosForProductInput{}
  5827  	}
  5828  
  5829  	output = &ListPortfoliosForProductOutput{}
  5830  	req = c.newRequest(op, input, output)
  5831  	return
  5832  }
  5833  
  5834  // ListPortfoliosForProduct API operation for AWS Service Catalog.
  5835  //
  5836  // Lists all portfolios that the specified product is associated with.
  5837  //
  5838  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5839  // with awserr.Error's Code and Message methods to get detailed information about
  5840  // the error.
  5841  //
  5842  // See the AWS API reference guide for AWS Service Catalog's
  5843  // API operation ListPortfoliosForProduct for usage and error information.
  5844  //
  5845  // Returned Error Types:
  5846  //   * InvalidParametersException
  5847  //   One or more parameters provided to the operation are not valid.
  5848  //
  5849  //   * ResourceNotFoundException
  5850  //   The specified resource was not found.
  5851  //
  5852  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPortfoliosForProduct
  5853  func (c *ServiceCatalog) ListPortfoliosForProduct(input *ListPortfoliosForProductInput) (*ListPortfoliosForProductOutput, error) {
  5854  	req, out := c.ListPortfoliosForProductRequest(input)
  5855  	return out, req.Send()
  5856  }
  5857  
  5858  // ListPortfoliosForProductWithContext is the same as ListPortfoliosForProduct with the addition of
  5859  // the ability to pass a context and additional request options.
  5860  //
  5861  // See ListPortfoliosForProduct for details on how to use this API operation.
  5862  //
  5863  // The context must be non-nil and will be used for request cancellation. If
  5864  // the context is nil a panic will occur. In the future the SDK may create
  5865  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5866  // for more information on using Contexts.
  5867  func (c *ServiceCatalog) ListPortfoliosForProductWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, opts ...request.Option) (*ListPortfoliosForProductOutput, error) {
  5868  	req, out := c.ListPortfoliosForProductRequest(input)
  5869  	req.SetContext(ctx)
  5870  	req.ApplyOptions(opts...)
  5871  	return out, req.Send()
  5872  }
  5873  
  5874  // ListPortfoliosForProductPages iterates over the pages of a ListPortfoliosForProduct operation,
  5875  // calling the "fn" function with the response data for each page. To stop
  5876  // iterating, return false from the fn function.
  5877  //
  5878  // See ListPortfoliosForProduct method for more information on how to use this operation.
  5879  //
  5880  // Note: This operation can generate multiple requests to a service.
  5881  //
  5882  //    // Example iterating over at most 3 pages of a ListPortfoliosForProduct operation.
  5883  //    pageNum := 0
  5884  //    err := client.ListPortfoliosForProductPages(params,
  5885  //        func(page *servicecatalog.ListPortfoliosForProductOutput, lastPage bool) bool {
  5886  //            pageNum++
  5887  //            fmt.Println(page)
  5888  //            return pageNum <= 3
  5889  //        })
  5890  //
  5891  func (c *ServiceCatalog) ListPortfoliosForProductPages(input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool) error {
  5892  	return c.ListPortfoliosForProductPagesWithContext(aws.BackgroundContext(), input, fn)
  5893  }
  5894  
  5895  // ListPortfoliosForProductPagesWithContext same as ListPortfoliosForProductPages except
  5896  // it takes a Context and allows setting request options on the pages.
  5897  //
  5898  // The context must be non-nil and will be used for request cancellation. If
  5899  // the context is nil a panic will occur. In the future the SDK may create
  5900  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5901  // for more information on using Contexts.
  5902  func (c *ServiceCatalog) ListPortfoliosForProductPagesWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool, opts ...request.Option) error {
  5903  	p := request.Pagination{
  5904  		NewRequest: func() (*request.Request, error) {
  5905  			var inCpy *ListPortfoliosForProductInput
  5906  			if input != nil {
  5907  				tmp := *input
  5908  				inCpy = &tmp
  5909  			}
  5910  			req, _ := c.ListPortfoliosForProductRequest(inCpy)
  5911  			req.SetContext(ctx)
  5912  			req.ApplyOptions(opts...)
  5913  			return req, nil
  5914  		},
  5915  	}
  5916  
  5917  	for p.Next() {
  5918  		if !fn(p.Page().(*ListPortfoliosForProductOutput), !p.HasNextPage()) {
  5919  			break
  5920  		}
  5921  	}
  5922  
  5923  	return p.Err()
  5924  }
  5925  
  5926  const opListPrincipalsForPortfolio = "ListPrincipalsForPortfolio"
  5927  
  5928  // ListPrincipalsForPortfolioRequest generates a "aws/request.Request" representing the
  5929  // client's request for the ListPrincipalsForPortfolio operation. The "output" return
  5930  // value will be populated with the request's response once the request completes
  5931  // successfully.
  5932  //
  5933  // Use "Send" method on the returned Request to send the API call to the service.
  5934  // the "output" return value is not valid until after Send returns without error.
  5935  //
  5936  // See ListPrincipalsForPortfolio for more information on using the ListPrincipalsForPortfolio
  5937  // API call, and error handling.
  5938  //
  5939  // This method is useful when you want to inject custom logic or configuration
  5940  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5941  //
  5942  //
  5943  //    // Example sending a request using the ListPrincipalsForPortfolioRequest method.
  5944  //    req, resp := client.ListPrincipalsForPortfolioRequest(params)
  5945  //
  5946  //    err := req.Send()
  5947  //    if err == nil { // resp is now filled
  5948  //        fmt.Println(resp)
  5949  //    }
  5950  //
  5951  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
  5952  func (c *ServiceCatalog) ListPrincipalsForPortfolioRequest(input *ListPrincipalsForPortfolioInput) (req *request.Request, output *ListPrincipalsForPortfolioOutput) {
  5953  	op := &request.Operation{
  5954  		Name:       opListPrincipalsForPortfolio,
  5955  		HTTPMethod: "POST",
  5956  		HTTPPath:   "/",
  5957  		Paginator: &request.Paginator{
  5958  			InputTokens:     []string{"PageToken"},
  5959  			OutputTokens:    []string{"NextPageToken"},
  5960  			LimitToken:      "PageSize",
  5961  			TruncationToken: "",
  5962  		},
  5963  	}
  5964  
  5965  	if input == nil {
  5966  		input = &ListPrincipalsForPortfolioInput{}
  5967  	}
  5968  
  5969  	output = &ListPrincipalsForPortfolioOutput{}
  5970  	req = c.newRequest(op, input, output)
  5971  	return
  5972  }
  5973  
  5974  // ListPrincipalsForPortfolio API operation for AWS Service Catalog.
  5975  //
  5976  // Lists all principal ARNs associated with the specified portfolio.
  5977  //
  5978  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5979  // with awserr.Error's Code and Message methods to get detailed information about
  5980  // the error.
  5981  //
  5982  // See the AWS API reference guide for AWS Service Catalog's
  5983  // API operation ListPrincipalsForPortfolio for usage and error information.
  5984  //
  5985  // Returned Error Types:
  5986  //   * ResourceNotFoundException
  5987  //   The specified resource was not found.
  5988  //
  5989  //   * InvalidParametersException
  5990  //   One or more parameters provided to the operation are not valid.
  5991  //
  5992  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio
  5993  func (c *ServiceCatalog) ListPrincipalsForPortfolio(input *ListPrincipalsForPortfolioInput) (*ListPrincipalsForPortfolioOutput, error) {
  5994  	req, out := c.ListPrincipalsForPortfolioRequest(input)
  5995  	return out, req.Send()
  5996  }
  5997  
  5998  // ListPrincipalsForPortfolioWithContext is the same as ListPrincipalsForPortfolio with the addition of
  5999  // the ability to pass a context and additional request options.
  6000  //
  6001  // See ListPrincipalsForPortfolio for details on how to use this API operation.
  6002  //
  6003  // The context must be non-nil and will be used for request cancellation. If
  6004  // the context is nil a panic will occur. In the future the SDK may create
  6005  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6006  // for more information on using Contexts.
  6007  func (c *ServiceCatalog) ListPrincipalsForPortfolioWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, opts ...request.Option) (*ListPrincipalsForPortfolioOutput, error) {
  6008  	req, out := c.ListPrincipalsForPortfolioRequest(input)
  6009  	req.SetContext(ctx)
  6010  	req.ApplyOptions(opts...)
  6011  	return out, req.Send()
  6012  }
  6013  
  6014  // ListPrincipalsForPortfolioPages iterates over the pages of a ListPrincipalsForPortfolio operation,
  6015  // calling the "fn" function with the response data for each page. To stop
  6016  // iterating, return false from the fn function.
  6017  //
  6018  // See ListPrincipalsForPortfolio method for more information on how to use this operation.
  6019  //
  6020  // Note: This operation can generate multiple requests to a service.
  6021  //
  6022  //    // Example iterating over at most 3 pages of a ListPrincipalsForPortfolio operation.
  6023  //    pageNum := 0
  6024  //    err := client.ListPrincipalsForPortfolioPages(params,
  6025  //        func(page *servicecatalog.ListPrincipalsForPortfolioOutput, lastPage bool) bool {
  6026  //            pageNum++
  6027  //            fmt.Println(page)
  6028  //            return pageNum <= 3
  6029  //        })
  6030  //
  6031  func (c *ServiceCatalog) ListPrincipalsForPortfolioPages(input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool) error {
  6032  	return c.ListPrincipalsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn)
  6033  }
  6034  
  6035  // ListPrincipalsForPortfolioPagesWithContext same as ListPrincipalsForPortfolioPages except
  6036  // it takes a Context and allows setting request options on the pages.
  6037  //
  6038  // The context must be non-nil and will be used for request cancellation. If
  6039  // the context is nil a panic will occur. In the future the SDK may create
  6040  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6041  // for more information on using Contexts.
  6042  func (c *ServiceCatalog) ListPrincipalsForPortfolioPagesWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool, opts ...request.Option) error {
  6043  	p := request.Pagination{
  6044  		NewRequest: func() (*request.Request, error) {
  6045  			var inCpy *ListPrincipalsForPortfolioInput
  6046  			if input != nil {
  6047  				tmp := *input
  6048  				inCpy = &tmp
  6049  			}
  6050  			req, _ := c.ListPrincipalsForPortfolioRequest(inCpy)
  6051  			req.SetContext(ctx)
  6052  			req.ApplyOptions(opts...)
  6053  			return req, nil
  6054  		},
  6055  	}
  6056  
  6057  	for p.Next() {
  6058  		if !fn(p.Page().(*ListPrincipalsForPortfolioOutput), !p.HasNextPage()) {
  6059  			break
  6060  		}
  6061  	}
  6062  
  6063  	return p.Err()
  6064  }
  6065  
  6066  const opListProvisionedProductPlans = "ListProvisionedProductPlans"
  6067  
  6068  // ListProvisionedProductPlansRequest generates a "aws/request.Request" representing the
  6069  // client's request for the ListProvisionedProductPlans operation. The "output" return
  6070  // value will be populated with the request's response once the request completes
  6071  // successfully.
  6072  //
  6073  // Use "Send" method on the returned Request to send the API call to the service.
  6074  // the "output" return value is not valid until after Send returns without error.
  6075  //
  6076  // See ListProvisionedProductPlans for more information on using the ListProvisionedProductPlans
  6077  // API call, and error handling.
  6078  //
  6079  // This method is useful when you want to inject custom logic or configuration
  6080  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6081  //
  6082  //
  6083  //    // Example sending a request using the ListProvisionedProductPlansRequest method.
  6084  //    req, resp := client.ListProvisionedProductPlansRequest(params)
  6085  //
  6086  //    err := req.Send()
  6087  //    if err == nil { // resp is now filled
  6088  //        fmt.Println(resp)
  6089  //    }
  6090  //
  6091  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
  6092  func (c *ServiceCatalog) ListProvisionedProductPlansRequest(input *ListProvisionedProductPlansInput) (req *request.Request, output *ListProvisionedProductPlansOutput) {
  6093  	op := &request.Operation{
  6094  		Name:       opListProvisionedProductPlans,
  6095  		HTTPMethod: "POST",
  6096  		HTTPPath:   "/",
  6097  	}
  6098  
  6099  	if input == nil {
  6100  		input = &ListProvisionedProductPlansInput{}
  6101  	}
  6102  
  6103  	output = &ListProvisionedProductPlansOutput{}
  6104  	req = c.newRequest(op, input, output)
  6105  	return
  6106  }
  6107  
  6108  // ListProvisionedProductPlans API operation for AWS Service Catalog.
  6109  //
  6110  // Lists the plans for the specified provisioned product or all plans to which
  6111  // the user has access.
  6112  //
  6113  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6114  // with awserr.Error's Code and Message methods to get detailed information about
  6115  // the error.
  6116  //
  6117  // See the AWS API reference guide for AWS Service Catalog's
  6118  // API operation ListProvisionedProductPlans for usage and error information.
  6119  //
  6120  // Returned Error Types:
  6121  //   * ResourceNotFoundException
  6122  //   The specified resource was not found.
  6123  //
  6124  //   * InvalidParametersException
  6125  //   One or more parameters provided to the operation are not valid.
  6126  //
  6127  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisionedProductPlans
  6128  func (c *ServiceCatalog) ListProvisionedProductPlans(input *ListProvisionedProductPlansInput) (*ListProvisionedProductPlansOutput, error) {
  6129  	req, out := c.ListProvisionedProductPlansRequest(input)
  6130  	return out, req.Send()
  6131  }
  6132  
  6133  // ListProvisionedProductPlansWithContext is the same as ListProvisionedProductPlans with the addition of
  6134  // the ability to pass a context and additional request options.
  6135  //
  6136  // See ListProvisionedProductPlans for details on how to use this API operation.
  6137  //
  6138  // The context must be non-nil and will be used for request cancellation. If
  6139  // the context is nil a panic will occur. In the future the SDK may create
  6140  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6141  // for more information on using Contexts.
  6142  func (c *ServiceCatalog) ListProvisionedProductPlansWithContext(ctx aws.Context, input *ListProvisionedProductPlansInput, opts ...request.Option) (*ListProvisionedProductPlansOutput, error) {
  6143  	req, out := c.ListProvisionedProductPlansRequest(input)
  6144  	req.SetContext(ctx)
  6145  	req.ApplyOptions(opts...)
  6146  	return out, req.Send()
  6147  }
  6148  
  6149  const opListProvisioningArtifacts = "ListProvisioningArtifacts"
  6150  
  6151  // ListProvisioningArtifactsRequest generates a "aws/request.Request" representing the
  6152  // client's request for the ListProvisioningArtifacts operation. The "output" return
  6153  // value will be populated with the request's response once the request completes
  6154  // successfully.
  6155  //
  6156  // Use "Send" method on the returned Request to send the API call to the service.
  6157  // the "output" return value is not valid until after Send returns without error.
  6158  //
  6159  // See ListProvisioningArtifacts for more information on using the ListProvisioningArtifacts
  6160  // API call, and error handling.
  6161  //
  6162  // This method is useful when you want to inject custom logic or configuration
  6163  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6164  //
  6165  //
  6166  //    // Example sending a request using the ListProvisioningArtifactsRequest method.
  6167  //    req, resp := client.ListProvisioningArtifactsRequest(params)
  6168  //
  6169  //    err := req.Send()
  6170  //    if err == nil { // resp is now filled
  6171  //        fmt.Println(resp)
  6172  //    }
  6173  //
  6174  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
  6175  func (c *ServiceCatalog) ListProvisioningArtifactsRequest(input *ListProvisioningArtifactsInput) (req *request.Request, output *ListProvisioningArtifactsOutput) {
  6176  	op := &request.Operation{
  6177  		Name:       opListProvisioningArtifacts,
  6178  		HTTPMethod: "POST",
  6179  		HTTPPath:   "/",
  6180  	}
  6181  
  6182  	if input == nil {
  6183  		input = &ListProvisioningArtifactsInput{}
  6184  	}
  6185  
  6186  	output = &ListProvisioningArtifactsOutput{}
  6187  	req = c.newRequest(op, input, output)
  6188  	return
  6189  }
  6190  
  6191  // ListProvisioningArtifacts API operation for AWS Service Catalog.
  6192  //
  6193  // Lists all provisioning artifacts (also known as versions) for the specified
  6194  // product.
  6195  //
  6196  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6197  // with awserr.Error's Code and Message methods to get detailed information about
  6198  // the error.
  6199  //
  6200  // See the AWS API reference guide for AWS Service Catalog's
  6201  // API operation ListProvisioningArtifacts for usage and error information.
  6202  //
  6203  // Returned Error Types:
  6204  //   * ResourceNotFoundException
  6205  //   The specified resource was not found.
  6206  //
  6207  //   * InvalidParametersException
  6208  //   One or more parameters provided to the operation are not valid.
  6209  //
  6210  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts
  6211  func (c *ServiceCatalog) ListProvisioningArtifacts(input *ListProvisioningArtifactsInput) (*ListProvisioningArtifactsOutput, error) {
  6212  	req, out := c.ListProvisioningArtifactsRequest(input)
  6213  	return out, req.Send()
  6214  }
  6215  
  6216  // ListProvisioningArtifactsWithContext is the same as ListProvisioningArtifacts with the addition of
  6217  // the ability to pass a context and additional request options.
  6218  //
  6219  // See ListProvisioningArtifacts for details on how to use this API operation.
  6220  //
  6221  // The context must be non-nil and will be used for request cancellation. If
  6222  // the context is nil a panic will occur. In the future the SDK may create
  6223  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6224  // for more information on using Contexts.
  6225  func (c *ServiceCatalog) ListProvisioningArtifactsWithContext(ctx aws.Context, input *ListProvisioningArtifactsInput, opts ...request.Option) (*ListProvisioningArtifactsOutput, error) {
  6226  	req, out := c.ListProvisioningArtifactsRequest(input)
  6227  	req.SetContext(ctx)
  6228  	req.ApplyOptions(opts...)
  6229  	return out, req.Send()
  6230  }
  6231  
  6232  const opListProvisioningArtifactsForServiceAction = "ListProvisioningArtifactsForServiceAction"
  6233  
  6234  // ListProvisioningArtifactsForServiceActionRequest generates a "aws/request.Request" representing the
  6235  // client's request for the ListProvisioningArtifactsForServiceAction operation. The "output" return
  6236  // value will be populated with the request's response once the request completes
  6237  // successfully.
  6238  //
  6239  // Use "Send" method on the returned Request to send the API call to the service.
  6240  // the "output" return value is not valid until after Send returns without error.
  6241  //
  6242  // See ListProvisioningArtifactsForServiceAction for more information on using the ListProvisioningArtifactsForServiceAction
  6243  // API call, and error handling.
  6244  //
  6245  // This method is useful when you want to inject custom logic or configuration
  6246  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6247  //
  6248  //
  6249  //    // Example sending a request using the ListProvisioningArtifactsForServiceActionRequest method.
  6250  //    req, resp := client.ListProvisioningArtifactsForServiceActionRequest(params)
  6251  //
  6252  //    err := req.Send()
  6253  //    if err == nil { // resp is now filled
  6254  //        fmt.Println(resp)
  6255  //    }
  6256  //
  6257  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
  6258  func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionRequest(input *ListProvisioningArtifactsForServiceActionInput) (req *request.Request, output *ListProvisioningArtifactsForServiceActionOutput) {
  6259  	op := &request.Operation{
  6260  		Name:       opListProvisioningArtifactsForServiceAction,
  6261  		HTTPMethod: "POST",
  6262  		HTTPPath:   "/",
  6263  		Paginator: &request.Paginator{
  6264  			InputTokens:     []string{"PageToken"},
  6265  			OutputTokens:    []string{"NextPageToken"},
  6266  			LimitToken:      "PageSize",
  6267  			TruncationToken: "",
  6268  		},
  6269  	}
  6270  
  6271  	if input == nil {
  6272  		input = &ListProvisioningArtifactsForServiceActionInput{}
  6273  	}
  6274  
  6275  	output = &ListProvisioningArtifactsForServiceActionOutput{}
  6276  	req = c.newRequest(op, input, output)
  6277  	return
  6278  }
  6279  
  6280  // ListProvisioningArtifactsForServiceAction API operation for AWS Service Catalog.
  6281  //
  6282  // Lists all provisioning artifacts (also known as versions) for the specified
  6283  // self-service action.
  6284  //
  6285  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6286  // with awserr.Error's Code and Message methods to get detailed information about
  6287  // the error.
  6288  //
  6289  // See the AWS API reference guide for AWS Service Catalog's
  6290  // API operation ListProvisioningArtifactsForServiceAction for usage and error information.
  6291  //
  6292  // Returned Error Types:
  6293  //   * ResourceNotFoundException
  6294  //   The specified resource was not found.
  6295  //
  6296  //   * InvalidParametersException
  6297  //   One or more parameters provided to the operation are not valid.
  6298  //
  6299  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifactsForServiceAction
  6300  func (c *ServiceCatalog) ListProvisioningArtifactsForServiceAction(input *ListProvisioningArtifactsForServiceActionInput) (*ListProvisioningArtifactsForServiceActionOutput, error) {
  6301  	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
  6302  	return out, req.Send()
  6303  }
  6304  
  6305  // ListProvisioningArtifactsForServiceActionWithContext is the same as ListProvisioningArtifactsForServiceAction with the addition of
  6306  // the ability to pass a context and additional request options.
  6307  //
  6308  // See ListProvisioningArtifactsForServiceAction for details on how to use this API operation.
  6309  //
  6310  // The context must be non-nil and will be used for request cancellation. If
  6311  // the context is nil a panic will occur. In the future the SDK may create
  6312  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6313  // for more information on using Contexts.
  6314  func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, opts ...request.Option) (*ListProvisioningArtifactsForServiceActionOutput, error) {
  6315  	req, out := c.ListProvisioningArtifactsForServiceActionRequest(input)
  6316  	req.SetContext(ctx)
  6317  	req.ApplyOptions(opts...)
  6318  	return out, req.Send()
  6319  }
  6320  
  6321  // ListProvisioningArtifactsForServiceActionPages iterates over the pages of a ListProvisioningArtifactsForServiceAction operation,
  6322  // calling the "fn" function with the response data for each page. To stop
  6323  // iterating, return false from the fn function.
  6324  //
  6325  // See ListProvisioningArtifactsForServiceAction method for more information on how to use this operation.
  6326  //
  6327  // Note: This operation can generate multiple requests to a service.
  6328  //
  6329  //    // Example iterating over at most 3 pages of a ListProvisioningArtifactsForServiceAction operation.
  6330  //    pageNum := 0
  6331  //    err := client.ListProvisioningArtifactsForServiceActionPages(params,
  6332  //        func(page *servicecatalog.ListProvisioningArtifactsForServiceActionOutput, lastPage bool) bool {
  6333  //            pageNum++
  6334  //            fmt.Println(page)
  6335  //            return pageNum <= 3
  6336  //        })
  6337  //
  6338  func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPages(input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool) error {
  6339  	return c.ListProvisioningArtifactsForServiceActionPagesWithContext(aws.BackgroundContext(), input, fn)
  6340  }
  6341  
  6342  // ListProvisioningArtifactsForServiceActionPagesWithContext same as ListProvisioningArtifactsForServiceActionPages except
  6343  // it takes a Context and allows setting request options on the pages.
  6344  //
  6345  // The context must be non-nil and will be used for request cancellation. If
  6346  // the context is nil a panic will occur. In the future the SDK may create
  6347  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6348  // for more information on using Contexts.
  6349  func (c *ServiceCatalog) ListProvisioningArtifactsForServiceActionPagesWithContext(ctx aws.Context, input *ListProvisioningArtifactsForServiceActionInput, fn func(*ListProvisioningArtifactsForServiceActionOutput, bool) bool, opts ...request.Option) error {
  6350  	p := request.Pagination{
  6351  		NewRequest: func() (*request.Request, error) {
  6352  			var inCpy *ListProvisioningArtifactsForServiceActionInput
  6353  			if input != nil {
  6354  				tmp := *input
  6355  				inCpy = &tmp
  6356  			}
  6357  			req, _ := c.ListProvisioningArtifactsForServiceActionRequest(inCpy)
  6358  			req.SetContext(ctx)
  6359  			req.ApplyOptions(opts...)
  6360  			return req, nil
  6361  		},
  6362  	}
  6363  
  6364  	for p.Next() {
  6365  		if !fn(p.Page().(*ListProvisioningArtifactsForServiceActionOutput), !p.HasNextPage()) {
  6366  			break
  6367  		}
  6368  	}
  6369  
  6370  	return p.Err()
  6371  }
  6372  
  6373  const opListRecordHistory = "ListRecordHistory"
  6374  
  6375  // ListRecordHistoryRequest generates a "aws/request.Request" representing the
  6376  // client's request for the ListRecordHistory operation. The "output" return
  6377  // value will be populated with the request's response once the request completes
  6378  // successfully.
  6379  //
  6380  // Use "Send" method on the returned Request to send the API call to the service.
  6381  // the "output" return value is not valid until after Send returns without error.
  6382  //
  6383  // See ListRecordHistory for more information on using the ListRecordHistory
  6384  // API call, and error handling.
  6385  //
  6386  // This method is useful when you want to inject custom logic or configuration
  6387  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6388  //
  6389  //
  6390  //    // Example sending a request using the ListRecordHistoryRequest method.
  6391  //    req, resp := client.ListRecordHistoryRequest(params)
  6392  //
  6393  //    err := req.Send()
  6394  //    if err == nil { // resp is now filled
  6395  //        fmt.Println(resp)
  6396  //    }
  6397  //
  6398  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
  6399  func (c *ServiceCatalog) ListRecordHistoryRequest(input *ListRecordHistoryInput) (req *request.Request, output *ListRecordHistoryOutput) {
  6400  	op := &request.Operation{
  6401  		Name:       opListRecordHistory,
  6402  		HTTPMethod: "POST",
  6403  		HTTPPath:   "/",
  6404  	}
  6405  
  6406  	if input == nil {
  6407  		input = &ListRecordHistoryInput{}
  6408  	}
  6409  
  6410  	output = &ListRecordHistoryOutput{}
  6411  	req = c.newRequest(op, input, output)
  6412  	return
  6413  }
  6414  
  6415  // ListRecordHistory API operation for AWS Service Catalog.
  6416  //
  6417  // Lists the specified requests or all performed requests.
  6418  //
  6419  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6420  // with awserr.Error's Code and Message methods to get detailed information about
  6421  // the error.
  6422  //
  6423  // See the AWS API reference guide for AWS Service Catalog's
  6424  // API operation ListRecordHistory for usage and error information.
  6425  //
  6426  // Returned Error Types:
  6427  //   * InvalidParametersException
  6428  //   One or more parameters provided to the operation are not valid.
  6429  //
  6430  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistory
  6431  func (c *ServiceCatalog) ListRecordHistory(input *ListRecordHistoryInput) (*ListRecordHistoryOutput, error) {
  6432  	req, out := c.ListRecordHistoryRequest(input)
  6433  	return out, req.Send()
  6434  }
  6435  
  6436  // ListRecordHistoryWithContext is the same as ListRecordHistory with the addition of
  6437  // the ability to pass a context and additional request options.
  6438  //
  6439  // See ListRecordHistory for details on how to use this API operation.
  6440  //
  6441  // The context must be non-nil and will be used for request cancellation. If
  6442  // the context is nil a panic will occur. In the future the SDK may create
  6443  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6444  // for more information on using Contexts.
  6445  func (c *ServiceCatalog) ListRecordHistoryWithContext(ctx aws.Context, input *ListRecordHistoryInput, opts ...request.Option) (*ListRecordHistoryOutput, error) {
  6446  	req, out := c.ListRecordHistoryRequest(input)
  6447  	req.SetContext(ctx)
  6448  	req.ApplyOptions(opts...)
  6449  	return out, req.Send()
  6450  }
  6451  
  6452  const opListResourcesForTagOption = "ListResourcesForTagOption"
  6453  
  6454  // ListResourcesForTagOptionRequest generates a "aws/request.Request" representing the
  6455  // client's request for the ListResourcesForTagOption operation. The "output" return
  6456  // value will be populated with the request's response once the request completes
  6457  // successfully.
  6458  //
  6459  // Use "Send" method on the returned Request to send the API call to the service.
  6460  // the "output" return value is not valid until after Send returns without error.
  6461  //
  6462  // See ListResourcesForTagOption for more information on using the ListResourcesForTagOption
  6463  // API call, and error handling.
  6464  //
  6465  // This method is useful when you want to inject custom logic or configuration
  6466  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6467  //
  6468  //
  6469  //    // Example sending a request using the ListResourcesForTagOptionRequest method.
  6470  //    req, resp := client.ListResourcesForTagOptionRequest(params)
  6471  //
  6472  //    err := req.Send()
  6473  //    if err == nil { // resp is now filled
  6474  //        fmt.Println(resp)
  6475  //    }
  6476  //
  6477  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
  6478  func (c *ServiceCatalog) ListResourcesForTagOptionRequest(input *ListResourcesForTagOptionInput) (req *request.Request, output *ListResourcesForTagOptionOutput) {
  6479  	op := &request.Operation{
  6480  		Name:       opListResourcesForTagOption,
  6481  		HTTPMethod: "POST",
  6482  		HTTPPath:   "/",
  6483  		Paginator: &request.Paginator{
  6484  			InputTokens:     []string{"PageToken"},
  6485  			OutputTokens:    []string{"PageToken"},
  6486  			LimitToken:      "PageSize",
  6487  			TruncationToken: "",
  6488  		},
  6489  	}
  6490  
  6491  	if input == nil {
  6492  		input = &ListResourcesForTagOptionInput{}
  6493  	}
  6494  
  6495  	output = &ListResourcesForTagOptionOutput{}
  6496  	req = c.newRequest(op, input, output)
  6497  	return
  6498  }
  6499  
  6500  // ListResourcesForTagOption API operation for AWS Service Catalog.
  6501  //
  6502  // Lists the resources associated with the specified TagOption.
  6503  //
  6504  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6505  // with awserr.Error's Code and Message methods to get detailed information about
  6506  // the error.
  6507  //
  6508  // See the AWS API reference guide for AWS Service Catalog's
  6509  // API operation ListResourcesForTagOption for usage and error information.
  6510  //
  6511  // Returned Error Types:
  6512  //   * TagOptionNotMigratedException
  6513  //   An operation requiring TagOptions failed because the TagOptions migration
  6514  //   process has not been performed for this account. Please use the AWS console
  6515  //   to perform the migration process before retrying the operation.
  6516  //
  6517  //   * ResourceNotFoundException
  6518  //   The specified resource was not found.
  6519  //
  6520  //   * InvalidParametersException
  6521  //   One or more parameters provided to the operation are not valid.
  6522  //
  6523  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListResourcesForTagOption
  6524  func (c *ServiceCatalog) ListResourcesForTagOption(input *ListResourcesForTagOptionInput) (*ListResourcesForTagOptionOutput, error) {
  6525  	req, out := c.ListResourcesForTagOptionRequest(input)
  6526  	return out, req.Send()
  6527  }
  6528  
  6529  // ListResourcesForTagOptionWithContext is the same as ListResourcesForTagOption with the addition of
  6530  // the ability to pass a context and additional request options.
  6531  //
  6532  // See ListResourcesForTagOption for details on how to use this API operation.
  6533  //
  6534  // The context must be non-nil and will be used for request cancellation. If
  6535  // the context is nil a panic will occur. In the future the SDK may create
  6536  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6537  // for more information on using Contexts.
  6538  func (c *ServiceCatalog) ListResourcesForTagOptionWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, opts ...request.Option) (*ListResourcesForTagOptionOutput, error) {
  6539  	req, out := c.ListResourcesForTagOptionRequest(input)
  6540  	req.SetContext(ctx)
  6541  	req.ApplyOptions(opts...)
  6542  	return out, req.Send()
  6543  }
  6544  
  6545  // ListResourcesForTagOptionPages iterates over the pages of a ListResourcesForTagOption operation,
  6546  // calling the "fn" function with the response data for each page. To stop
  6547  // iterating, return false from the fn function.
  6548  //
  6549  // See ListResourcesForTagOption method for more information on how to use this operation.
  6550  //
  6551  // Note: This operation can generate multiple requests to a service.
  6552  //
  6553  //    // Example iterating over at most 3 pages of a ListResourcesForTagOption operation.
  6554  //    pageNum := 0
  6555  //    err := client.ListResourcesForTagOptionPages(params,
  6556  //        func(page *servicecatalog.ListResourcesForTagOptionOutput, lastPage bool) bool {
  6557  //            pageNum++
  6558  //            fmt.Println(page)
  6559  //            return pageNum <= 3
  6560  //        })
  6561  //
  6562  func (c *ServiceCatalog) ListResourcesForTagOptionPages(input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool) error {
  6563  	return c.ListResourcesForTagOptionPagesWithContext(aws.BackgroundContext(), input, fn)
  6564  }
  6565  
  6566  // ListResourcesForTagOptionPagesWithContext same as ListResourcesForTagOptionPages except
  6567  // it takes a Context and allows setting request options on the pages.
  6568  //
  6569  // The context must be non-nil and will be used for request cancellation. If
  6570  // the context is nil a panic will occur. In the future the SDK may create
  6571  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6572  // for more information on using Contexts.
  6573  func (c *ServiceCatalog) ListResourcesForTagOptionPagesWithContext(ctx aws.Context, input *ListResourcesForTagOptionInput, fn func(*ListResourcesForTagOptionOutput, bool) bool, opts ...request.Option) error {
  6574  	p := request.Pagination{
  6575  		NewRequest: func() (*request.Request, error) {
  6576  			var inCpy *ListResourcesForTagOptionInput
  6577  			if input != nil {
  6578  				tmp := *input
  6579  				inCpy = &tmp
  6580  			}
  6581  			req, _ := c.ListResourcesForTagOptionRequest(inCpy)
  6582  			req.SetContext(ctx)
  6583  			req.ApplyOptions(opts...)
  6584  			return req, nil
  6585  		},
  6586  	}
  6587  
  6588  	for p.Next() {
  6589  		if !fn(p.Page().(*ListResourcesForTagOptionOutput), !p.HasNextPage()) {
  6590  			break
  6591  		}
  6592  	}
  6593  
  6594  	return p.Err()
  6595  }
  6596  
  6597  const opListServiceActions = "ListServiceActions"
  6598  
  6599  // ListServiceActionsRequest generates a "aws/request.Request" representing the
  6600  // client's request for the ListServiceActions operation. The "output" return
  6601  // value will be populated with the request's response once the request completes
  6602  // successfully.
  6603  //
  6604  // Use "Send" method on the returned Request to send the API call to the service.
  6605  // the "output" return value is not valid until after Send returns without error.
  6606  //
  6607  // See ListServiceActions for more information on using the ListServiceActions
  6608  // API call, and error handling.
  6609  //
  6610  // This method is useful when you want to inject custom logic or configuration
  6611  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6612  //
  6613  //
  6614  //    // Example sending a request using the ListServiceActionsRequest method.
  6615  //    req, resp := client.ListServiceActionsRequest(params)
  6616  //
  6617  //    err := req.Send()
  6618  //    if err == nil { // resp is now filled
  6619  //        fmt.Println(resp)
  6620  //    }
  6621  //
  6622  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
  6623  func (c *ServiceCatalog) ListServiceActionsRequest(input *ListServiceActionsInput) (req *request.Request, output *ListServiceActionsOutput) {
  6624  	op := &request.Operation{
  6625  		Name:       opListServiceActions,
  6626  		HTTPMethod: "POST",
  6627  		HTTPPath:   "/",
  6628  		Paginator: &request.Paginator{
  6629  			InputTokens:     []string{"PageToken"},
  6630  			OutputTokens:    []string{"NextPageToken"},
  6631  			LimitToken:      "PageSize",
  6632  			TruncationToken: "",
  6633  		},
  6634  	}
  6635  
  6636  	if input == nil {
  6637  		input = &ListServiceActionsInput{}
  6638  	}
  6639  
  6640  	output = &ListServiceActionsOutput{}
  6641  	req = c.newRequest(op, input, output)
  6642  	return
  6643  }
  6644  
  6645  // ListServiceActions API operation for AWS Service Catalog.
  6646  //
  6647  // Lists all self-service actions.
  6648  //
  6649  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6650  // with awserr.Error's Code and Message methods to get detailed information about
  6651  // the error.
  6652  //
  6653  // See the AWS API reference guide for AWS Service Catalog's
  6654  // API operation ListServiceActions for usage and error information.
  6655  //
  6656  // Returned Error Types:
  6657  //   * InvalidParametersException
  6658  //   One or more parameters provided to the operation are not valid.
  6659  //
  6660  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActions
  6661  func (c *ServiceCatalog) ListServiceActions(input *ListServiceActionsInput) (*ListServiceActionsOutput, error) {
  6662  	req, out := c.ListServiceActionsRequest(input)
  6663  	return out, req.Send()
  6664  }
  6665  
  6666  // ListServiceActionsWithContext is the same as ListServiceActions with the addition of
  6667  // the ability to pass a context and additional request options.
  6668  //
  6669  // See ListServiceActions for details on how to use this API operation.
  6670  //
  6671  // The context must be non-nil and will be used for request cancellation. If
  6672  // the context is nil a panic will occur. In the future the SDK may create
  6673  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6674  // for more information on using Contexts.
  6675  func (c *ServiceCatalog) ListServiceActionsWithContext(ctx aws.Context, input *ListServiceActionsInput, opts ...request.Option) (*ListServiceActionsOutput, error) {
  6676  	req, out := c.ListServiceActionsRequest(input)
  6677  	req.SetContext(ctx)
  6678  	req.ApplyOptions(opts...)
  6679  	return out, req.Send()
  6680  }
  6681  
  6682  // ListServiceActionsPages iterates over the pages of a ListServiceActions operation,
  6683  // calling the "fn" function with the response data for each page. To stop
  6684  // iterating, return false from the fn function.
  6685  //
  6686  // See ListServiceActions method for more information on how to use this operation.
  6687  //
  6688  // Note: This operation can generate multiple requests to a service.
  6689  //
  6690  //    // Example iterating over at most 3 pages of a ListServiceActions operation.
  6691  //    pageNum := 0
  6692  //    err := client.ListServiceActionsPages(params,
  6693  //        func(page *servicecatalog.ListServiceActionsOutput, lastPage bool) bool {
  6694  //            pageNum++
  6695  //            fmt.Println(page)
  6696  //            return pageNum <= 3
  6697  //        })
  6698  //
  6699  func (c *ServiceCatalog) ListServiceActionsPages(input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool) error {
  6700  	return c.ListServiceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
  6701  }
  6702  
  6703  // ListServiceActionsPagesWithContext same as ListServiceActionsPages except
  6704  // it takes a Context and allows setting request options on the pages.
  6705  //
  6706  // The context must be non-nil and will be used for request cancellation. If
  6707  // the context is nil a panic will occur. In the future the SDK may create
  6708  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6709  // for more information on using Contexts.
  6710  func (c *ServiceCatalog) ListServiceActionsPagesWithContext(ctx aws.Context, input *ListServiceActionsInput, fn func(*ListServiceActionsOutput, bool) bool, opts ...request.Option) error {
  6711  	p := request.Pagination{
  6712  		NewRequest: func() (*request.Request, error) {
  6713  			var inCpy *ListServiceActionsInput
  6714  			if input != nil {
  6715  				tmp := *input
  6716  				inCpy = &tmp
  6717  			}
  6718  			req, _ := c.ListServiceActionsRequest(inCpy)
  6719  			req.SetContext(ctx)
  6720  			req.ApplyOptions(opts...)
  6721  			return req, nil
  6722  		},
  6723  	}
  6724  
  6725  	for p.Next() {
  6726  		if !fn(p.Page().(*ListServiceActionsOutput), !p.HasNextPage()) {
  6727  			break
  6728  		}
  6729  	}
  6730  
  6731  	return p.Err()
  6732  }
  6733  
  6734  const opListServiceActionsForProvisioningArtifact = "ListServiceActionsForProvisioningArtifact"
  6735  
  6736  // ListServiceActionsForProvisioningArtifactRequest generates a "aws/request.Request" representing the
  6737  // client's request for the ListServiceActionsForProvisioningArtifact operation. The "output" return
  6738  // value will be populated with the request's response once the request completes
  6739  // successfully.
  6740  //
  6741  // Use "Send" method on the returned Request to send the API call to the service.
  6742  // the "output" return value is not valid until after Send returns without error.
  6743  //
  6744  // See ListServiceActionsForProvisioningArtifact for more information on using the ListServiceActionsForProvisioningArtifact
  6745  // API call, and error handling.
  6746  //
  6747  // This method is useful when you want to inject custom logic or configuration
  6748  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6749  //
  6750  //
  6751  //    // Example sending a request using the ListServiceActionsForProvisioningArtifactRequest method.
  6752  //    req, resp := client.ListServiceActionsForProvisioningArtifactRequest(params)
  6753  //
  6754  //    err := req.Send()
  6755  //    if err == nil { // resp is now filled
  6756  //        fmt.Println(resp)
  6757  //    }
  6758  //
  6759  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
  6760  func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactRequest(input *ListServiceActionsForProvisioningArtifactInput) (req *request.Request, output *ListServiceActionsForProvisioningArtifactOutput) {
  6761  	op := &request.Operation{
  6762  		Name:       opListServiceActionsForProvisioningArtifact,
  6763  		HTTPMethod: "POST",
  6764  		HTTPPath:   "/",
  6765  		Paginator: &request.Paginator{
  6766  			InputTokens:     []string{"PageToken"},
  6767  			OutputTokens:    []string{"NextPageToken"},
  6768  			LimitToken:      "PageSize",
  6769  			TruncationToken: "",
  6770  		},
  6771  	}
  6772  
  6773  	if input == nil {
  6774  		input = &ListServiceActionsForProvisioningArtifactInput{}
  6775  	}
  6776  
  6777  	output = &ListServiceActionsForProvisioningArtifactOutput{}
  6778  	req = c.newRequest(op, input, output)
  6779  	return
  6780  }
  6781  
  6782  // ListServiceActionsForProvisioningArtifact API operation for AWS Service Catalog.
  6783  //
  6784  // Returns a paginated list of self-service actions associated with the specified
  6785  // Product ID and Provisioning Artifact ID.
  6786  //
  6787  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6788  // with awserr.Error's Code and Message methods to get detailed information about
  6789  // the error.
  6790  //
  6791  // See the AWS API reference guide for AWS Service Catalog's
  6792  // API operation ListServiceActionsForProvisioningArtifact for usage and error information.
  6793  //
  6794  // Returned Error Types:
  6795  //   * ResourceNotFoundException
  6796  //   The specified resource was not found.
  6797  //
  6798  //   * InvalidParametersException
  6799  //   One or more parameters provided to the operation are not valid.
  6800  //
  6801  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListServiceActionsForProvisioningArtifact
  6802  func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifact(input *ListServiceActionsForProvisioningArtifactInput) (*ListServiceActionsForProvisioningArtifactOutput, error) {
  6803  	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
  6804  	return out, req.Send()
  6805  }
  6806  
  6807  // ListServiceActionsForProvisioningArtifactWithContext is the same as ListServiceActionsForProvisioningArtifact with the addition of
  6808  // the ability to pass a context and additional request options.
  6809  //
  6810  // See ListServiceActionsForProvisioningArtifact for details on how to use this API operation.
  6811  //
  6812  // The context must be non-nil and will be used for request cancellation. If
  6813  // the context is nil a panic will occur. In the future the SDK may create
  6814  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6815  // for more information on using Contexts.
  6816  func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, opts ...request.Option) (*ListServiceActionsForProvisioningArtifactOutput, error) {
  6817  	req, out := c.ListServiceActionsForProvisioningArtifactRequest(input)
  6818  	req.SetContext(ctx)
  6819  	req.ApplyOptions(opts...)
  6820  	return out, req.Send()
  6821  }
  6822  
  6823  // ListServiceActionsForProvisioningArtifactPages iterates over the pages of a ListServiceActionsForProvisioningArtifact operation,
  6824  // calling the "fn" function with the response data for each page. To stop
  6825  // iterating, return false from the fn function.
  6826  //
  6827  // See ListServiceActionsForProvisioningArtifact method for more information on how to use this operation.
  6828  //
  6829  // Note: This operation can generate multiple requests to a service.
  6830  //
  6831  //    // Example iterating over at most 3 pages of a ListServiceActionsForProvisioningArtifact operation.
  6832  //    pageNum := 0
  6833  //    err := client.ListServiceActionsForProvisioningArtifactPages(params,
  6834  //        func(page *servicecatalog.ListServiceActionsForProvisioningArtifactOutput, lastPage bool) bool {
  6835  //            pageNum++
  6836  //            fmt.Println(page)
  6837  //            return pageNum <= 3
  6838  //        })
  6839  //
  6840  func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPages(input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool) error {
  6841  	return c.ListServiceActionsForProvisioningArtifactPagesWithContext(aws.BackgroundContext(), input, fn)
  6842  }
  6843  
  6844  // ListServiceActionsForProvisioningArtifactPagesWithContext same as ListServiceActionsForProvisioningArtifactPages except
  6845  // it takes a Context and allows setting request options on the pages.
  6846  //
  6847  // The context must be non-nil and will be used for request cancellation. If
  6848  // the context is nil a panic will occur. In the future the SDK may create
  6849  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6850  // for more information on using Contexts.
  6851  func (c *ServiceCatalog) ListServiceActionsForProvisioningArtifactPagesWithContext(ctx aws.Context, input *ListServiceActionsForProvisioningArtifactInput, fn func(*ListServiceActionsForProvisioningArtifactOutput, bool) bool, opts ...request.Option) error {
  6852  	p := request.Pagination{
  6853  		NewRequest: func() (*request.Request, error) {
  6854  			var inCpy *ListServiceActionsForProvisioningArtifactInput
  6855  			if input != nil {
  6856  				tmp := *input
  6857  				inCpy = &tmp
  6858  			}
  6859  			req, _ := c.ListServiceActionsForProvisioningArtifactRequest(inCpy)
  6860  			req.SetContext(ctx)
  6861  			req.ApplyOptions(opts...)
  6862  			return req, nil
  6863  		},
  6864  	}
  6865  
  6866  	for p.Next() {
  6867  		if !fn(p.Page().(*ListServiceActionsForProvisioningArtifactOutput), !p.HasNextPage()) {
  6868  			break
  6869  		}
  6870  	}
  6871  
  6872  	return p.Err()
  6873  }
  6874  
  6875  const opListStackInstancesForProvisionedProduct = "ListStackInstancesForProvisionedProduct"
  6876  
  6877  // ListStackInstancesForProvisionedProductRequest generates a "aws/request.Request" representing the
  6878  // client's request for the ListStackInstancesForProvisionedProduct operation. The "output" return
  6879  // value will be populated with the request's response once the request completes
  6880  // successfully.
  6881  //
  6882  // Use "Send" method on the returned Request to send the API call to the service.
  6883  // the "output" return value is not valid until after Send returns without error.
  6884  //
  6885  // See ListStackInstancesForProvisionedProduct for more information on using the ListStackInstancesForProvisionedProduct
  6886  // API call, and error handling.
  6887  //
  6888  // This method is useful when you want to inject custom logic or configuration
  6889  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6890  //
  6891  //
  6892  //    // Example sending a request using the ListStackInstancesForProvisionedProductRequest method.
  6893  //    req, resp := client.ListStackInstancesForProvisionedProductRequest(params)
  6894  //
  6895  //    err := req.Send()
  6896  //    if err == nil { // resp is now filled
  6897  //        fmt.Println(resp)
  6898  //    }
  6899  //
  6900  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
  6901  func (c *ServiceCatalog) ListStackInstancesForProvisionedProductRequest(input *ListStackInstancesForProvisionedProductInput) (req *request.Request, output *ListStackInstancesForProvisionedProductOutput) {
  6902  	op := &request.Operation{
  6903  		Name:       opListStackInstancesForProvisionedProduct,
  6904  		HTTPMethod: "POST",
  6905  		HTTPPath:   "/",
  6906  	}
  6907  
  6908  	if input == nil {
  6909  		input = &ListStackInstancesForProvisionedProductInput{}
  6910  	}
  6911  
  6912  	output = &ListStackInstancesForProvisionedProductOutput{}
  6913  	req = c.newRequest(op, input, output)
  6914  	return
  6915  }
  6916  
  6917  // ListStackInstancesForProvisionedProduct API operation for AWS Service Catalog.
  6918  //
  6919  // Returns summary information about stack instances that are associated with
  6920  // the specified CFN_STACKSET type provisioned product. You can filter for stack
  6921  // instances that are associated with a specific AWS account name or region.
  6922  //
  6923  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6924  // with awserr.Error's Code and Message methods to get detailed information about
  6925  // the error.
  6926  //
  6927  // See the AWS API reference guide for AWS Service Catalog's
  6928  // API operation ListStackInstancesForProvisionedProduct for usage and error information.
  6929  //
  6930  // Returned Error Types:
  6931  //   * InvalidParametersException
  6932  //   One or more parameters provided to the operation are not valid.
  6933  //
  6934  //   * ResourceNotFoundException
  6935  //   The specified resource was not found.
  6936  //
  6937  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListStackInstancesForProvisionedProduct
  6938  func (c *ServiceCatalog) ListStackInstancesForProvisionedProduct(input *ListStackInstancesForProvisionedProductInput) (*ListStackInstancesForProvisionedProductOutput, error) {
  6939  	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
  6940  	return out, req.Send()
  6941  }
  6942  
  6943  // ListStackInstancesForProvisionedProductWithContext is the same as ListStackInstancesForProvisionedProduct with the addition of
  6944  // the ability to pass a context and additional request options.
  6945  //
  6946  // See ListStackInstancesForProvisionedProduct for details on how to use this API operation.
  6947  //
  6948  // The context must be non-nil and will be used for request cancellation. If
  6949  // the context is nil a panic will occur. In the future the SDK may create
  6950  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6951  // for more information on using Contexts.
  6952  func (c *ServiceCatalog) ListStackInstancesForProvisionedProductWithContext(ctx aws.Context, input *ListStackInstancesForProvisionedProductInput, opts ...request.Option) (*ListStackInstancesForProvisionedProductOutput, error) {
  6953  	req, out := c.ListStackInstancesForProvisionedProductRequest(input)
  6954  	req.SetContext(ctx)
  6955  	req.ApplyOptions(opts...)
  6956  	return out, req.Send()
  6957  }
  6958  
  6959  const opListTagOptions = "ListTagOptions"
  6960  
  6961  // ListTagOptionsRequest generates a "aws/request.Request" representing the
  6962  // client's request for the ListTagOptions operation. The "output" return
  6963  // value will be populated with the request's response once the request completes
  6964  // successfully.
  6965  //
  6966  // Use "Send" method on the returned Request to send the API call to the service.
  6967  // the "output" return value is not valid until after Send returns without error.
  6968  //
  6969  // See ListTagOptions for more information on using the ListTagOptions
  6970  // API call, and error handling.
  6971  //
  6972  // This method is useful when you want to inject custom logic or configuration
  6973  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6974  //
  6975  //
  6976  //    // Example sending a request using the ListTagOptionsRequest method.
  6977  //    req, resp := client.ListTagOptionsRequest(params)
  6978  //
  6979  //    err := req.Send()
  6980  //    if err == nil { // resp is now filled
  6981  //        fmt.Println(resp)
  6982  //    }
  6983  //
  6984  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
  6985  func (c *ServiceCatalog) ListTagOptionsRequest(input *ListTagOptionsInput) (req *request.Request, output *ListTagOptionsOutput) {
  6986  	op := &request.Operation{
  6987  		Name:       opListTagOptions,
  6988  		HTTPMethod: "POST",
  6989  		HTTPPath:   "/",
  6990  		Paginator: &request.Paginator{
  6991  			InputTokens:     []string{"PageToken"},
  6992  			OutputTokens:    []string{"PageToken"},
  6993  			LimitToken:      "PageSize",
  6994  			TruncationToken: "",
  6995  		},
  6996  	}
  6997  
  6998  	if input == nil {
  6999  		input = &ListTagOptionsInput{}
  7000  	}
  7001  
  7002  	output = &ListTagOptionsOutput{}
  7003  	req = c.newRequest(op, input, output)
  7004  	return
  7005  }
  7006  
  7007  // ListTagOptions API operation for AWS Service Catalog.
  7008  //
  7009  // Lists the specified TagOptions or all TagOptions.
  7010  //
  7011  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7012  // with awserr.Error's Code and Message methods to get detailed information about
  7013  // the error.
  7014  //
  7015  // See the AWS API reference guide for AWS Service Catalog's
  7016  // API operation ListTagOptions for usage and error information.
  7017  //
  7018  // Returned Error Types:
  7019  //   * TagOptionNotMigratedException
  7020  //   An operation requiring TagOptions failed because the TagOptions migration
  7021  //   process has not been performed for this account. Please use the AWS console
  7022  //   to perform the migration process before retrying the operation.
  7023  //
  7024  //   * InvalidParametersException
  7025  //   One or more parameters provided to the operation are not valid.
  7026  //
  7027  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListTagOptions
  7028  func (c *ServiceCatalog) ListTagOptions(input *ListTagOptionsInput) (*ListTagOptionsOutput, error) {
  7029  	req, out := c.ListTagOptionsRequest(input)
  7030  	return out, req.Send()
  7031  }
  7032  
  7033  // ListTagOptionsWithContext is the same as ListTagOptions with the addition of
  7034  // the ability to pass a context and additional request options.
  7035  //
  7036  // See ListTagOptions for details on how to use this API operation.
  7037  //
  7038  // The context must be non-nil and will be used for request cancellation. If
  7039  // the context is nil a panic will occur. In the future the SDK may create
  7040  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7041  // for more information on using Contexts.
  7042  func (c *ServiceCatalog) ListTagOptionsWithContext(ctx aws.Context, input *ListTagOptionsInput, opts ...request.Option) (*ListTagOptionsOutput, error) {
  7043  	req, out := c.ListTagOptionsRequest(input)
  7044  	req.SetContext(ctx)
  7045  	req.ApplyOptions(opts...)
  7046  	return out, req.Send()
  7047  }
  7048  
  7049  // ListTagOptionsPages iterates over the pages of a ListTagOptions operation,
  7050  // calling the "fn" function with the response data for each page. To stop
  7051  // iterating, return false from the fn function.
  7052  //
  7053  // See ListTagOptions method for more information on how to use this operation.
  7054  //
  7055  // Note: This operation can generate multiple requests to a service.
  7056  //
  7057  //    // Example iterating over at most 3 pages of a ListTagOptions operation.
  7058  //    pageNum := 0
  7059  //    err := client.ListTagOptionsPages(params,
  7060  //        func(page *servicecatalog.ListTagOptionsOutput, lastPage bool) bool {
  7061  //            pageNum++
  7062  //            fmt.Println(page)
  7063  //            return pageNum <= 3
  7064  //        })
  7065  //
  7066  func (c *ServiceCatalog) ListTagOptionsPages(input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool) error {
  7067  	return c.ListTagOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  7068  }
  7069  
  7070  // ListTagOptionsPagesWithContext same as ListTagOptionsPages except
  7071  // it takes a Context and allows setting request options on the pages.
  7072  //
  7073  // The context must be non-nil and will be used for request cancellation. If
  7074  // the context is nil a panic will occur. In the future the SDK may create
  7075  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7076  // for more information on using Contexts.
  7077  func (c *ServiceCatalog) ListTagOptionsPagesWithContext(ctx aws.Context, input *ListTagOptionsInput, fn func(*ListTagOptionsOutput, bool) bool, opts ...request.Option) error {
  7078  	p := request.Pagination{
  7079  		NewRequest: func() (*request.Request, error) {
  7080  			var inCpy *ListTagOptionsInput
  7081  			if input != nil {
  7082  				tmp := *input
  7083  				inCpy = &tmp
  7084  			}
  7085  			req, _ := c.ListTagOptionsRequest(inCpy)
  7086  			req.SetContext(ctx)
  7087  			req.ApplyOptions(opts...)
  7088  			return req, nil
  7089  		},
  7090  	}
  7091  
  7092  	for p.Next() {
  7093  		if !fn(p.Page().(*ListTagOptionsOutput), !p.HasNextPage()) {
  7094  			break
  7095  		}
  7096  	}
  7097  
  7098  	return p.Err()
  7099  }
  7100  
  7101  const opProvisionProduct = "ProvisionProduct"
  7102  
  7103  // ProvisionProductRequest generates a "aws/request.Request" representing the
  7104  // client's request for the ProvisionProduct operation. The "output" return
  7105  // value will be populated with the request's response once the request completes
  7106  // successfully.
  7107  //
  7108  // Use "Send" method on the returned Request to send the API call to the service.
  7109  // the "output" return value is not valid until after Send returns without error.
  7110  //
  7111  // See ProvisionProduct for more information on using the ProvisionProduct
  7112  // API call, and error handling.
  7113  //
  7114  // This method is useful when you want to inject custom logic or configuration
  7115  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7116  //
  7117  //
  7118  //    // Example sending a request using the ProvisionProductRequest method.
  7119  //    req, resp := client.ProvisionProductRequest(params)
  7120  //
  7121  //    err := req.Send()
  7122  //    if err == nil { // resp is now filled
  7123  //        fmt.Println(resp)
  7124  //    }
  7125  //
  7126  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
  7127  func (c *ServiceCatalog) ProvisionProductRequest(input *ProvisionProductInput) (req *request.Request, output *ProvisionProductOutput) {
  7128  	op := &request.Operation{
  7129  		Name:       opProvisionProduct,
  7130  		HTTPMethod: "POST",
  7131  		HTTPPath:   "/",
  7132  	}
  7133  
  7134  	if input == nil {
  7135  		input = &ProvisionProductInput{}
  7136  	}
  7137  
  7138  	output = &ProvisionProductOutput{}
  7139  	req = c.newRequest(op, input, output)
  7140  	return
  7141  }
  7142  
  7143  // ProvisionProduct API operation for AWS Service Catalog.
  7144  //
  7145  // Provisions the specified product.
  7146  //
  7147  // A provisioned product is a resourced instance of a product. For example,
  7148  // provisioning a product based on a CloudFormation template launches a CloudFormation
  7149  // stack and its underlying resources. You can check the status of this request
  7150  // using DescribeRecord.
  7151  //
  7152  // If the request contains a tag key with an empty list of values, there is
  7153  // a tag conflict for that key. Do not include conflicted keys as tags, or this
  7154  // causes the error "Parameter validation failed: Missing required parameter
  7155  // in Tags[N]:Value".
  7156  //
  7157  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7158  // with awserr.Error's Code and Message methods to get detailed information about
  7159  // the error.
  7160  //
  7161  // See the AWS API reference guide for AWS Service Catalog's
  7162  // API operation ProvisionProduct for usage and error information.
  7163  //
  7164  // Returned Error Types:
  7165  //   * InvalidParametersException
  7166  //   One or more parameters provided to the operation are not valid.
  7167  //
  7168  //   * ResourceNotFoundException
  7169  //   The specified resource was not found.
  7170  //
  7171  //   * DuplicateResourceException
  7172  //   The specified resource is a duplicate.
  7173  //
  7174  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisionProduct
  7175  func (c *ServiceCatalog) ProvisionProduct(input *ProvisionProductInput) (*ProvisionProductOutput, error) {
  7176  	req, out := c.ProvisionProductRequest(input)
  7177  	return out, req.Send()
  7178  }
  7179  
  7180  // ProvisionProductWithContext is the same as ProvisionProduct with the addition of
  7181  // the ability to pass a context and additional request options.
  7182  //
  7183  // See ProvisionProduct for details on how to use this API operation.
  7184  //
  7185  // The context must be non-nil and will be used for request cancellation. If
  7186  // the context is nil a panic will occur. In the future the SDK may create
  7187  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7188  // for more information on using Contexts.
  7189  func (c *ServiceCatalog) ProvisionProductWithContext(ctx aws.Context, input *ProvisionProductInput, opts ...request.Option) (*ProvisionProductOutput, error) {
  7190  	req, out := c.ProvisionProductRequest(input)
  7191  	req.SetContext(ctx)
  7192  	req.ApplyOptions(opts...)
  7193  	return out, req.Send()
  7194  }
  7195  
  7196  const opRejectPortfolioShare = "RejectPortfolioShare"
  7197  
  7198  // RejectPortfolioShareRequest generates a "aws/request.Request" representing the
  7199  // client's request for the RejectPortfolioShare operation. The "output" return
  7200  // value will be populated with the request's response once the request completes
  7201  // successfully.
  7202  //
  7203  // Use "Send" method on the returned Request to send the API call to the service.
  7204  // the "output" return value is not valid until after Send returns without error.
  7205  //
  7206  // See RejectPortfolioShare for more information on using the RejectPortfolioShare
  7207  // API call, and error handling.
  7208  //
  7209  // This method is useful when you want to inject custom logic or configuration
  7210  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7211  //
  7212  //
  7213  //    // Example sending a request using the RejectPortfolioShareRequest method.
  7214  //    req, resp := client.RejectPortfolioShareRequest(params)
  7215  //
  7216  //    err := req.Send()
  7217  //    if err == nil { // resp is now filled
  7218  //        fmt.Println(resp)
  7219  //    }
  7220  //
  7221  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
  7222  func (c *ServiceCatalog) RejectPortfolioShareRequest(input *RejectPortfolioShareInput) (req *request.Request, output *RejectPortfolioShareOutput) {
  7223  	op := &request.Operation{
  7224  		Name:       opRejectPortfolioShare,
  7225  		HTTPMethod: "POST",
  7226  		HTTPPath:   "/",
  7227  	}
  7228  
  7229  	if input == nil {
  7230  		input = &RejectPortfolioShareInput{}
  7231  	}
  7232  
  7233  	output = &RejectPortfolioShareOutput{}
  7234  	req = c.newRequest(op, input, output)
  7235  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7236  	return
  7237  }
  7238  
  7239  // RejectPortfolioShare API operation for AWS Service Catalog.
  7240  //
  7241  // Rejects an offer to share the specified portfolio.
  7242  //
  7243  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7244  // with awserr.Error's Code and Message methods to get detailed information about
  7245  // the error.
  7246  //
  7247  // See the AWS API reference guide for AWS Service Catalog's
  7248  // API operation RejectPortfolioShare for usage and error information.
  7249  //
  7250  // Returned Error Types:
  7251  //   * ResourceNotFoundException
  7252  //   The specified resource was not found.
  7253  //
  7254  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/RejectPortfolioShare
  7255  func (c *ServiceCatalog) RejectPortfolioShare(input *RejectPortfolioShareInput) (*RejectPortfolioShareOutput, error) {
  7256  	req, out := c.RejectPortfolioShareRequest(input)
  7257  	return out, req.Send()
  7258  }
  7259  
  7260  // RejectPortfolioShareWithContext is the same as RejectPortfolioShare with the addition of
  7261  // the ability to pass a context and additional request options.
  7262  //
  7263  // See RejectPortfolioShare for details on how to use this API operation.
  7264  //
  7265  // The context must be non-nil and will be used for request cancellation. If
  7266  // the context is nil a panic will occur. In the future the SDK may create
  7267  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7268  // for more information on using Contexts.
  7269  func (c *ServiceCatalog) RejectPortfolioShareWithContext(ctx aws.Context, input *RejectPortfolioShareInput, opts ...request.Option) (*RejectPortfolioShareOutput, error) {
  7270  	req, out := c.RejectPortfolioShareRequest(input)
  7271  	req.SetContext(ctx)
  7272  	req.ApplyOptions(opts...)
  7273  	return out, req.Send()
  7274  }
  7275  
  7276  const opScanProvisionedProducts = "ScanProvisionedProducts"
  7277  
  7278  // ScanProvisionedProductsRequest generates a "aws/request.Request" representing the
  7279  // client's request for the ScanProvisionedProducts operation. The "output" return
  7280  // value will be populated with the request's response once the request completes
  7281  // successfully.
  7282  //
  7283  // Use "Send" method on the returned Request to send the API call to the service.
  7284  // the "output" return value is not valid until after Send returns without error.
  7285  //
  7286  // See ScanProvisionedProducts for more information on using the ScanProvisionedProducts
  7287  // API call, and error handling.
  7288  //
  7289  // This method is useful when you want to inject custom logic or configuration
  7290  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7291  //
  7292  //
  7293  //    // Example sending a request using the ScanProvisionedProductsRequest method.
  7294  //    req, resp := client.ScanProvisionedProductsRequest(params)
  7295  //
  7296  //    err := req.Send()
  7297  //    if err == nil { // resp is now filled
  7298  //        fmt.Println(resp)
  7299  //    }
  7300  //
  7301  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
  7302  func (c *ServiceCatalog) ScanProvisionedProductsRequest(input *ScanProvisionedProductsInput) (req *request.Request, output *ScanProvisionedProductsOutput) {
  7303  	op := &request.Operation{
  7304  		Name:       opScanProvisionedProducts,
  7305  		HTTPMethod: "POST",
  7306  		HTTPPath:   "/",
  7307  	}
  7308  
  7309  	if input == nil {
  7310  		input = &ScanProvisionedProductsInput{}
  7311  	}
  7312  
  7313  	output = &ScanProvisionedProductsOutput{}
  7314  	req = c.newRequest(op, input, output)
  7315  	return
  7316  }
  7317  
  7318  // ScanProvisionedProducts API operation for AWS Service Catalog.
  7319  //
  7320  // Lists the provisioned products that are available (not terminated).
  7321  //
  7322  // To use additional filtering, see SearchProvisionedProducts.
  7323  //
  7324  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7325  // with awserr.Error's Code and Message methods to get detailed information about
  7326  // the error.
  7327  //
  7328  // See the AWS API reference guide for AWS Service Catalog's
  7329  // API operation ScanProvisionedProducts for usage and error information.
  7330  //
  7331  // Returned Error Types:
  7332  //   * InvalidParametersException
  7333  //   One or more parameters provided to the operation are not valid.
  7334  //
  7335  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ScanProvisionedProducts
  7336  func (c *ServiceCatalog) ScanProvisionedProducts(input *ScanProvisionedProductsInput) (*ScanProvisionedProductsOutput, error) {
  7337  	req, out := c.ScanProvisionedProductsRequest(input)
  7338  	return out, req.Send()
  7339  }
  7340  
  7341  // ScanProvisionedProductsWithContext is the same as ScanProvisionedProducts with the addition of
  7342  // the ability to pass a context and additional request options.
  7343  //
  7344  // See ScanProvisionedProducts for details on how to use this API operation.
  7345  //
  7346  // The context must be non-nil and will be used for request cancellation. If
  7347  // the context is nil a panic will occur. In the future the SDK may create
  7348  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7349  // for more information on using Contexts.
  7350  func (c *ServiceCatalog) ScanProvisionedProductsWithContext(ctx aws.Context, input *ScanProvisionedProductsInput, opts ...request.Option) (*ScanProvisionedProductsOutput, error) {
  7351  	req, out := c.ScanProvisionedProductsRequest(input)
  7352  	req.SetContext(ctx)
  7353  	req.ApplyOptions(opts...)
  7354  	return out, req.Send()
  7355  }
  7356  
  7357  const opSearchProducts = "SearchProducts"
  7358  
  7359  // SearchProductsRequest generates a "aws/request.Request" representing the
  7360  // client's request for the SearchProducts operation. The "output" return
  7361  // value will be populated with the request's response once the request completes
  7362  // successfully.
  7363  //
  7364  // Use "Send" method on the returned Request to send the API call to the service.
  7365  // the "output" return value is not valid until after Send returns without error.
  7366  //
  7367  // See SearchProducts for more information on using the SearchProducts
  7368  // API call, and error handling.
  7369  //
  7370  // This method is useful when you want to inject custom logic or configuration
  7371  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7372  //
  7373  //
  7374  //    // Example sending a request using the SearchProductsRequest method.
  7375  //    req, resp := client.SearchProductsRequest(params)
  7376  //
  7377  //    err := req.Send()
  7378  //    if err == nil { // resp is now filled
  7379  //        fmt.Println(resp)
  7380  //    }
  7381  //
  7382  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
  7383  func (c *ServiceCatalog) SearchProductsRequest(input *SearchProductsInput) (req *request.Request, output *SearchProductsOutput) {
  7384  	op := &request.Operation{
  7385  		Name:       opSearchProducts,
  7386  		HTTPMethod: "POST",
  7387  		HTTPPath:   "/",
  7388  		Paginator: &request.Paginator{
  7389  			InputTokens:     []string{"PageToken"},
  7390  			OutputTokens:    []string{"NextPageToken"},
  7391  			LimitToken:      "PageSize",
  7392  			TruncationToken: "",
  7393  		},
  7394  	}
  7395  
  7396  	if input == nil {
  7397  		input = &SearchProductsInput{}
  7398  	}
  7399  
  7400  	output = &SearchProductsOutput{}
  7401  	req = c.newRequest(op, input, output)
  7402  	return
  7403  }
  7404  
  7405  // SearchProducts API operation for AWS Service Catalog.
  7406  //
  7407  // Gets information about the products to which the caller has access.
  7408  //
  7409  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7410  // with awserr.Error's Code and Message methods to get detailed information about
  7411  // the error.
  7412  //
  7413  // See the AWS API reference guide for AWS Service Catalog's
  7414  // API operation SearchProducts for usage and error information.
  7415  //
  7416  // Returned Error Types:
  7417  //   * InvalidParametersException
  7418  //   One or more parameters provided to the operation are not valid.
  7419  //
  7420  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProducts
  7421  func (c *ServiceCatalog) SearchProducts(input *SearchProductsInput) (*SearchProductsOutput, error) {
  7422  	req, out := c.SearchProductsRequest(input)
  7423  	return out, req.Send()
  7424  }
  7425  
  7426  // SearchProductsWithContext is the same as SearchProducts with the addition of
  7427  // the ability to pass a context and additional request options.
  7428  //
  7429  // See SearchProducts for details on how to use this API operation.
  7430  //
  7431  // The context must be non-nil and will be used for request cancellation. If
  7432  // the context is nil a panic will occur. In the future the SDK may create
  7433  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7434  // for more information on using Contexts.
  7435  func (c *ServiceCatalog) SearchProductsWithContext(ctx aws.Context, input *SearchProductsInput, opts ...request.Option) (*SearchProductsOutput, error) {
  7436  	req, out := c.SearchProductsRequest(input)
  7437  	req.SetContext(ctx)
  7438  	req.ApplyOptions(opts...)
  7439  	return out, req.Send()
  7440  }
  7441  
  7442  // SearchProductsPages iterates over the pages of a SearchProducts operation,
  7443  // calling the "fn" function with the response data for each page. To stop
  7444  // iterating, return false from the fn function.
  7445  //
  7446  // See SearchProducts method for more information on how to use this operation.
  7447  //
  7448  // Note: This operation can generate multiple requests to a service.
  7449  //
  7450  //    // Example iterating over at most 3 pages of a SearchProducts operation.
  7451  //    pageNum := 0
  7452  //    err := client.SearchProductsPages(params,
  7453  //        func(page *servicecatalog.SearchProductsOutput, lastPage bool) bool {
  7454  //            pageNum++
  7455  //            fmt.Println(page)
  7456  //            return pageNum <= 3
  7457  //        })
  7458  //
  7459  func (c *ServiceCatalog) SearchProductsPages(input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool) error {
  7460  	return c.SearchProductsPagesWithContext(aws.BackgroundContext(), input, fn)
  7461  }
  7462  
  7463  // SearchProductsPagesWithContext same as SearchProductsPages except
  7464  // it takes a Context and allows setting request options on the pages.
  7465  //
  7466  // The context must be non-nil and will be used for request cancellation. If
  7467  // the context is nil a panic will occur. In the future the SDK may create
  7468  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7469  // for more information on using Contexts.
  7470  func (c *ServiceCatalog) SearchProductsPagesWithContext(ctx aws.Context, input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool, opts ...request.Option) error {
  7471  	p := request.Pagination{
  7472  		NewRequest: func() (*request.Request, error) {
  7473  			var inCpy *SearchProductsInput
  7474  			if input != nil {
  7475  				tmp := *input
  7476  				inCpy = &tmp
  7477  			}
  7478  			req, _ := c.SearchProductsRequest(inCpy)
  7479  			req.SetContext(ctx)
  7480  			req.ApplyOptions(opts...)
  7481  			return req, nil
  7482  		},
  7483  	}
  7484  
  7485  	for p.Next() {
  7486  		if !fn(p.Page().(*SearchProductsOutput), !p.HasNextPage()) {
  7487  			break
  7488  		}
  7489  	}
  7490  
  7491  	return p.Err()
  7492  }
  7493  
  7494  const opSearchProductsAsAdmin = "SearchProductsAsAdmin"
  7495  
  7496  // SearchProductsAsAdminRequest generates a "aws/request.Request" representing the
  7497  // client's request for the SearchProductsAsAdmin operation. The "output" return
  7498  // value will be populated with the request's response once the request completes
  7499  // successfully.
  7500  //
  7501  // Use "Send" method on the returned Request to send the API call to the service.
  7502  // the "output" return value is not valid until after Send returns without error.
  7503  //
  7504  // See SearchProductsAsAdmin for more information on using the SearchProductsAsAdmin
  7505  // API call, and error handling.
  7506  //
  7507  // This method is useful when you want to inject custom logic or configuration
  7508  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7509  //
  7510  //
  7511  //    // Example sending a request using the SearchProductsAsAdminRequest method.
  7512  //    req, resp := client.SearchProductsAsAdminRequest(params)
  7513  //
  7514  //    err := req.Send()
  7515  //    if err == nil { // resp is now filled
  7516  //        fmt.Println(resp)
  7517  //    }
  7518  //
  7519  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
  7520  func (c *ServiceCatalog) SearchProductsAsAdminRequest(input *SearchProductsAsAdminInput) (req *request.Request, output *SearchProductsAsAdminOutput) {
  7521  	op := &request.Operation{
  7522  		Name:       opSearchProductsAsAdmin,
  7523  		HTTPMethod: "POST",
  7524  		HTTPPath:   "/",
  7525  		Paginator: &request.Paginator{
  7526  			InputTokens:     []string{"PageToken"},
  7527  			OutputTokens:    []string{"NextPageToken"},
  7528  			LimitToken:      "PageSize",
  7529  			TruncationToken: "",
  7530  		},
  7531  	}
  7532  
  7533  	if input == nil {
  7534  		input = &SearchProductsAsAdminInput{}
  7535  	}
  7536  
  7537  	output = &SearchProductsAsAdminOutput{}
  7538  	req = c.newRequest(op, input, output)
  7539  	return
  7540  }
  7541  
  7542  // SearchProductsAsAdmin API operation for AWS Service Catalog.
  7543  //
  7544  // Gets information about the products for the specified portfolio or all products.
  7545  //
  7546  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7547  // with awserr.Error's Code and Message methods to get detailed information about
  7548  // the error.
  7549  //
  7550  // See the AWS API reference guide for AWS Service Catalog's
  7551  // API operation SearchProductsAsAdmin for usage and error information.
  7552  //
  7553  // Returned Error Types:
  7554  //   * ResourceNotFoundException
  7555  //   The specified resource was not found.
  7556  //
  7557  //   * InvalidParametersException
  7558  //   One or more parameters provided to the operation are not valid.
  7559  //
  7560  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin
  7561  func (c *ServiceCatalog) SearchProductsAsAdmin(input *SearchProductsAsAdminInput) (*SearchProductsAsAdminOutput, error) {
  7562  	req, out := c.SearchProductsAsAdminRequest(input)
  7563  	return out, req.Send()
  7564  }
  7565  
  7566  // SearchProductsAsAdminWithContext is the same as SearchProductsAsAdmin with the addition of
  7567  // the ability to pass a context and additional request options.
  7568  //
  7569  // See SearchProductsAsAdmin for details on how to use this API operation.
  7570  //
  7571  // The context must be non-nil and will be used for request cancellation. If
  7572  // the context is nil a panic will occur. In the future the SDK may create
  7573  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7574  // for more information on using Contexts.
  7575  func (c *ServiceCatalog) SearchProductsAsAdminWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, opts ...request.Option) (*SearchProductsAsAdminOutput, error) {
  7576  	req, out := c.SearchProductsAsAdminRequest(input)
  7577  	req.SetContext(ctx)
  7578  	req.ApplyOptions(opts...)
  7579  	return out, req.Send()
  7580  }
  7581  
  7582  // SearchProductsAsAdminPages iterates over the pages of a SearchProductsAsAdmin operation,
  7583  // calling the "fn" function with the response data for each page. To stop
  7584  // iterating, return false from the fn function.
  7585  //
  7586  // See SearchProductsAsAdmin method for more information on how to use this operation.
  7587  //
  7588  // Note: This operation can generate multiple requests to a service.
  7589  //
  7590  //    // Example iterating over at most 3 pages of a SearchProductsAsAdmin operation.
  7591  //    pageNum := 0
  7592  //    err := client.SearchProductsAsAdminPages(params,
  7593  //        func(page *servicecatalog.SearchProductsAsAdminOutput, lastPage bool) bool {
  7594  //            pageNum++
  7595  //            fmt.Println(page)
  7596  //            return pageNum <= 3
  7597  //        })
  7598  //
  7599  func (c *ServiceCatalog) SearchProductsAsAdminPages(input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool) error {
  7600  	return c.SearchProductsAsAdminPagesWithContext(aws.BackgroundContext(), input, fn)
  7601  }
  7602  
  7603  // SearchProductsAsAdminPagesWithContext same as SearchProductsAsAdminPages except
  7604  // it takes a Context and allows setting request options on the pages.
  7605  //
  7606  // The context must be non-nil and will be used for request cancellation. If
  7607  // the context is nil a panic will occur. In the future the SDK may create
  7608  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7609  // for more information on using Contexts.
  7610  func (c *ServiceCatalog) SearchProductsAsAdminPagesWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool, opts ...request.Option) error {
  7611  	p := request.Pagination{
  7612  		NewRequest: func() (*request.Request, error) {
  7613  			var inCpy *SearchProductsAsAdminInput
  7614  			if input != nil {
  7615  				tmp := *input
  7616  				inCpy = &tmp
  7617  			}
  7618  			req, _ := c.SearchProductsAsAdminRequest(inCpy)
  7619  			req.SetContext(ctx)
  7620  			req.ApplyOptions(opts...)
  7621  			return req, nil
  7622  		},
  7623  	}
  7624  
  7625  	for p.Next() {
  7626  		if !fn(p.Page().(*SearchProductsAsAdminOutput), !p.HasNextPage()) {
  7627  			break
  7628  		}
  7629  	}
  7630  
  7631  	return p.Err()
  7632  }
  7633  
  7634  const opSearchProvisionedProducts = "SearchProvisionedProducts"
  7635  
  7636  // SearchProvisionedProductsRequest generates a "aws/request.Request" representing the
  7637  // client's request for the SearchProvisionedProducts operation. The "output" return
  7638  // value will be populated with the request's response once the request completes
  7639  // successfully.
  7640  //
  7641  // Use "Send" method on the returned Request to send the API call to the service.
  7642  // the "output" return value is not valid until after Send returns without error.
  7643  //
  7644  // See SearchProvisionedProducts for more information on using the SearchProvisionedProducts
  7645  // API call, and error handling.
  7646  //
  7647  // This method is useful when you want to inject custom logic or configuration
  7648  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7649  //
  7650  //
  7651  //    // Example sending a request using the SearchProvisionedProductsRequest method.
  7652  //    req, resp := client.SearchProvisionedProductsRequest(params)
  7653  //
  7654  //    err := req.Send()
  7655  //    if err == nil { // resp is now filled
  7656  //        fmt.Println(resp)
  7657  //    }
  7658  //
  7659  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
  7660  func (c *ServiceCatalog) SearchProvisionedProductsRequest(input *SearchProvisionedProductsInput) (req *request.Request, output *SearchProvisionedProductsOutput) {
  7661  	op := &request.Operation{
  7662  		Name:       opSearchProvisionedProducts,
  7663  		HTTPMethod: "POST",
  7664  		HTTPPath:   "/",
  7665  		Paginator: &request.Paginator{
  7666  			InputTokens:     []string{"PageToken"},
  7667  			OutputTokens:    []string{"NextPageToken"},
  7668  			LimitToken:      "PageSize",
  7669  			TruncationToken: "",
  7670  		},
  7671  	}
  7672  
  7673  	if input == nil {
  7674  		input = &SearchProvisionedProductsInput{}
  7675  	}
  7676  
  7677  	output = &SearchProvisionedProductsOutput{}
  7678  	req = c.newRequest(op, input, output)
  7679  	return
  7680  }
  7681  
  7682  // SearchProvisionedProducts API operation for AWS Service Catalog.
  7683  //
  7684  // Gets information about the provisioned products that meet the specified criteria.
  7685  //
  7686  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7687  // with awserr.Error's Code and Message methods to get detailed information about
  7688  // the error.
  7689  //
  7690  // See the AWS API reference guide for AWS Service Catalog's
  7691  // API operation SearchProvisionedProducts for usage and error information.
  7692  //
  7693  // Returned Error Types:
  7694  //   * InvalidParametersException
  7695  //   One or more parameters provided to the operation are not valid.
  7696  //
  7697  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProvisionedProducts
  7698  func (c *ServiceCatalog) SearchProvisionedProducts(input *SearchProvisionedProductsInput) (*SearchProvisionedProductsOutput, error) {
  7699  	req, out := c.SearchProvisionedProductsRequest(input)
  7700  	return out, req.Send()
  7701  }
  7702  
  7703  // SearchProvisionedProductsWithContext is the same as SearchProvisionedProducts with the addition of
  7704  // the ability to pass a context and additional request options.
  7705  //
  7706  // See SearchProvisionedProducts for details on how to use this API operation.
  7707  //
  7708  // The context must be non-nil and will be used for request cancellation. If
  7709  // the context is nil a panic will occur. In the future the SDK may create
  7710  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7711  // for more information on using Contexts.
  7712  func (c *ServiceCatalog) SearchProvisionedProductsWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, opts ...request.Option) (*SearchProvisionedProductsOutput, error) {
  7713  	req, out := c.SearchProvisionedProductsRequest(input)
  7714  	req.SetContext(ctx)
  7715  	req.ApplyOptions(opts...)
  7716  	return out, req.Send()
  7717  }
  7718  
  7719  // SearchProvisionedProductsPages iterates over the pages of a SearchProvisionedProducts operation,
  7720  // calling the "fn" function with the response data for each page. To stop
  7721  // iterating, return false from the fn function.
  7722  //
  7723  // See SearchProvisionedProducts method for more information on how to use this operation.
  7724  //
  7725  // Note: This operation can generate multiple requests to a service.
  7726  //
  7727  //    // Example iterating over at most 3 pages of a SearchProvisionedProducts operation.
  7728  //    pageNum := 0
  7729  //    err := client.SearchProvisionedProductsPages(params,
  7730  //        func(page *servicecatalog.SearchProvisionedProductsOutput, lastPage bool) bool {
  7731  //            pageNum++
  7732  //            fmt.Println(page)
  7733  //            return pageNum <= 3
  7734  //        })
  7735  //
  7736  func (c *ServiceCatalog) SearchProvisionedProductsPages(input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool) error {
  7737  	return c.SearchProvisionedProductsPagesWithContext(aws.BackgroundContext(), input, fn)
  7738  }
  7739  
  7740  // SearchProvisionedProductsPagesWithContext same as SearchProvisionedProductsPages except
  7741  // it takes a Context and allows setting request options on the pages.
  7742  //
  7743  // The context must be non-nil and will be used for request cancellation. If
  7744  // the context is nil a panic will occur. In the future the SDK may create
  7745  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7746  // for more information on using Contexts.
  7747  func (c *ServiceCatalog) SearchProvisionedProductsPagesWithContext(ctx aws.Context, input *SearchProvisionedProductsInput, fn func(*SearchProvisionedProductsOutput, bool) bool, opts ...request.Option) error {
  7748  	p := request.Pagination{
  7749  		NewRequest: func() (*request.Request, error) {
  7750  			var inCpy *SearchProvisionedProductsInput
  7751  			if input != nil {
  7752  				tmp := *input
  7753  				inCpy = &tmp
  7754  			}
  7755  			req, _ := c.SearchProvisionedProductsRequest(inCpy)
  7756  			req.SetContext(ctx)
  7757  			req.ApplyOptions(opts...)
  7758  			return req, nil
  7759  		},
  7760  	}
  7761  
  7762  	for p.Next() {
  7763  		if !fn(p.Page().(*SearchProvisionedProductsOutput), !p.HasNextPage()) {
  7764  			break
  7765  		}
  7766  	}
  7767  
  7768  	return p.Err()
  7769  }
  7770  
  7771  const opTerminateProvisionedProduct = "TerminateProvisionedProduct"
  7772  
  7773  // TerminateProvisionedProductRequest generates a "aws/request.Request" representing the
  7774  // client's request for the TerminateProvisionedProduct operation. The "output" return
  7775  // value will be populated with the request's response once the request completes
  7776  // successfully.
  7777  //
  7778  // Use "Send" method on the returned Request to send the API call to the service.
  7779  // the "output" return value is not valid until after Send returns without error.
  7780  //
  7781  // See TerminateProvisionedProduct for more information on using the TerminateProvisionedProduct
  7782  // API call, and error handling.
  7783  //
  7784  // This method is useful when you want to inject custom logic or configuration
  7785  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7786  //
  7787  //
  7788  //    // Example sending a request using the TerminateProvisionedProductRequest method.
  7789  //    req, resp := client.TerminateProvisionedProductRequest(params)
  7790  //
  7791  //    err := req.Send()
  7792  //    if err == nil { // resp is now filled
  7793  //        fmt.Println(resp)
  7794  //    }
  7795  //
  7796  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
  7797  func (c *ServiceCatalog) TerminateProvisionedProductRequest(input *TerminateProvisionedProductInput) (req *request.Request, output *TerminateProvisionedProductOutput) {
  7798  	op := &request.Operation{
  7799  		Name:       opTerminateProvisionedProduct,
  7800  		HTTPMethod: "POST",
  7801  		HTTPPath:   "/",
  7802  	}
  7803  
  7804  	if input == nil {
  7805  		input = &TerminateProvisionedProductInput{}
  7806  	}
  7807  
  7808  	output = &TerminateProvisionedProductOutput{}
  7809  	req = c.newRequest(op, input, output)
  7810  	return
  7811  }
  7812  
  7813  // TerminateProvisionedProduct API operation for AWS Service Catalog.
  7814  //
  7815  // Terminates the specified provisioned product.
  7816  //
  7817  // This operation does not delete any records associated with the provisioned
  7818  // product.
  7819  //
  7820  // You can check the status of this request using DescribeRecord.
  7821  //
  7822  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7823  // with awserr.Error's Code and Message methods to get detailed information about
  7824  // the error.
  7825  //
  7826  // See the AWS API reference guide for AWS Service Catalog's
  7827  // API operation TerminateProvisionedProduct for usage and error information.
  7828  //
  7829  // Returned Error Types:
  7830  //   * ResourceNotFoundException
  7831  //   The specified resource was not found.
  7832  //
  7833  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/TerminateProvisionedProduct
  7834  func (c *ServiceCatalog) TerminateProvisionedProduct(input *TerminateProvisionedProductInput) (*TerminateProvisionedProductOutput, error) {
  7835  	req, out := c.TerminateProvisionedProductRequest(input)
  7836  	return out, req.Send()
  7837  }
  7838  
  7839  // TerminateProvisionedProductWithContext is the same as TerminateProvisionedProduct with the addition of
  7840  // the ability to pass a context and additional request options.
  7841  //
  7842  // See TerminateProvisionedProduct for details on how to use this API operation.
  7843  //
  7844  // The context must be non-nil and will be used for request cancellation. If
  7845  // the context is nil a panic will occur. In the future the SDK may create
  7846  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7847  // for more information on using Contexts.
  7848  func (c *ServiceCatalog) TerminateProvisionedProductWithContext(ctx aws.Context, input *TerminateProvisionedProductInput, opts ...request.Option) (*TerminateProvisionedProductOutput, error) {
  7849  	req, out := c.TerminateProvisionedProductRequest(input)
  7850  	req.SetContext(ctx)
  7851  	req.ApplyOptions(opts...)
  7852  	return out, req.Send()
  7853  }
  7854  
  7855  const opUpdateConstraint = "UpdateConstraint"
  7856  
  7857  // UpdateConstraintRequest generates a "aws/request.Request" representing the
  7858  // client's request for the UpdateConstraint operation. The "output" return
  7859  // value will be populated with the request's response once the request completes
  7860  // successfully.
  7861  //
  7862  // Use "Send" method on the returned Request to send the API call to the service.
  7863  // the "output" return value is not valid until after Send returns without error.
  7864  //
  7865  // See UpdateConstraint for more information on using the UpdateConstraint
  7866  // API call, and error handling.
  7867  //
  7868  // This method is useful when you want to inject custom logic or configuration
  7869  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7870  //
  7871  //
  7872  //    // Example sending a request using the UpdateConstraintRequest method.
  7873  //    req, resp := client.UpdateConstraintRequest(params)
  7874  //
  7875  //    err := req.Send()
  7876  //    if err == nil { // resp is now filled
  7877  //        fmt.Println(resp)
  7878  //    }
  7879  //
  7880  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
  7881  func (c *ServiceCatalog) UpdateConstraintRequest(input *UpdateConstraintInput) (req *request.Request, output *UpdateConstraintOutput) {
  7882  	op := &request.Operation{
  7883  		Name:       opUpdateConstraint,
  7884  		HTTPMethod: "POST",
  7885  		HTTPPath:   "/",
  7886  	}
  7887  
  7888  	if input == nil {
  7889  		input = &UpdateConstraintInput{}
  7890  	}
  7891  
  7892  	output = &UpdateConstraintOutput{}
  7893  	req = c.newRequest(op, input, output)
  7894  	return
  7895  }
  7896  
  7897  // UpdateConstraint API operation for AWS Service Catalog.
  7898  //
  7899  // Updates the specified constraint.
  7900  //
  7901  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7902  // with awserr.Error's Code and Message methods to get detailed information about
  7903  // the error.
  7904  //
  7905  // See the AWS API reference guide for AWS Service Catalog's
  7906  // API operation UpdateConstraint for usage and error information.
  7907  //
  7908  // Returned Error Types:
  7909  //   * ResourceNotFoundException
  7910  //   The specified resource was not found.
  7911  //
  7912  //   * InvalidParametersException
  7913  //   One or more parameters provided to the operation are not valid.
  7914  //
  7915  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateConstraint
  7916  func (c *ServiceCatalog) UpdateConstraint(input *UpdateConstraintInput) (*UpdateConstraintOutput, error) {
  7917  	req, out := c.UpdateConstraintRequest(input)
  7918  	return out, req.Send()
  7919  }
  7920  
  7921  // UpdateConstraintWithContext is the same as UpdateConstraint with the addition of
  7922  // the ability to pass a context and additional request options.
  7923  //
  7924  // See UpdateConstraint for details on how to use this API operation.
  7925  //
  7926  // The context must be non-nil and will be used for request cancellation. If
  7927  // the context is nil a panic will occur. In the future the SDK may create
  7928  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7929  // for more information on using Contexts.
  7930  func (c *ServiceCatalog) UpdateConstraintWithContext(ctx aws.Context, input *UpdateConstraintInput, opts ...request.Option) (*UpdateConstraintOutput, error) {
  7931  	req, out := c.UpdateConstraintRequest(input)
  7932  	req.SetContext(ctx)
  7933  	req.ApplyOptions(opts...)
  7934  	return out, req.Send()
  7935  }
  7936  
  7937  const opUpdatePortfolio = "UpdatePortfolio"
  7938  
  7939  // UpdatePortfolioRequest generates a "aws/request.Request" representing the
  7940  // client's request for the UpdatePortfolio operation. The "output" return
  7941  // value will be populated with the request's response once the request completes
  7942  // successfully.
  7943  //
  7944  // Use "Send" method on the returned Request to send the API call to the service.
  7945  // the "output" return value is not valid until after Send returns without error.
  7946  //
  7947  // See UpdatePortfolio for more information on using the UpdatePortfolio
  7948  // API call, and error handling.
  7949  //
  7950  // This method is useful when you want to inject custom logic or configuration
  7951  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7952  //
  7953  //
  7954  //    // Example sending a request using the UpdatePortfolioRequest method.
  7955  //    req, resp := client.UpdatePortfolioRequest(params)
  7956  //
  7957  //    err := req.Send()
  7958  //    if err == nil { // resp is now filled
  7959  //        fmt.Println(resp)
  7960  //    }
  7961  //
  7962  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
  7963  func (c *ServiceCatalog) UpdatePortfolioRequest(input *UpdatePortfolioInput) (req *request.Request, output *UpdatePortfolioOutput) {
  7964  	op := &request.Operation{
  7965  		Name:       opUpdatePortfolio,
  7966  		HTTPMethod: "POST",
  7967  		HTTPPath:   "/",
  7968  	}
  7969  
  7970  	if input == nil {
  7971  		input = &UpdatePortfolioInput{}
  7972  	}
  7973  
  7974  	output = &UpdatePortfolioOutput{}
  7975  	req = c.newRequest(op, input, output)
  7976  	return
  7977  }
  7978  
  7979  // UpdatePortfolio API operation for AWS Service Catalog.
  7980  //
  7981  // Updates the specified portfolio.
  7982  //
  7983  // You cannot update a product that was shared with you.
  7984  //
  7985  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7986  // with awserr.Error's Code and Message methods to get detailed information about
  7987  // the error.
  7988  //
  7989  // See the AWS API reference guide for AWS Service Catalog's
  7990  // API operation UpdatePortfolio for usage and error information.
  7991  //
  7992  // Returned Error Types:
  7993  //   * InvalidParametersException
  7994  //   One or more parameters provided to the operation are not valid.
  7995  //
  7996  //   * ResourceNotFoundException
  7997  //   The specified resource was not found.
  7998  //
  7999  //   * LimitExceededException
  8000  //   The current limits of the service would have been exceeded by this operation.
  8001  //   Decrease your resource use or increase your service limits and retry the
  8002  //   operation.
  8003  //
  8004  //   * TagOptionNotMigratedException
  8005  //   An operation requiring TagOptions failed because the TagOptions migration
  8006  //   process has not been performed for this account. Please use the AWS console
  8007  //   to perform the migration process before retrying the operation.
  8008  //
  8009  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolio
  8010  func (c *ServiceCatalog) UpdatePortfolio(input *UpdatePortfolioInput) (*UpdatePortfolioOutput, error) {
  8011  	req, out := c.UpdatePortfolioRequest(input)
  8012  	return out, req.Send()
  8013  }
  8014  
  8015  // UpdatePortfolioWithContext is the same as UpdatePortfolio with the addition of
  8016  // the ability to pass a context and additional request options.
  8017  //
  8018  // See UpdatePortfolio for details on how to use this API operation.
  8019  //
  8020  // The context must be non-nil and will be used for request cancellation. If
  8021  // the context is nil a panic will occur. In the future the SDK may create
  8022  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8023  // for more information on using Contexts.
  8024  func (c *ServiceCatalog) UpdatePortfolioWithContext(ctx aws.Context, input *UpdatePortfolioInput, opts ...request.Option) (*UpdatePortfolioOutput, error) {
  8025  	req, out := c.UpdatePortfolioRequest(input)
  8026  	req.SetContext(ctx)
  8027  	req.ApplyOptions(opts...)
  8028  	return out, req.Send()
  8029  }
  8030  
  8031  const opUpdatePortfolioShare = "UpdatePortfolioShare"
  8032  
  8033  // UpdatePortfolioShareRequest generates a "aws/request.Request" representing the
  8034  // client's request for the UpdatePortfolioShare operation. The "output" return
  8035  // value will be populated with the request's response once the request completes
  8036  // successfully.
  8037  //
  8038  // Use "Send" method on the returned Request to send the API call to the service.
  8039  // the "output" return value is not valid until after Send returns without error.
  8040  //
  8041  // See UpdatePortfolioShare for more information on using the UpdatePortfolioShare
  8042  // API call, and error handling.
  8043  //
  8044  // This method is useful when you want to inject custom logic or configuration
  8045  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8046  //
  8047  //
  8048  //    // Example sending a request using the UpdatePortfolioShareRequest method.
  8049  //    req, resp := client.UpdatePortfolioShareRequest(params)
  8050  //
  8051  //    err := req.Send()
  8052  //    if err == nil { // resp is now filled
  8053  //        fmt.Println(resp)
  8054  //    }
  8055  //
  8056  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolioShare
  8057  func (c *ServiceCatalog) UpdatePortfolioShareRequest(input *UpdatePortfolioShareInput) (req *request.Request, output *UpdatePortfolioShareOutput) {
  8058  	op := &request.Operation{
  8059  		Name:       opUpdatePortfolioShare,
  8060  		HTTPMethod: "POST",
  8061  		HTTPPath:   "/",
  8062  	}
  8063  
  8064  	if input == nil {
  8065  		input = &UpdatePortfolioShareInput{}
  8066  	}
  8067  
  8068  	output = &UpdatePortfolioShareOutput{}
  8069  	req = c.newRequest(op, input, output)
  8070  	return
  8071  }
  8072  
  8073  // UpdatePortfolioShare API operation for AWS Service Catalog.
  8074  //
  8075  // Updates the specified portfolio share. You can use this API to enable or
  8076  // disable TagOptions sharing for an existing portfolio share.
  8077  //
  8078  // The portfolio share cannot be updated if the CreatePortfolioShare operation
  8079  // is IN_PROGRESS, as the share is not available to recipient entities. In this
  8080  // case, you must wait for the portfolio share to be COMPLETED.
  8081  //
  8082  // You must provide the accountId or organization node in the input, but not
  8083  // both.
  8084  //
  8085  // If the portfolio is shared to both an external account and an organization
  8086  // node, and both shares need to be updated, you must invoke UpdatePortfolioShare
  8087  // separately for each share type.
  8088  //
  8089  // This API cannot be used for removing the portfolio share. You must use DeletePortfolioShare
  8090  // API for that action.
  8091  //
  8092  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8093  // with awserr.Error's Code and Message methods to get detailed information about
  8094  // the error.
  8095  //
  8096  // See the AWS API reference guide for AWS Service Catalog's
  8097  // API operation UpdatePortfolioShare for usage and error information.
  8098  //
  8099  // Returned Error Types:
  8100  //   * ResourceNotFoundException
  8101  //   The specified resource was not found.
  8102  //
  8103  //   * InvalidParametersException
  8104  //   One or more parameters provided to the operation are not valid.
  8105  //
  8106  //   * OperationNotSupportedException
  8107  //   The operation is not supported.
  8108  //
  8109  //   * InvalidStateException
  8110  //   An attempt was made to modify a resource that is in a state that is not valid.
  8111  //   Check your resources to ensure that they are in valid states before retrying
  8112  //   the operation.
  8113  //
  8114  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolioShare
  8115  func (c *ServiceCatalog) UpdatePortfolioShare(input *UpdatePortfolioShareInput) (*UpdatePortfolioShareOutput, error) {
  8116  	req, out := c.UpdatePortfolioShareRequest(input)
  8117  	return out, req.Send()
  8118  }
  8119  
  8120  // UpdatePortfolioShareWithContext is the same as UpdatePortfolioShare with the addition of
  8121  // the ability to pass a context and additional request options.
  8122  //
  8123  // See UpdatePortfolioShare for details on how to use this API operation.
  8124  //
  8125  // The context must be non-nil and will be used for request cancellation. If
  8126  // the context is nil a panic will occur. In the future the SDK may create
  8127  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8128  // for more information on using Contexts.
  8129  func (c *ServiceCatalog) UpdatePortfolioShareWithContext(ctx aws.Context, input *UpdatePortfolioShareInput, opts ...request.Option) (*UpdatePortfolioShareOutput, error) {
  8130  	req, out := c.UpdatePortfolioShareRequest(input)
  8131  	req.SetContext(ctx)
  8132  	req.ApplyOptions(opts...)
  8133  	return out, req.Send()
  8134  }
  8135  
  8136  const opUpdateProduct = "UpdateProduct"
  8137  
  8138  // UpdateProductRequest generates a "aws/request.Request" representing the
  8139  // client's request for the UpdateProduct operation. The "output" return
  8140  // value will be populated with the request's response once the request completes
  8141  // successfully.
  8142  //
  8143  // Use "Send" method on the returned Request to send the API call to the service.
  8144  // the "output" return value is not valid until after Send returns without error.
  8145  //
  8146  // See UpdateProduct for more information on using the UpdateProduct
  8147  // API call, and error handling.
  8148  //
  8149  // This method is useful when you want to inject custom logic or configuration
  8150  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8151  //
  8152  //
  8153  //    // Example sending a request using the UpdateProductRequest method.
  8154  //    req, resp := client.UpdateProductRequest(params)
  8155  //
  8156  //    err := req.Send()
  8157  //    if err == nil { // resp is now filled
  8158  //        fmt.Println(resp)
  8159  //    }
  8160  //
  8161  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
  8162  func (c *ServiceCatalog) UpdateProductRequest(input *UpdateProductInput) (req *request.Request, output *UpdateProductOutput) {
  8163  	op := &request.Operation{
  8164  		Name:       opUpdateProduct,
  8165  		HTTPMethod: "POST",
  8166  		HTTPPath:   "/",
  8167  	}
  8168  
  8169  	if input == nil {
  8170  		input = &UpdateProductInput{}
  8171  	}
  8172  
  8173  	output = &UpdateProductOutput{}
  8174  	req = c.newRequest(op, input, output)
  8175  	return
  8176  }
  8177  
  8178  // UpdateProduct API operation for AWS Service Catalog.
  8179  //
  8180  // Updates the specified product.
  8181  //
  8182  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8183  // with awserr.Error's Code and Message methods to get detailed information about
  8184  // the error.
  8185  //
  8186  // See the AWS API reference guide for AWS Service Catalog's
  8187  // API operation UpdateProduct for usage and error information.
  8188  //
  8189  // Returned Error Types:
  8190  //   * ResourceNotFoundException
  8191  //   The specified resource was not found.
  8192  //
  8193  //   * InvalidParametersException
  8194  //   One or more parameters provided to the operation are not valid.
  8195  //
  8196  //   * TagOptionNotMigratedException
  8197  //   An operation requiring TagOptions failed because the TagOptions migration
  8198  //   process has not been performed for this account. Please use the AWS console
  8199  //   to perform the migration process before retrying the operation.
  8200  //
  8201  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProduct
  8202  func (c *ServiceCatalog) UpdateProduct(input *UpdateProductInput) (*UpdateProductOutput, error) {
  8203  	req, out := c.UpdateProductRequest(input)
  8204  	return out, req.Send()
  8205  }
  8206  
  8207  // UpdateProductWithContext is the same as UpdateProduct with the addition of
  8208  // the ability to pass a context and additional request options.
  8209  //
  8210  // See UpdateProduct for details on how to use this API operation.
  8211  //
  8212  // The context must be non-nil and will be used for request cancellation. If
  8213  // the context is nil a panic will occur. In the future the SDK may create
  8214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8215  // for more information on using Contexts.
  8216  func (c *ServiceCatalog) UpdateProductWithContext(ctx aws.Context, input *UpdateProductInput, opts ...request.Option) (*UpdateProductOutput, error) {
  8217  	req, out := c.UpdateProductRequest(input)
  8218  	req.SetContext(ctx)
  8219  	req.ApplyOptions(opts...)
  8220  	return out, req.Send()
  8221  }
  8222  
  8223  const opUpdateProvisionedProduct = "UpdateProvisionedProduct"
  8224  
  8225  // UpdateProvisionedProductRequest generates a "aws/request.Request" representing the
  8226  // client's request for the UpdateProvisionedProduct operation. The "output" return
  8227  // value will be populated with the request's response once the request completes
  8228  // successfully.
  8229  //
  8230  // Use "Send" method on the returned Request to send the API call to the service.
  8231  // the "output" return value is not valid until after Send returns without error.
  8232  //
  8233  // See UpdateProvisionedProduct for more information on using the UpdateProvisionedProduct
  8234  // API call, and error handling.
  8235  //
  8236  // This method is useful when you want to inject custom logic or configuration
  8237  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8238  //
  8239  //
  8240  //    // Example sending a request using the UpdateProvisionedProductRequest method.
  8241  //    req, resp := client.UpdateProvisionedProductRequest(params)
  8242  //
  8243  //    err := req.Send()
  8244  //    if err == nil { // resp is now filled
  8245  //        fmt.Println(resp)
  8246  //    }
  8247  //
  8248  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
  8249  func (c *ServiceCatalog) UpdateProvisionedProductRequest(input *UpdateProvisionedProductInput) (req *request.Request, output *UpdateProvisionedProductOutput) {
  8250  	op := &request.Operation{
  8251  		Name:       opUpdateProvisionedProduct,
  8252  		HTTPMethod: "POST",
  8253  		HTTPPath:   "/",
  8254  	}
  8255  
  8256  	if input == nil {
  8257  		input = &UpdateProvisionedProductInput{}
  8258  	}
  8259  
  8260  	output = &UpdateProvisionedProductOutput{}
  8261  	req = c.newRequest(op, input, output)
  8262  	return
  8263  }
  8264  
  8265  // UpdateProvisionedProduct API operation for AWS Service Catalog.
  8266  //
  8267  // Requests updates to the configuration of the specified provisioned product.
  8268  //
  8269  // If there are tags associated with the object, they cannot be updated or added.
  8270  // Depending on the specific updates requested, this operation can update with
  8271  // no interruption, with some interruption, or replace the provisioned product
  8272  // entirely.
  8273  //
  8274  // You can check the status of this request using DescribeRecord.
  8275  //
  8276  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8277  // with awserr.Error's Code and Message methods to get detailed information about
  8278  // the error.
  8279  //
  8280  // See the AWS API reference guide for AWS Service Catalog's
  8281  // API operation UpdateProvisionedProduct for usage and error information.
  8282  //
  8283  // Returned Error Types:
  8284  //   * InvalidParametersException
  8285  //   One or more parameters provided to the operation are not valid.
  8286  //
  8287  //   * ResourceNotFoundException
  8288  //   The specified resource was not found.
  8289  //
  8290  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct
  8291  func (c *ServiceCatalog) UpdateProvisionedProduct(input *UpdateProvisionedProductInput) (*UpdateProvisionedProductOutput, error) {
  8292  	req, out := c.UpdateProvisionedProductRequest(input)
  8293  	return out, req.Send()
  8294  }
  8295  
  8296  // UpdateProvisionedProductWithContext is the same as UpdateProvisionedProduct with the addition of
  8297  // the ability to pass a context and additional request options.
  8298  //
  8299  // See UpdateProvisionedProduct for details on how to use this API operation.
  8300  //
  8301  // The context must be non-nil and will be used for request cancellation. If
  8302  // the context is nil a panic will occur. In the future the SDK may create
  8303  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8304  // for more information on using Contexts.
  8305  func (c *ServiceCatalog) UpdateProvisionedProductWithContext(ctx aws.Context, input *UpdateProvisionedProductInput, opts ...request.Option) (*UpdateProvisionedProductOutput, error) {
  8306  	req, out := c.UpdateProvisionedProductRequest(input)
  8307  	req.SetContext(ctx)
  8308  	req.ApplyOptions(opts...)
  8309  	return out, req.Send()
  8310  }
  8311  
  8312  const opUpdateProvisionedProductProperties = "UpdateProvisionedProductProperties"
  8313  
  8314  // UpdateProvisionedProductPropertiesRequest generates a "aws/request.Request" representing the
  8315  // client's request for the UpdateProvisionedProductProperties operation. The "output" return
  8316  // value will be populated with the request's response once the request completes
  8317  // successfully.
  8318  //
  8319  // Use "Send" method on the returned Request to send the API call to the service.
  8320  // the "output" return value is not valid until after Send returns without error.
  8321  //
  8322  // See UpdateProvisionedProductProperties for more information on using the UpdateProvisionedProductProperties
  8323  // API call, and error handling.
  8324  //
  8325  // This method is useful when you want to inject custom logic or configuration
  8326  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8327  //
  8328  //
  8329  //    // Example sending a request using the UpdateProvisionedProductPropertiesRequest method.
  8330  //    req, resp := client.UpdateProvisionedProductPropertiesRequest(params)
  8331  //
  8332  //    err := req.Send()
  8333  //    if err == nil { // resp is now filled
  8334  //        fmt.Println(resp)
  8335  //    }
  8336  //
  8337  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
  8338  func (c *ServiceCatalog) UpdateProvisionedProductPropertiesRequest(input *UpdateProvisionedProductPropertiesInput) (req *request.Request, output *UpdateProvisionedProductPropertiesOutput) {
  8339  	op := &request.Operation{
  8340  		Name:       opUpdateProvisionedProductProperties,
  8341  		HTTPMethod: "POST",
  8342  		HTTPPath:   "/",
  8343  	}
  8344  
  8345  	if input == nil {
  8346  		input = &UpdateProvisionedProductPropertiesInput{}
  8347  	}
  8348  
  8349  	output = &UpdateProvisionedProductPropertiesOutput{}
  8350  	req = c.newRequest(op, input, output)
  8351  	return
  8352  }
  8353  
  8354  // UpdateProvisionedProductProperties API operation for AWS Service Catalog.
  8355  //
  8356  // Requests updates to the properties of the specified provisioned product.
  8357  //
  8358  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8359  // with awserr.Error's Code and Message methods to get detailed information about
  8360  // the error.
  8361  //
  8362  // See the AWS API reference guide for AWS Service Catalog's
  8363  // API operation UpdateProvisionedProductProperties for usage and error information.
  8364  //
  8365  // Returned Error Types:
  8366  //   * InvalidParametersException
  8367  //   One or more parameters provided to the operation are not valid.
  8368  //
  8369  //   * ResourceNotFoundException
  8370  //   The specified resource was not found.
  8371  //
  8372  //   * InvalidStateException
  8373  //   An attempt was made to modify a resource that is in a state that is not valid.
  8374  //   Check your resources to ensure that they are in valid states before retrying
  8375  //   the operation.
  8376  //
  8377  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProductProperties
  8378  func (c *ServiceCatalog) UpdateProvisionedProductProperties(input *UpdateProvisionedProductPropertiesInput) (*UpdateProvisionedProductPropertiesOutput, error) {
  8379  	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
  8380  	return out, req.Send()
  8381  }
  8382  
  8383  // UpdateProvisionedProductPropertiesWithContext is the same as UpdateProvisionedProductProperties with the addition of
  8384  // the ability to pass a context and additional request options.
  8385  //
  8386  // See UpdateProvisionedProductProperties for details on how to use this API operation.
  8387  //
  8388  // The context must be non-nil and will be used for request cancellation. If
  8389  // the context is nil a panic will occur. In the future the SDK may create
  8390  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8391  // for more information on using Contexts.
  8392  func (c *ServiceCatalog) UpdateProvisionedProductPropertiesWithContext(ctx aws.Context, input *UpdateProvisionedProductPropertiesInput, opts ...request.Option) (*UpdateProvisionedProductPropertiesOutput, error) {
  8393  	req, out := c.UpdateProvisionedProductPropertiesRequest(input)
  8394  	req.SetContext(ctx)
  8395  	req.ApplyOptions(opts...)
  8396  	return out, req.Send()
  8397  }
  8398  
  8399  const opUpdateProvisioningArtifact = "UpdateProvisioningArtifact"
  8400  
  8401  // UpdateProvisioningArtifactRequest generates a "aws/request.Request" representing the
  8402  // client's request for the UpdateProvisioningArtifact operation. The "output" return
  8403  // value will be populated with the request's response once the request completes
  8404  // successfully.
  8405  //
  8406  // Use "Send" method on the returned Request to send the API call to the service.
  8407  // the "output" return value is not valid until after Send returns without error.
  8408  //
  8409  // See UpdateProvisioningArtifact for more information on using the UpdateProvisioningArtifact
  8410  // API call, and error handling.
  8411  //
  8412  // This method is useful when you want to inject custom logic or configuration
  8413  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8414  //
  8415  //
  8416  //    // Example sending a request using the UpdateProvisioningArtifactRequest method.
  8417  //    req, resp := client.UpdateProvisioningArtifactRequest(params)
  8418  //
  8419  //    err := req.Send()
  8420  //    if err == nil { // resp is now filled
  8421  //        fmt.Println(resp)
  8422  //    }
  8423  //
  8424  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
  8425  func (c *ServiceCatalog) UpdateProvisioningArtifactRequest(input *UpdateProvisioningArtifactInput) (req *request.Request, output *UpdateProvisioningArtifactOutput) {
  8426  	op := &request.Operation{
  8427  		Name:       opUpdateProvisioningArtifact,
  8428  		HTTPMethod: "POST",
  8429  		HTTPPath:   "/",
  8430  	}
  8431  
  8432  	if input == nil {
  8433  		input = &UpdateProvisioningArtifactInput{}
  8434  	}
  8435  
  8436  	output = &UpdateProvisioningArtifactOutput{}
  8437  	req = c.newRequest(op, input, output)
  8438  	return
  8439  }
  8440  
  8441  // UpdateProvisioningArtifact API operation for AWS Service Catalog.
  8442  //
  8443  // Updates the specified provisioning artifact (also known as a version) for
  8444  // the specified product.
  8445  //
  8446  // You cannot update a provisioning artifact for a product that was shared with
  8447  // you.
  8448  //
  8449  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8450  // with awserr.Error's Code and Message methods to get detailed information about
  8451  // the error.
  8452  //
  8453  // See the AWS API reference guide for AWS Service Catalog's
  8454  // API operation UpdateProvisioningArtifact for usage and error information.
  8455  //
  8456  // Returned Error Types:
  8457  //   * ResourceNotFoundException
  8458  //   The specified resource was not found.
  8459  //
  8460  //   * InvalidParametersException
  8461  //   One or more parameters provided to the operation are not valid.
  8462  //
  8463  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisioningArtifact
  8464  func (c *ServiceCatalog) UpdateProvisioningArtifact(input *UpdateProvisioningArtifactInput) (*UpdateProvisioningArtifactOutput, error) {
  8465  	req, out := c.UpdateProvisioningArtifactRequest(input)
  8466  	return out, req.Send()
  8467  }
  8468  
  8469  // UpdateProvisioningArtifactWithContext is the same as UpdateProvisioningArtifact with the addition of
  8470  // the ability to pass a context and additional request options.
  8471  //
  8472  // See UpdateProvisioningArtifact for details on how to use this API operation.
  8473  //
  8474  // The context must be non-nil and will be used for request cancellation. If
  8475  // the context is nil a panic will occur. In the future the SDK may create
  8476  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8477  // for more information on using Contexts.
  8478  func (c *ServiceCatalog) UpdateProvisioningArtifactWithContext(ctx aws.Context, input *UpdateProvisioningArtifactInput, opts ...request.Option) (*UpdateProvisioningArtifactOutput, error) {
  8479  	req, out := c.UpdateProvisioningArtifactRequest(input)
  8480  	req.SetContext(ctx)
  8481  	req.ApplyOptions(opts...)
  8482  	return out, req.Send()
  8483  }
  8484  
  8485  const opUpdateServiceAction = "UpdateServiceAction"
  8486  
  8487  // UpdateServiceActionRequest generates a "aws/request.Request" representing the
  8488  // client's request for the UpdateServiceAction operation. The "output" return
  8489  // value will be populated with the request's response once the request completes
  8490  // successfully.
  8491  //
  8492  // Use "Send" method on the returned Request to send the API call to the service.
  8493  // the "output" return value is not valid until after Send returns without error.
  8494  //
  8495  // See UpdateServiceAction for more information on using the UpdateServiceAction
  8496  // API call, and error handling.
  8497  //
  8498  // This method is useful when you want to inject custom logic or configuration
  8499  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8500  //
  8501  //
  8502  //    // Example sending a request using the UpdateServiceActionRequest method.
  8503  //    req, resp := client.UpdateServiceActionRequest(params)
  8504  //
  8505  //    err := req.Send()
  8506  //    if err == nil { // resp is now filled
  8507  //        fmt.Println(resp)
  8508  //    }
  8509  //
  8510  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
  8511  func (c *ServiceCatalog) UpdateServiceActionRequest(input *UpdateServiceActionInput) (req *request.Request, output *UpdateServiceActionOutput) {
  8512  	op := &request.Operation{
  8513  		Name:       opUpdateServiceAction,
  8514  		HTTPMethod: "POST",
  8515  		HTTPPath:   "/",
  8516  	}
  8517  
  8518  	if input == nil {
  8519  		input = &UpdateServiceActionInput{}
  8520  	}
  8521  
  8522  	output = &UpdateServiceActionOutput{}
  8523  	req = c.newRequest(op, input, output)
  8524  	return
  8525  }
  8526  
  8527  // UpdateServiceAction API operation for AWS Service Catalog.
  8528  //
  8529  // Updates a self-service action.
  8530  //
  8531  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8532  // with awserr.Error's Code and Message methods to get detailed information about
  8533  // the error.
  8534  //
  8535  // See the AWS API reference guide for AWS Service Catalog's
  8536  // API operation UpdateServiceAction for usage and error information.
  8537  //
  8538  // Returned Error Types:
  8539  //   * ResourceNotFoundException
  8540  //   The specified resource was not found.
  8541  //
  8542  //   * InvalidParametersException
  8543  //   One or more parameters provided to the operation are not valid.
  8544  //
  8545  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateServiceAction
  8546  func (c *ServiceCatalog) UpdateServiceAction(input *UpdateServiceActionInput) (*UpdateServiceActionOutput, error) {
  8547  	req, out := c.UpdateServiceActionRequest(input)
  8548  	return out, req.Send()
  8549  }
  8550  
  8551  // UpdateServiceActionWithContext is the same as UpdateServiceAction with the addition of
  8552  // the ability to pass a context and additional request options.
  8553  //
  8554  // See UpdateServiceAction for details on how to use this API operation.
  8555  //
  8556  // The context must be non-nil and will be used for request cancellation. If
  8557  // the context is nil a panic will occur. In the future the SDK may create
  8558  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8559  // for more information on using Contexts.
  8560  func (c *ServiceCatalog) UpdateServiceActionWithContext(ctx aws.Context, input *UpdateServiceActionInput, opts ...request.Option) (*UpdateServiceActionOutput, error) {
  8561  	req, out := c.UpdateServiceActionRequest(input)
  8562  	req.SetContext(ctx)
  8563  	req.ApplyOptions(opts...)
  8564  	return out, req.Send()
  8565  }
  8566  
  8567  const opUpdateTagOption = "UpdateTagOption"
  8568  
  8569  // UpdateTagOptionRequest generates a "aws/request.Request" representing the
  8570  // client's request for the UpdateTagOption operation. The "output" return
  8571  // value will be populated with the request's response once the request completes
  8572  // successfully.
  8573  //
  8574  // Use "Send" method on the returned Request to send the API call to the service.
  8575  // the "output" return value is not valid until after Send returns without error.
  8576  //
  8577  // See UpdateTagOption for more information on using the UpdateTagOption
  8578  // API call, and error handling.
  8579  //
  8580  // This method is useful when you want to inject custom logic or configuration
  8581  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8582  //
  8583  //
  8584  //    // Example sending a request using the UpdateTagOptionRequest method.
  8585  //    req, resp := client.UpdateTagOptionRequest(params)
  8586  //
  8587  //    err := req.Send()
  8588  //    if err == nil { // resp is now filled
  8589  //        fmt.Println(resp)
  8590  //    }
  8591  //
  8592  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
  8593  func (c *ServiceCatalog) UpdateTagOptionRequest(input *UpdateTagOptionInput) (req *request.Request, output *UpdateTagOptionOutput) {
  8594  	op := &request.Operation{
  8595  		Name:       opUpdateTagOption,
  8596  		HTTPMethod: "POST",
  8597  		HTTPPath:   "/",
  8598  	}
  8599  
  8600  	if input == nil {
  8601  		input = &UpdateTagOptionInput{}
  8602  	}
  8603  
  8604  	output = &UpdateTagOptionOutput{}
  8605  	req = c.newRequest(op, input, output)
  8606  	return
  8607  }
  8608  
  8609  // UpdateTagOption API operation for AWS Service Catalog.
  8610  //
  8611  // Updates the specified TagOption.
  8612  //
  8613  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8614  // with awserr.Error's Code and Message methods to get detailed information about
  8615  // the error.
  8616  //
  8617  // See the AWS API reference guide for AWS Service Catalog's
  8618  // API operation UpdateTagOption for usage and error information.
  8619  //
  8620  // Returned Error Types:
  8621  //   * TagOptionNotMigratedException
  8622  //   An operation requiring TagOptions failed because the TagOptions migration
  8623  //   process has not been performed for this account. Please use the AWS console
  8624  //   to perform the migration process before retrying the operation.
  8625  //
  8626  //   * ResourceNotFoundException
  8627  //   The specified resource was not found.
  8628  //
  8629  //   * DuplicateResourceException
  8630  //   The specified resource is a duplicate.
  8631  //
  8632  //   * InvalidParametersException
  8633  //   One or more parameters provided to the operation are not valid.
  8634  //
  8635  // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateTagOption
  8636  func (c *ServiceCatalog) UpdateTagOption(input *UpdateTagOptionInput) (*UpdateTagOptionOutput, error) {
  8637  	req, out := c.UpdateTagOptionRequest(input)
  8638  	return out, req.Send()
  8639  }
  8640  
  8641  // UpdateTagOptionWithContext is the same as UpdateTagOption with the addition of
  8642  // the ability to pass a context and additional request options.
  8643  //
  8644  // See UpdateTagOption for details on how to use this API operation.
  8645  //
  8646  // The context must be non-nil and will be used for request cancellation. If
  8647  // the context is nil a panic will occur. In the future the SDK may create
  8648  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8649  // for more information on using Contexts.
  8650  func (c *ServiceCatalog) UpdateTagOptionWithContext(ctx aws.Context, input *UpdateTagOptionInput, opts ...request.Option) (*UpdateTagOptionOutput, error) {
  8651  	req, out := c.UpdateTagOptionRequest(input)
  8652  	req.SetContext(ctx)
  8653  	req.ApplyOptions(opts...)
  8654  	return out, req.Send()
  8655  }
  8656  
  8657  type AcceptPortfolioShareInput struct {
  8658  	_ struct{} `type:"structure"`
  8659  
  8660  	// The language code.
  8661  	//
  8662  	//    * en - English (default)
  8663  	//
  8664  	//    * jp - Japanese
  8665  	//
  8666  	//    * zh - Chinese
  8667  	AcceptLanguage *string `type:"string"`
  8668  
  8669  	// The portfolio identifier.
  8670  	//
  8671  	// PortfolioId is a required field
  8672  	PortfolioId *string `min:"1" type:"string" required:"true"`
  8673  
  8674  	// The type of shared portfolios to accept. The default is to accept imported
  8675  	// portfolios.
  8676  	//
  8677  	//    * AWS_ORGANIZATIONS - Accept portfolios shared by the management account
  8678  	//    of your organization.
  8679  	//
  8680  	//    * IMPORTED - Accept imported portfolios.
  8681  	//
  8682  	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
  8683  	//
  8684  	// For example, aws servicecatalog accept-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
  8685  	// --portfolio-share-type AWS_ORGANIZATIONS
  8686  	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
  8687  }
  8688  
  8689  // String returns the string representation.
  8690  //
  8691  // API parameter values that are decorated as "sensitive" in the API will not
  8692  // be included in the string output. The member name will be present, but the
  8693  // value will be replaced with "sensitive".
  8694  func (s AcceptPortfolioShareInput) String() string {
  8695  	return awsutil.Prettify(s)
  8696  }
  8697  
  8698  // GoString returns the string representation.
  8699  //
  8700  // API parameter values that are decorated as "sensitive" in the API will not
  8701  // be included in the string output. The member name will be present, but the
  8702  // value will be replaced with "sensitive".
  8703  func (s AcceptPortfolioShareInput) GoString() string {
  8704  	return s.String()
  8705  }
  8706  
  8707  // Validate inspects the fields of the type to determine if they are valid.
  8708  func (s *AcceptPortfolioShareInput) Validate() error {
  8709  	invalidParams := request.ErrInvalidParams{Context: "AcceptPortfolioShareInput"}
  8710  	if s.PortfolioId == nil {
  8711  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
  8712  	}
  8713  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
  8714  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
  8715  	}
  8716  
  8717  	if invalidParams.Len() > 0 {
  8718  		return invalidParams
  8719  	}
  8720  	return nil
  8721  }
  8722  
  8723  // SetAcceptLanguage sets the AcceptLanguage field's value.
  8724  func (s *AcceptPortfolioShareInput) SetAcceptLanguage(v string) *AcceptPortfolioShareInput {
  8725  	s.AcceptLanguage = &v
  8726  	return s
  8727  }
  8728  
  8729  // SetPortfolioId sets the PortfolioId field's value.
  8730  func (s *AcceptPortfolioShareInput) SetPortfolioId(v string) *AcceptPortfolioShareInput {
  8731  	s.PortfolioId = &v
  8732  	return s
  8733  }
  8734  
  8735  // SetPortfolioShareType sets the PortfolioShareType field's value.
  8736  func (s *AcceptPortfolioShareInput) SetPortfolioShareType(v string) *AcceptPortfolioShareInput {
  8737  	s.PortfolioShareType = &v
  8738  	return s
  8739  }
  8740  
  8741  type AcceptPortfolioShareOutput struct {
  8742  	_ struct{} `type:"structure"`
  8743  }
  8744  
  8745  // String returns the string representation.
  8746  //
  8747  // API parameter values that are decorated as "sensitive" in the API will not
  8748  // be included in the string output. The member name will be present, but the
  8749  // value will be replaced with "sensitive".
  8750  func (s AcceptPortfolioShareOutput) String() string {
  8751  	return awsutil.Prettify(s)
  8752  }
  8753  
  8754  // GoString returns the string representation.
  8755  //
  8756  // API parameter values that are decorated as "sensitive" in the API will not
  8757  // be included in the string output. The member name will be present, but the
  8758  // value will be replaced with "sensitive".
  8759  func (s AcceptPortfolioShareOutput) GoString() string {
  8760  	return s.String()
  8761  }
  8762  
  8763  // The access level to use to filter results.
  8764  type AccessLevelFilter struct {
  8765  	_ struct{} `type:"structure"`
  8766  
  8767  	// The access level.
  8768  	//
  8769  	//    * Account - Filter results based on the account.
  8770  	//
  8771  	//    * Role - Filter results based on the federated role of the specified user.
  8772  	//
  8773  	//    * User - Filter results based on the specified user.
  8774  	Key *string `type:"string" enum:"AccessLevelFilterKey"`
  8775  
  8776  	// The user to which the access level applies. The only supported value is Self.
  8777  	Value *string `type:"string"`
  8778  }
  8779  
  8780  // String returns the string representation.
  8781  //
  8782  // API parameter values that are decorated as "sensitive" in the API will not
  8783  // be included in the string output. The member name will be present, but the
  8784  // value will be replaced with "sensitive".
  8785  func (s AccessLevelFilter) String() string {
  8786  	return awsutil.Prettify(s)
  8787  }
  8788  
  8789  // GoString returns the string representation.
  8790  //
  8791  // API parameter values that are decorated as "sensitive" in the API will not
  8792  // be included in the string output. The member name will be present, but the
  8793  // value will be replaced with "sensitive".
  8794  func (s AccessLevelFilter) GoString() string {
  8795  	return s.String()
  8796  }
  8797  
  8798  // SetKey sets the Key field's value.
  8799  func (s *AccessLevelFilter) SetKey(v string) *AccessLevelFilter {
  8800  	s.Key = &v
  8801  	return s
  8802  }
  8803  
  8804  // SetValue sets the Value field's value.
  8805  func (s *AccessLevelFilter) SetValue(v string) *AccessLevelFilter {
  8806  	s.Value = &v
  8807  	return s
  8808  }
  8809  
  8810  type AssociateBudgetWithResourceInput struct {
  8811  	_ struct{} `type:"structure"`
  8812  
  8813  	// The name of the budget you want to associate.
  8814  	//
  8815  	// BudgetName is a required field
  8816  	BudgetName *string `min:"1" type:"string" required:"true"`
  8817  
  8818  	// The resource identifier. Either a portfolio-id or a product-id.
  8819  	//
  8820  	// ResourceId is a required field
  8821  	ResourceId *string `min:"1" type:"string" required:"true"`
  8822  }
  8823  
  8824  // String returns the string representation.
  8825  //
  8826  // API parameter values that are decorated as "sensitive" in the API will not
  8827  // be included in the string output. The member name will be present, but the
  8828  // value will be replaced with "sensitive".
  8829  func (s AssociateBudgetWithResourceInput) String() string {
  8830  	return awsutil.Prettify(s)
  8831  }
  8832  
  8833  // GoString returns the string representation.
  8834  //
  8835  // API parameter values that are decorated as "sensitive" in the API will not
  8836  // be included in the string output. The member name will be present, but the
  8837  // value will be replaced with "sensitive".
  8838  func (s AssociateBudgetWithResourceInput) GoString() string {
  8839  	return s.String()
  8840  }
  8841  
  8842  // Validate inspects the fields of the type to determine if they are valid.
  8843  func (s *AssociateBudgetWithResourceInput) Validate() error {
  8844  	invalidParams := request.ErrInvalidParams{Context: "AssociateBudgetWithResourceInput"}
  8845  	if s.BudgetName == nil {
  8846  		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
  8847  	}
  8848  	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
  8849  		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
  8850  	}
  8851  	if s.ResourceId == nil {
  8852  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  8853  	}
  8854  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  8855  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  8856  	}
  8857  
  8858  	if invalidParams.Len() > 0 {
  8859  		return invalidParams
  8860  	}
  8861  	return nil
  8862  }
  8863  
  8864  // SetBudgetName sets the BudgetName field's value.
  8865  func (s *AssociateBudgetWithResourceInput) SetBudgetName(v string) *AssociateBudgetWithResourceInput {
  8866  	s.BudgetName = &v
  8867  	return s
  8868  }
  8869  
  8870  // SetResourceId sets the ResourceId field's value.
  8871  func (s *AssociateBudgetWithResourceInput) SetResourceId(v string) *AssociateBudgetWithResourceInput {
  8872  	s.ResourceId = &v
  8873  	return s
  8874  }
  8875  
  8876  type AssociateBudgetWithResourceOutput struct {
  8877  	_ struct{} `type:"structure"`
  8878  }
  8879  
  8880  // String returns the string representation.
  8881  //
  8882  // API parameter values that are decorated as "sensitive" in the API will not
  8883  // be included in the string output. The member name will be present, but the
  8884  // value will be replaced with "sensitive".
  8885  func (s AssociateBudgetWithResourceOutput) String() string {
  8886  	return awsutil.Prettify(s)
  8887  }
  8888  
  8889  // GoString returns the string representation.
  8890  //
  8891  // API parameter values that are decorated as "sensitive" in the API will not
  8892  // be included in the string output. The member name will be present, but the
  8893  // value will be replaced with "sensitive".
  8894  func (s AssociateBudgetWithResourceOutput) GoString() string {
  8895  	return s.String()
  8896  }
  8897  
  8898  type AssociatePrincipalWithPortfolioInput struct {
  8899  	_ struct{} `type:"structure"`
  8900  
  8901  	// The language code.
  8902  	//
  8903  	//    * en - English (default)
  8904  	//
  8905  	//    * jp - Japanese
  8906  	//
  8907  	//    * zh - Chinese
  8908  	AcceptLanguage *string `type:"string"`
  8909  
  8910  	// The portfolio identifier.
  8911  	//
  8912  	// PortfolioId is a required field
  8913  	PortfolioId *string `min:"1" type:"string" required:"true"`
  8914  
  8915  	// The ARN of the principal (IAM user, role, or group).
  8916  	//
  8917  	// PrincipalARN is a required field
  8918  	PrincipalARN *string `min:"1" type:"string" required:"true"`
  8919  
  8920  	// The principal type. The supported value is IAM.
  8921  	//
  8922  	// PrincipalType is a required field
  8923  	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
  8924  }
  8925  
  8926  // String returns the string representation.
  8927  //
  8928  // API parameter values that are decorated as "sensitive" in the API will not
  8929  // be included in the string output. The member name will be present, but the
  8930  // value will be replaced with "sensitive".
  8931  func (s AssociatePrincipalWithPortfolioInput) String() string {
  8932  	return awsutil.Prettify(s)
  8933  }
  8934  
  8935  // GoString returns the string representation.
  8936  //
  8937  // API parameter values that are decorated as "sensitive" in the API will not
  8938  // be included in the string output. The member name will be present, but the
  8939  // value will be replaced with "sensitive".
  8940  func (s AssociatePrincipalWithPortfolioInput) GoString() string {
  8941  	return s.String()
  8942  }
  8943  
  8944  // Validate inspects the fields of the type to determine if they are valid.
  8945  func (s *AssociatePrincipalWithPortfolioInput) Validate() error {
  8946  	invalidParams := request.ErrInvalidParams{Context: "AssociatePrincipalWithPortfolioInput"}
  8947  	if s.PortfolioId == nil {
  8948  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
  8949  	}
  8950  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
  8951  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
  8952  	}
  8953  	if s.PrincipalARN == nil {
  8954  		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
  8955  	}
  8956  	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
  8957  		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
  8958  	}
  8959  	if s.PrincipalType == nil {
  8960  		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
  8961  	}
  8962  
  8963  	if invalidParams.Len() > 0 {
  8964  		return invalidParams
  8965  	}
  8966  	return nil
  8967  }
  8968  
  8969  // SetAcceptLanguage sets the AcceptLanguage field's value.
  8970  func (s *AssociatePrincipalWithPortfolioInput) SetAcceptLanguage(v string) *AssociatePrincipalWithPortfolioInput {
  8971  	s.AcceptLanguage = &v
  8972  	return s
  8973  }
  8974  
  8975  // SetPortfolioId sets the PortfolioId field's value.
  8976  func (s *AssociatePrincipalWithPortfolioInput) SetPortfolioId(v string) *AssociatePrincipalWithPortfolioInput {
  8977  	s.PortfolioId = &v
  8978  	return s
  8979  }
  8980  
  8981  // SetPrincipalARN sets the PrincipalARN field's value.
  8982  func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalARN(v string) *AssociatePrincipalWithPortfolioInput {
  8983  	s.PrincipalARN = &v
  8984  	return s
  8985  }
  8986  
  8987  // SetPrincipalType sets the PrincipalType field's value.
  8988  func (s *AssociatePrincipalWithPortfolioInput) SetPrincipalType(v string) *AssociatePrincipalWithPortfolioInput {
  8989  	s.PrincipalType = &v
  8990  	return s
  8991  }
  8992  
  8993  type AssociatePrincipalWithPortfolioOutput struct {
  8994  	_ struct{} `type:"structure"`
  8995  }
  8996  
  8997  // String returns the string representation.
  8998  //
  8999  // API parameter values that are decorated as "sensitive" in the API will not
  9000  // be included in the string output. The member name will be present, but the
  9001  // value will be replaced with "sensitive".
  9002  func (s AssociatePrincipalWithPortfolioOutput) String() string {
  9003  	return awsutil.Prettify(s)
  9004  }
  9005  
  9006  // GoString returns the string representation.
  9007  //
  9008  // API parameter values that are decorated as "sensitive" in the API will not
  9009  // be included in the string output. The member name will be present, but the
  9010  // value will be replaced with "sensitive".
  9011  func (s AssociatePrincipalWithPortfolioOutput) GoString() string {
  9012  	return s.String()
  9013  }
  9014  
  9015  type AssociateProductWithPortfolioInput struct {
  9016  	_ struct{} `type:"structure"`
  9017  
  9018  	// The language code.
  9019  	//
  9020  	//    * en - English (default)
  9021  	//
  9022  	//    * jp - Japanese
  9023  	//
  9024  	//    * zh - Chinese
  9025  	AcceptLanguage *string `type:"string"`
  9026  
  9027  	// The portfolio identifier.
  9028  	//
  9029  	// PortfolioId is a required field
  9030  	PortfolioId *string `min:"1" type:"string" required:"true"`
  9031  
  9032  	// The product identifier.
  9033  	//
  9034  	// ProductId is a required field
  9035  	ProductId *string `min:"1" type:"string" required:"true"`
  9036  
  9037  	// The identifier of the source portfolio.
  9038  	SourcePortfolioId *string `min:"1" type:"string"`
  9039  }
  9040  
  9041  // String returns the string representation.
  9042  //
  9043  // API parameter values that are decorated as "sensitive" in the API will not
  9044  // be included in the string output. The member name will be present, but the
  9045  // value will be replaced with "sensitive".
  9046  func (s AssociateProductWithPortfolioInput) String() string {
  9047  	return awsutil.Prettify(s)
  9048  }
  9049  
  9050  // GoString returns the string representation.
  9051  //
  9052  // API parameter values that are decorated as "sensitive" in the API will not
  9053  // be included in the string output. The member name will be present, but the
  9054  // value will be replaced with "sensitive".
  9055  func (s AssociateProductWithPortfolioInput) GoString() string {
  9056  	return s.String()
  9057  }
  9058  
  9059  // Validate inspects the fields of the type to determine if they are valid.
  9060  func (s *AssociateProductWithPortfolioInput) Validate() error {
  9061  	invalidParams := request.ErrInvalidParams{Context: "AssociateProductWithPortfolioInput"}
  9062  	if s.PortfolioId == nil {
  9063  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
  9064  	}
  9065  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
  9066  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
  9067  	}
  9068  	if s.ProductId == nil {
  9069  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
  9070  	}
  9071  	if s.ProductId != nil && len(*s.ProductId) < 1 {
  9072  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
  9073  	}
  9074  	if s.SourcePortfolioId != nil && len(*s.SourcePortfolioId) < 1 {
  9075  		invalidParams.Add(request.NewErrParamMinLen("SourcePortfolioId", 1))
  9076  	}
  9077  
  9078  	if invalidParams.Len() > 0 {
  9079  		return invalidParams
  9080  	}
  9081  	return nil
  9082  }
  9083  
  9084  // SetAcceptLanguage sets the AcceptLanguage field's value.
  9085  func (s *AssociateProductWithPortfolioInput) SetAcceptLanguage(v string) *AssociateProductWithPortfolioInput {
  9086  	s.AcceptLanguage = &v
  9087  	return s
  9088  }
  9089  
  9090  // SetPortfolioId sets the PortfolioId field's value.
  9091  func (s *AssociateProductWithPortfolioInput) SetPortfolioId(v string) *AssociateProductWithPortfolioInput {
  9092  	s.PortfolioId = &v
  9093  	return s
  9094  }
  9095  
  9096  // SetProductId sets the ProductId field's value.
  9097  func (s *AssociateProductWithPortfolioInput) SetProductId(v string) *AssociateProductWithPortfolioInput {
  9098  	s.ProductId = &v
  9099  	return s
  9100  }
  9101  
  9102  // SetSourcePortfolioId sets the SourcePortfolioId field's value.
  9103  func (s *AssociateProductWithPortfolioInput) SetSourcePortfolioId(v string) *AssociateProductWithPortfolioInput {
  9104  	s.SourcePortfolioId = &v
  9105  	return s
  9106  }
  9107  
  9108  type AssociateProductWithPortfolioOutput struct {
  9109  	_ struct{} `type:"structure"`
  9110  }
  9111  
  9112  // String returns the string representation.
  9113  //
  9114  // API parameter values that are decorated as "sensitive" in the API will not
  9115  // be included in the string output. The member name will be present, but the
  9116  // value will be replaced with "sensitive".
  9117  func (s AssociateProductWithPortfolioOutput) String() string {
  9118  	return awsutil.Prettify(s)
  9119  }
  9120  
  9121  // GoString returns the string representation.
  9122  //
  9123  // API parameter values that are decorated as "sensitive" in the API will not
  9124  // be included in the string output. The member name will be present, but the
  9125  // value will be replaced with "sensitive".
  9126  func (s AssociateProductWithPortfolioOutput) GoString() string {
  9127  	return s.String()
  9128  }
  9129  
  9130  type AssociateServiceActionWithProvisioningArtifactInput struct {
  9131  	_ struct{} `type:"structure"`
  9132  
  9133  	// The language code.
  9134  	//
  9135  	//    * en - English (default)
  9136  	//
  9137  	//    * jp - Japanese
  9138  	//
  9139  	//    * zh - Chinese
  9140  	AcceptLanguage *string `type:"string"`
  9141  
  9142  	// The product identifier. For example, prod-abcdzk7xy33qa.
  9143  	//
  9144  	// ProductId is a required field
  9145  	ProductId *string `min:"1" type:"string" required:"true"`
  9146  
  9147  	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
  9148  	//
  9149  	// ProvisioningArtifactId is a required field
  9150  	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
  9151  
  9152  	// The self-service action identifier. For example, act-fs7abcd89wxyz.
  9153  	//
  9154  	// ServiceActionId is a required field
  9155  	ServiceActionId *string `min:"1" type:"string" required:"true"`
  9156  }
  9157  
  9158  // String returns the string representation.
  9159  //
  9160  // API parameter values that are decorated as "sensitive" in the API will not
  9161  // be included in the string output. The member name will be present, but the
  9162  // value will be replaced with "sensitive".
  9163  func (s AssociateServiceActionWithProvisioningArtifactInput) String() string {
  9164  	return awsutil.Prettify(s)
  9165  }
  9166  
  9167  // GoString returns the string representation.
  9168  //
  9169  // API parameter values that are decorated as "sensitive" in the API will not
  9170  // be included in the string output. The member name will be present, but the
  9171  // value will be replaced with "sensitive".
  9172  func (s AssociateServiceActionWithProvisioningArtifactInput) GoString() string {
  9173  	return s.String()
  9174  }
  9175  
  9176  // Validate inspects the fields of the type to determine if they are valid.
  9177  func (s *AssociateServiceActionWithProvisioningArtifactInput) Validate() error {
  9178  	invalidParams := request.ErrInvalidParams{Context: "AssociateServiceActionWithProvisioningArtifactInput"}
  9179  	if s.ProductId == nil {
  9180  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
  9181  	}
  9182  	if s.ProductId != nil && len(*s.ProductId) < 1 {
  9183  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
  9184  	}
  9185  	if s.ProvisioningArtifactId == nil {
  9186  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
  9187  	}
  9188  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
  9189  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
  9190  	}
  9191  	if s.ServiceActionId == nil {
  9192  		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
  9193  	}
  9194  	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
  9195  		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
  9196  	}
  9197  
  9198  	if invalidParams.Len() > 0 {
  9199  		return invalidParams
  9200  	}
  9201  	return nil
  9202  }
  9203  
  9204  // SetAcceptLanguage sets the AcceptLanguage field's value.
  9205  func (s *AssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *AssociateServiceActionWithProvisioningArtifactInput {
  9206  	s.AcceptLanguage = &v
  9207  	return s
  9208  }
  9209  
  9210  // SetProductId sets the ProductId field's value.
  9211  func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProductId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
  9212  	s.ProductId = &v
  9213  	return s
  9214  }
  9215  
  9216  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
  9217  func (s *AssociateServiceActionWithProvisioningArtifactInput) SetProvisioningArtifactId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
  9218  	s.ProvisioningArtifactId = &v
  9219  	return s
  9220  }
  9221  
  9222  // SetServiceActionId sets the ServiceActionId field's value.
  9223  func (s *AssociateServiceActionWithProvisioningArtifactInput) SetServiceActionId(v string) *AssociateServiceActionWithProvisioningArtifactInput {
  9224  	s.ServiceActionId = &v
  9225  	return s
  9226  }
  9227  
  9228  type AssociateServiceActionWithProvisioningArtifactOutput struct {
  9229  	_ struct{} `type:"structure"`
  9230  }
  9231  
  9232  // String returns the string representation.
  9233  //
  9234  // API parameter values that are decorated as "sensitive" in the API will not
  9235  // be included in the string output. The member name will be present, but the
  9236  // value will be replaced with "sensitive".
  9237  func (s AssociateServiceActionWithProvisioningArtifactOutput) String() string {
  9238  	return awsutil.Prettify(s)
  9239  }
  9240  
  9241  // GoString returns the string representation.
  9242  //
  9243  // API parameter values that are decorated as "sensitive" in the API will not
  9244  // be included in the string output. The member name will be present, but the
  9245  // value will be replaced with "sensitive".
  9246  func (s AssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
  9247  	return s.String()
  9248  }
  9249  
  9250  type AssociateTagOptionWithResourceInput struct {
  9251  	_ struct{} `type:"structure"`
  9252  
  9253  	// The resource identifier.
  9254  	//
  9255  	// ResourceId is a required field
  9256  	ResourceId *string `type:"string" required:"true"`
  9257  
  9258  	// The TagOption identifier.
  9259  	//
  9260  	// TagOptionId is a required field
  9261  	TagOptionId *string `min:"1" type:"string" required:"true"`
  9262  }
  9263  
  9264  // String returns the string representation.
  9265  //
  9266  // API parameter values that are decorated as "sensitive" in the API will not
  9267  // be included in the string output. The member name will be present, but the
  9268  // value will be replaced with "sensitive".
  9269  func (s AssociateTagOptionWithResourceInput) String() string {
  9270  	return awsutil.Prettify(s)
  9271  }
  9272  
  9273  // GoString returns the string representation.
  9274  //
  9275  // API parameter values that are decorated as "sensitive" in the API will not
  9276  // be included in the string output. The member name will be present, but the
  9277  // value will be replaced with "sensitive".
  9278  func (s AssociateTagOptionWithResourceInput) GoString() string {
  9279  	return s.String()
  9280  }
  9281  
  9282  // Validate inspects the fields of the type to determine if they are valid.
  9283  func (s *AssociateTagOptionWithResourceInput) Validate() error {
  9284  	invalidParams := request.ErrInvalidParams{Context: "AssociateTagOptionWithResourceInput"}
  9285  	if s.ResourceId == nil {
  9286  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  9287  	}
  9288  	if s.TagOptionId == nil {
  9289  		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
  9290  	}
  9291  	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
  9292  		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
  9293  	}
  9294  
  9295  	if invalidParams.Len() > 0 {
  9296  		return invalidParams
  9297  	}
  9298  	return nil
  9299  }
  9300  
  9301  // SetResourceId sets the ResourceId field's value.
  9302  func (s *AssociateTagOptionWithResourceInput) SetResourceId(v string) *AssociateTagOptionWithResourceInput {
  9303  	s.ResourceId = &v
  9304  	return s
  9305  }
  9306  
  9307  // SetTagOptionId sets the TagOptionId field's value.
  9308  func (s *AssociateTagOptionWithResourceInput) SetTagOptionId(v string) *AssociateTagOptionWithResourceInput {
  9309  	s.TagOptionId = &v
  9310  	return s
  9311  }
  9312  
  9313  type AssociateTagOptionWithResourceOutput struct {
  9314  	_ struct{} `type:"structure"`
  9315  }
  9316  
  9317  // String returns the string representation.
  9318  //
  9319  // API parameter values that are decorated as "sensitive" in the API will not
  9320  // be included in the string output. The member name will be present, but the
  9321  // value will be replaced with "sensitive".
  9322  func (s AssociateTagOptionWithResourceOutput) String() string {
  9323  	return awsutil.Prettify(s)
  9324  }
  9325  
  9326  // GoString returns the string representation.
  9327  //
  9328  // API parameter values that are decorated as "sensitive" in the API will not
  9329  // be included in the string output. The member name will be present, but the
  9330  // value will be replaced with "sensitive".
  9331  func (s AssociateTagOptionWithResourceOutput) GoString() string {
  9332  	return s.String()
  9333  }
  9334  
  9335  type BatchAssociateServiceActionWithProvisioningArtifactInput struct {
  9336  	_ struct{} `type:"structure"`
  9337  
  9338  	// The language code.
  9339  	//
  9340  	//    * en - English (default)
  9341  	//
  9342  	//    * jp - Japanese
  9343  	//
  9344  	//    * zh - Chinese
  9345  	AcceptLanguage *string `type:"string"`
  9346  
  9347  	// One or more associations, each consisting of the Action ID, the Product ID,
  9348  	// and the Provisioning Artifact ID.
  9349  	//
  9350  	// ServiceActionAssociations is a required field
  9351  	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
  9352  }
  9353  
  9354  // String returns the string representation.
  9355  //
  9356  // API parameter values that are decorated as "sensitive" in the API will not
  9357  // be included in the string output. The member name will be present, but the
  9358  // value will be replaced with "sensitive".
  9359  func (s BatchAssociateServiceActionWithProvisioningArtifactInput) String() string {
  9360  	return awsutil.Prettify(s)
  9361  }
  9362  
  9363  // GoString returns the string representation.
  9364  //
  9365  // API parameter values that are decorated as "sensitive" in the API will not
  9366  // be included in the string output. The member name will be present, but the
  9367  // value will be replaced with "sensitive".
  9368  func (s BatchAssociateServiceActionWithProvisioningArtifactInput) GoString() string {
  9369  	return s.String()
  9370  }
  9371  
  9372  // Validate inspects the fields of the type to determine if they are valid.
  9373  func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) Validate() error {
  9374  	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateServiceActionWithProvisioningArtifactInput"}
  9375  	if s.ServiceActionAssociations == nil {
  9376  		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
  9377  	}
  9378  	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
  9379  		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
  9380  	}
  9381  	if s.ServiceActionAssociations != nil {
  9382  		for i, v := range s.ServiceActionAssociations {
  9383  			if v == nil {
  9384  				continue
  9385  			}
  9386  			if err := v.Validate(); err != nil {
  9387  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
  9388  			}
  9389  		}
  9390  	}
  9391  
  9392  	if invalidParams.Len() > 0 {
  9393  		return invalidParams
  9394  	}
  9395  	return nil
  9396  }
  9397  
  9398  // SetAcceptLanguage sets the AcceptLanguage field's value.
  9399  func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchAssociateServiceActionWithProvisioningArtifactInput {
  9400  	s.AcceptLanguage = &v
  9401  	return s
  9402  }
  9403  
  9404  // SetServiceActionAssociations sets the ServiceActionAssociations field's value.
  9405  func (s *BatchAssociateServiceActionWithProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactInput {
  9406  	s.ServiceActionAssociations = v
  9407  	return s
  9408  }
  9409  
  9410  type BatchAssociateServiceActionWithProvisioningArtifactOutput struct {
  9411  	_ struct{} `type:"structure"`
  9412  
  9413  	// An object that contains a list of errors, along with information to help
  9414  	// you identify the self-service action.
  9415  	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
  9416  }
  9417  
  9418  // String returns the string representation.
  9419  //
  9420  // API parameter values that are decorated as "sensitive" in the API will not
  9421  // be included in the string output. The member name will be present, but the
  9422  // value will be replaced with "sensitive".
  9423  func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) String() string {
  9424  	return awsutil.Prettify(s)
  9425  }
  9426  
  9427  // GoString returns the string representation.
  9428  //
  9429  // API parameter values that are decorated as "sensitive" in the API will not
  9430  // be included in the string output. The member name will be present, but the
  9431  // value will be replaced with "sensitive".
  9432  func (s BatchAssociateServiceActionWithProvisioningArtifactOutput) GoString() string {
  9433  	return s.String()
  9434  }
  9435  
  9436  // SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
  9437  func (s *BatchAssociateServiceActionWithProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchAssociateServiceActionWithProvisioningArtifactOutput {
  9438  	s.FailedServiceActionAssociations = v
  9439  	return s
  9440  }
  9441  
  9442  type BatchDisassociateServiceActionFromProvisioningArtifactInput struct {
  9443  	_ struct{} `type:"structure"`
  9444  
  9445  	// The language code.
  9446  	//
  9447  	//    * en - English (default)
  9448  	//
  9449  	//    * jp - Japanese
  9450  	//
  9451  	//    * zh - Chinese
  9452  	AcceptLanguage *string `type:"string"`
  9453  
  9454  	// One or more associations, each consisting of the Action ID, the Product ID,
  9455  	// and the Provisioning Artifact ID.
  9456  	//
  9457  	// ServiceActionAssociations is a required field
  9458  	ServiceActionAssociations []*ServiceActionAssociation `min:"1" type:"list" required:"true"`
  9459  }
  9460  
  9461  // String returns the string representation.
  9462  //
  9463  // API parameter values that are decorated as "sensitive" in the API will not
  9464  // be included in the string output. The member name will be present, but the
  9465  // value will be replaced with "sensitive".
  9466  func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) String() string {
  9467  	return awsutil.Prettify(s)
  9468  }
  9469  
  9470  // GoString returns the string representation.
  9471  //
  9472  // API parameter values that are decorated as "sensitive" in the API will not
  9473  // be included in the string output. The member name will be present, but the
  9474  // value will be replaced with "sensitive".
  9475  func (s BatchDisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
  9476  	return s.String()
  9477  }
  9478  
  9479  // Validate inspects the fields of the type to determine if they are valid.
  9480  func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
  9481  	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateServiceActionFromProvisioningArtifactInput"}
  9482  	if s.ServiceActionAssociations == nil {
  9483  		invalidParams.Add(request.NewErrParamRequired("ServiceActionAssociations"))
  9484  	}
  9485  	if s.ServiceActionAssociations != nil && len(s.ServiceActionAssociations) < 1 {
  9486  		invalidParams.Add(request.NewErrParamMinLen("ServiceActionAssociations", 1))
  9487  	}
  9488  	if s.ServiceActionAssociations != nil {
  9489  		for i, v := range s.ServiceActionAssociations {
  9490  			if v == nil {
  9491  				continue
  9492  			}
  9493  			if err := v.Validate(); err != nil {
  9494  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceActionAssociations", i), err.(request.ErrInvalidParams))
  9495  			}
  9496  		}
  9497  	}
  9498  
  9499  	if invalidParams.Len() > 0 {
  9500  		return invalidParams
  9501  	}
  9502  	return nil
  9503  }
  9504  
  9505  // SetAcceptLanguage sets the AcceptLanguage field's value.
  9506  func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
  9507  	s.AcceptLanguage = &v
  9508  	return s
  9509  }
  9510  
  9511  // SetServiceActionAssociations sets the ServiceActionAssociations field's value.
  9512  func (s *BatchDisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionAssociations(v []*ServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactInput {
  9513  	s.ServiceActionAssociations = v
  9514  	return s
  9515  }
  9516  
  9517  type BatchDisassociateServiceActionFromProvisioningArtifactOutput struct {
  9518  	_ struct{} `type:"structure"`
  9519  
  9520  	// An object that contains a list of errors, along with information to help
  9521  	// you identify the self-service action.
  9522  	FailedServiceActionAssociations []*FailedServiceActionAssociation `type:"list"`
  9523  }
  9524  
  9525  // String returns the string representation.
  9526  //
  9527  // API parameter values that are decorated as "sensitive" in the API will not
  9528  // be included in the string output. The member name will be present, but the
  9529  // value will be replaced with "sensitive".
  9530  func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) String() string {
  9531  	return awsutil.Prettify(s)
  9532  }
  9533  
  9534  // GoString returns the string representation.
  9535  //
  9536  // API parameter values that are decorated as "sensitive" in the API will not
  9537  // be included in the string output. The member name will be present, but the
  9538  // value will be replaced with "sensitive".
  9539  func (s BatchDisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
  9540  	return s.String()
  9541  }
  9542  
  9543  // SetFailedServiceActionAssociations sets the FailedServiceActionAssociations field's value.
  9544  func (s *BatchDisassociateServiceActionFromProvisioningArtifactOutput) SetFailedServiceActionAssociations(v []*FailedServiceActionAssociation) *BatchDisassociateServiceActionFromProvisioningArtifactOutput {
  9545  	s.FailedServiceActionAssociations = v
  9546  	return s
  9547  }
  9548  
  9549  // Information about a budget.
  9550  type BudgetDetail struct {
  9551  	_ struct{} `type:"structure"`
  9552  
  9553  	// Name of the associated budget.
  9554  	BudgetName *string `min:"1" type:"string"`
  9555  }
  9556  
  9557  // String returns the string representation.
  9558  //
  9559  // API parameter values that are decorated as "sensitive" in the API will not
  9560  // be included in the string output. The member name will be present, but the
  9561  // value will be replaced with "sensitive".
  9562  func (s BudgetDetail) String() string {
  9563  	return awsutil.Prettify(s)
  9564  }
  9565  
  9566  // GoString returns the string representation.
  9567  //
  9568  // API parameter values that are decorated as "sensitive" in the API will not
  9569  // be included in the string output. The member name will be present, but the
  9570  // value will be replaced with "sensitive".
  9571  func (s BudgetDetail) GoString() string {
  9572  	return s.String()
  9573  }
  9574  
  9575  // SetBudgetName sets the BudgetName field's value.
  9576  func (s *BudgetDetail) SetBudgetName(v string) *BudgetDetail {
  9577  	s.BudgetName = &v
  9578  	return s
  9579  }
  9580  
  9581  // Information about a CloudWatch dashboard.
  9582  type CloudWatchDashboard struct {
  9583  	_ struct{} `type:"structure"`
  9584  
  9585  	// The name of the CloudWatch dashboard.
  9586  	Name *string `type:"string"`
  9587  }
  9588  
  9589  // String returns the string representation.
  9590  //
  9591  // API parameter values that are decorated as "sensitive" in the API will not
  9592  // be included in the string output. The member name will be present, but the
  9593  // value will be replaced with "sensitive".
  9594  func (s CloudWatchDashboard) String() string {
  9595  	return awsutil.Prettify(s)
  9596  }
  9597  
  9598  // GoString returns the string representation.
  9599  //
  9600  // API parameter values that are decorated as "sensitive" in the API will not
  9601  // be included in the string output. The member name will be present, but the
  9602  // value will be replaced with "sensitive".
  9603  func (s CloudWatchDashboard) GoString() string {
  9604  	return s.String()
  9605  }
  9606  
  9607  // SetName sets the Name field's value.
  9608  func (s *CloudWatchDashboard) SetName(v string) *CloudWatchDashboard {
  9609  	s.Name = &v
  9610  	return s
  9611  }
  9612  
  9613  // Information about a constraint.
  9614  type ConstraintDetail struct {
  9615  	_ struct{} `type:"structure"`
  9616  
  9617  	// The identifier of the constraint.
  9618  	ConstraintId *string `min:"1" type:"string"`
  9619  
  9620  	// The description of the constraint.
  9621  	Description *string `type:"string"`
  9622  
  9623  	// The owner of the constraint.
  9624  	Owner *string `type:"string"`
  9625  
  9626  	// The identifier of the portfolio the product resides in. The constraint applies
  9627  	// only to the instance of the product that lives within this portfolio.
  9628  	PortfolioId *string `min:"1" type:"string"`
  9629  
  9630  	// The identifier of the product the constraint applies to. Note that a constraint
  9631  	// applies to a specific instance of a product within a certain portfolio.
  9632  	ProductId *string `min:"1" type:"string"`
  9633  
  9634  	// The type of constraint.
  9635  	//
  9636  	//    * LAUNCH
  9637  	//
  9638  	//    * NOTIFICATION
  9639  	//
  9640  	//    * STACKSET
  9641  	//
  9642  	//    * TEMPLATE
  9643  	Type *string `min:"1" type:"string"`
  9644  }
  9645  
  9646  // String returns the string representation.
  9647  //
  9648  // API parameter values that are decorated as "sensitive" in the API will not
  9649  // be included in the string output. The member name will be present, but the
  9650  // value will be replaced with "sensitive".
  9651  func (s ConstraintDetail) String() string {
  9652  	return awsutil.Prettify(s)
  9653  }
  9654  
  9655  // GoString returns the string representation.
  9656  //
  9657  // API parameter values that are decorated as "sensitive" in the API will not
  9658  // be included in the string output. The member name will be present, but the
  9659  // value will be replaced with "sensitive".
  9660  func (s ConstraintDetail) GoString() string {
  9661  	return s.String()
  9662  }
  9663  
  9664  // SetConstraintId sets the ConstraintId field's value.
  9665  func (s *ConstraintDetail) SetConstraintId(v string) *ConstraintDetail {
  9666  	s.ConstraintId = &v
  9667  	return s
  9668  }
  9669  
  9670  // SetDescription sets the Description field's value.
  9671  func (s *ConstraintDetail) SetDescription(v string) *ConstraintDetail {
  9672  	s.Description = &v
  9673  	return s
  9674  }
  9675  
  9676  // SetOwner sets the Owner field's value.
  9677  func (s *ConstraintDetail) SetOwner(v string) *ConstraintDetail {
  9678  	s.Owner = &v
  9679  	return s
  9680  }
  9681  
  9682  // SetPortfolioId sets the PortfolioId field's value.
  9683  func (s *ConstraintDetail) SetPortfolioId(v string) *ConstraintDetail {
  9684  	s.PortfolioId = &v
  9685  	return s
  9686  }
  9687  
  9688  // SetProductId sets the ProductId field's value.
  9689  func (s *ConstraintDetail) SetProductId(v string) *ConstraintDetail {
  9690  	s.ProductId = &v
  9691  	return s
  9692  }
  9693  
  9694  // SetType sets the Type field's value.
  9695  func (s *ConstraintDetail) SetType(v string) *ConstraintDetail {
  9696  	s.Type = &v
  9697  	return s
  9698  }
  9699  
  9700  // Summary information about a constraint.
  9701  type ConstraintSummary struct {
  9702  	_ struct{} `type:"structure"`
  9703  
  9704  	// The description of the constraint.
  9705  	Description *string `type:"string"`
  9706  
  9707  	// The type of constraint.
  9708  	//
  9709  	//    * LAUNCH
  9710  	//
  9711  	//    * NOTIFICATION
  9712  	//
  9713  	//    * STACKSET
  9714  	//
  9715  	//    * TEMPLATE
  9716  	Type *string `min:"1" type:"string"`
  9717  }
  9718  
  9719  // String returns the string representation.
  9720  //
  9721  // API parameter values that are decorated as "sensitive" in the API will not
  9722  // be included in the string output. The member name will be present, but the
  9723  // value will be replaced with "sensitive".
  9724  func (s ConstraintSummary) String() string {
  9725  	return awsutil.Prettify(s)
  9726  }
  9727  
  9728  // GoString returns the string representation.
  9729  //
  9730  // API parameter values that are decorated as "sensitive" in the API will not
  9731  // be included in the string output. The member name will be present, but the
  9732  // value will be replaced with "sensitive".
  9733  func (s ConstraintSummary) GoString() string {
  9734  	return s.String()
  9735  }
  9736  
  9737  // SetDescription sets the Description field's value.
  9738  func (s *ConstraintSummary) SetDescription(v string) *ConstraintSummary {
  9739  	s.Description = &v
  9740  	return s
  9741  }
  9742  
  9743  // SetType sets the Type field's value.
  9744  func (s *ConstraintSummary) SetType(v string) *ConstraintSummary {
  9745  	s.Type = &v
  9746  	return s
  9747  }
  9748  
  9749  type CopyProductInput struct {
  9750  	_ struct{} `type:"structure"`
  9751  
  9752  	// The language code.
  9753  	//
  9754  	//    * en - English (default)
  9755  	//
  9756  	//    * jp - Japanese
  9757  	//
  9758  	//    * zh - Chinese
  9759  	AcceptLanguage *string `type:"string"`
  9760  
  9761  	// The copy options. If the value is CopyTags, the tags from the source product
  9762  	// are copied to the target product.
  9763  	CopyOptions []*string `type:"list"`
  9764  
  9765  	// A unique identifier that you provide to ensure idempotency. If multiple requests
  9766  	// differ only by the idempotency token, the same response is returned for each
  9767  	// repeated request.
  9768  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
  9769  
  9770  	// The Amazon Resource Name (ARN) of the source product.
  9771  	//
  9772  	// SourceProductArn is a required field
  9773  	SourceProductArn *string `min:"1" type:"string" required:"true"`
  9774  
  9775  	// The identifiers of the provisioning artifacts (also known as versions) of
  9776  	// the product to copy. By default, all provisioning artifacts are copied.
  9777  	SourceProvisioningArtifactIdentifiers []map[string]*string `type:"list"`
  9778  
  9779  	// The identifier of the target product. By default, a new product is created.
  9780  	TargetProductId *string `min:"1" type:"string"`
  9781  
  9782  	// A name for the target product. The default is the name of the source product.
  9783  	TargetProductName *string `type:"string"`
  9784  }
  9785  
  9786  // String returns the string representation.
  9787  //
  9788  // API parameter values that are decorated as "sensitive" in the API will not
  9789  // be included in the string output. The member name will be present, but the
  9790  // value will be replaced with "sensitive".
  9791  func (s CopyProductInput) String() string {
  9792  	return awsutil.Prettify(s)
  9793  }
  9794  
  9795  // GoString returns the string representation.
  9796  //
  9797  // API parameter values that are decorated as "sensitive" in the API will not
  9798  // be included in the string output. The member name will be present, but the
  9799  // value will be replaced with "sensitive".
  9800  func (s CopyProductInput) GoString() string {
  9801  	return s.String()
  9802  }
  9803  
  9804  // Validate inspects the fields of the type to determine if they are valid.
  9805  func (s *CopyProductInput) Validate() error {
  9806  	invalidParams := request.ErrInvalidParams{Context: "CopyProductInput"}
  9807  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
  9808  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
  9809  	}
  9810  	if s.SourceProductArn == nil {
  9811  		invalidParams.Add(request.NewErrParamRequired("SourceProductArn"))
  9812  	}
  9813  	if s.SourceProductArn != nil && len(*s.SourceProductArn) < 1 {
  9814  		invalidParams.Add(request.NewErrParamMinLen("SourceProductArn", 1))
  9815  	}
  9816  	if s.TargetProductId != nil && len(*s.TargetProductId) < 1 {
  9817  		invalidParams.Add(request.NewErrParamMinLen("TargetProductId", 1))
  9818  	}
  9819  
  9820  	if invalidParams.Len() > 0 {
  9821  		return invalidParams
  9822  	}
  9823  	return nil
  9824  }
  9825  
  9826  // SetAcceptLanguage sets the AcceptLanguage field's value.
  9827  func (s *CopyProductInput) SetAcceptLanguage(v string) *CopyProductInput {
  9828  	s.AcceptLanguage = &v
  9829  	return s
  9830  }
  9831  
  9832  // SetCopyOptions sets the CopyOptions field's value.
  9833  func (s *CopyProductInput) SetCopyOptions(v []*string) *CopyProductInput {
  9834  	s.CopyOptions = v
  9835  	return s
  9836  }
  9837  
  9838  // SetIdempotencyToken sets the IdempotencyToken field's value.
  9839  func (s *CopyProductInput) SetIdempotencyToken(v string) *CopyProductInput {
  9840  	s.IdempotencyToken = &v
  9841  	return s
  9842  }
  9843  
  9844  // SetSourceProductArn sets the SourceProductArn field's value.
  9845  func (s *CopyProductInput) SetSourceProductArn(v string) *CopyProductInput {
  9846  	s.SourceProductArn = &v
  9847  	return s
  9848  }
  9849  
  9850  // SetSourceProvisioningArtifactIdentifiers sets the SourceProvisioningArtifactIdentifiers field's value.
  9851  func (s *CopyProductInput) SetSourceProvisioningArtifactIdentifiers(v []map[string]*string) *CopyProductInput {
  9852  	s.SourceProvisioningArtifactIdentifiers = v
  9853  	return s
  9854  }
  9855  
  9856  // SetTargetProductId sets the TargetProductId field's value.
  9857  func (s *CopyProductInput) SetTargetProductId(v string) *CopyProductInput {
  9858  	s.TargetProductId = &v
  9859  	return s
  9860  }
  9861  
  9862  // SetTargetProductName sets the TargetProductName field's value.
  9863  func (s *CopyProductInput) SetTargetProductName(v string) *CopyProductInput {
  9864  	s.TargetProductName = &v
  9865  	return s
  9866  }
  9867  
  9868  type CopyProductOutput struct {
  9869  	_ struct{} `type:"structure"`
  9870  
  9871  	// The token to use to track the progress of the operation.
  9872  	CopyProductToken *string `min:"1" type:"string"`
  9873  }
  9874  
  9875  // String returns the string representation.
  9876  //
  9877  // API parameter values that are decorated as "sensitive" in the API will not
  9878  // be included in the string output. The member name will be present, but the
  9879  // value will be replaced with "sensitive".
  9880  func (s CopyProductOutput) String() string {
  9881  	return awsutil.Prettify(s)
  9882  }
  9883  
  9884  // GoString returns the string representation.
  9885  //
  9886  // API parameter values that are decorated as "sensitive" in the API will not
  9887  // be included in the string output. The member name will be present, but the
  9888  // value will be replaced with "sensitive".
  9889  func (s CopyProductOutput) GoString() string {
  9890  	return s.String()
  9891  }
  9892  
  9893  // SetCopyProductToken sets the CopyProductToken field's value.
  9894  func (s *CopyProductOutput) SetCopyProductToken(v string) *CopyProductOutput {
  9895  	s.CopyProductToken = &v
  9896  	return s
  9897  }
  9898  
  9899  type CreateConstraintInput struct {
  9900  	_ struct{} `type:"structure"`
  9901  
  9902  	// The language code.
  9903  	//
  9904  	//    * en - English (default)
  9905  	//
  9906  	//    * jp - Japanese
  9907  	//
  9908  	//    * zh - Chinese
  9909  	AcceptLanguage *string `type:"string"`
  9910  
  9911  	// The description of the constraint.
  9912  	Description *string `type:"string"`
  9913  
  9914  	// A unique identifier that you provide to ensure idempotency. If multiple requests
  9915  	// differ only by the idempotency token, the same response is returned for each
  9916  	// repeated request.
  9917  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
  9918  
  9919  	// The constraint parameters, in JSON format. The syntax depends on the constraint
  9920  	// type as follows:
  9921  	//
  9922  	// LAUNCH
  9923  	//
  9924  	// You are required to specify either the RoleArn or the LocalRoleName but can't
  9925  	// use both.
  9926  	//
  9927  	// Specify the RoleArn property as follows:
  9928  	//
  9929  	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
  9930  	//
  9931  	// Specify the LocalRoleName property as follows:
  9932  	//
  9933  	// {"LocalRoleName": "SCBasicLaunchRole"}
  9934  	//
  9935  	// If you specify the LocalRoleName property, when an account uses the launch
  9936  	// constraint, the IAM role with that name in the account will be used. This
  9937  	// allows launch-role constraints to be account-agnostic so the administrator
  9938  	// can create fewer resources per shared account.
  9939  	//
  9940  	// The given role name must exist in the account used to create the launch constraint
  9941  	// and the account of the user who launches a product with this launch constraint.
  9942  	//
  9943  	// You cannot have both a LAUNCH and a STACKSET constraint.
  9944  	//
  9945  	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
  9946  	//
  9947  	// NOTIFICATION
  9948  	//
  9949  	// Specify the NotificationArns property as follows:
  9950  	//
  9951  	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
  9952  	//
  9953  	// RESOURCE_UPDATE
  9954  	//
  9955  	// Specify the TagUpdatesOnProvisionedProduct property as follows:
  9956  	//
  9957  	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
  9958  	//
  9959  	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
  9960  	// or NOT_ALLOWED.
  9961  	//
  9962  	// STACKSET
  9963  	//
  9964  	// Specify the Parameters property as follows:
  9965  	//
  9966  	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
  9967  	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
  9968  	//
  9969  	// You cannot have both a LAUNCH and a STACKSET constraint.
  9970  	//
  9971  	// You also cannot have more than one STACKSET constraint on a product and portfolio.
  9972  	//
  9973  	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
  9974  	// set.
  9975  	//
  9976  	// TEMPLATE
  9977  	//
  9978  	// Specify the Rules property. For more information, see Template Constraint
  9979  	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
  9980  	//
  9981  	// Parameters is a required field
  9982  	Parameters *string `type:"string" required:"true"`
  9983  
  9984  	// The portfolio identifier.
  9985  	//
  9986  	// PortfolioId is a required field
  9987  	PortfolioId *string `min:"1" type:"string" required:"true"`
  9988  
  9989  	// The product identifier.
  9990  	//
  9991  	// ProductId is a required field
  9992  	ProductId *string `min:"1" type:"string" required:"true"`
  9993  
  9994  	// The type of constraint.
  9995  	//
  9996  	//    * LAUNCH
  9997  	//
  9998  	//    * NOTIFICATION
  9999  	//
 10000  	//    * RESOURCE_UPDATE
 10001  	//
 10002  	//    * STACKSET
 10003  	//
 10004  	//    * TEMPLATE
 10005  	//
 10006  	// Type is a required field
 10007  	Type *string `min:"1" type:"string" required:"true"`
 10008  }
 10009  
 10010  // String returns the string representation.
 10011  //
 10012  // API parameter values that are decorated as "sensitive" in the API will not
 10013  // be included in the string output. The member name will be present, but the
 10014  // value will be replaced with "sensitive".
 10015  func (s CreateConstraintInput) String() string {
 10016  	return awsutil.Prettify(s)
 10017  }
 10018  
 10019  // GoString returns the string representation.
 10020  //
 10021  // API parameter values that are decorated as "sensitive" in the API will not
 10022  // be included in the string output. The member name will be present, but the
 10023  // value will be replaced with "sensitive".
 10024  func (s CreateConstraintInput) GoString() string {
 10025  	return s.String()
 10026  }
 10027  
 10028  // Validate inspects the fields of the type to determine if they are valid.
 10029  func (s *CreateConstraintInput) Validate() error {
 10030  	invalidParams := request.ErrInvalidParams{Context: "CreateConstraintInput"}
 10031  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 10032  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 10033  	}
 10034  	if s.Parameters == nil {
 10035  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 10036  	}
 10037  	if s.PortfolioId == nil {
 10038  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 10039  	}
 10040  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 10041  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 10042  	}
 10043  	if s.ProductId == nil {
 10044  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 10045  	}
 10046  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 10047  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 10048  	}
 10049  	if s.Type == nil {
 10050  		invalidParams.Add(request.NewErrParamRequired("Type"))
 10051  	}
 10052  	if s.Type != nil && len(*s.Type) < 1 {
 10053  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
 10054  	}
 10055  
 10056  	if invalidParams.Len() > 0 {
 10057  		return invalidParams
 10058  	}
 10059  	return nil
 10060  }
 10061  
 10062  // SetAcceptLanguage sets the AcceptLanguage field's value.
 10063  func (s *CreateConstraintInput) SetAcceptLanguage(v string) *CreateConstraintInput {
 10064  	s.AcceptLanguage = &v
 10065  	return s
 10066  }
 10067  
 10068  // SetDescription sets the Description field's value.
 10069  func (s *CreateConstraintInput) SetDescription(v string) *CreateConstraintInput {
 10070  	s.Description = &v
 10071  	return s
 10072  }
 10073  
 10074  // SetIdempotencyToken sets the IdempotencyToken field's value.
 10075  func (s *CreateConstraintInput) SetIdempotencyToken(v string) *CreateConstraintInput {
 10076  	s.IdempotencyToken = &v
 10077  	return s
 10078  }
 10079  
 10080  // SetParameters sets the Parameters field's value.
 10081  func (s *CreateConstraintInput) SetParameters(v string) *CreateConstraintInput {
 10082  	s.Parameters = &v
 10083  	return s
 10084  }
 10085  
 10086  // SetPortfolioId sets the PortfolioId field's value.
 10087  func (s *CreateConstraintInput) SetPortfolioId(v string) *CreateConstraintInput {
 10088  	s.PortfolioId = &v
 10089  	return s
 10090  }
 10091  
 10092  // SetProductId sets the ProductId field's value.
 10093  func (s *CreateConstraintInput) SetProductId(v string) *CreateConstraintInput {
 10094  	s.ProductId = &v
 10095  	return s
 10096  }
 10097  
 10098  // SetType sets the Type field's value.
 10099  func (s *CreateConstraintInput) SetType(v string) *CreateConstraintInput {
 10100  	s.Type = &v
 10101  	return s
 10102  }
 10103  
 10104  type CreateConstraintOutput struct {
 10105  	_ struct{} `type:"structure"`
 10106  
 10107  	// Information about the constraint.
 10108  	ConstraintDetail *ConstraintDetail `type:"structure"`
 10109  
 10110  	// The constraint parameters.
 10111  	ConstraintParameters *string `type:"string"`
 10112  
 10113  	// The status of the current request.
 10114  	Status *string `type:"string" enum:"Status"`
 10115  }
 10116  
 10117  // String returns the string representation.
 10118  //
 10119  // API parameter values that are decorated as "sensitive" in the API will not
 10120  // be included in the string output. The member name will be present, but the
 10121  // value will be replaced with "sensitive".
 10122  func (s CreateConstraintOutput) String() string {
 10123  	return awsutil.Prettify(s)
 10124  }
 10125  
 10126  // GoString returns the string representation.
 10127  //
 10128  // API parameter values that are decorated as "sensitive" in the API will not
 10129  // be included in the string output. The member name will be present, but the
 10130  // value will be replaced with "sensitive".
 10131  func (s CreateConstraintOutput) GoString() string {
 10132  	return s.String()
 10133  }
 10134  
 10135  // SetConstraintDetail sets the ConstraintDetail field's value.
 10136  func (s *CreateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *CreateConstraintOutput {
 10137  	s.ConstraintDetail = v
 10138  	return s
 10139  }
 10140  
 10141  // SetConstraintParameters sets the ConstraintParameters field's value.
 10142  func (s *CreateConstraintOutput) SetConstraintParameters(v string) *CreateConstraintOutput {
 10143  	s.ConstraintParameters = &v
 10144  	return s
 10145  }
 10146  
 10147  // SetStatus sets the Status field's value.
 10148  func (s *CreateConstraintOutput) SetStatus(v string) *CreateConstraintOutput {
 10149  	s.Status = &v
 10150  	return s
 10151  }
 10152  
 10153  type CreatePortfolioInput struct {
 10154  	_ struct{} `type:"structure"`
 10155  
 10156  	// The language code.
 10157  	//
 10158  	//    * en - English (default)
 10159  	//
 10160  	//    * jp - Japanese
 10161  	//
 10162  	//    * zh - Chinese
 10163  	AcceptLanguage *string `type:"string"`
 10164  
 10165  	// The description of the portfolio.
 10166  	Description *string `type:"string"`
 10167  
 10168  	// The name to use for display purposes.
 10169  	//
 10170  	// DisplayName is a required field
 10171  	DisplayName *string `min:"1" type:"string" required:"true"`
 10172  
 10173  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 10174  	// differ only by the idempotency token, the same response is returned for each
 10175  	// repeated request.
 10176  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
 10177  
 10178  	// The name of the portfolio provider.
 10179  	//
 10180  	// ProviderName is a required field
 10181  	ProviderName *string `min:"1" type:"string" required:"true"`
 10182  
 10183  	// One or more tags.
 10184  	Tags []*Tag `type:"list"`
 10185  }
 10186  
 10187  // String returns the string representation.
 10188  //
 10189  // API parameter values that are decorated as "sensitive" in the API will not
 10190  // be included in the string output. The member name will be present, but the
 10191  // value will be replaced with "sensitive".
 10192  func (s CreatePortfolioInput) String() string {
 10193  	return awsutil.Prettify(s)
 10194  }
 10195  
 10196  // GoString returns the string representation.
 10197  //
 10198  // API parameter values that are decorated as "sensitive" in the API will not
 10199  // be included in the string output. The member name will be present, but the
 10200  // value will be replaced with "sensitive".
 10201  func (s CreatePortfolioInput) GoString() string {
 10202  	return s.String()
 10203  }
 10204  
 10205  // Validate inspects the fields of the type to determine if they are valid.
 10206  func (s *CreatePortfolioInput) Validate() error {
 10207  	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioInput"}
 10208  	if s.DisplayName == nil {
 10209  		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
 10210  	}
 10211  	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
 10212  		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
 10213  	}
 10214  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 10215  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 10216  	}
 10217  	if s.ProviderName == nil {
 10218  		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
 10219  	}
 10220  	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
 10221  		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
 10222  	}
 10223  	if s.Tags != nil {
 10224  		for i, v := range s.Tags {
 10225  			if v == nil {
 10226  				continue
 10227  			}
 10228  			if err := v.Validate(); err != nil {
 10229  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 10230  			}
 10231  		}
 10232  	}
 10233  
 10234  	if invalidParams.Len() > 0 {
 10235  		return invalidParams
 10236  	}
 10237  	return nil
 10238  }
 10239  
 10240  // SetAcceptLanguage sets the AcceptLanguage field's value.
 10241  func (s *CreatePortfolioInput) SetAcceptLanguage(v string) *CreatePortfolioInput {
 10242  	s.AcceptLanguage = &v
 10243  	return s
 10244  }
 10245  
 10246  // SetDescription sets the Description field's value.
 10247  func (s *CreatePortfolioInput) SetDescription(v string) *CreatePortfolioInput {
 10248  	s.Description = &v
 10249  	return s
 10250  }
 10251  
 10252  // SetDisplayName sets the DisplayName field's value.
 10253  func (s *CreatePortfolioInput) SetDisplayName(v string) *CreatePortfolioInput {
 10254  	s.DisplayName = &v
 10255  	return s
 10256  }
 10257  
 10258  // SetIdempotencyToken sets the IdempotencyToken field's value.
 10259  func (s *CreatePortfolioInput) SetIdempotencyToken(v string) *CreatePortfolioInput {
 10260  	s.IdempotencyToken = &v
 10261  	return s
 10262  }
 10263  
 10264  // SetProviderName sets the ProviderName field's value.
 10265  func (s *CreatePortfolioInput) SetProviderName(v string) *CreatePortfolioInput {
 10266  	s.ProviderName = &v
 10267  	return s
 10268  }
 10269  
 10270  // SetTags sets the Tags field's value.
 10271  func (s *CreatePortfolioInput) SetTags(v []*Tag) *CreatePortfolioInput {
 10272  	s.Tags = v
 10273  	return s
 10274  }
 10275  
 10276  type CreatePortfolioOutput struct {
 10277  	_ struct{} `type:"structure"`
 10278  
 10279  	// Information about the portfolio.
 10280  	PortfolioDetail *PortfolioDetail `type:"structure"`
 10281  
 10282  	// Information about the tags associated with the portfolio.
 10283  	Tags []*Tag `type:"list"`
 10284  }
 10285  
 10286  // String returns the string representation.
 10287  //
 10288  // API parameter values that are decorated as "sensitive" in the API will not
 10289  // be included in the string output. The member name will be present, but the
 10290  // value will be replaced with "sensitive".
 10291  func (s CreatePortfolioOutput) String() string {
 10292  	return awsutil.Prettify(s)
 10293  }
 10294  
 10295  // GoString returns the string representation.
 10296  //
 10297  // API parameter values that are decorated as "sensitive" in the API will not
 10298  // be included in the string output. The member name will be present, but the
 10299  // value will be replaced with "sensitive".
 10300  func (s CreatePortfolioOutput) GoString() string {
 10301  	return s.String()
 10302  }
 10303  
 10304  // SetPortfolioDetail sets the PortfolioDetail field's value.
 10305  func (s *CreatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *CreatePortfolioOutput {
 10306  	s.PortfolioDetail = v
 10307  	return s
 10308  }
 10309  
 10310  // SetTags sets the Tags field's value.
 10311  func (s *CreatePortfolioOutput) SetTags(v []*Tag) *CreatePortfolioOutput {
 10312  	s.Tags = v
 10313  	return s
 10314  }
 10315  
 10316  type CreatePortfolioShareInput struct {
 10317  	_ struct{} `type:"structure"`
 10318  
 10319  	// The language code.
 10320  	//
 10321  	//    * en - English (default)
 10322  	//
 10323  	//    * jp - Japanese
 10324  	//
 10325  	//    * zh - Chinese
 10326  	AcceptLanguage *string `type:"string"`
 10327  
 10328  	// The AWS account ID. For example, 123456789012.
 10329  	AccountId *string `type:"string"`
 10330  
 10331  	// The organization node to whom you are going to share. If OrganizationNode
 10332  	// is passed in, PortfolioShare will be created for the node an ListOrganizationPortfolioAccessd
 10333  	// its children (when applies), and a PortfolioShareToken will be returned in
 10334  	// the output in order for the administrator to monitor the status of the PortfolioShare
 10335  	// creation process.
 10336  	OrganizationNode *OrganizationNode `type:"structure"`
 10337  
 10338  	// The portfolio identifier.
 10339  	//
 10340  	// PortfolioId is a required field
 10341  	PortfolioId *string `min:"1" type:"string" required:"true"`
 10342  
 10343  	// Enables or disables TagOptions sharing when creating the portfolio share.
 10344  	// If this flag is not provided, TagOptions sharing is disabled.
 10345  	ShareTagOptions *bool `type:"boolean"`
 10346  }
 10347  
 10348  // String returns the string representation.
 10349  //
 10350  // API parameter values that are decorated as "sensitive" in the API will not
 10351  // be included in the string output. The member name will be present, but the
 10352  // value will be replaced with "sensitive".
 10353  func (s CreatePortfolioShareInput) String() string {
 10354  	return awsutil.Prettify(s)
 10355  }
 10356  
 10357  // GoString returns the string representation.
 10358  //
 10359  // API parameter values that are decorated as "sensitive" in the API will not
 10360  // be included in the string output. The member name will be present, but the
 10361  // value will be replaced with "sensitive".
 10362  func (s CreatePortfolioShareInput) GoString() string {
 10363  	return s.String()
 10364  }
 10365  
 10366  // Validate inspects the fields of the type to determine if they are valid.
 10367  func (s *CreatePortfolioShareInput) Validate() error {
 10368  	invalidParams := request.ErrInvalidParams{Context: "CreatePortfolioShareInput"}
 10369  	if s.PortfolioId == nil {
 10370  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 10371  	}
 10372  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 10373  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 10374  	}
 10375  
 10376  	if invalidParams.Len() > 0 {
 10377  		return invalidParams
 10378  	}
 10379  	return nil
 10380  }
 10381  
 10382  // SetAcceptLanguage sets the AcceptLanguage field's value.
 10383  func (s *CreatePortfolioShareInput) SetAcceptLanguage(v string) *CreatePortfolioShareInput {
 10384  	s.AcceptLanguage = &v
 10385  	return s
 10386  }
 10387  
 10388  // SetAccountId sets the AccountId field's value.
 10389  func (s *CreatePortfolioShareInput) SetAccountId(v string) *CreatePortfolioShareInput {
 10390  	s.AccountId = &v
 10391  	return s
 10392  }
 10393  
 10394  // SetOrganizationNode sets the OrganizationNode field's value.
 10395  func (s *CreatePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *CreatePortfolioShareInput {
 10396  	s.OrganizationNode = v
 10397  	return s
 10398  }
 10399  
 10400  // SetPortfolioId sets the PortfolioId field's value.
 10401  func (s *CreatePortfolioShareInput) SetPortfolioId(v string) *CreatePortfolioShareInput {
 10402  	s.PortfolioId = &v
 10403  	return s
 10404  }
 10405  
 10406  // SetShareTagOptions sets the ShareTagOptions field's value.
 10407  func (s *CreatePortfolioShareInput) SetShareTagOptions(v bool) *CreatePortfolioShareInput {
 10408  	s.ShareTagOptions = &v
 10409  	return s
 10410  }
 10411  
 10412  type CreatePortfolioShareOutput struct {
 10413  	_ struct{} `type:"structure"`
 10414  
 10415  	// The portfolio shares a unique identifier that only returns if the portfolio
 10416  	// is shared to an organization node.
 10417  	PortfolioShareToken *string `min:"1" type:"string"`
 10418  }
 10419  
 10420  // String returns the string representation.
 10421  //
 10422  // API parameter values that are decorated as "sensitive" in the API will not
 10423  // be included in the string output. The member name will be present, but the
 10424  // value will be replaced with "sensitive".
 10425  func (s CreatePortfolioShareOutput) String() string {
 10426  	return awsutil.Prettify(s)
 10427  }
 10428  
 10429  // GoString returns the string representation.
 10430  //
 10431  // API parameter values that are decorated as "sensitive" in the API will not
 10432  // be included in the string output. The member name will be present, but the
 10433  // value will be replaced with "sensitive".
 10434  func (s CreatePortfolioShareOutput) GoString() string {
 10435  	return s.String()
 10436  }
 10437  
 10438  // SetPortfolioShareToken sets the PortfolioShareToken field's value.
 10439  func (s *CreatePortfolioShareOutput) SetPortfolioShareToken(v string) *CreatePortfolioShareOutput {
 10440  	s.PortfolioShareToken = &v
 10441  	return s
 10442  }
 10443  
 10444  type CreateProductInput struct {
 10445  	_ struct{} `type:"structure"`
 10446  
 10447  	// The language code.
 10448  	//
 10449  	//    * en - English (default)
 10450  	//
 10451  	//    * jp - Japanese
 10452  	//
 10453  	//    * zh - Chinese
 10454  	AcceptLanguage *string `type:"string"`
 10455  
 10456  	// The description of the product.
 10457  	Description *string `type:"string"`
 10458  
 10459  	// The distributor of the product.
 10460  	Distributor *string `type:"string"`
 10461  
 10462  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 10463  	// differ only by the idempotency token, the same response is returned for each
 10464  	// repeated request.
 10465  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
 10466  
 10467  	// The name of the product.
 10468  	//
 10469  	// Name is a required field
 10470  	Name *string `type:"string" required:"true"`
 10471  
 10472  	// The owner of the product.
 10473  	//
 10474  	// Owner is a required field
 10475  	Owner *string `type:"string" required:"true"`
 10476  
 10477  	// The type of product.
 10478  	//
 10479  	// ProductType is a required field
 10480  	ProductType *string `type:"string" required:"true" enum:"ProductType"`
 10481  
 10482  	// The configuration of the provisioning artifact.
 10483  	//
 10484  	// ProvisioningArtifactParameters is a required field
 10485  	ProvisioningArtifactParameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
 10486  
 10487  	// The support information about the product.
 10488  	SupportDescription *string `type:"string"`
 10489  
 10490  	// The contact email for product support.
 10491  	SupportEmail *string `type:"string"`
 10492  
 10493  	// The contact URL for product support.
 10494  	//
 10495  	// ^https?:\/\// / is the pattern used to validate SupportUrl.
 10496  	SupportUrl *string `type:"string"`
 10497  
 10498  	// One or more tags.
 10499  	Tags []*Tag `type:"list"`
 10500  }
 10501  
 10502  // String returns the string representation.
 10503  //
 10504  // API parameter values that are decorated as "sensitive" in the API will not
 10505  // be included in the string output. The member name will be present, but the
 10506  // value will be replaced with "sensitive".
 10507  func (s CreateProductInput) String() string {
 10508  	return awsutil.Prettify(s)
 10509  }
 10510  
 10511  // GoString returns the string representation.
 10512  //
 10513  // API parameter values that are decorated as "sensitive" in the API will not
 10514  // be included in the string output. The member name will be present, but the
 10515  // value will be replaced with "sensitive".
 10516  func (s CreateProductInput) GoString() string {
 10517  	return s.String()
 10518  }
 10519  
 10520  // Validate inspects the fields of the type to determine if they are valid.
 10521  func (s *CreateProductInput) Validate() error {
 10522  	invalidParams := request.ErrInvalidParams{Context: "CreateProductInput"}
 10523  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 10524  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 10525  	}
 10526  	if s.Name == nil {
 10527  		invalidParams.Add(request.NewErrParamRequired("Name"))
 10528  	}
 10529  	if s.Owner == nil {
 10530  		invalidParams.Add(request.NewErrParamRequired("Owner"))
 10531  	}
 10532  	if s.ProductType == nil {
 10533  		invalidParams.Add(request.NewErrParamRequired("ProductType"))
 10534  	}
 10535  	if s.ProvisioningArtifactParameters == nil {
 10536  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactParameters"))
 10537  	}
 10538  	if s.ProvisioningArtifactParameters != nil {
 10539  		if err := s.ProvisioningArtifactParameters.Validate(); err != nil {
 10540  			invalidParams.AddNested("ProvisioningArtifactParameters", err.(request.ErrInvalidParams))
 10541  		}
 10542  	}
 10543  	if s.Tags != nil {
 10544  		for i, v := range s.Tags {
 10545  			if v == nil {
 10546  				continue
 10547  			}
 10548  			if err := v.Validate(); err != nil {
 10549  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 10550  			}
 10551  		}
 10552  	}
 10553  
 10554  	if invalidParams.Len() > 0 {
 10555  		return invalidParams
 10556  	}
 10557  	return nil
 10558  }
 10559  
 10560  // SetAcceptLanguage sets the AcceptLanguage field's value.
 10561  func (s *CreateProductInput) SetAcceptLanguage(v string) *CreateProductInput {
 10562  	s.AcceptLanguage = &v
 10563  	return s
 10564  }
 10565  
 10566  // SetDescription sets the Description field's value.
 10567  func (s *CreateProductInput) SetDescription(v string) *CreateProductInput {
 10568  	s.Description = &v
 10569  	return s
 10570  }
 10571  
 10572  // SetDistributor sets the Distributor field's value.
 10573  func (s *CreateProductInput) SetDistributor(v string) *CreateProductInput {
 10574  	s.Distributor = &v
 10575  	return s
 10576  }
 10577  
 10578  // SetIdempotencyToken sets the IdempotencyToken field's value.
 10579  func (s *CreateProductInput) SetIdempotencyToken(v string) *CreateProductInput {
 10580  	s.IdempotencyToken = &v
 10581  	return s
 10582  }
 10583  
 10584  // SetName sets the Name field's value.
 10585  func (s *CreateProductInput) SetName(v string) *CreateProductInput {
 10586  	s.Name = &v
 10587  	return s
 10588  }
 10589  
 10590  // SetOwner sets the Owner field's value.
 10591  func (s *CreateProductInput) SetOwner(v string) *CreateProductInput {
 10592  	s.Owner = &v
 10593  	return s
 10594  }
 10595  
 10596  // SetProductType sets the ProductType field's value.
 10597  func (s *CreateProductInput) SetProductType(v string) *CreateProductInput {
 10598  	s.ProductType = &v
 10599  	return s
 10600  }
 10601  
 10602  // SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
 10603  func (s *CreateProductInput) SetProvisioningArtifactParameters(v *ProvisioningArtifactProperties) *CreateProductInput {
 10604  	s.ProvisioningArtifactParameters = v
 10605  	return s
 10606  }
 10607  
 10608  // SetSupportDescription sets the SupportDescription field's value.
 10609  func (s *CreateProductInput) SetSupportDescription(v string) *CreateProductInput {
 10610  	s.SupportDescription = &v
 10611  	return s
 10612  }
 10613  
 10614  // SetSupportEmail sets the SupportEmail field's value.
 10615  func (s *CreateProductInput) SetSupportEmail(v string) *CreateProductInput {
 10616  	s.SupportEmail = &v
 10617  	return s
 10618  }
 10619  
 10620  // SetSupportUrl sets the SupportUrl field's value.
 10621  func (s *CreateProductInput) SetSupportUrl(v string) *CreateProductInput {
 10622  	s.SupportUrl = &v
 10623  	return s
 10624  }
 10625  
 10626  // SetTags sets the Tags field's value.
 10627  func (s *CreateProductInput) SetTags(v []*Tag) *CreateProductInput {
 10628  	s.Tags = v
 10629  	return s
 10630  }
 10631  
 10632  type CreateProductOutput struct {
 10633  	_ struct{} `type:"structure"`
 10634  
 10635  	// Information about the product view.
 10636  	ProductViewDetail *ProductViewDetail `type:"structure"`
 10637  
 10638  	// Information about the provisioning artifact.
 10639  	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
 10640  
 10641  	// Information about the tags associated with the product.
 10642  	Tags []*Tag `type:"list"`
 10643  }
 10644  
 10645  // String returns the string representation.
 10646  //
 10647  // API parameter values that are decorated as "sensitive" in the API will not
 10648  // be included in the string output. The member name will be present, but the
 10649  // value will be replaced with "sensitive".
 10650  func (s CreateProductOutput) String() string {
 10651  	return awsutil.Prettify(s)
 10652  }
 10653  
 10654  // GoString returns the string representation.
 10655  //
 10656  // API parameter values that are decorated as "sensitive" in the API will not
 10657  // be included in the string output. The member name will be present, but the
 10658  // value will be replaced with "sensitive".
 10659  func (s CreateProductOutput) GoString() string {
 10660  	return s.String()
 10661  }
 10662  
 10663  // SetProductViewDetail sets the ProductViewDetail field's value.
 10664  func (s *CreateProductOutput) SetProductViewDetail(v *ProductViewDetail) *CreateProductOutput {
 10665  	s.ProductViewDetail = v
 10666  	return s
 10667  }
 10668  
 10669  // SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
 10670  func (s *CreateProductOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProductOutput {
 10671  	s.ProvisioningArtifactDetail = v
 10672  	return s
 10673  }
 10674  
 10675  // SetTags sets the Tags field's value.
 10676  func (s *CreateProductOutput) SetTags(v []*Tag) *CreateProductOutput {
 10677  	s.Tags = v
 10678  	return s
 10679  }
 10680  
 10681  type CreateProvisionedProductPlanInput struct {
 10682  	_ struct{} `type:"structure"`
 10683  
 10684  	// The language code.
 10685  	//
 10686  	//    * en - English (default)
 10687  	//
 10688  	//    * jp - Japanese
 10689  	//
 10690  	//    * zh - Chinese
 10691  	AcceptLanguage *string `type:"string"`
 10692  
 10693  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 10694  	// differ only by the idempotency token, the same response is returned for each
 10695  	// repeated request.
 10696  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
 10697  
 10698  	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
 10699  	// events.
 10700  	NotificationArns []*string `type:"list"`
 10701  
 10702  	// The path identifier of the product. This value is optional if the product
 10703  	// has a default path, and required if the product has more than one path. To
 10704  	// list the paths for a product, use ListLaunchPaths.
 10705  	PathId *string `min:"1" type:"string"`
 10706  
 10707  	// The name of the plan.
 10708  	//
 10709  	// PlanName is a required field
 10710  	PlanName *string `type:"string" required:"true"`
 10711  
 10712  	// The plan type.
 10713  	//
 10714  	// PlanType is a required field
 10715  	PlanType *string `type:"string" required:"true" enum:"ProvisionedProductPlanType"`
 10716  
 10717  	// The product identifier.
 10718  	//
 10719  	// ProductId is a required field
 10720  	ProductId *string `min:"1" type:"string" required:"true"`
 10721  
 10722  	// A user-friendly name for the provisioned product. This value must be unique
 10723  	// for the AWS account and cannot be updated after the product is provisioned.
 10724  	//
 10725  	// ProvisionedProductName is a required field
 10726  	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
 10727  
 10728  	// The identifier of the provisioning artifact.
 10729  	//
 10730  	// ProvisioningArtifactId is a required field
 10731  	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
 10732  
 10733  	// Parameters specified by the administrator that are required for provisioning
 10734  	// the product.
 10735  	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
 10736  
 10737  	// One or more tags.
 10738  	//
 10739  	// If the plan is for an existing provisioned product, the product must have
 10740  	// a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED
 10741  	// to allow tag updates.
 10742  	Tags []*Tag `type:"list"`
 10743  }
 10744  
 10745  // String returns the string representation.
 10746  //
 10747  // API parameter values that are decorated as "sensitive" in the API will not
 10748  // be included in the string output. The member name will be present, but the
 10749  // value will be replaced with "sensitive".
 10750  func (s CreateProvisionedProductPlanInput) String() string {
 10751  	return awsutil.Prettify(s)
 10752  }
 10753  
 10754  // GoString returns the string representation.
 10755  //
 10756  // API parameter values that are decorated as "sensitive" in the API will not
 10757  // be included in the string output. The member name will be present, but the
 10758  // value will be replaced with "sensitive".
 10759  func (s CreateProvisionedProductPlanInput) GoString() string {
 10760  	return s.String()
 10761  }
 10762  
 10763  // Validate inspects the fields of the type to determine if they are valid.
 10764  func (s *CreateProvisionedProductPlanInput) Validate() error {
 10765  	invalidParams := request.ErrInvalidParams{Context: "CreateProvisionedProductPlanInput"}
 10766  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 10767  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 10768  	}
 10769  	if s.PathId != nil && len(*s.PathId) < 1 {
 10770  		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
 10771  	}
 10772  	if s.PlanName == nil {
 10773  		invalidParams.Add(request.NewErrParamRequired("PlanName"))
 10774  	}
 10775  	if s.PlanType == nil {
 10776  		invalidParams.Add(request.NewErrParamRequired("PlanType"))
 10777  	}
 10778  	if s.ProductId == nil {
 10779  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 10780  	}
 10781  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 10782  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 10783  	}
 10784  	if s.ProvisionedProductName == nil {
 10785  		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
 10786  	}
 10787  	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
 10788  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
 10789  	}
 10790  	if s.ProvisioningArtifactId == nil {
 10791  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
 10792  	}
 10793  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 10794  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 10795  	}
 10796  	if s.ProvisioningParameters != nil {
 10797  		for i, v := range s.ProvisioningParameters {
 10798  			if v == nil {
 10799  				continue
 10800  			}
 10801  			if err := v.Validate(); err != nil {
 10802  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
 10803  			}
 10804  		}
 10805  	}
 10806  	if s.Tags != nil {
 10807  		for i, v := range s.Tags {
 10808  			if v == nil {
 10809  				continue
 10810  			}
 10811  			if err := v.Validate(); err != nil {
 10812  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 10813  			}
 10814  		}
 10815  	}
 10816  
 10817  	if invalidParams.Len() > 0 {
 10818  		return invalidParams
 10819  	}
 10820  	return nil
 10821  }
 10822  
 10823  // SetAcceptLanguage sets the AcceptLanguage field's value.
 10824  func (s *CreateProvisionedProductPlanInput) SetAcceptLanguage(v string) *CreateProvisionedProductPlanInput {
 10825  	s.AcceptLanguage = &v
 10826  	return s
 10827  }
 10828  
 10829  // SetIdempotencyToken sets the IdempotencyToken field's value.
 10830  func (s *CreateProvisionedProductPlanInput) SetIdempotencyToken(v string) *CreateProvisionedProductPlanInput {
 10831  	s.IdempotencyToken = &v
 10832  	return s
 10833  }
 10834  
 10835  // SetNotificationArns sets the NotificationArns field's value.
 10836  func (s *CreateProvisionedProductPlanInput) SetNotificationArns(v []*string) *CreateProvisionedProductPlanInput {
 10837  	s.NotificationArns = v
 10838  	return s
 10839  }
 10840  
 10841  // SetPathId sets the PathId field's value.
 10842  func (s *CreateProvisionedProductPlanInput) SetPathId(v string) *CreateProvisionedProductPlanInput {
 10843  	s.PathId = &v
 10844  	return s
 10845  }
 10846  
 10847  // SetPlanName sets the PlanName field's value.
 10848  func (s *CreateProvisionedProductPlanInput) SetPlanName(v string) *CreateProvisionedProductPlanInput {
 10849  	s.PlanName = &v
 10850  	return s
 10851  }
 10852  
 10853  // SetPlanType sets the PlanType field's value.
 10854  func (s *CreateProvisionedProductPlanInput) SetPlanType(v string) *CreateProvisionedProductPlanInput {
 10855  	s.PlanType = &v
 10856  	return s
 10857  }
 10858  
 10859  // SetProductId sets the ProductId field's value.
 10860  func (s *CreateProvisionedProductPlanInput) SetProductId(v string) *CreateProvisionedProductPlanInput {
 10861  	s.ProductId = &v
 10862  	return s
 10863  }
 10864  
 10865  // SetProvisionedProductName sets the ProvisionedProductName field's value.
 10866  func (s *CreateProvisionedProductPlanInput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanInput {
 10867  	s.ProvisionedProductName = &v
 10868  	return s
 10869  }
 10870  
 10871  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 10872  func (s *CreateProvisionedProductPlanInput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanInput {
 10873  	s.ProvisioningArtifactId = &v
 10874  	return s
 10875  }
 10876  
 10877  // SetProvisioningParameters sets the ProvisioningParameters field's value.
 10878  func (s *CreateProvisionedProductPlanInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *CreateProvisionedProductPlanInput {
 10879  	s.ProvisioningParameters = v
 10880  	return s
 10881  }
 10882  
 10883  // SetTags sets the Tags field's value.
 10884  func (s *CreateProvisionedProductPlanInput) SetTags(v []*Tag) *CreateProvisionedProductPlanInput {
 10885  	s.Tags = v
 10886  	return s
 10887  }
 10888  
 10889  type CreateProvisionedProductPlanOutput struct {
 10890  	_ struct{} `type:"structure"`
 10891  
 10892  	// The plan identifier.
 10893  	PlanId *string `min:"1" type:"string"`
 10894  
 10895  	// The name of the plan.
 10896  	PlanName *string `type:"string"`
 10897  
 10898  	// The product identifier.
 10899  	ProvisionProductId *string `min:"1" type:"string"`
 10900  
 10901  	// The user-friendly name of the provisioned product.
 10902  	ProvisionedProductName *string `min:"1" type:"string"`
 10903  
 10904  	// The identifier of the provisioning artifact.
 10905  	ProvisioningArtifactId *string `min:"1" type:"string"`
 10906  }
 10907  
 10908  // String returns the string representation.
 10909  //
 10910  // API parameter values that are decorated as "sensitive" in the API will not
 10911  // be included in the string output. The member name will be present, but the
 10912  // value will be replaced with "sensitive".
 10913  func (s CreateProvisionedProductPlanOutput) String() string {
 10914  	return awsutil.Prettify(s)
 10915  }
 10916  
 10917  // GoString returns the string representation.
 10918  //
 10919  // API parameter values that are decorated as "sensitive" in the API will not
 10920  // be included in the string output. The member name will be present, but the
 10921  // value will be replaced with "sensitive".
 10922  func (s CreateProvisionedProductPlanOutput) GoString() string {
 10923  	return s.String()
 10924  }
 10925  
 10926  // SetPlanId sets the PlanId field's value.
 10927  func (s *CreateProvisionedProductPlanOutput) SetPlanId(v string) *CreateProvisionedProductPlanOutput {
 10928  	s.PlanId = &v
 10929  	return s
 10930  }
 10931  
 10932  // SetPlanName sets the PlanName field's value.
 10933  func (s *CreateProvisionedProductPlanOutput) SetPlanName(v string) *CreateProvisionedProductPlanOutput {
 10934  	s.PlanName = &v
 10935  	return s
 10936  }
 10937  
 10938  // SetProvisionProductId sets the ProvisionProductId field's value.
 10939  func (s *CreateProvisionedProductPlanOutput) SetProvisionProductId(v string) *CreateProvisionedProductPlanOutput {
 10940  	s.ProvisionProductId = &v
 10941  	return s
 10942  }
 10943  
 10944  // SetProvisionedProductName sets the ProvisionedProductName field's value.
 10945  func (s *CreateProvisionedProductPlanOutput) SetProvisionedProductName(v string) *CreateProvisionedProductPlanOutput {
 10946  	s.ProvisionedProductName = &v
 10947  	return s
 10948  }
 10949  
 10950  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 10951  func (s *CreateProvisionedProductPlanOutput) SetProvisioningArtifactId(v string) *CreateProvisionedProductPlanOutput {
 10952  	s.ProvisioningArtifactId = &v
 10953  	return s
 10954  }
 10955  
 10956  type CreateProvisioningArtifactInput struct {
 10957  	_ struct{} `type:"structure"`
 10958  
 10959  	// The language code.
 10960  	//
 10961  	//    * en - English (default)
 10962  	//
 10963  	//    * jp - Japanese
 10964  	//
 10965  	//    * zh - Chinese
 10966  	AcceptLanguage *string `type:"string"`
 10967  
 10968  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 10969  	// differ only by the idempotency token, the same response is returned for each
 10970  	// repeated request.
 10971  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
 10972  
 10973  	// The configuration for the provisioning artifact.
 10974  	//
 10975  	// Parameters is a required field
 10976  	Parameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
 10977  
 10978  	// The product identifier.
 10979  	//
 10980  	// ProductId is a required field
 10981  	ProductId *string `min:"1" type:"string" required:"true"`
 10982  }
 10983  
 10984  // String returns the string representation.
 10985  //
 10986  // API parameter values that are decorated as "sensitive" in the API will not
 10987  // be included in the string output. The member name will be present, but the
 10988  // value will be replaced with "sensitive".
 10989  func (s CreateProvisioningArtifactInput) String() string {
 10990  	return awsutil.Prettify(s)
 10991  }
 10992  
 10993  // GoString returns the string representation.
 10994  //
 10995  // API parameter values that are decorated as "sensitive" in the API will not
 10996  // be included in the string output. The member name will be present, but the
 10997  // value will be replaced with "sensitive".
 10998  func (s CreateProvisioningArtifactInput) GoString() string {
 10999  	return s.String()
 11000  }
 11001  
 11002  // Validate inspects the fields of the type to determine if they are valid.
 11003  func (s *CreateProvisioningArtifactInput) Validate() error {
 11004  	invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningArtifactInput"}
 11005  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 11006  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 11007  	}
 11008  	if s.Parameters == nil {
 11009  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 11010  	}
 11011  	if s.ProductId == nil {
 11012  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 11013  	}
 11014  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 11015  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 11016  	}
 11017  	if s.Parameters != nil {
 11018  		if err := s.Parameters.Validate(); err != nil {
 11019  			invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams))
 11020  		}
 11021  	}
 11022  
 11023  	if invalidParams.Len() > 0 {
 11024  		return invalidParams
 11025  	}
 11026  	return nil
 11027  }
 11028  
 11029  // SetAcceptLanguage sets the AcceptLanguage field's value.
 11030  func (s *CreateProvisioningArtifactInput) SetAcceptLanguage(v string) *CreateProvisioningArtifactInput {
 11031  	s.AcceptLanguage = &v
 11032  	return s
 11033  }
 11034  
 11035  // SetIdempotencyToken sets the IdempotencyToken field's value.
 11036  func (s *CreateProvisioningArtifactInput) SetIdempotencyToken(v string) *CreateProvisioningArtifactInput {
 11037  	s.IdempotencyToken = &v
 11038  	return s
 11039  }
 11040  
 11041  // SetParameters sets the Parameters field's value.
 11042  func (s *CreateProvisioningArtifactInput) SetParameters(v *ProvisioningArtifactProperties) *CreateProvisioningArtifactInput {
 11043  	s.Parameters = v
 11044  	return s
 11045  }
 11046  
 11047  // SetProductId sets the ProductId field's value.
 11048  func (s *CreateProvisioningArtifactInput) SetProductId(v string) *CreateProvisioningArtifactInput {
 11049  	s.ProductId = &v
 11050  	return s
 11051  }
 11052  
 11053  type CreateProvisioningArtifactOutput struct {
 11054  	_ struct{} `type:"structure"`
 11055  
 11056  	// Specify the template source with one of the following options, but not both.
 11057  	// Keys accepted: [ LoadTemplateFromURL, ImportFromPhysicalId ].
 11058  	//
 11059  	// The URL of the CloudFormation template in Amazon S3, in JSON format.
 11060  	//
 11061  	// LoadTemplateFromURL
 11062  	//
 11063  	// Use the URL of the CloudFormation template in Amazon S3 in JSON format.
 11064  	//
 11065  	// ImportFromPhysicalId
 11066  	//
 11067  	// Use the physical id of the resource that contains the template; currently
 11068  	// supports CloudFormation stack ARN.
 11069  	Info map[string]*string `min:"1" type:"map"`
 11070  
 11071  	// Information about the provisioning artifact.
 11072  	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
 11073  
 11074  	// The status of the current request.
 11075  	Status *string `type:"string" enum:"Status"`
 11076  }
 11077  
 11078  // String returns the string representation.
 11079  //
 11080  // API parameter values that are decorated as "sensitive" in the API will not
 11081  // be included in the string output. The member name will be present, but the
 11082  // value will be replaced with "sensitive".
 11083  func (s CreateProvisioningArtifactOutput) String() string {
 11084  	return awsutil.Prettify(s)
 11085  }
 11086  
 11087  // GoString returns the string representation.
 11088  //
 11089  // API parameter values that are decorated as "sensitive" in the API will not
 11090  // be included in the string output. The member name will be present, but the
 11091  // value will be replaced with "sensitive".
 11092  func (s CreateProvisioningArtifactOutput) GoString() string {
 11093  	return s.String()
 11094  }
 11095  
 11096  // SetInfo sets the Info field's value.
 11097  func (s *CreateProvisioningArtifactOutput) SetInfo(v map[string]*string) *CreateProvisioningArtifactOutput {
 11098  	s.Info = v
 11099  	return s
 11100  }
 11101  
 11102  // SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
 11103  func (s *CreateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *CreateProvisioningArtifactOutput {
 11104  	s.ProvisioningArtifactDetail = v
 11105  	return s
 11106  }
 11107  
 11108  // SetStatus sets the Status field's value.
 11109  func (s *CreateProvisioningArtifactOutput) SetStatus(v string) *CreateProvisioningArtifactOutput {
 11110  	s.Status = &v
 11111  	return s
 11112  }
 11113  
 11114  type CreateServiceActionInput struct {
 11115  	_ struct{} `type:"structure"`
 11116  
 11117  	// The language code.
 11118  	//
 11119  	//    * en - English (default)
 11120  	//
 11121  	//    * jp - Japanese
 11122  	//
 11123  	//    * zh - Chinese
 11124  	AcceptLanguage *string `type:"string"`
 11125  
 11126  	// The self-service action definition. Can be one of the following:
 11127  	//
 11128  	// Name
 11129  	//
 11130  	// The name of the AWS Systems Manager document (SSM document). For example,
 11131  	// AWS-RestartEC2Instance.
 11132  	//
 11133  	// If you are using a shared SSM document, you must provide the ARN instead
 11134  	// of the name.
 11135  	//
 11136  	// Version
 11137  	//
 11138  	// The AWS Systems Manager automation document version. For example, "Version":
 11139  	// "1"
 11140  	//
 11141  	// AssumeRole
 11142  	//
 11143  	// The Amazon Resource Name (ARN) of the role that performs the self-service
 11144  	// actions on your behalf. For example, "AssumeRole": "arn:aws:iam::12345678910:role/ActionRole".
 11145  	//
 11146  	// To reuse the provisioned product launch role, set to "AssumeRole": "LAUNCH_ROLE".
 11147  	//
 11148  	// Parameters
 11149  	//
 11150  	// The list of parameters in JSON format.
 11151  	//
 11152  	// For example: [{\"Name\":\"InstanceId\",\"Type\":\"TARGET\"}] or [{\"Name\":\"InstanceId\",\"Type\":\"TEXT_VALUE\"}].
 11153  	//
 11154  	// Definition is a required field
 11155  	Definition map[string]*string `min:"1" type:"map" required:"true"`
 11156  
 11157  	// The service action definition type. For example, SSM_AUTOMATION.
 11158  	//
 11159  	// DefinitionType is a required field
 11160  	DefinitionType *string `type:"string" required:"true" enum:"ServiceActionDefinitionType"`
 11161  
 11162  	// The self-service action description.
 11163  	Description *string `type:"string"`
 11164  
 11165  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 11166  	// differ only by the idempotency token, the same response is returned for each
 11167  	// repeated request.
 11168  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
 11169  
 11170  	// The self-service action name.
 11171  	//
 11172  	// Name is a required field
 11173  	Name *string `min:"1" type:"string" required:"true"`
 11174  }
 11175  
 11176  // String returns the string representation.
 11177  //
 11178  // API parameter values that are decorated as "sensitive" in the API will not
 11179  // be included in the string output. The member name will be present, but the
 11180  // value will be replaced with "sensitive".
 11181  func (s CreateServiceActionInput) String() string {
 11182  	return awsutil.Prettify(s)
 11183  }
 11184  
 11185  // GoString returns the string representation.
 11186  //
 11187  // API parameter values that are decorated as "sensitive" in the API will not
 11188  // be included in the string output. The member name will be present, but the
 11189  // value will be replaced with "sensitive".
 11190  func (s CreateServiceActionInput) GoString() string {
 11191  	return s.String()
 11192  }
 11193  
 11194  // Validate inspects the fields of the type to determine if they are valid.
 11195  func (s *CreateServiceActionInput) Validate() error {
 11196  	invalidParams := request.ErrInvalidParams{Context: "CreateServiceActionInput"}
 11197  	if s.Definition == nil {
 11198  		invalidParams.Add(request.NewErrParamRequired("Definition"))
 11199  	}
 11200  	if s.Definition != nil && len(s.Definition) < 1 {
 11201  		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
 11202  	}
 11203  	if s.DefinitionType == nil {
 11204  		invalidParams.Add(request.NewErrParamRequired("DefinitionType"))
 11205  	}
 11206  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 11207  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 11208  	}
 11209  	if s.Name == nil {
 11210  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11211  	}
 11212  	if s.Name != nil && len(*s.Name) < 1 {
 11213  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11214  	}
 11215  
 11216  	if invalidParams.Len() > 0 {
 11217  		return invalidParams
 11218  	}
 11219  	return nil
 11220  }
 11221  
 11222  // SetAcceptLanguage sets the AcceptLanguage field's value.
 11223  func (s *CreateServiceActionInput) SetAcceptLanguage(v string) *CreateServiceActionInput {
 11224  	s.AcceptLanguage = &v
 11225  	return s
 11226  }
 11227  
 11228  // SetDefinition sets the Definition field's value.
 11229  func (s *CreateServiceActionInput) SetDefinition(v map[string]*string) *CreateServiceActionInput {
 11230  	s.Definition = v
 11231  	return s
 11232  }
 11233  
 11234  // SetDefinitionType sets the DefinitionType field's value.
 11235  func (s *CreateServiceActionInput) SetDefinitionType(v string) *CreateServiceActionInput {
 11236  	s.DefinitionType = &v
 11237  	return s
 11238  }
 11239  
 11240  // SetDescription sets the Description field's value.
 11241  func (s *CreateServiceActionInput) SetDescription(v string) *CreateServiceActionInput {
 11242  	s.Description = &v
 11243  	return s
 11244  }
 11245  
 11246  // SetIdempotencyToken sets the IdempotencyToken field's value.
 11247  func (s *CreateServiceActionInput) SetIdempotencyToken(v string) *CreateServiceActionInput {
 11248  	s.IdempotencyToken = &v
 11249  	return s
 11250  }
 11251  
 11252  // SetName sets the Name field's value.
 11253  func (s *CreateServiceActionInput) SetName(v string) *CreateServiceActionInput {
 11254  	s.Name = &v
 11255  	return s
 11256  }
 11257  
 11258  type CreateServiceActionOutput struct {
 11259  	_ struct{} `type:"structure"`
 11260  
 11261  	// An object containing information about the self-service action.
 11262  	ServiceActionDetail *ServiceActionDetail `type:"structure"`
 11263  }
 11264  
 11265  // String returns the string representation.
 11266  //
 11267  // API parameter values that are decorated as "sensitive" in the API will not
 11268  // be included in the string output. The member name will be present, but the
 11269  // value will be replaced with "sensitive".
 11270  func (s CreateServiceActionOutput) String() string {
 11271  	return awsutil.Prettify(s)
 11272  }
 11273  
 11274  // GoString returns the string representation.
 11275  //
 11276  // API parameter values that are decorated as "sensitive" in the API will not
 11277  // be included in the string output. The member name will be present, but the
 11278  // value will be replaced with "sensitive".
 11279  func (s CreateServiceActionOutput) GoString() string {
 11280  	return s.String()
 11281  }
 11282  
 11283  // SetServiceActionDetail sets the ServiceActionDetail field's value.
 11284  func (s *CreateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *CreateServiceActionOutput {
 11285  	s.ServiceActionDetail = v
 11286  	return s
 11287  }
 11288  
 11289  type CreateTagOptionInput struct {
 11290  	_ struct{} `type:"structure"`
 11291  
 11292  	// The TagOption key.
 11293  	//
 11294  	// Key is a required field
 11295  	Key *string `min:"1" type:"string" required:"true"`
 11296  
 11297  	// The TagOption value.
 11298  	//
 11299  	// Value is a required field
 11300  	Value *string `min:"1" type:"string" required:"true"`
 11301  }
 11302  
 11303  // String returns the string representation.
 11304  //
 11305  // API parameter values that are decorated as "sensitive" in the API will not
 11306  // be included in the string output. The member name will be present, but the
 11307  // value will be replaced with "sensitive".
 11308  func (s CreateTagOptionInput) String() string {
 11309  	return awsutil.Prettify(s)
 11310  }
 11311  
 11312  // GoString returns the string representation.
 11313  //
 11314  // API parameter values that are decorated as "sensitive" in the API will not
 11315  // be included in the string output. The member name will be present, but the
 11316  // value will be replaced with "sensitive".
 11317  func (s CreateTagOptionInput) GoString() string {
 11318  	return s.String()
 11319  }
 11320  
 11321  // Validate inspects the fields of the type to determine if they are valid.
 11322  func (s *CreateTagOptionInput) Validate() error {
 11323  	invalidParams := request.ErrInvalidParams{Context: "CreateTagOptionInput"}
 11324  	if s.Key == nil {
 11325  		invalidParams.Add(request.NewErrParamRequired("Key"))
 11326  	}
 11327  	if s.Key != nil && len(*s.Key) < 1 {
 11328  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 11329  	}
 11330  	if s.Value == nil {
 11331  		invalidParams.Add(request.NewErrParamRequired("Value"))
 11332  	}
 11333  	if s.Value != nil && len(*s.Value) < 1 {
 11334  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 11335  	}
 11336  
 11337  	if invalidParams.Len() > 0 {
 11338  		return invalidParams
 11339  	}
 11340  	return nil
 11341  }
 11342  
 11343  // SetKey sets the Key field's value.
 11344  func (s *CreateTagOptionInput) SetKey(v string) *CreateTagOptionInput {
 11345  	s.Key = &v
 11346  	return s
 11347  }
 11348  
 11349  // SetValue sets the Value field's value.
 11350  func (s *CreateTagOptionInput) SetValue(v string) *CreateTagOptionInput {
 11351  	s.Value = &v
 11352  	return s
 11353  }
 11354  
 11355  type CreateTagOptionOutput struct {
 11356  	_ struct{} `type:"structure"`
 11357  
 11358  	// Information about the TagOption.
 11359  	TagOptionDetail *TagOptionDetail `type:"structure"`
 11360  }
 11361  
 11362  // String returns the string representation.
 11363  //
 11364  // API parameter values that are decorated as "sensitive" in the API will not
 11365  // be included in the string output. The member name will be present, but the
 11366  // value will be replaced with "sensitive".
 11367  func (s CreateTagOptionOutput) String() string {
 11368  	return awsutil.Prettify(s)
 11369  }
 11370  
 11371  // GoString returns the string representation.
 11372  //
 11373  // API parameter values that are decorated as "sensitive" in the API will not
 11374  // be included in the string output. The member name will be present, but the
 11375  // value will be replaced with "sensitive".
 11376  func (s CreateTagOptionOutput) GoString() string {
 11377  	return s.String()
 11378  }
 11379  
 11380  // SetTagOptionDetail sets the TagOptionDetail field's value.
 11381  func (s *CreateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *CreateTagOptionOutput {
 11382  	s.TagOptionDetail = v
 11383  	return s
 11384  }
 11385  
 11386  type DeleteConstraintInput struct {
 11387  	_ struct{} `type:"structure"`
 11388  
 11389  	// The language code.
 11390  	//
 11391  	//    * en - English (default)
 11392  	//
 11393  	//    * jp - Japanese
 11394  	//
 11395  	//    * zh - Chinese
 11396  	AcceptLanguage *string `type:"string"`
 11397  
 11398  	// The identifier of the constraint.
 11399  	//
 11400  	// Id is a required field
 11401  	Id *string `min:"1" type:"string" required:"true"`
 11402  }
 11403  
 11404  // String returns the string representation.
 11405  //
 11406  // API parameter values that are decorated as "sensitive" in the API will not
 11407  // be included in the string output. The member name will be present, but the
 11408  // value will be replaced with "sensitive".
 11409  func (s DeleteConstraintInput) String() string {
 11410  	return awsutil.Prettify(s)
 11411  }
 11412  
 11413  // GoString returns the string representation.
 11414  //
 11415  // API parameter values that are decorated as "sensitive" in the API will not
 11416  // be included in the string output. The member name will be present, but the
 11417  // value will be replaced with "sensitive".
 11418  func (s DeleteConstraintInput) GoString() string {
 11419  	return s.String()
 11420  }
 11421  
 11422  // Validate inspects the fields of the type to determine if they are valid.
 11423  func (s *DeleteConstraintInput) Validate() error {
 11424  	invalidParams := request.ErrInvalidParams{Context: "DeleteConstraintInput"}
 11425  	if s.Id == nil {
 11426  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11427  	}
 11428  	if s.Id != nil && len(*s.Id) < 1 {
 11429  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 11430  	}
 11431  
 11432  	if invalidParams.Len() > 0 {
 11433  		return invalidParams
 11434  	}
 11435  	return nil
 11436  }
 11437  
 11438  // SetAcceptLanguage sets the AcceptLanguage field's value.
 11439  func (s *DeleteConstraintInput) SetAcceptLanguage(v string) *DeleteConstraintInput {
 11440  	s.AcceptLanguage = &v
 11441  	return s
 11442  }
 11443  
 11444  // SetId sets the Id field's value.
 11445  func (s *DeleteConstraintInput) SetId(v string) *DeleteConstraintInput {
 11446  	s.Id = &v
 11447  	return s
 11448  }
 11449  
 11450  type DeleteConstraintOutput struct {
 11451  	_ struct{} `type:"structure"`
 11452  }
 11453  
 11454  // String returns the string representation.
 11455  //
 11456  // API parameter values that are decorated as "sensitive" in the API will not
 11457  // be included in the string output. The member name will be present, but the
 11458  // value will be replaced with "sensitive".
 11459  func (s DeleteConstraintOutput) String() string {
 11460  	return awsutil.Prettify(s)
 11461  }
 11462  
 11463  // GoString returns the string representation.
 11464  //
 11465  // API parameter values that are decorated as "sensitive" in the API will not
 11466  // be included in the string output. The member name will be present, but the
 11467  // value will be replaced with "sensitive".
 11468  func (s DeleteConstraintOutput) GoString() string {
 11469  	return s.String()
 11470  }
 11471  
 11472  type DeletePortfolioInput struct {
 11473  	_ struct{} `type:"structure"`
 11474  
 11475  	// The language code.
 11476  	//
 11477  	//    * en - English (default)
 11478  	//
 11479  	//    * jp - Japanese
 11480  	//
 11481  	//    * zh - Chinese
 11482  	AcceptLanguage *string `type:"string"`
 11483  
 11484  	// The portfolio identifier.
 11485  	//
 11486  	// Id is a required field
 11487  	Id *string `min:"1" type:"string" required:"true"`
 11488  }
 11489  
 11490  // String returns the string representation.
 11491  //
 11492  // API parameter values that are decorated as "sensitive" in the API will not
 11493  // be included in the string output. The member name will be present, but the
 11494  // value will be replaced with "sensitive".
 11495  func (s DeletePortfolioInput) String() string {
 11496  	return awsutil.Prettify(s)
 11497  }
 11498  
 11499  // GoString returns the string representation.
 11500  //
 11501  // API parameter values that are decorated as "sensitive" in the API will not
 11502  // be included in the string output. The member name will be present, but the
 11503  // value will be replaced with "sensitive".
 11504  func (s DeletePortfolioInput) GoString() string {
 11505  	return s.String()
 11506  }
 11507  
 11508  // Validate inspects the fields of the type to determine if they are valid.
 11509  func (s *DeletePortfolioInput) Validate() error {
 11510  	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioInput"}
 11511  	if s.Id == nil {
 11512  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11513  	}
 11514  	if s.Id != nil && len(*s.Id) < 1 {
 11515  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 11516  	}
 11517  
 11518  	if invalidParams.Len() > 0 {
 11519  		return invalidParams
 11520  	}
 11521  	return nil
 11522  }
 11523  
 11524  // SetAcceptLanguage sets the AcceptLanguage field's value.
 11525  func (s *DeletePortfolioInput) SetAcceptLanguage(v string) *DeletePortfolioInput {
 11526  	s.AcceptLanguage = &v
 11527  	return s
 11528  }
 11529  
 11530  // SetId sets the Id field's value.
 11531  func (s *DeletePortfolioInput) SetId(v string) *DeletePortfolioInput {
 11532  	s.Id = &v
 11533  	return s
 11534  }
 11535  
 11536  type DeletePortfolioOutput struct {
 11537  	_ struct{} `type:"structure"`
 11538  }
 11539  
 11540  // String returns the string representation.
 11541  //
 11542  // API parameter values that are decorated as "sensitive" in the API will not
 11543  // be included in the string output. The member name will be present, but the
 11544  // value will be replaced with "sensitive".
 11545  func (s DeletePortfolioOutput) String() string {
 11546  	return awsutil.Prettify(s)
 11547  }
 11548  
 11549  // GoString returns the string representation.
 11550  //
 11551  // API parameter values that are decorated as "sensitive" in the API will not
 11552  // be included in the string output. The member name will be present, but the
 11553  // value will be replaced with "sensitive".
 11554  func (s DeletePortfolioOutput) GoString() string {
 11555  	return s.String()
 11556  }
 11557  
 11558  type DeletePortfolioShareInput struct {
 11559  	_ struct{} `type:"structure"`
 11560  
 11561  	// The language code.
 11562  	//
 11563  	//    * en - English (default)
 11564  	//
 11565  	//    * jp - Japanese
 11566  	//
 11567  	//    * zh - Chinese
 11568  	AcceptLanguage *string `type:"string"`
 11569  
 11570  	// The AWS account ID.
 11571  	AccountId *string `type:"string"`
 11572  
 11573  	// The organization node to whom you are going to stop sharing.
 11574  	OrganizationNode *OrganizationNode `type:"structure"`
 11575  
 11576  	// The portfolio identifier.
 11577  	//
 11578  	// PortfolioId is a required field
 11579  	PortfolioId *string `min:"1" type:"string" required:"true"`
 11580  }
 11581  
 11582  // String returns the string representation.
 11583  //
 11584  // API parameter values that are decorated as "sensitive" in the API will not
 11585  // be included in the string output. The member name will be present, but the
 11586  // value will be replaced with "sensitive".
 11587  func (s DeletePortfolioShareInput) String() string {
 11588  	return awsutil.Prettify(s)
 11589  }
 11590  
 11591  // GoString returns the string representation.
 11592  //
 11593  // API parameter values that are decorated as "sensitive" in the API will not
 11594  // be included in the string output. The member name will be present, but the
 11595  // value will be replaced with "sensitive".
 11596  func (s DeletePortfolioShareInput) GoString() string {
 11597  	return s.String()
 11598  }
 11599  
 11600  // Validate inspects the fields of the type to determine if they are valid.
 11601  func (s *DeletePortfolioShareInput) Validate() error {
 11602  	invalidParams := request.ErrInvalidParams{Context: "DeletePortfolioShareInput"}
 11603  	if s.PortfolioId == nil {
 11604  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 11605  	}
 11606  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 11607  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 11608  	}
 11609  
 11610  	if invalidParams.Len() > 0 {
 11611  		return invalidParams
 11612  	}
 11613  	return nil
 11614  }
 11615  
 11616  // SetAcceptLanguage sets the AcceptLanguage field's value.
 11617  func (s *DeletePortfolioShareInput) SetAcceptLanguage(v string) *DeletePortfolioShareInput {
 11618  	s.AcceptLanguage = &v
 11619  	return s
 11620  }
 11621  
 11622  // SetAccountId sets the AccountId field's value.
 11623  func (s *DeletePortfolioShareInput) SetAccountId(v string) *DeletePortfolioShareInput {
 11624  	s.AccountId = &v
 11625  	return s
 11626  }
 11627  
 11628  // SetOrganizationNode sets the OrganizationNode field's value.
 11629  func (s *DeletePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *DeletePortfolioShareInput {
 11630  	s.OrganizationNode = v
 11631  	return s
 11632  }
 11633  
 11634  // SetPortfolioId sets the PortfolioId field's value.
 11635  func (s *DeletePortfolioShareInput) SetPortfolioId(v string) *DeletePortfolioShareInput {
 11636  	s.PortfolioId = &v
 11637  	return s
 11638  }
 11639  
 11640  type DeletePortfolioShareOutput struct {
 11641  	_ struct{} `type:"structure"`
 11642  
 11643  	// The portfolio share unique identifier. This will only be returned if delete
 11644  	// is made to an organization node.
 11645  	PortfolioShareToken *string `min:"1" type:"string"`
 11646  }
 11647  
 11648  // String returns the string representation.
 11649  //
 11650  // API parameter values that are decorated as "sensitive" in the API will not
 11651  // be included in the string output. The member name will be present, but the
 11652  // value will be replaced with "sensitive".
 11653  func (s DeletePortfolioShareOutput) String() string {
 11654  	return awsutil.Prettify(s)
 11655  }
 11656  
 11657  // GoString returns the string representation.
 11658  //
 11659  // API parameter values that are decorated as "sensitive" in the API will not
 11660  // be included in the string output. The member name will be present, but the
 11661  // value will be replaced with "sensitive".
 11662  func (s DeletePortfolioShareOutput) GoString() string {
 11663  	return s.String()
 11664  }
 11665  
 11666  // SetPortfolioShareToken sets the PortfolioShareToken field's value.
 11667  func (s *DeletePortfolioShareOutput) SetPortfolioShareToken(v string) *DeletePortfolioShareOutput {
 11668  	s.PortfolioShareToken = &v
 11669  	return s
 11670  }
 11671  
 11672  type DeleteProductInput struct {
 11673  	_ struct{} `type:"structure"`
 11674  
 11675  	// The language code.
 11676  	//
 11677  	//    * en - English (default)
 11678  	//
 11679  	//    * jp - Japanese
 11680  	//
 11681  	//    * zh - Chinese
 11682  	AcceptLanguage *string `type:"string"`
 11683  
 11684  	// The product identifier.
 11685  	//
 11686  	// Id is a required field
 11687  	Id *string `min:"1" type:"string" required:"true"`
 11688  }
 11689  
 11690  // String returns the string representation.
 11691  //
 11692  // API parameter values that are decorated as "sensitive" in the API will not
 11693  // be included in the string output. The member name will be present, but the
 11694  // value will be replaced with "sensitive".
 11695  func (s DeleteProductInput) String() string {
 11696  	return awsutil.Prettify(s)
 11697  }
 11698  
 11699  // GoString returns the string representation.
 11700  //
 11701  // API parameter values that are decorated as "sensitive" in the API will not
 11702  // be included in the string output. The member name will be present, but the
 11703  // value will be replaced with "sensitive".
 11704  func (s DeleteProductInput) GoString() string {
 11705  	return s.String()
 11706  }
 11707  
 11708  // Validate inspects the fields of the type to determine if they are valid.
 11709  func (s *DeleteProductInput) Validate() error {
 11710  	invalidParams := request.ErrInvalidParams{Context: "DeleteProductInput"}
 11711  	if s.Id == nil {
 11712  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11713  	}
 11714  	if s.Id != nil && len(*s.Id) < 1 {
 11715  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 11716  	}
 11717  
 11718  	if invalidParams.Len() > 0 {
 11719  		return invalidParams
 11720  	}
 11721  	return nil
 11722  }
 11723  
 11724  // SetAcceptLanguage sets the AcceptLanguage field's value.
 11725  func (s *DeleteProductInput) SetAcceptLanguage(v string) *DeleteProductInput {
 11726  	s.AcceptLanguage = &v
 11727  	return s
 11728  }
 11729  
 11730  // SetId sets the Id field's value.
 11731  func (s *DeleteProductInput) SetId(v string) *DeleteProductInput {
 11732  	s.Id = &v
 11733  	return s
 11734  }
 11735  
 11736  type DeleteProductOutput struct {
 11737  	_ struct{} `type:"structure"`
 11738  }
 11739  
 11740  // String returns the string representation.
 11741  //
 11742  // API parameter values that are decorated as "sensitive" in the API will not
 11743  // be included in the string output. The member name will be present, but the
 11744  // value will be replaced with "sensitive".
 11745  func (s DeleteProductOutput) String() string {
 11746  	return awsutil.Prettify(s)
 11747  }
 11748  
 11749  // GoString returns the string representation.
 11750  //
 11751  // API parameter values that are decorated as "sensitive" in the API will not
 11752  // be included in the string output. The member name will be present, but the
 11753  // value will be replaced with "sensitive".
 11754  func (s DeleteProductOutput) GoString() string {
 11755  	return s.String()
 11756  }
 11757  
 11758  type DeleteProvisionedProductPlanInput struct {
 11759  	_ struct{} `type:"structure"`
 11760  
 11761  	// The language code.
 11762  	//
 11763  	//    * en - English (default)
 11764  	//
 11765  	//    * jp - Japanese
 11766  	//
 11767  	//    * zh - Chinese
 11768  	AcceptLanguage *string `type:"string"`
 11769  
 11770  	// If set to true, AWS Service Catalog stops managing the specified provisioned
 11771  	// product even if it cannot delete the underlying resources.
 11772  	IgnoreErrors *bool `type:"boolean"`
 11773  
 11774  	// The plan identifier.
 11775  	//
 11776  	// PlanId is a required field
 11777  	PlanId *string `min:"1" type:"string" required:"true"`
 11778  }
 11779  
 11780  // String returns the string representation.
 11781  //
 11782  // API parameter values that are decorated as "sensitive" in the API will not
 11783  // be included in the string output. The member name will be present, but the
 11784  // value will be replaced with "sensitive".
 11785  func (s DeleteProvisionedProductPlanInput) String() string {
 11786  	return awsutil.Prettify(s)
 11787  }
 11788  
 11789  // GoString returns the string representation.
 11790  //
 11791  // API parameter values that are decorated as "sensitive" in the API will not
 11792  // be included in the string output. The member name will be present, but the
 11793  // value will be replaced with "sensitive".
 11794  func (s DeleteProvisionedProductPlanInput) GoString() string {
 11795  	return s.String()
 11796  }
 11797  
 11798  // Validate inspects the fields of the type to determine if they are valid.
 11799  func (s *DeleteProvisionedProductPlanInput) Validate() error {
 11800  	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedProductPlanInput"}
 11801  	if s.PlanId == nil {
 11802  		invalidParams.Add(request.NewErrParamRequired("PlanId"))
 11803  	}
 11804  	if s.PlanId != nil && len(*s.PlanId) < 1 {
 11805  		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
 11806  	}
 11807  
 11808  	if invalidParams.Len() > 0 {
 11809  		return invalidParams
 11810  	}
 11811  	return nil
 11812  }
 11813  
 11814  // SetAcceptLanguage sets the AcceptLanguage field's value.
 11815  func (s *DeleteProvisionedProductPlanInput) SetAcceptLanguage(v string) *DeleteProvisionedProductPlanInput {
 11816  	s.AcceptLanguage = &v
 11817  	return s
 11818  }
 11819  
 11820  // SetIgnoreErrors sets the IgnoreErrors field's value.
 11821  func (s *DeleteProvisionedProductPlanInput) SetIgnoreErrors(v bool) *DeleteProvisionedProductPlanInput {
 11822  	s.IgnoreErrors = &v
 11823  	return s
 11824  }
 11825  
 11826  // SetPlanId sets the PlanId field's value.
 11827  func (s *DeleteProvisionedProductPlanInput) SetPlanId(v string) *DeleteProvisionedProductPlanInput {
 11828  	s.PlanId = &v
 11829  	return s
 11830  }
 11831  
 11832  type DeleteProvisionedProductPlanOutput struct {
 11833  	_ struct{} `type:"structure"`
 11834  }
 11835  
 11836  // String returns the string representation.
 11837  //
 11838  // API parameter values that are decorated as "sensitive" in the API will not
 11839  // be included in the string output. The member name will be present, but the
 11840  // value will be replaced with "sensitive".
 11841  func (s DeleteProvisionedProductPlanOutput) String() string {
 11842  	return awsutil.Prettify(s)
 11843  }
 11844  
 11845  // GoString returns the string representation.
 11846  //
 11847  // API parameter values that are decorated as "sensitive" in the API will not
 11848  // be included in the string output. The member name will be present, but the
 11849  // value will be replaced with "sensitive".
 11850  func (s DeleteProvisionedProductPlanOutput) GoString() string {
 11851  	return s.String()
 11852  }
 11853  
 11854  type DeleteProvisioningArtifactInput struct {
 11855  	_ struct{} `type:"structure"`
 11856  
 11857  	// The language code.
 11858  	//
 11859  	//    * en - English (default)
 11860  	//
 11861  	//    * jp - Japanese
 11862  	//
 11863  	//    * zh - Chinese
 11864  	AcceptLanguage *string `type:"string"`
 11865  
 11866  	// The product identifier.
 11867  	//
 11868  	// ProductId is a required field
 11869  	ProductId *string `min:"1" type:"string" required:"true"`
 11870  
 11871  	// The identifier of the provisioning artifact.
 11872  	//
 11873  	// ProvisioningArtifactId is a required field
 11874  	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
 11875  }
 11876  
 11877  // String returns the string representation.
 11878  //
 11879  // API parameter values that are decorated as "sensitive" in the API will not
 11880  // be included in the string output. The member name will be present, but the
 11881  // value will be replaced with "sensitive".
 11882  func (s DeleteProvisioningArtifactInput) String() string {
 11883  	return awsutil.Prettify(s)
 11884  }
 11885  
 11886  // GoString returns the string representation.
 11887  //
 11888  // API parameter values that are decorated as "sensitive" in the API will not
 11889  // be included in the string output. The member name will be present, but the
 11890  // value will be replaced with "sensitive".
 11891  func (s DeleteProvisioningArtifactInput) GoString() string {
 11892  	return s.String()
 11893  }
 11894  
 11895  // Validate inspects the fields of the type to determine if they are valid.
 11896  func (s *DeleteProvisioningArtifactInput) Validate() error {
 11897  	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningArtifactInput"}
 11898  	if s.ProductId == nil {
 11899  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 11900  	}
 11901  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 11902  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 11903  	}
 11904  	if s.ProvisioningArtifactId == nil {
 11905  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
 11906  	}
 11907  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 11908  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 11909  	}
 11910  
 11911  	if invalidParams.Len() > 0 {
 11912  		return invalidParams
 11913  	}
 11914  	return nil
 11915  }
 11916  
 11917  // SetAcceptLanguage sets the AcceptLanguage field's value.
 11918  func (s *DeleteProvisioningArtifactInput) SetAcceptLanguage(v string) *DeleteProvisioningArtifactInput {
 11919  	s.AcceptLanguage = &v
 11920  	return s
 11921  }
 11922  
 11923  // SetProductId sets the ProductId field's value.
 11924  func (s *DeleteProvisioningArtifactInput) SetProductId(v string) *DeleteProvisioningArtifactInput {
 11925  	s.ProductId = &v
 11926  	return s
 11927  }
 11928  
 11929  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 11930  func (s *DeleteProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DeleteProvisioningArtifactInput {
 11931  	s.ProvisioningArtifactId = &v
 11932  	return s
 11933  }
 11934  
 11935  type DeleteProvisioningArtifactOutput struct {
 11936  	_ struct{} `type:"structure"`
 11937  }
 11938  
 11939  // String returns the string representation.
 11940  //
 11941  // API parameter values that are decorated as "sensitive" in the API will not
 11942  // be included in the string output. The member name will be present, but the
 11943  // value will be replaced with "sensitive".
 11944  func (s DeleteProvisioningArtifactOutput) String() string {
 11945  	return awsutil.Prettify(s)
 11946  }
 11947  
 11948  // GoString returns the string representation.
 11949  //
 11950  // API parameter values that are decorated as "sensitive" in the API will not
 11951  // be included in the string output. The member name will be present, but the
 11952  // value will be replaced with "sensitive".
 11953  func (s DeleteProvisioningArtifactOutput) GoString() string {
 11954  	return s.String()
 11955  }
 11956  
 11957  type DeleteServiceActionInput struct {
 11958  	_ struct{} `type:"structure"`
 11959  
 11960  	// The language code.
 11961  	//
 11962  	//    * en - English (default)
 11963  	//
 11964  	//    * jp - Japanese
 11965  	//
 11966  	//    * zh - Chinese
 11967  	AcceptLanguage *string `type:"string"`
 11968  
 11969  	// The self-service action identifier. For example, act-fs7abcd89wxyz.
 11970  	//
 11971  	// Id is a required field
 11972  	Id *string `min:"1" type:"string" required:"true"`
 11973  }
 11974  
 11975  // String returns the string representation.
 11976  //
 11977  // API parameter values that are decorated as "sensitive" in the API will not
 11978  // be included in the string output. The member name will be present, but the
 11979  // value will be replaced with "sensitive".
 11980  func (s DeleteServiceActionInput) String() string {
 11981  	return awsutil.Prettify(s)
 11982  }
 11983  
 11984  // GoString returns the string representation.
 11985  //
 11986  // API parameter values that are decorated as "sensitive" in the API will not
 11987  // be included in the string output. The member name will be present, but the
 11988  // value will be replaced with "sensitive".
 11989  func (s DeleteServiceActionInput) GoString() string {
 11990  	return s.String()
 11991  }
 11992  
 11993  // Validate inspects the fields of the type to determine if they are valid.
 11994  func (s *DeleteServiceActionInput) Validate() error {
 11995  	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceActionInput"}
 11996  	if s.Id == nil {
 11997  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11998  	}
 11999  	if s.Id != nil && len(*s.Id) < 1 {
 12000  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 12001  	}
 12002  
 12003  	if invalidParams.Len() > 0 {
 12004  		return invalidParams
 12005  	}
 12006  	return nil
 12007  }
 12008  
 12009  // SetAcceptLanguage sets the AcceptLanguage field's value.
 12010  func (s *DeleteServiceActionInput) SetAcceptLanguage(v string) *DeleteServiceActionInput {
 12011  	s.AcceptLanguage = &v
 12012  	return s
 12013  }
 12014  
 12015  // SetId sets the Id field's value.
 12016  func (s *DeleteServiceActionInput) SetId(v string) *DeleteServiceActionInput {
 12017  	s.Id = &v
 12018  	return s
 12019  }
 12020  
 12021  type DeleteServiceActionOutput struct {
 12022  	_ struct{} `type:"structure"`
 12023  }
 12024  
 12025  // String returns the string representation.
 12026  //
 12027  // API parameter values that are decorated as "sensitive" in the API will not
 12028  // be included in the string output. The member name will be present, but the
 12029  // value will be replaced with "sensitive".
 12030  func (s DeleteServiceActionOutput) String() string {
 12031  	return awsutil.Prettify(s)
 12032  }
 12033  
 12034  // GoString returns the string representation.
 12035  //
 12036  // API parameter values that are decorated as "sensitive" in the API will not
 12037  // be included in the string output. The member name will be present, but the
 12038  // value will be replaced with "sensitive".
 12039  func (s DeleteServiceActionOutput) GoString() string {
 12040  	return s.String()
 12041  }
 12042  
 12043  type DeleteTagOptionInput struct {
 12044  	_ struct{} `type:"structure"`
 12045  
 12046  	// The TagOption identifier.
 12047  	//
 12048  	// Id is a required field
 12049  	Id *string `min:"1" type:"string" required:"true"`
 12050  }
 12051  
 12052  // String returns the string representation.
 12053  //
 12054  // API parameter values that are decorated as "sensitive" in the API will not
 12055  // be included in the string output. The member name will be present, but the
 12056  // value will be replaced with "sensitive".
 12057  func (s DeleteTagOptionInput) String() string {
 12058  	return awsutil.Prettify(s)
 12059  }
 12060  
 12061  // GoString returns the string representation.
 12062  //
 12063  // API parameter values that are decorated as "sensitive" in the API will not
 12064  // be included in the string output. The member name will be present, but the
 12065  // value will be replaced with "sensitive".
 12066  func (s DeleteTagOptionInput) GoString() string {
 12067  	return s.String()
 12068  }
 12069  
 12070  // Validate inspects the fields of the type to determine if they are valid.
 12071  func (s *DeleteTagOptionInput) Validate() error {
 12072  	invalidParams := request.ErrInvalidParams{Context: "DeleteTagOptionInput"}
 12073  	if s.Id == nil {
 12074  		invalidParams.Add(request.NewErrParamRequired("Id"))
 12075  	}
 12076  	if s.Id != nil && len(*s.Id) < 1 {
 12077  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 12078  	}
 12079  
 12080  	if invalidParams.Len() > 0 {
 12081  		return invalidParams
 12082  	}
 12083  	return nil
 12084  }
 12085  
 12086  // SetId sets the Id field's value.
 12087  func (s *DeleteTagOptionInput) SetId(v string) *DeleteTagOptionInput {
 12088  	s.Id = &v
 12089  	return s
 12090  }
 12091  
 12092  type DeleteTagOptionOutput struct {
 12093  	_ struct{} `type:"structure"`
 12094  }
 12095  
 12096  // String returns the string representation.
 12097  //
 12098  // API parameter values that are decorated as "sensitive" in the API will not
 12099  // be included in the string output. The member name will be present, but the
 12100  // value will be replaced with "sensitive".
 12101  func (s DeleteTagOptionOutput) String() string {
 12102  	return awsutil.Prettify(s)
 12103  }
 12104  
 12105  // GoString returns the string representation.
 12106  //
 12107  // API parameter values that are decorated as "sensitive" in the API will not
 12108  // be included in the string output. The member name will be present, but the
 12109  // value will be replaced with "sensitive".
 12110  func (s DeleteTagOptionOutput) GoString() string {
 12111  	return s.String()
 12112  }
 12113  
 12114  type DescribeConstraintInput struct {
 12115  	_ struct{} `type:"structure"`
 12116  
 12117  	// The language code.
 12118  	//
 12119  	//    * en - English (default)
 12120  	//
 12121  	//    * jp - Japanese
 12122  	//
 12123  	//    * zh - Chinese
 12124  	AcceptLanguage *string `type:"string"`
 12125  
 12126  	// The identifier of the constraint.
 12127  	//
 12128  	// Id is a required field
 12129  	Id *string `min:"1" type:"string" required:"true"`
 12130  }
 12131  
 12132  // String returns the string representation.
 12133  //
 12134  // API parameter values that are decorated as "sensitive" in the API will not
 12135  // be included in the string output. The member name will be present, but the
 12136  // value will be replaced with "sensitive".
 12137  func (s DescribeConstraintInput) String() string {
 12138  	return awsutil.Prettify(s)
 12139  }
 12140  
 12141  // GoString returns the string representation.
 12142  //
 12143  // API parameter values that are decorated as "sensitive" in the API will not
 12144  // be included in the string output. The member name will be present, but the
 12145  // value will be replaced with "sensitive".
 12146  func (s DescribeConstraintInput) GoString() string {
 12147  	return s.String()
 12148  }
 12149  
 12150  // Validate inspects the fields of the type to determine if they are valid.
 12151  func (s *DescribeConstraintInput) Validate() error {
 12152  	invalidParams := request.ErrInvalidParams{Context: "DescribeConstraintInput"}
 12153  	if s.Id == nil {
 12154  		invalidParams.Add(request.NewErrParamRequired("Id"))
 12155  	}
 12156  	if s.Id != nil && len(*s.Id) < 1 {
 12157  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 12158  	}
 12159  
 12160  	if invalidParams.Len() > 0 {
 12161  		return invalidParams
 12162  	}
 12163  	return nil
 12164  }
 12165  
 12166  // SetAcceptLanguage sets the AcceptLanguage field's value.
 12167  func (s *DescribeConstraintInput) SetAcceptLanguage(v string) *DescribeConstraintInput {
 12168  	s.AcceptLanguage = &v
 12169  	return s
 12170  }
 12171  
 12172  // SetId sets the Id field's value.
 12173  func (s *DescribeConstraintInput) SetId(v string) *DescribeConstraintInput {
 12174  	s.Id = &v
 12175  	return s
 12176  }
 12177  
 12178  type DescribeConstraintOutput struct {
 12179  	_ struct{} `type:"structure"`
 12180  
 12181  	// Information about the constraint.
 12182  	ConstraintDetail *ConstraintDetail `type:"structure"`
 12183  
 12184  	// The constraint parameters.
 12185  	ConstraintParameters *string `type:"string"`
 12186  
 12187  	// The status of the current request.
 12188  	Status *string `type:"string" enum:"Status"`
 12189  }
 12190  
 12191  // String returns the string representation.
 12192  //
 12193  // API parameter values that are decorated as "sensitive" in the API will not
 12194  // be included in the string output. The member name will be present, but the
 12195  // value will be replaced with "sensitive".
 12196  func (s DescribeConstraintOutput) String() string {
 12197  	return awsutil.Prettify(s)
 12198  }
 12199  
 12200  // GoString returns the string representation.
 12201  //
 12202  // API parameter values that are decorated as "sensitive" in the API will not
 12203  // be included in the string output. The member name will be present, but the
 12204  // value will be replaced with "sensitive".
 12205  func (s DescribeConstraintOutput) GoString() string {
 12206  	return s.String()
 12207  }
 12208  
 12209  // SetConstraintDetail sets the ConstraintDetail field's value.
 12210  func (s *DescribeConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *DescribeConstraintOutput {
 12211  	s.ConstraintDetail = v
 12212  	return s
 12213  }
 12214  
 12215  // SetConstraintParameters sets the ConstraintParameters field's value.
 12216  func (s *DescribeConstraintOutput) SetConstraintParameters(v string) *DescribeConstraintOutput {
 12217  	s.ConstraintParameters = &v
 12218  	return s
 12219  }
 12220  
 12221  // SetStatus sets the Status field's value.
 12222  func (s *DescribeConstraintOutput) SetStatus(v string) *DescribeConstraintOutput {
 12223  	s.Status = &v
 12224  	return s
 12225  }
 12226  
 12227  type DescribeCopyProductStatusInput struct {
 12228  	_ struct{} `type:"structure"`
 12229  
 12230  	// The language code.
 12231  	//
 12232  	//    * en - English (default)
 12233  	//
 12234  	//    * jp - Japanese
 12235  	//
 12236  	//    * zh - Chinese
 12237  	AcceptLanguage *string `type:"string"`
 12238  
 12239  	// The token for the copy product operation. This token is returned by CopyProduct.
 12240  	//
 12241  	// CopyProductToken is a required field
 12242  	CopyProductToken *string `min:"1" type:"string" required:"true"`
 12243  }
 12244  
 12245  // String returns the string representation.
 12246  //
 12247  // API parameter values that are decorated as "sensitive" in the API will not
 12248  // be included in the string output. The member name will be present, but the
 12249  // value will be replaced with "sensitive".
 12250  func (s DescribeCopyProductStatusInput) String() string {
 12251  	return awsutil.Prettify(s)
 12252  }
 12253  
 12254  // GoString returns the string representation.
 12255  //
 12256  // API parameter values that are decorated as "sensitive" in the API will not
 12257  // be included in the string output. The member name will be present, but the
 12258  // value will be replaced with "sensitive".
 12259  func (s DescribeCopyProductStatusInput) GoString() string {
 12260  	return s.String()
 12261  }
 12262  
 12263  // Validate inspects the fields of the type to determine if they are valid.
 12264  func (s *DescribeCopyProductStatusInput) Validate() error {
 12265  	invalidParams := request.ErrInvalidParams{Context: "DescribeCopyProductStatusInput"}
 12266  	if s.CopyProductToken == nil {
 12267  		invalidParams.Add(request.NewErrParamRequired("CopyProductToken"))
 12268  	}
 12269  	if s.CopyProductToken != nil && len(*s.CopyProductToken) < 1 {
 12270  		invalidParams.Add(request.NewErrParamMinLen("CopyProductToken", 1))
 12271  	}
 12272  
 12273  	if invalidParams.Len() > 0 {
 12274  		return invalidParams
 12275  	}
 12276  	return nil
 12277  }
 12278  
 12279  // SetAcceptLanguage sets the AcceptLanguage field's value.
 12280  func (s *DescribeCopyProductStatusInput) SetAcceptLanguage(v string) *DescribeCopyProductStatusInput {
 12281  	s.AcceptLanguage = &v
 12282  	return s
 12283  }
 12284  
 12285  // SetCopyProductToken sets the CopyProductToken field's value.
 12286  func (s *DescribeCopyProductStatusInput) SetCopyProductToken(v string) *DescribeCopyProductStatusInput {
 12287  	s.CopyProductToken = &v
 12288  	return s
 12289  }
 12290  
 12291  type DescribeCopyProductStatusOutput struct {
 12292  	_ struct{} `type:"structure"`
 12293  
 12294  	// The status of the copy product operation.
 12295  	CopyProductStatus *string `type:"string" enum:"CopyProductStatus"`
 12296  
 12297  	// The status message.
 12298  	StatusDetail *string `type:"string"`
 12299  
 12300  	// The identifier of the copied product.
 12301  	TargetProductId *string `min:"1" type:"string"`
 12302  }
 12303  
 12304  // String returns the string representation.
 12305  //
 12306  // API parameter values that are decorated as "sensitive" in the API will not
 12307  // be included in the string output. The member name will be present, but the
 12308  // value will be replaced with "sensitive".
 12309  func (s DescribeCopyProductStatusOutput) String() string {
 12310  	return awsutil.Prettify(s)
 12311  }
 12312  
 12313  // GoString returns the string representation.
 12314  //
 12315  // API parameter values that are decorated as "sensitive" in the API will not
 12316  // be included in the string output. The member name will be present, but the
 12317  // value will be replaced with "sensitive".
 12318  func (s DescribeCopyProductStatusOutput) GoString() string {
 12319  	return s.String()
 12320  }
 12321  
 12322  // SetCopyProductStatus sets the CopyProductStatus field's value.
 12323  func (s *DescribeCopyProductStatusOutput) SetCopyProductStatus(v string) *DescribeCopyProductStatusOutput {
 12324  	s.CopyProductStatus = &v
 12325  	return s
 12326  }
 12327  
 12328  // SetStatusDetail sets the StatusDetail field's value.
 12329  func (s *DescribeCopyProductStatusOutput) SetStatusDetail(v string) *DescribeCopyProductStatusOutput {
 12330  	s.StatusDetail = &v
 12331  	return s
 12332  }
 12333  
 12334  // SetTargetProductId sets the TargetProductId field's value.
 12335  func (s *DescribeCopyProductStatusOutput) SetTargetProductId(v string) *DescribeCopyProductStatusOutput {
 12336  	s.TargetProductId = &v
 12337  	return s
 12338  }
 12339  
 12340  type DescribePortfolioInput struct {
 12341  	_ struct{} `type:"structure"`
 12342  
 12343  	// The language code.
 12344  	//
 12345  	//    * en - English (default)
 12346  	//
 12347  	//    * jp - Japanese
 12348  	//
 12349  	//    * zh - Chinese
 12350  	AcceptLanguage *string `type:"string"`
 12351  
 12352  	// The portfolio identifier.
 12353  	//
 12354  	// Id is a required field
 12355  	Id *string `min:"1" type:"string" required:"true"`
 12356  }
 12357  
 12358  // String returns the string representation.
 12359  //
 12360  // API parameter values that are decorated as "sensitive" in the API will not
 12361  // be included in the string output. The member name will be present, but the
 12362  // value will be replaced with "sensitive".
 12363  func (s DescribePortfolioInput) String() string {
 12364  	return awsutil.Prettify(s)
 12365  }
 12366  
 12367  // GoString returns the string representation.
 12368  //
 12369  // API parameter values that are decorated as "sensitive" in the API will not
 12370  // be included in the string output. The member name will be present, but the
 12371  // value will be replaced with "sensitive".
 12372  func (s DescribePortfolioInput) GoString() string {
 12373  	return s.String()
 12374  }
 12375  
 12376  // Validate inspects the fields of the type to determine if they are valid.
 12377  func (s *DescribePortfolioInput) Validate() error {
 12378  	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioInput"}
 12379  	if s.Id == nil {
 12380  		invalidParams.Add(request.NewErrParamRequired("Id"))
 12381  	}
 12382  	if s.Id != nil && len(*s.Id) < 1 {
 12383  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 12384  	}
 12385  
 12386  	if invalidParams.Len() > 0 {
 12387  		return invalidParams
 12388  	}
 12389  	return nil
 12390  }
 12391  
 12392  // SetAcceptLanguage sets the AcceptLanguage field's value.
 12393  func (s *DescribePortfolioInput) SetAcceptLanguage(v string) *DescribePortfolioInput {
 12394  	s.AcceptLanguage = &v
 12395  	return s
 12396  }
 12397  
 12398  // SetId sets the Id field's value.
 12399  func (s *DescribePortfolioInput) SetId(v string) *DescribePortfolioInput {
 12400  	s.Id = &v
 12401  	return s
 12402  }
 12403  
 12404  type DescribePortfolioOutput struct {
 12405  	_ struct{} `type:"structure"`
 12406  
 12407  	// Information about the associated budgets.
 12408  	Budgets []*BudgetDetail `type:"list"`
 12409  
 12410  	// Information about the portfolio.
 12411  	PortfolioDetail *PortfolioDetail `type:"structure"`
 12412  
 12413  	// Information about the TagOptions associated with the portfolio.
 12414  	TagOptions []*TagOptionDetail `type:"list"`
 12415  
 12416  	// Information about the tags associated with the portfolio.
 12417  	Tags []*Tag `type:"list"`
 12418  }
 12419  
 12420  // String returns the string representation.
 12421  //
 12422  // API parameter values that are decorated as "sensitive" in the API will not
 12423  // be included in the string output. The member name will be present, but the
 12424  // value will be replaced with "sensitive".
 12425  func (s DescribePortfolioOutput) String() string {
 12426  	return awsutil.Prettify(s)
 12427  }
 12428  
 12429  // GoString returns the string representation.
 12430  //
 12431  // API parameter values that are decorated as "sensitive" in the API will not
 12432  // be included in the string output. The member name will be present, but the
 12433  // value will be replaced with "sensitive".
 12434  func (s DescribePortfolioOutput) GoString() string {
 12435  	return s.String()
 12436  }
 12437  
 12438  // SetBudgets sets the Budgets field's value.
 12439  func (s *DescribePortfolioOutput) SetBudgets(v []*BudgetDetail) *DescribePortfolioOutput {
 12440  	s.Budgets = v
 12441  	return s
 12442  }
 12443  
 12444  // SetPortfolioDetail sets the PortfolioDetail field's value.
 12445  func (s *DescribePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *DescribePortfolioOutput {
 12446  	s.PortfolioDetail = v
 12447  	return s
 12448  }
 12449  
 12450  // SetTagOptions sets the TagOptions field's value.
 12451  func (s *DescribePortfolioOutput) SetTagOptions(v []*TagOptionDetail) *DescribePortfolioOutput {
 12452  	s.TagOptions = v
 12453  	return s
 12454  }
 12455  
 12456  // SetTags sets the Tags field's value.
 12457  func (s *DescribePortfolioOutput) SetTags(v []*Tag) *DescribePortfolioOutput {
 12458  	s.Tags = v
 12459  	return s
 12460  }
 12461  
 12462  type DescribePortfolioShareStatusInput struct {
 12463  	_ struct{} `type:"structure"`
 12464  
 12465  	// The token for the portfolio share operation. This token is returned either
 12466  	// by CreatePortfolioShare or by DeletePortfolioShare.
 12467  	//
 12468  	// PortfolioShareToken is a required field
 12469  	PortfolioShareToken *string `min:"1" type:"string" required:"true"`
 12470  }
 12471  
 12472  // String returns the string representation.
 12473  //
 12474  // API parameter values that are decorated as "sensitive" in the API will not
 12475  // be included in the string output. The member name will be present, but the
 12476  // value will be replaced with "sensitive".
 12477  func (s DescribePortfolioShareStatusInput) String() string {
 12478  	return awsutil.Prettify(s)
 12479  }
 12480  
 12481  // GoString returns the string representation.
 12482  //
 12483  // API parameter values that are decorated as "sensitive" in the API will not
 12484  // be included in the string output. The member name will be present, but the
 12485  // value will be replaced with "sensitive".
 12486  func (s DescribePortfolioShareStatusInput) GoString() string {
 12487  	return s.String()
 12488  }
 12489  
 12490  // Validate inspects the fields of the type to determine if they are valid.
 12491  func (s *DescribePortfolioShareStatusInput) Validate() error {
 12492  	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioShareStatusInput"}
 12493  	if s.PortfolioShareToken == nil {
 12494  		invalidParams.Add(request.NewErrParamRequired("PortfolioShareToken"))
 12495  	}
 12496  	if s.PortfolioShareToken != nil && len(*s.PortfolioShareToken) < 1 {
 12497  		invalidParams.Add(request.NewErrParamMinLen("PortfolioShareToken", 1))
 12498  	}
 12499  
 12500  	if invalidParams.Len() > 0 {
 12501  		return invalidParams
 12502  	}
 12503  	return nil
 12504  }
 12505  
 12506  // SetPortfolioShareToken sets the PortfolioShareToken field's value.
 12507  func (s *DescribePortfolioShareStatusInput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusInput {
 12508  	s.PortfolioShareToken = &v
 12509  	return s
 12510  }
 12511  
 12512  type DescribePortfolioShareStatusOutput struct {
 12513  	_ struct{} `type:"structure"`
 12514  
 12515  	// Organization node identifier. It can be either account id, organizational
 12516  	// unit id or organization id.
 12517  	OrganizationNodeValue *string `type:"string"`
 12518  
 12519  	// The portfolio identifier.
 12520  	PortfolioId *string `min:"1" type:"string"`
 12521  
 12522  	// The token for the portfolio share operation. For example, share-6v24abcdefghi.
 12523  	PortfolioShareToken *string `min:"1" type:"string"`
 12524  
 12525  	// Information about the portfolio share operation.
 12526  	ShareDetails *ShareDetails `type:"structure"`
 12527  
 12528  	// Status of the portfolio share operation.
 12529  	Status *string `type:"string" enum:"ShareStatus"`
 12530  }
 12531  
 12532  // String returns the string representation.
 12533  //
 12534  // API parameter values that are decorated as "sensitive" in the API will not
 12535  // be included in the string output. The member name will be present, but the
 12536  // value will be replaced with "sensitive".
 12537  func (s DescribePortfolioShareStatusOutput) String() string {
 12538  	return awsutil.Prettify(s)
 12539  }
 12540  
 12541  // GoString returns the string representation.
 12542  //
 12543  // API parameter values that are decorated as "sensitive" in the API will not
 12544  // be included in the string output. The member name will be present, but the
 12545  // value will be replaced with "sensitive".
 12546  func (s DescribePortfolioShareStatusOutput) GoString() string {
 12547  	return s.String()
 12548  }
 12549  
 12550  // SetOrganizationNodeValue sets the OrganizationNodeValue field's value.
 12551  func (s *DescribePortfolioShareStatusOutput) SetOrganizationNodeValue(v string) *DescribePortfolioShareStatusOutput {
 12552  	s.OrganizationNodeValue = &v
 12553  	return s
 12554  }
 12555  
 12556  // SetPortfolioId sets the PortfolioId field's value.
 12557  func (s *DescribePortfolioShareStatusOutput) SetPortfolioId(v string) *DescribePortfolioShareStatusOutput {
 12558  	s.PortfolioId = &v
 12559  	return s
 12560  }
 12561  
 12562  // SetPortfolioShareToken sets the PortfolioShareToken field's value.
 12563  func (s *DescribePortfolioShareStatusOutput) SetPortfolioShareToken(v string) *DescribePortfolioShareStatusOutput {
 12564  	s.PortfolioShareToken = &v
 12565  	return s
 12566  }
 12567  
 12568  // SetShareDetails sets the ShareDetails field's value.
 12569  func (s *DescribePortfolioShareStatusOutput) SetShareDetails(v *ShareDetails) *DescribePortfolioShareStatusOutput {
 12570  	s.ShareDetails = v
 12571  	return s
 12572  }
 12573  
 12574  // SetStatus sets the Status field's value.
 12575  func (s *DescribePortfolioShareStatusOutput) SetStatus(v string) *DescribePortfolioShareStatusOutput {
 12576  	s.Status = &v
 12577  	return s
 12578  }
 12579  
 12580  type DescribePortfolioSharesInput struct {
 12581  	_ struct{} `type:"structure"`
 12582  
 12583  	// The maximum number of items to return with this call.
 12584  	PageSize *int64 `type:"integer"`
 12585  
 12586  	// The page token for the next set of results. To retrieve the first set of
 12587  	// results, use null.
 12588  	PageToken *string `type:"string"`
 12589  
 12590  	// The unique identifier of the portfolio for which shares will be retrieved.
 12591  	//
 12592  	// PortfolioId is a required field
 12593  	PortfolioId *string `min:"1" type:"string" required:"true"`
 12594  
 12595  	// The type of portfolio share to summarize. This field acts as a filter on
 12596  	// the type of portfolio share, which can be one of the following:
 12597  	//
 12598  	// 1. ACCOUNT - Represents an external account to account share.
 12599  	//
 12600  	// 2. ORGANIZATION - Represents a share to an organization. This share is available
 12601  	// to every account in the organization.
 12602  	//
 12603  	// 3. ORGANIZATIONAL_UNIT - Represents a share to an organizational unit.
 12604  	//
 12605  	// 4. ORGANIZATION_MEMBER_ACCOUNT - Represents a share to an account in the
 12606  	// organization.
 12607  	//
 12608  	// Type is a required field
 12609  	Type *string `type:"string" required:"true" enum:"DescribePortfolioShareType"`
 12610  }
 12611  
 12612  // String returns the string representation.
 12613  //
 12614  // API parameter values that are decorated as "sensitive" in the API will not
 12615  // be included in the string output. The member name will be present, but the
 12616  // value will be replaced with "sensitive".
 12617  func (s DescribePortfolioSharesInput) String() string {
 12618  	return awsutil.Prettify(s)
 12619  }
 12620  
 12621  // GoString returns the string representation.
 12622  //
 12623  // API parameter values that are decorated as "sensitive" in the API will not
 12624  // be included in the string output. The member name will be present, but the
 12625  // value will be replaced with "sensitive".
 12626  func (s DescribePortfolioSharesInput) GoString() string {
 12627  	return s.String()
 12628  }
 12629  
 12630  // Validate inspects the fields of the type to determine if they are valid.
 12631  func (s *DescribePortfolioSharesInput) Validate() error {
 12632  	invalidParams := request.ErrInvalidParams{Context: "DescribePortfolioSharesInput"}
 12633  	if s.PortfolioId == nil {
 12634  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 12635  	}
 12636  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 12637  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 12638  	}
 12639  	if s.Type == nil {
 12640  		invalidParams.Add(request.NewErrParamRequired("Type"))
 12641  	}
 12642  
 12643  	if invalidParams.Len() > 0 {
 12644  		return invalidParams
 12645  	}
 12646  	return nil
 12647  }
 12648  
 12649  // SetPageSize sets the PageSize field's value.
 12650  func (s *DescribePortfolioSharesInput) SetPageSize(v int64) *DescribePortfolioSharesInput {
 12651  	s.PageSize = &v
 12652  	return s
 12653  }
 12654  
 12655  // SetPageToken sets the PageToken field's value.
 12656  func (s *DescribePortfolioSharesInput) SetPageToken(v string) *DescribePortfolioSharesInput {
 12657  	s.PageToken = &v
 12658  	return s
 12659  }
 12660  
 12661  // SetPortfolioId sets the PortfolioId field's value.
 12662  func (s *DescribePortfolioSharesInput) SetPortfolioId(v string) *DescribePortfolioSharesInput {
 12663  	s.PortfolioId = &v
 12664  	return s
 12665  }
 12666  
 12667  // SetType sets the Type field's value.
 12668  func (s *DescribePortfolioSharesInput) SetType(v string) *DescribePortfolioSharesInput {
 12669  	s.Type = &v
 12670  	return s
 12671  }
 12672  
 12673  type DescribePortfolioSharesOutput struct {
 12674  	_ struct{} `type:"structure"`
 12675  
 12676  	// The page token to use to retrieve the next set of results. If there are no
 12677  	// additional results, this value is null.
 12678  	NextPageToken *string `type:"string"`
 12679  
 12680  	// Summaries about each of the portfolio shares.
 12681  	PortfolioShareDetails []*PortfolioShareDetail `type:"list"`
 12682  }
 12683  
 12684  // String returns the string representation.
 12685  //
 12686  // API parameter values that are decorated as "sensitive" in the API will not
 12687  // be included in the string output. The member name will be present, but the
 12688  // value will be replaced with "sensitive".
 12689  func (s DescribePortfolioSharesOutput) String() string {
 12690  	return awsutil.Prettify(s)
 12691  }
 12692  
 12693  // GoString returns the string representation.
 12694  //
 12695  // API parameter values that are decorated as "sensitive" in the API will not
 12696  // be included in the string output. The member name will be present, but the
 12697  // value will be replaced with "sensitive".
 12698  func (s DescribePortfolioSharesOutput) GoString() string {
 12699  	return s.String()
 12700  }
 12701  
 12702  // SetNextPageToken sets the NextPageToken field's value.
 12703  func (s *DescribePortfolioSharesOutput) SetNextPageToken(v string) *DescribePortfolioSharesOutput {
 12704  	s.NextPageToken = &v
 12705  	return s
 12706  }
 12707  
 12708  // SetPortfolioShareDetails sets the PortfolioShareDetails field's value.
 12709  func (s *DescribePortfolioSharesOutput) SetPortfolioShareDetails(v []*PortfolioShareDetail) *DescribePortfolioSharesOutput {
 12710  	s.PortfolioShareDetails = v
 12711  	return s
 12712  }
 12713  
 12714  type DescribeProductAsAdminInput struct {
 12715  	_ struct{} `type:"structure"`
 12716  
 12717  	// The language code.
 12718  	//
 12719  	//    * en - English (default)
 12720  	//
 12721  	//    * jp - Japanese
 12722  	//
 12723  	//    * zh - Chinese
 12724  	AcceptLanguage *string `type:"string"`
 12725  
 12726  	// The product identifier.
 12727  	Id *string `min:"1" type:"string"`
 12728  
 12729  	// The product name.
 12730  	Name *string `type:"string"`
 12731  
 12732  	// The unique identifier of the shared portfolio that the specified product
 12733  	// is associated with.
 12734  	//
 12735  	// You can provide this parameter to retrieve the shared TagOptions associated
 12736  	// with the product. If this parameter is provided and if TagOptions sharing
 12737  	// is enabled in the portfolio share, the API returns both local and shared
 12738  	// TagOptions associated with the product. Otherwise only local TagOptions will
 12739  	// be returned.
 12740  	SourcePortfolioId *string `min:"1" type:"string"`
 12741  }
 12742  
 12743  // String returns the string representation.
 12744  //
 12745  // API parameter values that are decorated as "sensitive" in the API will not
 12746  // be included in the string output. The member name will be present, but the
 12747  // value will be replaced with "sensitive".
 12748  func (s DescribeProductAsAdminInput) String() string {
 12749  	return awsutil.Prettify(s)
 12750  }
 12751  
 12752  // GoString returns the string representation.
 12753  //
 12754  // API parameter values that are decorated as "sensitive" in the API will not
 12755  // be included in the string output. The member name will be present, but the
 12756  // value will be replaced with "sensitive".
 12757  func (s DescribeProductAsAdminInput) GoString() string {
 12758  	return s.String()
 12759  }
 12760  
 12761  // Validate inspects the fields of the type to determine if they are valid.
 12762  func (s *DescribeProductAsAdminInput) Validate() error {
 12763  	invalidParams := request.ErrInvalidParams{Context: "DescribeProductAsAdminInput"}
 12764  	if s.Id != nil && len(*s.Id) < 1 {
 12765  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 12766  	}
 12767  	if s.SourcePortfolioId != nil && len(*s.SourcePortfolioId) < 1 {
 12768  		invalidParams.Add(request.NewErrParamMinLen("SourcePortfolioId", 1))
 12769  	}
 12770  
 12771  	if invalidParams.Len() > 0 {
 12772  		return invalidParams
 12773  	}
 12774  	return nil
 12775  }
 12776  
 12777  // SetAcceptLanguage sets the AcceptLanguage field's value.
 12778  func (s *DescribeProductAsAdminInput) SetAcceptLanguage(v string) *DescribeProductAsAdminInput {
 12779  	s.AcceptLanguage = &v
 12780  	return s
 12781  }
 12782  
 12783  // SetId sets the Id field's value.
 12784  func (s *DescribeProductAsAdminInput) SetId(v string) *DescribeProductAsAdminInput {
 12785  	s.Id = &v
 12786  	return s
 12787  }
 12788  
 12789  // SetName sets the Name field's value.
 12790  func (s *DescribeProductAsAdminInput) SetName(v string) *DescribeProductAsAdminInput {
 12791  	s.Name = &v
 12792  	return s
 12793  }
 12794  
 12795  // SetSourcePortfolioId sets the SourcePortfolioId field's value.
 12796  func (s *DescribeProductAsAdminInput) SetSourcePortfolioId(v string) *DescribeProductAsAdminInput {
 12797  	s.SourcePortfolioId = &v
 12798  	return s
 12799  }
 12800  
 12801  type DescribeProductAsAdminOutput struct {
 12802  	_ struct{} `type:"structure"`
 12803  
 12804  	// Information about the associated budgets.
 12805  	Budgets []*BudgetDetail `type:"list"`
 12806  
 12807  	// Information about the product view.
 12808  	ProductViewDetail *ProductViewDetail `type:"structure"`
 12809  
 12810  	// Information about the provisioning artifacts (also known as versions) for
 12811  	// the specified product.
 12812  	ProvisioningArtifactSummaries []*ProvisioningArtifactSummary `type:"list"`
 12813  
 12814  	// Information about the TagOptions associated with the product.
 12815  	TagOptions []*TagOptionDetail `type:"list"`
 12816  
 12817  	// Information about the tags associated with the product.
 12818  	Tags []*Tag `type:"list"`
 12819  }
 12820  
 12821  // String returns the string representation.
 12822  //
 12823  // API parameter values that are decorated as "sensitive" in the API will not
 12824  // be included in the string output. The member name will be present, but the
 12825  // value will be replaced with "sensitive".
 12826  func (s DescribeProductAsAdminOutput) String() string {
 12827  	return awsutil.Prettify(s)
 12828  }
 12829  
 12830  // GoString returns the string representation.
 12831  //
 12832  // API parameter values that are decorated as "sensitive" in the API will not
 12833  // be included in the string output. The member name will be present, but the
 12834  // value will be replaced with "sensitive".
 12835  func (s DescribeProductAsAdminOutput) GoString() string {
 12836  	return s.String()
 12837  }
 12838  
 12839  // SetBudgets sets the Budgets field's value.
 12840  func (s *DescribeProductAsAdminOutput) SetBudgets(v []*BudgetDetail) *DescribeProductAsAdminOutput {
 12841  	s.Budgets = v
 12842  	return s
 12843  }
 12844  
 12845  // SetProductViewDetail sets the ProductViewDetail field's value.
 12846  func (s *DescribeProductAsAdminOutput) SetProductViewDetail(v *ProductViewDetail) *DescribeProductAsAdminOutput {
 12847  	s.ProductViewDetail = v
 12848  	return s
 12849  }
 12850  
 12851  // SetProvisioningArtifactSummaries sets the ProvisioningArtifactSummaries field's value.
 12852  func (s *DescribeProductAsAdminOutput) SetProvisioningArtifactSummaries(v []*ProvisioningArtifactSummary) *DescribeProductAsAdminOutput {
 12853  	s.ProvisioningArtifactSummaries = v
 12854  	return s
 12855  }
 12856  
 12857  // SetTagOptions sets the TagOptions field's value.
 12858  func (s *DescribeProductAsAdminOutput) SetTagOptions(v []*TagOptionDetail) *DescribeProductAsAdminOutput {
 12859  	s.TagOptions = v
 12860  	return s
 12861  }
 12862  
 12863  // SetTags sets the Tags field's value.
 12864  func (s *DescribeProductAsAdminOutput) SetTags(v []*Tag) *DescribeProductAsAdminOutput {
 12865  	s.Tags = v
 12866  	return s
 12867  }
 12868  
 12869  type DescribeProductInput struct {
 12870  	_ struct{} `type:"structure"`
 12871  
 12872  	// The language code.
 12873  	//
 12874  	//    * en - English (default)
 12875  	//
 12876  	//    * jp - Japanese
 12877  	//
 12878  	//    * zh - Chinese
 12879  	AcceptLanguage *string `type:"string"`
 12880  
 12881  	// The product identifier.
 12882  	Id *string `min:"1" type:"string"`
 12883  
 12884  	// The product name.
 12885  	Name *string `type:"string"`
 12886  }
 12887  
 12888  // String returns the string representation.
 12889  //
 12890  // API parameter values that are decorated as "sensitive" in the API will not
 12891  // be included in the string output. The member name will be present, but the
 12892  // value will be replaced with "sensitive".
 12893  func (s DescribeProductInput) String() string {
 12894  	return awsutil.Prettify(s)
 12895  }
 12896  
 12897  // GoString returns the string representation.
 12898  //
 12899  // API parameter values that are decorated as "sensitive" in the API will not
 12900  // be included in the string output. The member name will be present, but the
 12901  // value will be replaced with "sensitive".
 12902  func (s DescribeProductInput) GoString() string {
 12903  	return s.String()
 12904  }
 12905  
 12906  // Validate inspects the fields of the type to determine if they are valid.
 12907  func (s *DescribeProductInput) Validate() error {
 12908  	invalidParams := request.ErrInvalidParams{Context: "DescribeProductInput"}
 12909  	if s.Id != nil && len(*s.Id) < 1 {
 12910  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 12911  	}
 12912  
 12913  	if invalidParams.Len() > 0 {
 12914  		return invalidParams
 12915  	}
 12916  	return nil
 12917  }
 12918  
 12919  // SetAcceptLanguage sets the AcceptLanguage field's value.
 12920  func (s *DescribeProductInput) SetAcceptLanguage(v string) *DescribeProductInput {
 12921  	s.AcceptLanguage = &v
 12922  	return s
 12923  }
 12924  
 12925  // SetId sets the Id field's value.
 12926  func (s *DescribeProductInput) SetId(v string) *DescribeProductInput {
 12927  	s.Id = &v
 12928  	return s
 12929  }
 12930  
 12931  // SetName sets the Name field's value.
 12932  func (s *DescribeProductInput) SetName(v string) *DescribeProductInput {
 12933  	s.Name = &v
 12934  	return s
 12935  }
 12936  
 12937  type DescribeProductOutput struct {
 12938  	_ struct{} `type:"structure"`
 12939  
 12940  	// Information about the associated budgets.
 12941  	Budgets []*BudgetDetail `type:"list"`
 12942  
 12943  	// Information about the associated launch paths.
 12944  	LaunchPaths []*LaunchPath `type:"list"`
 12945  
 12946  	// Summary information about the product view.
 12947  	ProductViewSummary *ProductViewSummary `type:"structure"`
 12948  
 12949  	// Information about the provisioning artifacts for the specified product.
 12950  	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
 12951  }
 12952  
 12953  // String returns the string representation.
 12954  //
 12955  // API parameter values that are decorated as "sensitive" in the API will not
 12956  // be included in the string output. The member name will be present, but the
 12957  // value will be replaced with "sensitive".
 12958  func (s DescribeProductOutput) String() string {
 12959  	return awsutil.Prettify(s)
 12960  }
 12961  
 12962  // GoString returns the string representation.
 12963  //
 12964  // API parameter values that are decorated as "sensitive" in the API will not
 12965  // be included in the string output. The member name will be present, but the
 12966  // value will be replaced with "sensitive".
 12967  func (s DescribeProductOutput) GoString() string {
 12968  	return s.String()
 12969  }
 12970  
 12971  // SetBudgets sets the Budgets field's value.
 12972  func (s *DescribeProductOutput) SetBudgets(v []*BudgetDetail) *DescribeProductOutput {
 12973  	s.Budgets = v
 12974  	return s
 12975  }
 12976  
 12977  // SetLaunchPaths sets the LaunchPaths field's value.
 12978  func (s *DescribeProductOutput) SetLaunchPaths(v []*LaunchPath) *DescribeProductOutput {
 12979  	s.LaunchPaths = v
 12980  	return s
 12981  }
 12982  
 12983  // SetProductViewSummary sets the ProductViewSummary field's value.
 12984  func (s *DescribeProductOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductOutput {
 12985  	s.ProductViewSummary = v
 12986  	return s
 12987  }
 12988  
 12989  // SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
 12990  func (s *DescribeProductOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductOutput {
 12991  	s.ProvisioningArtifacts = v
 12992  	return s
 12993  }
 12994  
 12995  type DescribeProductViewInput struct {
 12996  	_ struct{} `type:"structure"`
 12997  
 12998  	// The language code.
 12999  	//
 13000  	//    * en - English (default)
 13001  	//
 13002  	//    * jp - Japanese
 13003  	//
 13004  	//    * zh - Chinese
 13005  	AcceptLanguage *string `type:"string"`
 13006  
 13007  	// The product view identifier.
 13008  	//
 13009  	// Id is a required field
 13010  	Id *string `min:"1" type:"string" required:"true"`
 13011  }
 13012  
 13013  // String returns the string representation.
 13014  //
 13015  // API parameter values that are decorated as "sensitive" in the API will not
 13016  // be included in the string output. The member name will be present, but the
 13017  // value will be replaced with "sensitive".
 13018  func (s DescribeProductViewInput) String() string {
 13019  	return awsutil.Prettify(s)
 13020  }
 13021  
 13022  // GoString returns the string representation.
 13023  //
 13024  // API parameter values that are decorated as "sensitive" in the API will not
 13025  // be included in the string output. The member name will be present, but the
 13026  // value will be replaced with "sensitive".
 13027  func (s DescribeProductViewInput) GoString() string {
 13028  	return s.String()
 13029  }
 13030  
 13031  // Validate inspects the fields of the type to determine if they are valid.
 13032  func (s *DescribeProductViewInput) Validate() error {
 13033  	invalidParams := request.ErrInvalidParams{Context: "DescribeProductViewInput"}
 13034  	if s.Id == nil {
 13035  		invalidParams.Add(request.NewErrParamRequired("Id"))
 13036  	}
 13037  	if s.Id != nil && len(*s.Id) < 1 {
 13038  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 13039  	}
 13040  
 13041  	if invalidParams.Len() > 0 {
 13042  		return invalidParams
 13043  	}
 13044  	return nil
 13045  }
 13046  
 13047  // SetAcceptLanguage sets the AcceptLanguage field's value.
 13048  func (s *DescribeProductViewInput) SetAcceptLanguage(v string) *DescribeProductViewInput {
 13049  	s.AcceptLanguage = &v
 13050  	return s
 13051  }
 13052  
 13053  // SetId sets the Id field's value.
 13054  func (s *DescribeProductViewInput) SetId(v string) *DescribeProductViewInput {
 13055  	s.Id = &v
 13056  	return s
 13057  }
 13058  
 13059  type DescribeProductViewOutput struct {
 13060  	_ struct{} `type:"structure"`
 13061  
 13062  	// Summary information about the product.
 13063  	ProductViewSummary *ProductViewSummary `type:"structure"`
 13064  
 13065  	// Information about the provisioning artifacts for the product.
 13066  	ProvisioningArtifacts []*ProvisioningArtifact `type:"list"`
 13067  }
 13068  
 13069  // String returns the string representation.
 13070  //
 13071  // API parameter values that are decorated as "sensitive" in the API will not
 13072  // be included in the string output. The member name will be present, but the
 13073  // value will be replaced with "sensitive".
 13074  func (s DescribeProductViewOutput) String() string {
 13075  	return awsutil.Prettify(s)
 13076  }
 13077  
 13078  // GoString returns the string representation.
 13079  //
 13080  // API parameter values that are decorated as "sensitive" in the API will not
 13081  // be included in the string output. The member name will be present, but the
 13082  // value will be replaced with "sensitive".
 13083  func (s DescribeProductViewOutput) GoString() string {
 13084  	return s.String()
 13085  }
 13086  
 13087  // SetProductViewSummary sets the ProductViewSummary field's value.
 13088  func (s *DescribeProductViewOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductViewOutput {
 13089  	s.ProductViewSummary = v
 13090  	return s
 13091  }
 13092  
 13093  // SetProvisioningArtifacts sets the ProvisioningArtifacts field's value.
 13094  func (s *DescribeProductViewOutput) SetProvisioningArtifacts(v []*ProvisioningArtifact) *DescribeProductViewOutput {
 13095  	s.ProvisioningArtifacts = v
 13096  	return s
 13097  }
 13098  
 13099  // DescribeProvisionedProductAPI input structure. AcceptLanguage - [Optional]
 13100  // The language code for localization. Id - [Optional] The provisioned product
 13101  // identifier. Name - [Optional] Another provisioned product identifier. Customers
 13102  // must provide either Id or Name.
 13103  type DescribeProvisionedProductInput struct {
 13104  	_ struct{} `type:"structure"`
 13105  
 13106  	// The language code.
 13107  	//
 13108  	//    * en - English (default)
 13109  	//
 13110  	//    * jp - Japanese
 13111  	//
 13112  	//    * zh - Chinese
 13113  	AcceptLanguage *string `type:"string"`
 13114  
 13115  	// The provisioned product identifier. You must provide the name or ID, but
 13116  	// not both.
 13117  	//
 13118  	// If you do not provide a name or ID, or you provide both name and ID, an InvalidParametersException
 13119  	// will occur.
 13120  	Id *string `min:"1" type:"string"`
 13121  
 13122  	// The name of the provisioned product. You must provide the name or ID, but
 13123  	// not both.
 13124  	//
 13125  	// If you do not provide a name or ID, or you provide both name and ID, an InvalidParametersException
 13126  	// will occur.
 13127  	Name *string `min:"1" type:"string"`
 13128  }
 13129  
 13130  // String returns the string representation.
 13131  //
 13132  // API parameter values that are decorated as "sensitive" in the API will not
 13133  // be included in the string output. The member name will be present, but the
 13134  // value will be replaced with "sensitive".
 13135  func (s DescribeProvisionedProductInput) String() string {
 13136  	return awsutil.Prettify(s)
 13137  }
 13138  
 13139  // GoString returns the string representation.
 13140  //
 13141  // API parameter values that are decorated as "sensitive" in the API will not
 13142  // be included in the string output. The member name will be present, but the
 13143  // value will be replaced with "sensitive".
 13144  func (s DescribeProvisionedProductInput) GoString() string {
 13145  	return s.String()
 13146  }
 13147  
 13148  // Validate inspects the fields of the type to determine if they are valid.
 13149  func (s *DescribeProvisionedProductInput) Validate() error {
 13150  	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductInput"}
 13151  	if s.Id != nil && len(*s.Id) < 1 {
 13152  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 13153  	}
 13154  	if s.Name != nil && len(*s.Name) < 1 {
 13155  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13156  	}
 13157  
 13158  	if invalidParams.Len() > 0 {
 13159  		return invalidParams
 13160  	}
 13161  	return nil
 13162  }
 13163  
 13164  // SetAcceptLanguage sets the AcceptLanguage field's value.
 13165  func (s *DescribeProvisionedProductInput) SetAcceptLanguage(v string) *DescribeProvisionedProductInput {
 13166  	s.AcceptLanguage = &v
 13167  	return s
 13168  }
 13169  
 13170  // SetId sets the Id field's value.
 13171  func (s *DescribeProvisionedProductInput) SetId(v string) *DescribeProvisionedProductInput {
 13172  	s.Id = &v
 13173  	return s
 13174  }
 13175  
 13176  // SetName sets the Name field's value.
 13177  func (s *DescribeProvisionedProductInput) SetName(v string) *DescribeProvisionedProductInput {
 13178  	s.Name = &v
 13179  	return s
 13180  }
 13181  
 13182  type DescribeProvisionedProductOutput struct {
 13183  	_ struct{} `type:"structure"`
 13184  
 13185  	// Any CloudWatch dashboards that were created when provisioning the product.
 13186  	CloudWatchDashboards []*CloudWatchDashboard `type:"list"`
 13187  
 13188  	// Information about the provisioned product.
 13189  	ProvisionedProductDetail *ProvisionedProductDetail `type:"structure"`
 13190  }
 13191  
 13192  // String returns the string representation.
 13193  //
 13194  // API parameter values that are decorated as "sensitive" in the API will not
 13195  // be included in the string output. The member name will be present, but the
 13196  // value will be replaced with "sensitive".
 13197  func (s DescribeProvisionedProductOutput) String() string {
 13198  	return awsutil.Prettify(s)
 13199  }
 13200  
 13201  // GoString returns the string representation.
 13202  //
 13203  // API parameter values that are decorated as "sensitive" in the API will not
 13204  // be included in the string output. The member name will be present, but the
 13205  // value will be replaced with "sensitive".
 13206  func (s DescribeProvisionedProductOutput) GoString() string {
 13207  	return s.String()
 13208  }
 13209  
 13210  // SetCloudWatchDashboards sets the CloudWatchDashboards field's value.
 13211  func (s *DescribeProvisionedProductOutput) SetCloudWatchDashboards(v []*CloudWatchDashboard) *DescribeProvisionedProductOutput {
 13212  	s.CloudWatchDashboards = v
 13213  	return s
 13214  }
 13215  
 13216  // SetProvisionedProductDetail sets the ProvisionedProductDetail field's value.
 13217  func (s *DescribeProvisionedProductOutput) SetProvisionedProductDetail(v *ProvisionedProductDetail) *DescribeProvisionedProductOutput {
 13218  	s.ProvisionedProductDetail = v
 13219  	return s
 13220  }
 13221  
 13222  type DescribeProvisionedProductPlanInput struct {
 13223  	_ struct{} `type:"structure"`
 13224  
 13225  	// The language code.
 13226  	//
 13227  	//    * en - English (default)
 13228  	//
 13229  	//    * jp - Japanese
 13230  	//
 13231  	//    * zh - Chinese
 13232  	AcceptLanguage *string `type:"string"`
 13233  
 13234  	// The maximum number of items to return with this call.
 13235  	PageSize *int64 `type:"integer"`
 13236  
 13237  	// The page token for the next set of results. To retrieve the first set of
 13238  	// results, use null.
 13239  	PageToken *string `type:"string"`
 13240  
 13241  	// The plan identifier.
 13242  	//
 13243  	// PlanId is a required field
 13244  	PlanId *string `min:"1" type:"string" required:"true"`
 13245  }
 13246  
 13247  // String returns the string representation.
 13248  //
 13249  // API parameter values that are decorated as "sensitive" in the API will not
 13250  // be included in the string output. The member name will be present, but the
 13251  // value will be replaced with "sensitive".
 13252  func (s DescribeProvisionedProductPlanInput) String() string {
 13253  	return awsutil.Prettify(s)
 13254  }
 13255  
 13256  // GoString returns the string representation.
 13257  //
 13258  // API parameter values that are decorated as "sensitive" in the API will not
 13259  // be included in the string output. The member name will be present, but the
 13260  // value will be replaced with "sensitive".
 13261  func (s DescribeProvisionedProductPlanInput) GoString() string {
 13262  	return s.String()
 13263  }
 13264  
 13265  // Validate inspects the fields of the type to determine if they are valid.
 13266  func (s *DescribeProvisionedProductPlanInput) Validate() error {
 13267  	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisionedProductPlanInput"}
 13268  	if s.PlanId == nil {
 13269  		invalidParams.Add(request.NewErrParamRequired("PlanId"))
 13270  	}
 13271  	if s.PlanId != nil && len(*s.PlanId) < 1 {
 13272  		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
 13273  	}
 13274  
 13275  	if invalidParams.Len() > 0 {
 13276  		return invalidParams
 13277  	}
 13278  	return nil
 13279  }
 13280  
 13281  // SetAcceptLanguage sets the AcceptLanguage field's value.
 13282  func (s *DescribeProvisionedProductPlanInput) SetAcceptLanguage(v string) *DescribeProvisionedProductPlanInput {
 13283  	s.AcceptLanguage = &v
 13284  	return s
 13285  }
 13286  
 13287  // SetPageSize sets the PageSize field's value.
 13288  func (s *DescribeProvisionedProductPlanInput) SetPageSize(v int64) *DescribeProvisionedProductPlanInput {
 13289  	s.PageSize = &v
 13290  	return s
 13291  }
 13292  
 13293  // SetPageToken sets the PageToken field's value.
 13294  func (s *DescribeProvisionedProductPlanInput) SetPageToken(v string) *DescribeProvisionedProductPlanInput {
 13295  	s.PageToken = &v
 13296  	return s
 13297  }
 13298  
 13299  // SetPlanId sets the PlanId field's value.
 13300  func (s *DescribeProvisionedProductPlanInput) SetPlanId(v string) *DescribeProvisionedProductPlanInput {
 13301  	s.PlanId = &v
 13302  	return s
 13303  }
 13304  
 13305  type DescribeProvisionedProductPlanOutput struct {
 13306  	_ struct{} `type:"structure"`
 13307  
 13308  	// The page token to use to retrieve the next set of results. If there are no
 13309  	// additional results, this value is null.
 13310  	NextPageToken *string `type:"string"`
 13311  
 13312  	// Information about the plan.
 13313  	ProvisionedProductPlanDetails *ProvisionedProductPlanDetails `type:"structure"`
 13314  
 13315  	// Information about the resource changes that will occur when the plan is executed.
 13316  	ResourceChanges []*ResourceChange `type:"list"`
 13317  }
 13318  
 13319  // String returns the string representation.
 13320  //
 13321  // API parameter values that are decorated as "sensitive" in the API will not
 13322  // be included in the string output. The member name will be present, but the
 13323  // value will be replaced with "sensitive".
 13324  func (s DescribeProvisionedProductPlanOutput) String() string {
 13325  	return awsutil.Prettify(s)
 13326  }
 13327  
 13328  // GoString returns the string representation.
 13329  //
 13330  // API parameter values that are decorated as "sensitive" in the API will not
 13331  // be included in the string output. The member name will be present, but the
 13332  // value will be replaced with "sensitive".
 13333  func (s DescribeProvisionedProductPlanOutput) GoString() string {
 13334  	return s.String()
 13335  }
 13336  
 13337  // SetNextPageToken sets the NextPageToken field's value.
 13338  func (s *DescribeProvisionedProductPlanOutput) SetNextPageToken(v string) *DescribeProvisionedProductPlanOutput {
 13339  	s.NextPageToken = &v
 13340  	return s
 13341  }
 13342  
 13343  // SetProvisionedProductPlanDetails sets the ProvisionedProductPlanDetails field's value.
 13344  func (s *DescribeProvisionedProductPlanOutput) SetProvisionedProductPlanDetails(v *ProvisionedProductPlanDetails) *DescribeProvisionedProductPlanOutput {
 13345  	s.ProvisionedProductPlanDetails = v
 13346  	return s
 13347  }
 13348  
 13349  // SetResourceChanges sets the ResourceChanges field's value.
 13350  func (s *DescribeProvisionedProductPlanOutput) SetResourceChanges(v []*ResourceChange) *DescribeProvisionedProductPlanOutput {
 13351  	s.ResourceChanges = v
 13352  	return s
 13353  }
 13354  
 13355  type DescribeProvisioningArtifactInput struct {
 13356  	_ struct{} `type:"structure"`
 13357  
 13358  	// The language code.
 13359  	//
 13360  	//    * en - English (default)
 13361  	//
 13362  	//    * jp - Japanese
 13363  	//
 13364  	//    * zh - Chinese
 13365  	AcceptLanguage *string `type:"string"`
 13366  
 13367  	// The product identifier.
 13368  	ProductId *string `min:"1" type:"string"`
 13369  
 13370  	// The product name.
 13371  	ProductName *string `type:"string"`
 13372  
 13373  	// The identifier of the provisioning artifact.
 13374  	ProvisioningArtifactId *string `min:"1" type:"string"`
 13375  
 13376  	// The provisioning artifact name.
 13377  	ProvisioningArtifactName *string `type:"string"`
 13378  
 13379  	// Indicates whether a verbose level of detail is enabled.
 13380  	Verbose *bool `type:"boolean"`
 13381  }
 13382  
 13383  // String returns the string representation.
 13384  //
 13385  // API parameter values that are decorated as "sensitive" in the API will not
 13386  // be included in the string output. The member name will be present, but the
 13387  // value will be replaced with "sensitive".
 13388  func (s DescribeProvisioningArtifactInput) String() string {
 13389  	return awsutil.Prettify(s)
 13390  }
 13391  
 13392  // GoString returns the string representation.
 13393  //
 13394  // API parameter values that are decorated as "sensitive" in the API will not
 13395  // be included in the string output. The member name will be present, but the
 13396  // value will be replaced with "sensitive".
 13397  func (s DescribeProvisioningArtifactInput) GoString() string {
 13398  	return s.String()
 13399  }
 13400  
 13401  // Validate inspects the fields of the type to determine if they are valid.
 13402  func (s *DescribeProvisioningArtifactInput) Validate() error {
 13403  	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningArtifactInput"}
 13404  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 13405  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 13406  	}
 13407  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 13408  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 13409  	}
 13410  
 13411  	if invalidParams.Len() > 0 {
 13412  		return invalidParams
 13413  	}
 13414  	return nil
 13415  }
 13416  
 13417  // SetAcceptLanguage sets the AcceptLanguage field's value.
 13418  func (s *DescribeProvisioningArtifactInput) SetAcceptLanguage(v string) *DescribeProvisioningArtifactInput {
 13419  	s.AcceptLanguage = &v
 13420  	return s
 13421  }
 13422  
 13423  // SetProductId sets the ProductId field's value.
 13424  func (s *DescribeProvisioningArtifactInput) SetProductId(v string) *DescribeProvisioningArtifactInput {
 13425  	s.ProductId = &v
 13426  	return s
 13427  }
 13428  
 13429  // SetProductName sets the ProductName field's value.
 13430  func (s *DescribeProvisioningArtifactInput) SetProductName(v string) *DescribeProvisioningArtifactInput {
 13431  	s.ProductName = &v
 13432  	return s
 13433  }
 13434  
 13435  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 13436  func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DescribeProvisioningArtifactInput {
 13437  	s.ProvisioningArtifactId = &v
 13438  	return s
 13439  }
 13440  
 13441  // SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
 13442  func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactName(v string) *DescribeProvisioningArtifactInput {
 13443  	s.ProvisioningArtifactName = &v
 13444  	return s
 13445  }
 13446  
 13447  // SetVerbose sets the Verbose field's value.
 13448  func (s *DescribeProvisioningArtifactInput) SetVerbose(v bool) *DescribeProvisioningArtifactInput {
 13449  	s.Verbose = &v
 13450  	return s
 13451  }
 13452  
 13453  type DescribeProvisioningArtifactOutput struct {
 13454  	_ struct{} `type:"structure"`
 13455  
 13456  	// The URL of the CloudFormation template in Amazon S3.
 13457  	Info map[string]*string `min:"1" type:"map"`
 13458  
 13459  	// Information about the provisioning artifact.
 13460  	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
 13461  
 13462  	// The status of the current request.
 13463  	Status *string `type:"string" enum:"Status"`
 13464  }
 13465  
 13466  // String returns the string representation.
 13467  //
 13468  // API parameter values that are decorated as "sensitive" in the API will not
 13469  // be included in the string output. The member name will be present, but the
 13470  // value will be replaced with "sensitive".
 13471  func (s DescribeProvisioningArtifactOutput) String() string {
 13472  	return awsutil.Prettify(s)
 13473  }
 13474  
 13475  // GoString returns the string representation.
 13476  //
 13477  // API parameter values that are decorated as "sensitive" in the API will not
 13478  // be included in the string output. The member name will be present, but the
 13479  // value will be replaced with "sensitive".
 13480  func (s DescribeProvisioningArtifactOutput) GoString() string {
 13481  	return s.String()
 13482  }
 13483  
 13484  // SetInfo sets the Info field's value.
 13485  func (s *DescribeProvisioningArtifactOutput) SetInfo(v map[string]*string) *DescribeProvisioningArtifactOutput {
 13486  	s.Info = v
 13487  	return s
 13488  }
 13489  
 13490  // SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
 13491  func (s *DescribeProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *DescribeProvisioningArtifactOutput {
 13492  	s.ProvisioningArtifactDetail = v
 13493  	return s
 13494  }
 13495  
 13496  // SetStatus sets the Status field's value.
 13497  func (s *DescribeProvisioningArtifactOutput) SetStatus(v string) *DescribeProvisioningArtifactOutput {
 13498  	s.Status = &v
 13499  	return s
 13500  }
 13501  
 13502  type DescribeProvisioningParametersInput struct {
 13503  	_ struct{} `type:"structure"`
 13504  
 13505  	// The language code.
 13506  	//
 13507  	//    * en - English (default)
 13508  	//
 13509  	//    * jp - Japanese
 13510  	//
 13511  	//    * zh - Chinese
 13512  	AcceptLanguage *string `type:"string"`
 13513  
 13514  	// The path identifier of the product. This value is optional if the product
 13515  	// has a default path, and required if the product has more than one path. To
 13516  	// list the paths for a product, use ListLaunchPaths. You must provide the name
 13517  	// or ID, but not both.
 13518  	PathId *string `min:"1" type:"string"`
 13519  
 13520  	// The name of the path. You must provide the name or ID, but not both.
 13521  	PathName *string `min:"1" type:"string"`
 13522  
 13523  	// The product identifier. You must provide the product name or ID, but not
 13524  	// both.
 13525  	ProductId *string `min:"1" type:"string"`
 13526  
 13527  	// The name of the product. You must provide the name or ID, but not both.
 13528  	ProductName *string `type:"string"`
 13529  
 13530  	// The identifier of the provisioning artifact. You must provide the name or
 13531  	// ID, but not both.
 13532  	ProvisioningArtifactId *string `min:"1" type:"string"`
 13533  
 13534  	// The name of the provisioning artifact. You must provide the name or ID, but
 13535  	// not both.
 13536  	ProvisioningArtifactName *string `type:"string"`
 13537  }
 13538  
 13539  // String returns the string representation.
 13540  //
 13541  // API parameter values that are decorated as "sensitive" in the API will not
 13542  // be included in the string output. The member name will be present, but the
 13543  // value will be replaced with "sensitive".
 13544  func (s DescribeProvisioningParametersInput) String() string {
 13545  	return awsutil.Prettify(s)
 13546  }
 13547  
 13548  // GoString returns the string representation.
 13549  //
 13550  // API parameter values that are decorated as "sensitive" in the API will not
 13551  // be included in the string output. The member name will be present, but the
 13552  // value will be replaced with "sensitive".
 13553  func (s DescribeProvisioningParametersInput) GoString() string {
 13554  	return s.String()
 13555  }
 13556  
 13557  // Validate inspects the fields of the type to determine if they are valid.
 13558  func (s *DescribeProvisioningParametersInput) Validate() error {
 13559  	invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningParametersInput"}
 13560  	if s.PathId != nil && len(*s.PathId) < 1 {
 13561  		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
 13562  	}
 13563  	if s.PathName != nil && len(*s.PathName) < 1 {
 13564  		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
 13565  	}
 13566  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 13567  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 13568  	}
 13569  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 13570  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 13571  	}
 13572  
 13573  	if invalidParams.Len() > 0 {
 13574  		return invalidParams
 13575  	}
 13576  	return nil
 13577  }
 13578  
 13579  // SetAcceptLanguage sets the AcceptLanguage field's value.
 13580  func (s *DescribeProvisioningParametersInput) SetAcceptLanguage(v string) *DescribeProvisioningParametersInput {
 13581  	s.AcceptLanguage = &v
 13582  	return s
 13583  }
 13584  
 13585  // SetPathId sets the PathId field's value.
 13586  func (s *DescribeProvisioningParametersInput) SetPathId(v string) *DescribeProvisioningParametersInput {
 13587  	s.PathId = &v
 13588  	return s
 13589  }
 13590  
 13591  // SetPathName sets the PathName field's value.
 13592  func (s *DescribeProvisioningParametersInput) SetPathName(v string) *DescribeProvisioningParametersInput {
 13593  	s.PathName = &v
 13594  	return s
 13595  }
 13596  
 13597  // SetProductId sets the ProductId field's value.
 13598  func (s *DescribeProvisioningParametersInput) SetProductId(v string) *DescribeProvisioningParametersInput {
 13599  	s.ProductId = &v
 13600  	return s
 13601  }
 13602  
 13603  // SetProductName sets the ProductName field's value.
 13604  func (s *DescribeProvisioningParametersInput) SetProductName(v string) *DescribeProvisioningParametersInput {
 13605  	s.ProductName = &v
 13606  	return s
 13607  }
 13608  
 13609  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 13610  func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactId(v string) *DescribeProvisioningParametersInput {
 13611  	s.ProvisioningArtifactId = &v
 13612  	return s
 13613  }
 13614  
 13615  // SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
 13616  func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactName(v string) *DescribeProvisioningParametersInput {
 13617  	s.ProvisioningArtifactName = &v
 13618  	return s
 13619  }
 13620  
 13621  type DescribeProvisioningParametersOutput struct {
 13622  	_ struct{} `type:"structure"`
 13623  
 13624  	// Information about the constraints used to provision the product.
 13625  	ConstraintSummaries []*ConstraintSummary `type:"list"`
 13626  
 13627  	// The output of the provisioning artifact.
 13628  	ProvisioningArtifactOutputs []*ProvisioningArtifactOutput `type:"list"`
 13629  
 13630  	// Information about the parameters used to provision the product.
 13631  	ProvisioningArtifactParameters []*ProvisioningArtifactParameter `type:"list"`
 13632  
 13633  	// An object that contains information about preferences, such as regions and
 13634  	// accounts, for the provisioning artifact.
 13635  	ProvisioningArtifactPreferences *ProvisioningArtifactPreferences `type:"structure"`
 13636  
 13637  	// Information about the TagOptions associated with the resource.
 13638  	TagOptions []*TagOptionSummary `type:"list"`
 13639  
 13640  	// Any additional metadata specifically related to the provisioning of the product.
 13641  	// For example, see the Version field of the CloudFormation template.
 13642  	UsageInstructions []*UsageInstruction `type:"list"`
 13643  }
 13644  
 13645  // String returns the string representation.
 13646  //
 13647  // API parameter values that are decorated as "sensitive" in the API will not
 13648  // be included in the string output. The member name will be present, but the
 13649  // value will be replaced with "sensitive".
 13650  func (s DescribeProvisioningParametersOutput) String() string {
 13651  	return awsutil.Prettify(s)
 13652  }
 13653  
 13654  // GoString returns the string representation.
 13655  //
 13656  // API parameter values that are decorated as "sensitive" in the API will not
 13657  // be included in the string output. The member name will be present, but the
 13658  // value will be replaced with "sensitive".
 13659  func (s DescribeProvisioningParametersOutput) GoString() string {
 13660  	return s.String()
 13661  }
 13662  
 13663  // SetConstraintSummaries sets the ConstraintSummaries field's value.
 13664  func (s *DescribeProvisioningParametersOutput) SetConstraintSummaries(v []*ConstraintSummary) *DescribeProvisioningParametersOutput {
 13665  	s.ConstraintSummaries = v
 13666  	return s
 13667  }
 13668  
 13669  // SetProvisioningArtifactOutputs sets the ProvisioningArtifactOutputs field's value.
 13670  func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactOutputs(v []*ProvisioningArtifactOutput) *DescribeProvisioningParametersOutput {
 13671  	s.ProvisioningArtifactOutputs = v
 13672  	return s
 13673  }
 13674  
 13675  // SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value.
 13676  func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactParameters(v []*ProvisioningArtifactParameter) *DescribeProvisioningParametersOutput {
 13677  	s.ProvisioningArtifactParameters = v
 13678  	return s
 13679  }
 13680  
 13681  // SetProvisioningArtifactPreferences sets the ProvisioningArtifactPreferences field's value.
 13682  func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactPreferences(v *ProvisioningArtifactPreferences) *DescribeProvisioningParametersOutput {
 13683  	s.ProvisioningArtifactPreferences = v
 13684  	return s
 13685  }
 13686  
 13687  // SetTagOptions sets the TagOptions field's value.
 13688  func (s *DescribeProvisioningParametersOutput) SetTagOptions(v []*TagOptionSummary) *DescribeProvisioningParametersOutput {
 13689  	s.TagOptions = v
 13690  	return s
 13691  }
 13692  
 13693  // SetUsageInstructions sets the UsageInstructions field's value.
 13694  func (s *DescribeProvisioningParametersOutput) SetUsageInstructions(v []*UsageInstruction) *DescribeProvisioningParametersOutput {
 13695  	s.UsageInstructions = v
 13696  	return s
 13697  }
 13698  
 13699  type DescribeRecordInput struct {
 13700  	_ struct{} `type:"structure"`
 13701  
 13702  	// The language code.
 13703  	//
 13704  	//    * en - English (default)
 13705  	//
 13706  	//    * jp - Japanese
 13707  	//
 13708  	//    * zh - Chinese
 13709  	AcceptLanguage *string `type:"string"`
 13710  
 13711  	// The record identifier of the provisioned product. This identifier is returned
 13712  	// by the request operation.
 13713  	//
 13714  	// Id is a required field
 13715  	Id *string `min:"1" type:"string" required:"true"`
 13716  
 13717  	// The maximum number of items to return with this call.
 13718  	PageSize *int64 `type:"integer"`
 13719  
 13720  	// The page token for the next set of results. To retrieve the first set of
 13721  	// results, use null.
 13722  	PageToken *string `type:"string"`
 13723  }
 13724  
 13725  // String returns the string representation.
 13726  //
 13727  // API parameter values that are decorated as "sensitive" in the API will not
 13728  // be included in the string output. The member name will be present, but the
 13729  // value will be replaced with "sensitive".
 13730  func (s DescribeRecordInput) String() string {
 13731  	return awsutil.Prettify(s)
 13732  }
 13733  
 13734  // GoString returns the string representation.
 13735  //
 13736  // API parameter values that are decorated as "sensitive" in the API will not
 13737  // be included in the string output. The member name will be present, but the
 13738  // value will be replaced with "sensitive".
 13739  func (s DescribeRecordInput) GoString() string {
 13740  	return s.String()
 13741  }
 13742  
 13743  // Validate inspects the fields of the type to determine if they are valid.
 13744  func (s *DescribeRecordInput) Validate() error {
 13745  	invalidParams := request.ErrInvalidParams{Context: "DescribeRecordInput"}
 13746  	if s.Id == nil {
 13747  		invalidParams.Add(request.NewErrParamRequired("Id"))
 13748  	}
 13749  	if s.Id != nil && len(*s.Id) < 1 {
 13750  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 13751  	}
 13752  
 13753  	if invalidParams.Len() > 0 {
 13754  		return invalidParams
 13755  	}
 13756  	return nil
 13757  }
 13758  
 13759  // SetAcceptLanguage sets the AcceptLanguage field's value.
 13760  func (s *DescribeRecordInput) SetAcceptLanguage(v string) *DescribeRecordInput {
 13761  	s.AcceptLanguage = &v
 13762  	return s
 13763  }
 13764  
 13765  // SetId sets the Id field's value.
 13766  func (s *DescribeRecordInput) SetId(v string) *DescribeRecordInput {
 13767  	s.Id = &v
 13768  	return s
 13769  }
 13770  
 13771  // SetPageSize sets the PageSize field's value.
 13772  func (s *DescribeRecordInput) SetPageSize(v int64) *DescribeRecordInput {
 13773  	s.PageSize = &v
 13774  	return s
 13775  }
 13776  
 13777  // SetPageToken sets the PageToken field's value.
 13778  func (s *DescribeRecordInput) SetPageToken(v string) *DescribeRecordInput {
 13779  	s.PageToken = &v
 13780  	return s
 13781  }
 13782  
 13783  type DescribeRecordOutput struct {
 13784  	_ struct{} `type:"structure"`
 13785  
 13786  	// The page token to use to retrieve the next set of results. If there are no
 13787  	// additional results, this value is null.
 13788  	NextPageToken *string `type:"string"`
 13789  
 13790  	// Information about the product.
 13791  	RecordDetail *RecordDetail `type:"structure"`
 13792  
 13793  	// Information about the product created as the result of a request. For example,
 13794  	// the output for a CloudFormation-backed product that creates an S3 bucket
 13795  	// would include the S3 bucket URL.
 13796  	RecordOutputs []*RecordOutput `type:"list"`
 13797  }
 13798  
 13799  // String returns the string representation.
 13800  //
 13801  // API parameter values that are decorated as "sensitive" in the API will not
 13802  // be included in the string output. The member name will be present, but the
 13803  // value will be replaced with "sensitive".
 13804  func (s DescribeRecordOutput) String() string {
 13805  	return awsutil.Prettify(s)
 13806  }
 13807  
 13808  // GoString returns the string representation.
 13809  //
 13810  // API parameter values that are decorated as "sensitive" in the API will not
 13811  // be included in the string output. The member name will be present, but the
 13812  // value will be replaced with "sensitive".
 13813  func (s DescribeRecordOutput) GoString() string {
 13814  	return s.String()
 13815  }
 13816  
 13817  // SetNextPageToken sets the NextPageToken field's value.
 13818  func (s *DescribeRecordOutput) SetNextPageToken(v string) *DescribeRecordOutput {
 13819  	s.NextPageToken = &v
 13820  	return s
 13821  }
 13822  
 13823  // SetRecordDetail sets the RecordDetail field's value.
 13824  func (s *DescribeRecordOutput) SetRecordDetail(v *RecordDetail) *DescribeRecordOutput {
 13825  	s.RecordDetail = v
 13826  	return s
 13827  }
 13828  
 13829  // SetRecordOutputs sets the RecordOutputs field's value.
 13830  func (s *DescribeRecordOutput) SetRecordOutputs(v []*RecordOutput) *DescribeRecordOutput {
 13831  	s.RecordOutputs = v
 13832  	return s
 13833  }
 13834  
 13835  type DescribeServiceActionExecutionParametersInput struct {
 13836  	_ struct{} `type:"structure"`
 13837  
 13838  	// The language code.
 13839  	//
 13840  	//    * en - English (default)
 13841  	//
 13842  	//    * jp - Japanese
 13843  	//
 13844  	//    * zh - Chinese
 13845  	AcceptLanguage *string `type:"string"`
 13846  
 13847  	// The identifier of the provisioned product.
 13848  	//
 13849  	// ProvisionedProductId is a required field
 13850  	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
 13851  
 13852  	// The self-service action identifier.
 13853  	//
 13854  	// ServiceActionId is a required field
 13855  	ServiceActionId *string `min:"1" type:"string" required:"true"`
 13856  }
 13857  
 13858  // String returns the string representation.
 13859  //
 13860  // API parameter values that are decorated as "sensitive" in the API will not
 13861  // be included in the string output. The member name will be present, but the
 13862  // value will be replaced with "sensitive".
 13863  func (s DescribeServiceActionExecutionParametersInput) String() string {
 13864  	return awsutil.Prettify(s)
 13865  }
 13866  
 13867  // GoString returns the string representation.
 13868  //
 13869  // API parameter values that are decorated as "sensitive" in the API will not
 13870  // be included in the string output. The member name will be present, but the
 13871  // value will be replaced with "sensitive".
 13872  func (s DescribeServiceActionExecutionParametersInput) GoString() string {
 13873  	return s.String()
 13874  }
 13875  
 13876  // Validate inspects the fields of the type to determine if they are valid.
 13877  func (s *DescribeServiceActionExecutionParametersInput) Validate() error {
 13878  	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionExecutionParametersInput"}
 13879  	if s.ProvisionedProductId == nil {
 13880  		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
 13881  	}
 13882  	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
 13883  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
 13884  	}
 13885  	if s.ServiceActionId == nil {
 13886  		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
 13887  	}
 13888  	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
 13889  		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
 13890  	}
 13891  
 13892  	if invalidParams.Len() > 0 {
 13893  		return invalidParams
 13894  	}
 13895  	return nil
 13896  }
 13897  
 13898  // SetAcceptLanguage sets the AcceptLanguage field's value.
 13899  func (s *DescribeServiceActionExecutionParametersInput) SetAcceptLanguage(v string) *DescribeServiceActionExecutionParametersInput {
 13900  	s.AcceptLanguage = &v
 13901  	return s
 13902  }
 13903  
 13904  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 13905  func (s *DescribeServiceActionExecutionParametersInput) SetProvisionedProductId(v string) *DescribeServiceActionExecutionParametersInput {
 13906  	s.ProvisionedProductId = &v
 13907  	return s
 13908  }
 13909  
 13910  // SetServiceActionId sets the ServiceActionId field's value.
 13911  func (s *DescribeServiceActionExecutionParametersInput) SetServiceActionId(v string) *DescribeServiceActionExecutionParametersInput {
 13912  	s.ServiceActionId = &v
 13913  	return s
 13914  }
 13915  
 13916  type DescribeServiceActionExecutionParametersOutput struct {
 13917  	_ struct{} `type:"structure"`
 13918  
 13919  	// The parameters of the self-service action.
 13920  	ServiceActionParameters []*ExecutionParameter `type:"list"`
 13921  }
 13922  
 13923  // String returns the string representation.
 13924  //
 13925  // API parameter values that are decorated as "sensitive" in the API will not
 13926  // be included in the string output. The member name will be present, but the
 13927  // value will be replaced with "sensitive".
 13928  func (s DescribeServiceActionExecutionParametersOutput) String() string {
 13929  	return awsutil.Prettify(s)
 13930  }
 13931  
 13932  // GoString returns the string representation.
 13933  //
 13934  // API parameter values that are decorated as "sensitive" in the API will not
 13935  // be included in the string output. The member name will be present, but the
 13936  // value will be replaced with "sensitive".
 13937  func (s DescribeServiceActionExecutionParametersOutput) GoString() string {
 13938  	return s.String()
 13939  }
 13940  
 13941  // SetServiceActionParameters sets the ServiceActionParameters field's value.
 13942  func (s *DescribeServiceActionExecutionParametersOutput) SetServiceActionParameters(v []*ExecutionParameter) *DescribeServiceActionExecutionParametersOutput {
 13943  	s.ServiceActionParameters = v
 13944  	return s
 13945  }
 13946  
 13947  type DescribeServiceActionInput struct {
 13948  	_ struct{} `type:"structure"`
 13949  
 13950  	// The language code.
 13951  	//
 13952  	//    * en - English (default)
 13953  	//
 13954  	//    * jp - Japanese
 13955  	//
 13956  	//    * zh - Chinese
 13957  	AcceptLanguage *string `type:"string"`
 13958  
 13959  	// The self-service action identifier.
 13960  	//
 13961  	// Id is a required field
 13962  	Id *string `min:"1" type:"string" required:"true"`
 13963  }
 13964  
 13965  // String returns the string representation.
 13966  //
 13967  // API parameter values that are decorated as "sensitive" in the API will not
 13968  // be included in the string output. The member name will be present, but the
 13969  // value will be replaced with "sensitive".
 13970  func (s DescribeServiceActionInput) String() string {
 13971  	return awsutil.Prettify(s)
 13972  }
 13973  
 13974  // GoString returns the string representation.
 13975  //
 13976  // API parameter values that are decorated as "sensitive" in the API will not
 13977  // be included in the string output. The member name will be present, but the
 13978  // value will be replaced with "sensitive".
 13979  func (s DescribeServiceActionInput) GoString() string {
 13980  	return s.String()
 13981  }
 13982  
 13983  // Validate inspects the fields of the type to determine if they are valid.
 13984  func (s *DescribeServiceActionInput) Validate() error {
 13985  	invalidParams := request.ErrInvalidParams{Context: "DescribeServiceActionInput"}
 13986  	if s.Id == nil {
 13987  		invalidParams.Add(request.NewErrParamRequired("Id"))
 13988  	}
 13989  	if s.Id != nil && len(*s.Id) < 1 {
 13990  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 13991  	}
 13992  
 13993  	if invalidParams.Len() > 0 {
 13994  		return invalidParams
 13995  	}
 13996  	return nil
 13997  }
 13998  
 13999  // SetAcceptLanguage sets the AcceptLanguage field's value.
 14000  func (s *DescribeServiceActionInput) SetAcceptLanguage(v string) *DescribeServiceActionInput {
 14001  	s.AcceptLanguage = &v
 14002  	return s
 14003  }
 14004  
 14005  // SetId sets the Id field's value.
 14006  func (s *DescribeServiceActionInput) SetId(v string) *DescribeServiceActionInput {
 14007  	s.Id = &v
 14008  	return s
 14009  }
 14010  
 14011  type DescribeServiceActionOutput struct {
 14012  	_ struct{} `type:"structure"`
 14013  
 14014  	// Detailed information about the self-service action.
 14015  	ServiceActionDetail *ServiceActionDetail `type:"structure"`
 14016  }
 14017  
 14018  // String returns the string representation.
 14019  //
 14020  // API parameter values that are decorated as "sensitive" in the API will not
 14021  // be included in the string output. The member name will be present, but the
 14022  // value will be replaced with "sensitive".
 14023  func (s DescribeServiceActionOutput) String() string {
 14024  	return awsutil.Prettify(s)
 14025  }
 14026  
 14027  // GoString returns the string representation.
 14028  //
 14029  // API parameter values that are decorated as "sensitive" in the API will not
 14030  // be included in the string output. The member name will be present, but the
 14031  // value will be replaced with "sensitive".
 14032  func (s DescribeServiceActionOutput) GoString() string {
 14033  	return s.String()
 14034  }
 14035  
 14036  // SetServiceActionDetail sets the ServiceActionDetail field's value.
 14037  func (s *DescribeServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *DescribeServiceActionOutput {
 14038  	s.ServiceActionDetail = v
 14039  	return s
 14040  }
 14041  
 14042  type DescribeTagOptionInput struct {
 14043  	_ struct{} `type:"structure"`
 14044  
 14045  	// The TagOption identifier.
 14046  	//
 14047  	// Id is a required field
 14048  	Id *string `min:"1" type:"string" required:"true"`
 14049  }
 14050  
 14051  // String returns the string representation.
 14052  //
 14053  // API parameter values that are decorated as "sensitive" in the API will not
 14054  // be included in the string output. The member name will be present, but the
 14055  // value will be replaced with "sensitive".
 14056  func (s DescribeTagOptionInput) String() string {
 14057  	return awsutil.Prettify(s)
 14058  }
 14059  
 14060  // GoString returns the string representation.
 14061  //
 14062  // API parameter values that are decorated as "sensitive" in the API will not
 14063  // be included in the string output. The member name will be present, but the
 14064  // value will be replaced with "sensitive".
 14065  func (s DescribeTagOptionInput) GoString() string {
 14066  	return s.String()
 14067  }
 14068  
 14069  // Validate inspects the fields of the type to determine if they are valid.
 14070  func (s *DescribeTagOptionInput) Validate() error {
 14071  	invalidParams := request.ErrInvalidParams{Context: "DescribeTagOptionInput"}
 14072  	if s.Id == nil {
 14073  		invalidParams.Add(request.NewErrParamRequired("Id"))
 14074  	}
 14075  	if s.Id != nil && len(*s.Id) < 1 {
 14076  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 14077  	}
 14078  
 14079  	if invalidParams.Len() > 0 {
 14080  		return invalidParams
 14081  	}
 14082  	return nil
 14083  }
 14084  
 14085  // SetId sets the Id field's value.
 14086  func (s *DescribeTagOptionInput) SetId(v string) *DescribeTagOptionInput {
 14087  	s.Id = &v
 14088  	return s
 14089  }
 14090  
 14091  type DescribeTagOptionOutput struct {
 14092  	_ struct{} `type:"structure"`
 14093  
 14094  	// Information about the TagOption.
 14095  	TagOptionDetail *TagOptionDetail `type:"structure"`
 14096  }
 14097  
 14098  // String returns the string representation.
 14099  //
 14100  // API parameter values that are decorated as "sensitive" in the API will not
 14101  // be included in the string output. The member name will be present, but the
 14102  // value will be replaced with "sensitive".
 14103  func (s DescribeTagOptionOutput) String() string {
 14104  	return awsutil.Prettify(s)
 14105  }
 14106  
 14107  // GoString returns the string representation.
 14108  //
 14109  // API parameter values that are decorated as "sensitive" in the API will not
 14110  // be included in the string output. The member name will be present, but the
 14111  // value will be replaced with "sensitive".
 14112  func (s DescribeTagOptionOutput) GoString() string {
 14113  	return s.String()
 14114  }
 14115  
 14116  // SetTagOptionDetail sets the TagOptionDetail field's value.
 14117  func (s *DescribeTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *DescribeTagOptionOutput {
 14118  	s.TagOptionDetail = v
 14119  	return s
 14120  }
 14121  
 14122  type DisableAWSOrganizationsAccessInput struct {
 14123  	_ struct{} `type:"structure"`
 14124  }
 14125  
 14126  // String returns the string representation.
 14127  //
 14128  // API parameter values that are decorated as "sensitive" in the API will not
 14129  // be included in the string output. The member name will be present, but the
 14130  // value will be replaced with "sensitive".
 14131  func (s DisableAWSOrganizationsAccessInput) String() string {
 14132  	return awsutil.Prettify(s)
 14133  }
 14134  
 14135  // GoString returns the string representation.
 14136  //
 14137  // API parameter values that are decorated as "sensitive" in the API will not
 14138  // be included in the string output. The member name will be present, but the
 14139  // value will be replaced with "sensitive".
 14140  func (s DisableAWSOrganizationsAccessInput) GoString() string {
 14141  	return s.String()
 14142  }
 14143  
 14144  type DisableAWSOrganizationsAccessOutput struct {
 14145  	_ struct{} `type:"structure"`
 14146  }
 14147  
 14148  // String returns the string representation.
 14149  //
 14150  // API parameter values that are decorated as "sensitive" in the API will not
 14151  // be included in the string output. The member name will be present, but the
 14152  // value will be replaced with "sensitive".
 14153  func (s DisableAWSOrganizationsAccessOutput) String() string {
 14154  	return awsutil.Prettify(s)
 14155  }
 14156  
 14157  // GoString returns the string representation.
 14158  //
 14159  // API parameter values that are decorated as "sensitive" in the API will not
 14160  // be included in the string output. The member name will be present, but the
 14161  // value will be replaced with "sensitive".
 14162  func (s DisableAWSOrganizationsAccessOutput) GoString() string {
 14163  	return s.String()
 14164  }
 14165  
 14166  type DisassociateBudgetFromResourceInput struct {
 14167  	_ struct{} `type:"structure"`
 14168  
 14169  	// The name of the budget you want to disassociate.
 14170  	//
 14171  	// BudgetName is a required field
 14172  	BudgetName *string `min:"1" type:"string" required:"true"`
 14173  
 14174  	// The resource identifier you want to disassociate from. Either a portfolio-id
 14175  	// or a product-id.
 14176  	//
 14177  	// ResourceId is a required field
 14178  	ResourceId *string `min:"1" type:"string" required:"true"`
 14179  }
 14180  
 14181  // String returns the string representation.
 14182  //
 14183  // API parameter values that are decorated as "sensitive" in the API will not
 14184  // be included in the string output. The member name will be present, but the
 14185  // value will be replaced with "sensitive".
 14186  func (s DisassociateBudgetFromResourceInput) String() string {
 14187  	return awsutil.Prettify(s)
 14188  }
 14189  
 14190  // GoString returns the string representation.
 14191  //
 14192  // API parameter values that are decorated as "sensitive" in the API will not
 14193  // be included in the string output. The member name will be present, but the
 14194  // value will be replaced with "sensitive".
 14195  func (s DisassociateBudgetFromResourceInput) GoString() string {
 14196  	return s.String()
 14197  }
 14198  
 14199  // Validate inspects the fields of the type to determine if they are valid.
 14200  func (s *DisassociateBudgetFromResourceInput) Validate() error {
 14201  	invalidParams := request.ErrInvalidParams{Context: "DisassociateBudgetFromResourceInput"}
 14202  	if s.BudgetName == nil {
 14203  		invalidParams.Add(request.NewErrParamRequired("BudgetName"))
 14204  	}
 14205  	if s.BudgetName != nil && len(*s.BudgetName) < 1 {
 14206  		invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1))
 14207  	}
 14208  	if s.ResourceId == nil {
 14209  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 14210  	}
 14211  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 14212  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 14213  	}
 14214  
 14215  	if invalidParams.Len() > 0 {
 14216  		return invalidParams
 14217  	}
 14218  	return nil
 14219  }
 14220  
 14221  // SetBudgetName sets the BudgetName field's value.
 14222  func (s *DisassociateBudgetFromResourceInput) SetBudgetName(v string) *DisassociateBudgetFromResourceInput {
 14223  	s.BudgetName = &v
 14224  	return s
 14225  }
 14226  
 14227  // SetResourceId sets the ResourceId field's value.
 14228  func (s *DisassociateBudgetFromResourceInput) SetResourceId(v string) *DisassociateBudgetFromResourceInput {
 14229  	s.ResourceId = &v
 14230  	return s
 14231  }
 14232  
 14233  type DisassociateBudgetFromResourceOutput struct {
 14234  	_ struct{} `type:"structure"`
 14235  }
 14236  
 14237  // String returns the string representation.
 14238  //
 14239  // API parameter values that are decorated as "sensitive" in the API will not
 14240  // be included in the string output. The member name will be present, but the
 14241  // value will be replaced with "sensitive".
 14242  func (s DisassociateBudgetFromResourceOutput) String() string {
 14243  	return awsutil.Prettify(s)
 14244  }
 14245  
 14246  // GoString returns the string representation.
 14247  //
 14248  // API parameter values that are decorated as "sensitive" in the API will not
 14249  // be included in the string output. The member name will be present, but the
 14250  // value will be replaced with "sensitive".
 14251  func (s DisassociateBudgetFromResourceOutput) GoString() string {
 14252  	return s.String()
 14253  }
 14254  
 14255  type DisassociatePrincipalFromPortfolioInput struct {
 14256  	_ struct{} `type:"structure"`
 14257  
 14258  	// The language code.
 14259  	//
 14260  	//    * en - English (default)
 14261  	//
 14262  	//    * jp - Japanese
 14263  	//
 14264  	//    * zh - Chinese
 14265  	AcceptLanguage *string `type:"string"`
 14266  
 14267  	// The portfolio identifier.
 14268  	//
 14269  	// PortfolioId is a required field
 14270  	PortfolioId *string `min:"1" type:"string" required:"true"`
 14271  
 14272  	// The ARN of the principal (IAM user, role, or group).
 14273  	//
 14274  	// PrincipalARN is a required field
 14275  	PrincipalARN *string `min:"1" type:"string" required:"true"`
 14276  }
 14277  
 14278  // String returns the string representation.
 14279  //
 14280  // API parameter values that are decorated as "sensitive" in the API will not
 14281  // be included in the string output. The member name will be present, but the
 14282  // value will be replaced with "sensitive".
 14283  func (s DisassociatePrincipalFromPortfolioInput) String() string {
 14284  	return awsutil.Prettify(s)
 14285  }
 14286  
 14287  // GoString returns the string representation.
 14288  //
 14289  // API parameter values that are decorated as "sensitive" in the API will not
 14290  // be included in the string output. The member name will be present, but the
 14291  // value will be replaced with "sensitive".
 14292  func (s DisassociatePrincipalFromPortfolioInput) GoString() string {
 14293  	return s.String()
 14294  }
 14295  
 14296  // Validate inspects the fields of the type to determine if they are valid.
 14297  func (s *DisassociatePrincipalFromPortfolioInput) Validate() error {
 14298  	invalidParams := request.ErrInvalidParams{Context: "DisassociatePrincipalFromPortfolioInput"}
 14299  	if s.PortfolioId == nil {
 14300  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 14301  	}
 14302  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 14303  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 14304  	}
 14305  	if s.PrincipalARN == nil {
 14306  		invalidParams.Add(request.NewErrParamRequired("PrincipalARN"))
 14307  	}
 14308  	if s.PrincipalARN != nil && len(*s.PrincipalARN) < 1 {
 14309  		invalidParams.Add(request.NewErrParamMinLen("PrincipalARN", 1))
 14310  	}
 14311  
 14312  	if invalidParams.Len() > 0 {
 14313  		return invalidParams
 14314  	}
 14315  	return nil
 14316  }
 14317  
 14318  // SetAcceptLanguage sets the AcceptLanguage field's value.
 14319  func (s *DisassociatePrincipalFromPortfolioInput) SetAcceptLanguage(v string) *DisassociatePrincipalFromPortfolioInput {
 14320  	s.AcceptLanguage = &v
 14321  	return s
 14322  }
 14323  
 14324  // SetPortfolioId sets the PortfolioId field's value.
 14325  func (s *DisassociatePrincipalFromPortfolioInput) SetPortfolioId(v string) *DisassociatePrincipalFromPortfolioInput {
 14326  	s.PortfolioId = &v
 14327  	return s
 14328  }
 14329  
 14330  // SetPrincipalARN sets the PrincipalARN field's value.
 14331  func (s *DisassociatePrincipalFromPortfolioInput) SetPrincipalARN(v string) *DisassociatePrincipalFromPortfolioInput {
 14332  	s.PrincipalARN = &v
 14333  	return s
 14334  }
 14335  
 14336  type DisassociatePrincipalFromPortfolioOutput struct {
 14337  	_ struct{} `type:"structure"`
 14338  }
 14339  
 14340  // String returns the string representation.
 14341  //
 14342  // API parameter values that are decorated as "sensitive" in the API will not
 14343  // be included in the string output. The member name will be present, but the
 14344  // value will be replaced with "sensitive".
 14345  func (s DisassociatePrincipalFromPortfolioOutput) String() string {
 14346  	return awsutil.Prettify(s)
 14347  }
 14348  
 14349  // GoString returns the string representation.
 14350  //
 14351  // API parameter values that are decorated as "sensitive" in the API will not
 14352  // be included in the string output. The member name will be present, but the
 14353  // value will be replaced with "sensitive".
 14354  func (s DisassociatePrincipalFromPortfolioOutput) GoString() string {
 14355  	return s.String()
 14356  }
 14357  
 14358  type DisassociateProductFromPortfolioInput struct {
 14359  	_ struct{} `type:"structure"`
 14360  
 14361  	// The language code.
 14362  	//
 14363  	//    * en - English (default)
 14364  	//
 14365  	//    * jp - Japanese
 14366  	//
 14367  	//    * zh - Chinese
 14368  	AcceptLanguage *string `type:"string"`
 14369  
 14370  	// The portfolio identifier.
 14371  	//
 14372  	// PortfolioId is a required field
 14373  	PortfolioId *string `min:"1" type:"string" required:"true"`
 14374  
 14375  	// The product identifier.
 14376  	//
 14377  	// ProductId is a required field
 14378  	ProductId *string `min:"1" type:"string" required:"true"`
 14379  }
 14380  
 14381  // String returns the string representation.
 14382  //
 14383  // API parameter values that are decorated as "sensitive" in the API will not
 14384  // be included in the string output. The member name will be present, but the
 14385  // value will be replaced with "sensitive".
 14386  func (s DisassociateProductFromPortfolioInput) String() string {
 14387  	return awsutil.Prettify(s)
 14388  }
 14389  
 14390  // GoString returns the string representation.
 14391  //
 14392  // API parameter values that are decorated as "sensitive" in the API will not
 14393  // be included in the string output. The member name will be present, but the
 14394  // value will be replaced with "sensitive".
 14395  func (s DisassociateProductFromPortfolioInput) GoString() string {
 14396  	return s.String()
 14397  }
 14398  
 14399  // Validate inspects the fields of the type to determine if they are valid.
 14400  func (s *DisassociateProductFromPortfolioInput) Validate() error {
 14401  	invalidParams := request.ErrInvalidParams{Context: "DisassociateProductFromPortfolioInput"}
 14402  	if s.PortfolioId == nil {
 14403  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 14404  	}
 14405  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 14406  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 14407  	}
 14408  	if s.ProductId == nil {
 14409  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 14410  	}
 14411  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 14412  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 14413  	}
 14414  
 14415  	if invalidParams.Len() > 0 {
 14416  		return invalidParams
 14417  	}
 14418  	return nil
 14419  }
 14420  
 14421  // SetAcceptLanguage sets the AcceptLanguage field's value.
 14422  func (s *DisassociateProductFromPortfolioInput) SetAcceptLanguage(v string) *DisassociateProductFromPortfolioInput {
 14423  	s.AcceptLanguage = &v
 14424  	return s
 14425  }
 14426  
 14427  // SetPortfolioId sets the PortfolioId field's value.
 14428  func (s *DisassociateProductFromPortfolioInput) SetPortfolioId(v string) *DisassociateProductFromPortfolioInput {
 14429  	s.PortfolioId = &v
 14430  	return s
 14431  }
 14432  
 14433  // SetProductId sets the ProductId field's value.
 14434  func (s *DisassociateProductFromPortfolioInput) SetProductId(v string) *DisassociateProductFromPortfolioInput {
 14435  	s.ProductId = &v
 14436  	return s
 14437  }
 14438  
 14439  type DisassociateProductFromPortfolioOutput struct {
 14440  	_ struct{} `type:"structure"`
 14441  }
 14442  
 14443  // String returns the string representation.
 14444  //
 14445  // API parameter values that are decorated as "sensitive" in the API will not
 14446  // be included in the string output. The member name will be present, but the
 14447  // value will be replaced with "sensitive".
 14448  func (s DisassociateProductFromPortfolioOutput) String() string {
 14449  	return awsutil.Prettify(s)
 14450  }
 14451  
 14452  // GoString returns the string representation.
 14453  //
 14454  // API parameter values that are decorated as "sensitive" in the API will not
 14455  // be included in the string output. The member name will be present, but the
 14456  // value will be replaced with "sensitive".
 14457  func (s DisassociateProductFromPortfolioOutput) GoString() string {
 14458  	return s.String()
 14459  }
 14460  
 14461  type DisassociateServiceActionFromProvisioningArtifactInput struct {
 14462  	_ struct{} `type:"structure"`
 14463  
 14464  	// The language code.
 14465  	//
 14466  	//    * en - English (default)
 14467  	//
 14468  	//    * jp - Japanese
 14469  	//
 14470  	//    * zh - Chinese
 14471  	AcceptLanguage *string `type:"string"`
 14472  
 14473  	// The product identifier. For example, prod-abcdzk7xy33qa.
 14474  	//
 14475  	// ProductId is a required field
 14476  	ProductId *string `min:"1" type:"string" required:"true"`
 14477  
 14478  	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
 14479  	//
 14480  	// ProvisioningArtifactId is a required field
 14481  	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
 14482  
 14483  	// The self-service action identifier. For example, act-fs7abcd89wxyz.
 14484  	//
 14485  	// ServiceActionId is a required field
 14486  	ServiceActionId *string `min:"1" type:"string" required:"true"`
 14487  }
 14488  
 14489  // String returns the string representation.
 14490  //
 14491  // API parameter values that are decorated as "sensitive" in the API will not
 14492  // be included in the string output. The member name will be present, but the
 14493  // value will be replaced with "sensitive".
 14494  func (s DisassociateServiceActionFromProvisioningArtifactInput) String() string {
 14495  	return awsutil.Prettify(s)
 14496  }
 14497  
 14498  // GoString returns the string representation.
 14499  //
 14500  // API parameter values that are decorated as "sensitive" in the API will not
 14501  // be included in the string output. The member name will be present, but the
 14502  // value will be replaced with "sensitive".
 14503  func (s DisassociateServiceActionFromProvisioningArtifactInput) GoString() string {
 14504  	return s.String()
 14505  }
 14506  
 14507  // Validate inspects the fields of the type to determine if they are valid.
 14508  func (s *DisassociateServiceActionFromProvisioningArtifactInput) Validate() error {
 14509  	invalidParams := request.ErrInvalidParams{Context: "DisassociateServiceActionFromProvisioningArtifactInput"}
 14510  	if s.ProductId == nil {
 14511  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 14512  	}
 14513  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 14514  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 14515  	}
 14516  	if s.ProvisioningArtifactId == nil {
 14517  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
 14518  	}
 14519  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 14520  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 14521  	}
 14522  	if s.ServiceActionId == nil {
 14523  		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
 14524  	}
 14525  	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
 14526  		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
 14527  	}
 14528  
 14529  	if invalidParams.Len() > 0 {
 14530  		return invalidParams
 14531  	}
 14532  	return nil
 14533  }
 14534  
 14535  // SetAcceptLanguage sets the AcceptLanguage field's value.
 14536  func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetAcceptLanguage(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
 14537  	s.AcceptLanguage = &v
 14538  	return s
 14539  }
 14540  
 14541  // SetProductId sets the ProductId field's value.
 14542  func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProductId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
 14543  	s.ProductId = &v
 14544  	return s
 14545  }
 14546  
 14547  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 14548  func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
 14549  	s.ProvisioningArtifactId = &v
 14550  	return s
 14551  }
 14552  
 14553  // SetServiceActionId sets the ServiceActionId field's value.
 14554  func (s *DisassociateServiceActionFromProvisioningArtifactInput) SetServiceActionId(v string) *DisassociateServiceActionFromProvisioningArtifactInput {
 14555  	s.ServiceActionId = &v
 14556  	return s
 14557  }
 14558  
 14559  type DisassociateServiceActionFromProvisioningArtifactOutput struct {
 14560  	_ struct{} `type:"structure"`
 14561  }
 14562  
 14563  // String returns the string representation.
 14564  //
 14565  // API parameter values that are decorated as "sensitive" in the API will not
 14566  // be included in the string output. The member name will be present, but the
 14567  // value will be replaced with "sensitive".
 14568  func (s DisassociateServiceActionFromProvisioningArtifactOutput) String() string {
 14569  	return awsutil.Prettify(s)
 14570  }
 14571  
 14572  // GoString returns the string representation.
 14573  //
 14574  // API parameter values that are decorated as "sensitive" in the API will not
 14575  // be included in the string output. The member name will be present, but the
 14576  // value will be replaced with "sensitive".
 14577  func (s DisassociateServiceActionFromProvisioningArtifactOutput) GoString() string {
 14578  	return s.String()
 14579  }
 14580  
 14581  type DisassociateTagOptionFromResourceInput struct {
 14582  	_ struct{} `type:"structure"`
 14583  
 14584  	// The resource identifier.
 14585  	//
 14586  	// ResourceId is a required field
 14587  	ResourceId *string `type:"string" required:"true"`
 14588  
 14589  	// The TagOption identifier.
 14590  	//
 14591  	// TagOptionId is a required field
 14592  	TagOptionId *string `min:"1" type:"string" required:"true"`
 14593  }
 14594  
 14595  // String returns the string representation.
 14596  //
 14597  // API parameter values that are decorated as "sensitive" in the API will not
 14598  // be included in the string output. The member name will be present, but the
 14599  // value will be replaced with "sensitive".
 14600  func (s DisassociateTagOptionFromResourceInput) String() string {
 14601  	return awsutil.Prettify(s)
 14602  }
 14603  
 14604  // GoString returns the string representation.
 14605  //
 14606  // API parameter values that are decorated as "sensitive" in the API will not
 14607  // be included in the string output. The member name will be present, but the
 14608  // value will be replaced with "sensitive".
 14609  func (s DisassociateTagOptionFromResourceInput) GoString() string {
 14610  	return s.String()
 14611  }
 14612  
 14613  // Validate inspects the fields of the type to determine if they are valid.
 14614  func (s *DisassociateTagOptionFromResourceInput) Validate() error {
 14615  	invalidParams := request.ErrInvalidParams{Context: "DisassociateTagOptionFromResourceInput"}
 14616  	if s.ResourceId == nil {
 14617  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 14618  	}
 14619  	if s.TagOptionId == nil {
 14620  		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
 14621  	}
 14622  	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
 14623  		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
 14624  	}
 14625  
 14626  	if invalidParams.Len() > 0 {
 14627  		return invalidParams
 14628  	}
 14629  	return nil
 14630  }
 14631  
 14632  // SetResourceId sets the ResourceId field's value.
 14633  func (s *DisassociateTagOptionFromResourceInput) SetResourceId(v string) *DisassociateTagOptionFromResourceInput {
 14634  	s.ResourceId = &v
 14635  	return s
 14636  }
 14637  
 14638  // SetTagOptionId sets the TagOptionId field's value.
 14639  func (s *DisassociateTagOptionFromResourceInput) SetTagOptionId(v string) *DisassociateTagOptionFromResourceInput {
 14640  	s.TagOptionId = &v
 14641  	return s
 14642  }
 14643  
 14644  type DisassociateTagOptionFromResourceOutput struct {
 14645  	_ struct{} `type:"structure"`
 14646  }
 14647  
 14648  // String returns the string representation.
 14649  //
 14650  // API parameter values that are decorated as "sensitive" in the API will not
 14651  // be included in the string output. The member name will be present, but the
 14652  // value will be replaced with "sensitive".
 14653  func (s DisassociateTagOptionFromResourceOutput) String() string {
 14654  	return awsutil.Prettify(s)
 14655  }
 14656  
 14657  // GoString returns the string representation.
 14658  //
 14659  // API parameter values that are decorated as "sensitive" in the API will not
 14660  // be included in the string output. The member name will be present, but the
 14661  // value will be replaced with "sensitive".
 14662  func (s DisassociateTagOptionFromResourceOutput) GoString() string {
 14663  	return s.String()
 14664  }
 14665  
 14666  // The specified resource is a duplicate.
 14667  type DuplicateResourceException struct {
 14668  	_            struct{}                  `type:"structure"`
 14669  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14670  
 14671  	Message_ *string `locationName:"message" type:"string"`
 14672  }
 14673  
 14674  // String returns the string representation.
 14675  //
 14676  // API parameter values that are decorated as "sensitive" in the API will not
 14677  // be included in the string output. The member name will be present, but the
 14678  // value will be replaced with "sensitive".
 14679  func (s DuplicateResourceException) String() string {
 14680  	return awsutil.Prettify(s)
 14681  }
 14682  
 14683  // GoString returns the string representation.
 14684  //
 14685  // API parameter values that are decorated as "sensitive" in the API will not
 14686  // be included in the string output. The member name will be present, but the
 14687  // value will be replaced with "sensitive".
 14688  func (s DuplicateResourceException) GoString() string {
 14689  	return s.String()
 14690  }
 14691  
 14692  func newErrorDuplicateResourceException(v protocol.ResponseMetadata) error {
 14693  	return &DuplicateResourceException{
 14694  		RespMetadata: v,
 14695  	}
 14696  }
 14697  
 14698  // Code returns the exception type name.
 14699  func (s *DuplicateResourceException) Code() string {
 14700  	return "DuplicateResourceException"
 14701  }
 14702  
 14703  // Message returns the exception's message.
 14704  func (s *DuplicateResourceException) Message() string {
 14705  	if s.Message_ != nil {
 14706  		return *s.Message_
 14707  	}
 14708  	return ""
 14709  }
 14710  
 14711  // OrigErr always returns nil, satisfies awserr.Error interface.
 14712  func (s *DuplicateResourceException) OrigErr() error {
 14713  	return nil
 14714  }
 14715  
 14716  func (s *DuplicateResourceException) Error() string {
 14717  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 14718  }
 14719  
 14720  // Status code returns the HTTP status code for the request's response error.
 14721  func (s *DuplicateResourceException) StatusCode() int {
 14722  	return s.RespMetadata.StatusCode
 14723  }
 14724  
 14725  // RequestID returns the service's response RequestID for request.
 14726  func (s *DuplicateResourceException) RequestID() string {
 14727  	return s.RespMetadata.RequestID
 14728  }
 14729  
 14730  type EnableAWSOrganizationsAccessInput struct {
 14731  	_ struct{} `type:"structure"`
 14732  }
 14733  
 14734  // String returns the string representation.
 14735  //
 14736  // API parameter values that are decorated as "sensitive" in the API will not
 14737  // be included in the string output. The member name will be present, but the
 14738  // value will be replaced with "sensitive".
 14739  func (s EnableAWSOrganizationsAccessInput) String() string {
 14740  	return awsutil.Prettify(s)
 14741  }
 14742  
 14743  // GoString returns the string representation.
 14744  //
 14745  // API parameter values that are decorated as "sensitive" in the API will not
 14746  // be included in the string output. The member name will be present, but the
 14747  // value will be replaced with "sensitive".
 14748  func (s EnableAWSOrganizationsAccessInput) GoString() string {
 14749  	return s.String()
 14750  }
 14751  
 14752  type EnableAWSOrganizationsAccessOutput struct {
 14753  	_ struct{} `type:"structure"`
 14754  }
 14755  
 14756  // String returns the string representation.
 14757  //
 14758  // API parameter values that are decorated as "sensitive" in the API will not
 14759  // be included in the string output. The member name will be present, but the
 14760  // value will be replaced with "sensitive".
 14761  func (s EnableAWSOrganizationsAccessOutput) String() string {
 14762  	return awsutil.Prettify(s)
 14763  }
 14764  
 14765  // GoString returns the string representation.
 14766  //
 14767  // API parameter values that are decorated as "sensitive" in the API will not
 14768  // be included in the string output. The member name will be present, but the
 14769  // value will be replaced with "sensitive".
 14770  func (s EnableAWSOrganizationsAccessOutput) GoString() string {
 14771  	return s.String()
 14772  }
 14773  
 14774  type ExecuteProvisionedProductPlanInput struct {
 14775  	_ struct{} `type:"structure"`
 14776  
 14777  	// The language code.
 14778  	//
 14779  	//    * en - English (default)
 14780  	//
 14781  	//    * jp - Japanese
 14782  	//
 14783  	//    * zh - Chinese
 14784  	AcceptLanguage *string `type:"string"`
 14785  
 14786  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 14787  	// differ only by the idempotency token, the same response is returned for each
 14788  	// repeated request.
 14789  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
 14790  
 14791  	// The plan identifier.
 14792  	//
 14793  	// PlanId is a required field
 14794  	PlanId *string `min:"1" type:"string" required:"true"`
 14795  }
 14796  
 14797  // String returns the string representation.
 14798  //
 14799  // API parameter values that are decorated as "sensitive" in the API will not
 14800  // be included in the string output. The member name will be present, but the
 14801  // value will be replaced with "sensitive".
 14802  func (s ExecuteProvisionedProductPlanInput) String() string {
 14803  	return awsutil.Prettify(s)
 14804  }
 14805  
 14806  // GoString returns the string representation.
 14807  //
 14808  // API parameter values that are decorated as "sensitive" in the API will not
 14809  // be included in the string output. The member name will be present, but the
 14810  // value will be replaced with "sensitive".
 14811  func (s ExecuteProvisionedProductPlanInput) GoString() string {
 14812  	return s.String()
 14813  }
 14814  
 14815  // Validate inspects the fields of the type to determine if they are valid.
 14816  func (s *ExecuteProvisionedProductPlanInput) Validate() error {
 14817  	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductPlanInput"}
 14818  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 14819  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 14820  	}
 14821  	if s.PlanId == nil {
 14822  		invalidParams.Add(request.NewErrParamRequired("PlanId"))
 14823  	}
 14824  	if s.PlanId != nil && len(*s.PlanId) < 1 {
 14825  		invalidParams.Add(request.NewErrParamMinLen("PlanId", 1))
 14826  	}
 14827  
 14828  	if invalidParams.Len() > 0 {
 14829  		return invalidParams
 14830  	}
 14831  	return nil
 14832  }
 14833  
 14834  // SetAcceptLanguage sets the AcceptLanguage field's value.
 14835  func (s *ExecuteProvisionedProductPlanInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductPlanInput {
 14836  	s.AcceptLanguage = &v
 14837  	return s
 14838  }
 14839  
 14840  // SetIdempotencyToken sets the IdempotencyToken field's value.
 14841  func (s *ExecuteProvisionedProductPlanInput) SetIdempotencyToken(v string) *ExecuteProvisionedProductPlanInput {
 14842  	s.IdempotencyToken = &v
 14843  	return s
 14844  }
 14845  
 14846  // SetPlanId sets the PlanId field's value.
 14847  func (s *ExecuteProvisionedProductPlanInput) SetPlanId(v string) *ExecuteProvisionedProductPlanInput {
 14848  	s.PlanId = &v
 14849  	return s
 14850  }
 14851  
 14852  type ExecuteProvisionedProductPlanOutput struct {
 14853  	_ struct{} `type:"structure"`
 14854  
 14855  	// Information about the result of provisioning the product.
 14856  	RecordDetail *RecordDetail `type:"structure"`
 14857  }
 14858  
 14859  // String returns the string representation.
 14860  //
 14861  // API parameter values that are decorated as "sensitive" in the API will not
 14862  // be included in the string output. The member name will be present, but the
 14863  // value will be replaced with "sensitive".
 14864  func (s ExecuteProvisionedProductPlanOutput) String() string {
 14865  	return awsutil.Prettify(s)
 14866  }
 14867  
 14868  // GoString returns the string representation.
 14869  //
 14870  // API parameter values that are decorated as "sensitive" in the API will not
 14871  // be included in the string output. The member name will be present, but the
 14872  // value will be replaced with "sensitive".
 14873  func (s ExecuteProvisionedProductPlanOutput) GoString() string {
 14874  	return s.String()
 14875  }
 14876  
 14877  // SetRecordDetail sets the RecordDetail field's value.
 14878  func (s *ExecuteProvisionedProductPlanOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductPlanOutput {
 14879  	s.RecordDetail = v
 14880  	return s
 14881  }
 14882  
 14883  type ExecuteProvisionedProductServiceActionInput struct {
 14884  	_ struct{} `type:"structure"`
 14885  
 14886  	// The language code.
 14887  	//
 14888  	//    * en - English (default)
 14889  	//
 14890  	//    * jp - Japanese
 14891  	//
 14892  	//    * zh - Chinese
 14893  	AcceptLanguage *string `type:"string"`
 14894  
 14895  	// An idempotency token that uniquely identifies the execute request.
 14896  	ExecuteToken *string `min:"1" type:"string" idempotencyToken:"true"`
 14897  
 14898  	// A map of all self-service action parameters and their values. If a provided
 14899  	// parameter is of a special type, such as TARGET, the provided value will override
 14900  	// the default value generated by AWS Service Catalog. If the parameters field
 14901  	// is not provided, no additional parameters are passed and default values will
 14902  	// be used for any special parameters such as TARGET.
 14903  	Parameters map[string][]*string `min:"1" type:"map"`
 14904  
 14905  	// The identifier of the provisioned product.
 14906  	//
 14907  	// ProvisionedProductId is a required field
 14908  	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
 14909  
 14910  	// The self-service action identifier. For example, act-fs7abcd89wxyz.
 14911  	//
 14912  	// ServiceActionId is a required field
 14913  	ServiceActionId *string `min:"1" type:"string" required:"true"`
 14914  }
 14915  
 14916  // String returns the string representation.
 14917  //
 14918  // API parameter values that are decorated as "sensitive" in the API will not
 14919  // be included in the string output. The member name will be present, but the
 14920  // value will be replaced with "sensitive".
 14921  func (s ExecuteProvisionedProductServiceActionInput) String() string {
 14922  	return awsutil.Prettify(s)
 14923  }
 14924  
 14925  // GoString returns the string representation.
 14926  //
 14927  // API parameter values that are decorated as "sensitive" in the API will not
 14928  // be included in the string output. The member name will be present, but the
 14929  // value will be replaced with "sensitive".
 14930  func (s ExecuteProvisionedProductServiceActionInput) GoString() string {
 14931  	return s.String()
 14932  }
 14933  
 14934  // Validate inspects the fields of the type to determine if they are valid.
 14935  func (s *ExecuteProvisionedProductServiceActionInput) Validate() error {
 14936  	invalidParams := request.ErrInvalidParams{Context: "ExecuteProvisionedProductServiceActionInput"}
 14937  	if s.ExecuteToken != nil && len(*s.ExecuteToken) < 1 {
 14938  		invalidParams.Add(request.NewErrParamMinLen("ExecuteToken", 1))
 14939  	}
 14940  	if s.Parameters != nil && len(s.Parameters) < 1 {
 14941  		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
 14942  	}
 14943  	if s.ProvisionedProductId == nil {
 14944  		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
 14945  	}
 14946  	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
 14947  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
 14948  	}
 14949  	if s.ServiceActionId == nil {
 14950  		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
 14951  	}
 14952  	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
 14953  		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
 14954  	}
 14955  
 14956  	if invalidParams.Len() > 0 {
 14957  		return invalidParams
 14958  	}
 14959  	return nil
 14960  }
 14961  
 14962  // SetAcceptLanguage sets the AcceptLanguage field's value.
 14963  func (s *ExecuteProvisionedProductServiceActionInput) SetAcceptLanguage(v string) *ExecuteProvisionedProductServiceActionInput {
 14964  	s.AcceptLanguage = &v
 14965  	return s
 14966  }
 14967  
 14968  // SetExecuteToken sets the ExecuteToken field's value.
 14969  func (s *ExecuteProvisionedProductServiceActionInput) SetExecuteToken(v string) *ExecuteProvisionedProductServiceActionInput {
 14970  	s.ExecuteToken = &v
 14971  	return s
 14972  }
 14973  
 14974  // SetParameters sets the Parameters field's value.
 14975  func (s *ExecuteProvisionedProductServiceActionInput) SetParameters(v map[string][]*string) *ExecuteProvisionedProductServiceActionInput {
 14976  	s.Parameters = v
 14977  	return s
 14978  }
 14979  
 14980  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 14981  func (s *ExecuteProvisionedProductServiceActionInput) SetProvisionedProductId(v string) *ExecuteProvisionedProductServiceActionInput {
 14982  	s.ProvisionedProductId = &v
 14983  	return s
 14984  }
 14985  
 14986  // SetServiceActionId sets the ServiceActionId field's value.
 14987  func (s *ExecuteProvisionedProductServiceActionInput) SetServiceActionId(v string) *ExecuteProvisionedProductServiceActionInput {
 14988  	s.ServiceActionId = &v
 14989  	return s
 14990  }
 14991  
 14992  type ExecuteProvisionedProductServiceActionOutput struct {
 14993  	_ struct{} `type:"structure"`
 14994  
 14995  	// An object containing detailed information about the result of provisioning
 14996  	// the product.
 14997  	RecordDetail *RecordDetail `type:"structure"`
 14998  }
 14999  
 15000  // String returns the string representation.
 15001  //
 15002  // API parameter values that are decorated as "sensitive" in the API will not
 15003  // be included in the string output. The member name will be present, but the
 15004  // value will be replaced with "sensitive".
 15005  func (s ExecuteProvisionedProductServiceActionOutput) String() string {
 15006  	return awsutil.Prettify(s)
 15007  }
 15008  
 15009  // GoString returns the string representation.
 15010  //
 15011  // API parameter values that are decorated as "sensitive" in the API will not
 15012  // be included in the string output. The member name will be present, but the
 15013  // value will be replaced with "sensitive".
 15014  func (s ExecuteProvisionedProductServiceActionOutput) GoString() string {
 15015  	return s.String()
 15016  }
 15017  
 15018  // SetRecordDetail sets the RecordDetail field's value.
 15019  func (s *ExecuteProvisionedProductServiceActionOutput) SetRecordDetail(v *RecordDetail) *ExecuteProvisionedProductServiceActionOutput {
 15020  	s.RecordDetail = v
 15021  	return s
 15022  }
 15023  
 15024  // Details of an execution parameter value that is passed to a self-service
 15025  // action when executed on a provisioned product.
 15026  type ExecutionParameter struct {
 15027  	_ struct{} `type:"structure"`
 15028  
 15029  	// The default values for the execution parameter.
 15030  	DefaultValues []*string `type:"list"`
 15031  
 15032  	// The name of the execution parameter.
 15033  	Name *string `min:"1" type:"string"`
 15034  
 15035  	// The execution parameter type.
 15036  	Type *string `min:"1" type:"string"`
 15037  }
 15038  
 15039  // String returns the string representation.
 15040  //
 15041  // API parameter values that are decorated as "sensitive" in the API will not
 15042  // be included in the string output. The member name will be present, but the
 15043  // value will be replaced with "sensitive".
 15044  func (s ExecutionParameter) String() string {
 15045  	return awsutil.Prettify(s)
 15046  }
 15047  
 15048  // GoString returns the string representation.
 15049  //
 15050  // API parameter values that are decorated as "sensitive" in the API will not
 15051  // be included in the string output. The member name will be present, but the
 15052  // value will be replaced with "sensitive".
 15053  func (s ExecutionParameter) GoString() string {
 15054  	return s.String()
 15055  }
 15056  
 15057  // SetDefaultValues sets the DefaultValues field's value.
 15058  func (s *ExecutionParameter) SetDefaultValues(v []*string) *ExecutionParameter {
 15059  	s.DefaultValues = v
 15060  	return s
 15061  }
 15062  
 15063  // SetName sets the Name field's value.
 15064  func (s *ExecutionParameter) SetName(v string) *ExecutionParameter {
 15065  	s.Name = &v
 15066  	return s
 15067  }
 15068  
 15069  // SetType sets the Type field's value.
 15070  func (s *ExecutionParameter) SetType(v string) *ExecutionParameter {
 15071  	s.Type = &v
 15072  	return s
 15073  }
 15074  
 15075  // An object containing information about the error, along with identifying
 15076  // information about the self-service action and its associations.
 15077  type FailedServiceActionAssociation struct {
 15078  	_ struct{} `type:"structure"`
 15079  
 15080  	// The error code. Valid values are listed below.
 15081  	ErrorCode *string `type:"string" enum:"ServiceActionAssociationErrorCode"`
 15082  
 15083  	// A text description of the error.
 15084  	ErrorMessage *string `min:"1" type:"string"`
 15085  
 15086  	// The product identifier. For example, prod-abcdzk7xy33qa.
 15087  	ProductId *string `min:"1" type:"string"`
 15088  
 15089  	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
 15090  	ProvisioningArtifactId *string `min:"1" type:"string"`
 15091  
 15092  	// The self-service action identifier. For example, act-fs7abcd89wxyz.
 15093  	ServiceActionId *string `min:"1" type:"string"`
 15094  }
 15095  
 15096  // String returns the string representation.
 15097  //
 15098  // API parameter values that are decorated as "sensitive" in the API will not
 15099  // be included in the string output. The member name will be present, but the
 15100  // value will be replaced with "sensitive".
 15101  func (s FailedServiceActionAssociation) String() string {
 15102  	return awsutil.Prettify(s)
 15103  }
 15104  
 15105  // GoString returns the string representation.
 15106  //
 15107  // API parameter values that are decorated as "sensitive" in the API will not
 15108  // be included in the string output. The member name will be present, but the
 15109  // value will be replaced with "sensitive".
 15110  func (s FailedServiceActionAssociation) GoString() string {
 15111  	return s.String()
 15112  }
 15113  
 15114  // SetErrorCode sets the ErrorCode field's value.
 15115  func (s *FailedServiceActionAssociation) SetErrorCode(v string) *FailedServiceActionAssociation {
 15116  	s.ErrorCode = &v
 15117  	return s
 15118  }
 15119  
 15120  // SetErrorMessage sets the ErrorMessage field's value.
 15121  func (s *FailedServiceActionAssociation) SetErrorMessage(v string) *FailedServiceActionAssociation {
 15122  	s.ErrorMessage = &v
 15123  	return s
 15124  }
 15125  
 15126  // SetProductId sets the ProductId field's value.
 15127  func (s *FailedServiceActionAssociation) SetProductId(v string) *FailedServiceActionAssociation {
 15128  	s.ProductId = &v
 15129  	return s
 15130  }
 15131  
 15132  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 15133  func (s *FailedServiceActionAssociation) SetProvisioningArtifactId(v string) *FailedServiceActionAssociation {
 15134  	s.ProvisioningArtifactId = &v
 15135  	return s
 15136  }
 15137  
 15138  // SetServiceActionId sets the ServiceActionId field's value.
 15139  func (s *FailedServiceActionAssociation) SetServiceActionId(v string) *FailedServiceActionAssociation {
 15140  	s.ServiceActionId = &v
 15141  	return s
 15142  }
 15143  
 15144  type GetAWSOrganizationsAccessStatusInput struct {
 15145  	_ struct{} `type:"structure"`
 15146  }
 15147  
 15148  // String returns the string representation.
 15149  //
 15150  // API parameter values that are decorated as "sensitive" in the API will not
 15151  // be included in the string output. The member name will be present, but the
 15152  // value will be replaced with "sensitive".
 15153  func (s GetAWSOrganizationsAccessStatusInput) String() string {
 15154  	return awsutil.Prettify(s)
 15155  }
 15156  
 15157  // GoString returns the string representation.
 15158  //
 15159  // API parameter values that are decorated as "sensitive" in the API will not
 15160  // be included in the string output. The member name will be present, but the
 15161  // value will be replaced with "sensitive".
 15162  func (s GetAWSOrganizationsAccessStatusInput) GoString() string {
 15163  	return s.String()
 15164  }
 15165  
 15166  type GetAWSOrganizationsAccessStatusOutput struct {
 15167  	_ struct{} `type:"structure"`
 15168  
 15169  	// The status of the portfolio share feature.
 15170  	AccessStatus *string `type:"string" enum:"AccessStatus"`
 15171  }
 15172  
 15173  // String returns the string representation.
 15174  //
 15175  // API parameter values that are decorated as "sensitive" in the API will not
 15176  // be included in the string output. The member name will be present, but the
 15177  // value will be replaced with "sensitive".
 15178  func (s GetAWSOrganizationsAccessStatusOutput) String() string {
 15179  	return awsutil.Prettify(s)
 15180  }
 15181  
 15182  // GoString returns the string representation.
 15183  //
 15184  // API parameter values that are decorated as "sensitive" in the API will not
 15185  // be included in the string output. The member name will be present, but the
 15186  // value will be replaced with "sensitive".
 15187  func (s GetAWSOrganizationsAccessStatusOutput) GoString() string {
 15188  	return s.String()
 15189  }
 15190  
 15191  // SetAccessStatus sets the AccessStatus field's value.
 15192  func (s *GetAWSOrganizationsAccessStatusOutput) SetAccessStatus(v string) *GetAWSOrganizationsAccessStatusOutput {
 15193  	s.AccessStatus = &v
 15194  	return s
 15195  }
 15196  
 15197  type GetProvisionedProductOutputsInput struct {
 15198  	_ struct{} `type:"structure"`
 15199  
 15200  	// The language code.
 15201  	//
 15202  	//    * en - English (default)
 15203  	//
 15204  	//    * jp - Japanese
 15205  	//
 15206  	//    * zh - Chinese
 15207  	AcceptLanguage *string `type:"string"`
 15208  
 15209  	// The list of keys that the API should return with their values. If none are
 15210  	// provided, the API will return all outputs of the provisioned product.
 15211  	OutputKeys []*string `type:"list"`
 15212  
 15213  	// The maximum number of items to return with this call.
 15214  	PageSize *int64 `type:"integer"`
 15215  
 15216  	// The page token for the next set of results. To retrieve the first set of
 15217  	// results, use null.
 15218  	PageToken *string `type:"string"`
 15219  
 15220  	// The identifier of the provisioned product that you want the outputs from.
 15221  	ProvisionedProductId *string `min:"1" type:"string"`
 15222  
 15223  	// The name of the provisioned product that you want the outputs from.
 15224  	ProvisionedProductName *string `min:"1" type:"string"`
 15225  }
 15226  
 15227  // String returns the string representation.
 15228  //
 15229  // API parameter values that are decorated as "sensitive" in the API will not
 15230  // be included in the string output. The member name will be present, but the
 15231  // value will be replaced with "sensitive".
 15232  func (s GetProvisionedProductOutputsInput) String() string {
 15233  	return awsutil.Prettify(s)
 15234  }
 15235  
 15236  // GoString returns the string representation.
 15237  //
 15238  // API parameter values that are decorated as "sensitive" in the API will not
 15239  // be included in the string output. The member name will be present, but the
 15240  // value will be replaced with "sensitive".
 15241  func (s GetProvisionedProductOutputsInput) GoString() string {
 15242  	return s.String()
 15243  }
 15244  
 15245  // Validate inspects the fields of the type to determine if they are valid.
 15246  func (s *GetProvisionedProductOutputsInput) Validate() error {
 15247  	invalidParams := request.ErrInvalidParams{Context: "GetProvisionedProductOutputsInput"}
 15248  	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
 15249  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
 15250  	}
 15251  	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
 15252  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
 15253  	}
 15254  
 15255  	if invalidParams.Len() > 0 {
 15256  		return invalidParams
 15257  	}
 15258  	return nil
 15259  }
 15260  
 15261  // SetAcceptLanguage sets the AcceptLanguage field's value.
 15262  func (s *GetProvisionedProductOutputsInput) SetAcceptLanguage(v string) *GetProvisionedProductOutputsInput {
 15263  	s.AcceptLanguage = &v
 15264  	return s
 15265  }
 15266  
 15267  // SetOutputKeys sets the OutputKeys field's value.
 15268  func (s *GetProvisionedProductOutputsInput) SetOutputKeys(v []*string) *GetProvisionedProductOutputsInput {
 15269  	s.OutputKeys = v
 15270  	return s
 15271  }
 15272  
 15273  // SetPageSize sets the PageSize field's value.
 15274  func (s *GetProvisionedProductOutputsInput) SetPageSize(v int64) *GetProvisionedProductOutputsInput {
 15275  	s.PageSize = &v
 15276  	return s
 15277  }
 15278  
 15279  // SetPageToken sets the PageToken field's value.
 15280  func (s *GetProvisionedProductOutputsInput) SetPageToken(v string) *GetProvisionedProductOutputsInput {
 15281  	s.PageToken = &v
 15282  	return s
 15283  }
 15284  
 15285  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 15286  func (s *GetProvisionedProductOutputsInput) SetProvisionedProductId(v string) *GetProvisionedProductOutputsInput {
 15287  	s.ProvisionedProductId = &v
 15288  	return s
 15289  }
 15290  
 15291  // SetProvisionedProductName sets the ProvisionedProductName field's value.
 15292  func (s *GetProvisionedProductOutputsInput) SetProvisionedProductName(v string) *GetProvisionedProductOutputsInput {
 15293  	s.ProvisionedProductName = &v
 15294  	return s
 15295  }
 15296  
 15297  type GetProvisionedProductOutputsOutput struct {
 15298  	_ struct{} `type:"structure"`
 15299  
 15300  	// The page token to use to retrieve the next set of results. If there are no
 15301  	// additional results, this value is null.
 15302  	NextPageToken *string `type:"string"`
 15303  
 15304  	// Information about the product created as the result of a request. For example,
 15305  	// the output for a CloudFormation-backed product that creates an S3 bucket
 15306  	// would include the S3 bucket URL.
 15307  	Outputs []*RecordOutput `type:"list"`
 15308  }
 15309  
 15310  // String returns the string representation.
 15311  //
 15312  // API parameter values that are decorated as "sensitive" in the API will not
 15313  // be included in the string output. The member name will be present, but the
 15314  // value will be replaced with "sensitive".
 15315  func (s GetProvisionedProductOutputsOutput) String() string {
 15316  	return awsutil.Prettify(s)
 15317  }
 15318  
 15319  // GoString returns the string representation.
 15320  //
 15321  // API parameter values that are decorated as "sensitive" in the API will not
 15322  // be included in the string output. The member name will be present, but the
 15323  // value will be replaced with "sensitive".
 15324  func (s GetProvisionedProductOutputsOutput) GoString() string {
 15325  	return s.String()
 15326  }
 15327  
 15328  // SetNextPageToken sets the NextPageToken field's value.
 15329  func (s *GetProvisionedProductOutputsOutput) SetNextPageToken(v string) *GetProvisionedProductOutputsOutput {
 15330  	s.NextPageToken = &v
 15331  	return s
 15332  }
 15333  
 15334  // SetOutputs sets the Outputs field's value.
 15335  func (s *GetProvisionedProductOutputsOutput) SetOutputs(v []*RecordOutput) *GetProvisionedProductOutputsOutput {
 15336  	s.Outputs = v
 15337  	return s
 15338  }
 15339  
 15340  type ImportAsProvisionedProductInput struct {
 15341  	_ struct{} `type:"structure"`
 15342  
 15343  	// The language code.
 15344  	//
 15345  	//    * en - English (default)
 15346  	//
 15347  	//    * jp - Japanese
 15348  	//
 15349  	//    * zh - Chinese
 15350  	AcceptLanguage *string `type:"string"`
 15351  
 15352  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 15353  	// differ only by the idempotency token, the same response is returned for each
 15354  	// repeated request.
 15355  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
 15356  
 15357  	// The unique identifier of the resource to be imported. It only currently supports
 15358  	// CloudFormation stack IDs.
 15359  	//
 15360  	// PhysicalId is a required field
 15361  	PhysicalId *string `type:"string" required:"true"`
 15362  
 15363  	// The product identifier.
 15364  	//
 15365  	// ProductId is a required field
 15366  	ProductId *string `min:"1" type:"string" required:"true"`
 15367  
 15368  	// The user-friendly name of the provisioned product. The value must be unique
 15369  	// for the AWS account. The name cannot be updated after the product is provisioned.
 15370  	//
 15371  	// ProvisionedProductName is a required field
 15372  	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
 15373  
 15374  	// The identifier of the provisioning artifact.
 15375  	//
 15376  	// ProvisioningArtifactId is a required field
 15377  	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
 15378  }
 15379  
 15380  // String returns the string representation.
 15381  //
 15382  // API parameter values that are decorated as "sensitive" in the API will not
 15383  // be included in the string output. The member name will be present, but the
 15384  // value will be replaced with "sensitive".
 15385  func (s ImportAsProvisionedProductInput) String() string {
 15386  	return awsutil.Prettify(s)
 15387  }
 15388  
 15389  // GoString returns the string representation.
 15390  //
 15391  // API parameter values that are decorated as "sensitive" in the API will not
 15392  // be included in the string output. The member name will be present, but the
 15393  // value will be replaced with "sensitive".
 15394  func (s ImportAsProvisionedProductInput) GoString() string {
 15395  	return s.String()
 15396  }
 15397  
 15398  // Validate inspects the fields of the type to determine if they are valid.
 15399  func (s *ImportAsProvisionedProductInput) Validate() error {
 15400  	invalidParams := request.ErrInvalidParams{Context: "ImportAsProvisionedProductInput"}
 15401  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 15402  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 15403  	}
 15404  	if s.PhysicalId == nil {
 15405  		invalidParams.Add(request.NewErrParamRequired("PhysicalId"))
 15406  	}
 15407  	if s.ProductId == nil {
 15408  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 15409  	}
 15410  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 15411  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 15412  	}
 15413  	if s.ProvisionedProductName == nil {
 15414  		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
 15415  	}
 15416  	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
 15417  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
 15418  	}
 15419  	if s.ProvisioningArtifactId == nil {
 15420  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
 15421  	}
 15422  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 15423  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 15424  	}
 15425  
 15426  	if invalidParams.Len() > 0 {
 15427  		return invalidParams
 15428  	}
 15429  	return nil
 15430  }
 15431  
 15432  // SetAcceptLanguage sets the AcceptLanguage field's value.
 15433  func (s *ImportAsProvisionedProductInput) SetAcceptLanguage(v string) *ImportAsProvisionedProductInput {
 15434  	s.AcceptLanguage = &v
 15435  	return s
 15436  }
 15437  
 15438  // SetIdempotencyToken sets the IdempotencyToken field's value.
 15439  func (s *ImportAsProvisionedProductInput) SetIdempotencyToken(v string) *ImportAsProvisionedProductInput {
 15440  	s.IdempotencyToken = &v
 15441  	return s
 15442  }
 15443  
 15444  // SetPhysicalId sets the PhysicalId field's value.
 15445  func (s *ImportAsProvisionedProductInput) SetPhysicalId(v string) *ImportAsProvisionedProductInput {
 15446  	s.PhysicalId = &v
 15447  	return s
 15448  }
 15449  
 15450  // SetProductId sets the ProductId field's value.
 15451  func (s *ImportAsProvisionedProductInput) SetProductId(v string) *ImportAsProvisionedProductInput {
 15452  	s.ProductId = &v
 15453  	return s
 15454  }
 15455  
 15456  // SetProvisionedProductName sets the ProvisionedProductName field's value.
 15457  func (s *ImportAsProvisionedProductInput) SetProvisionedProductName(v string) *ImportAsProvisionedProductInput {
 15458  	s.ProvisionedProductName = &v
 15459  	return s
 15460  }
 15461  
 15462  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 15463  func (s *ImportAsProvisionedProductInput) SetProvisioningArtifactId(v string) *ImportAsProvisionedProductInput {
 15464  	s.ProvisioningArtifactId = &v
 15465  	return s
 15466  }
 15467  
 15468  type ImportAsProvisionedProductOutput struct {
 15469  	_ struct{} `type:"structure"`
 15470  
 15471  	// Information about a request operation.
 15472  	RecordDetail *RecordDetail `type:"structure"`
 15473  }
 15474  
 15475  // String returns the string representation.
 15476  //
 15477  // API parameter values that are decorated as "sensitive" in the API will not
 15478  // be included in the string output. The member name will be present, but the
 15479  // value will be replaced with "sensitive".
 15480  func (s ImportAsProvisionedProductOutput) String() string {
 15481  	return awsutil.Prettify(s)
 15482  }
 15483  
 15484  // GoString returns the string representation.
 15485  //
 15486  // API parameter values that are decorated as "sensitive" in the API will not
 15487  // be included in the string output. The member name will be present, but the
 15488  // value will be replaced with "sensitive".
 15489  func (s ImportAsProvisionedProductOutput) GoString() string {
 15490  	return s.String()
 15491  }
 15492  
 15493  // SetRecordDetail sets the RecordDetail field's value.
 15494  func (s *ImportAsProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *ImportAsProvisionedProductOutput {
 15495  	s.RecordDetail = v
 15496  	return s
 15497  }
 15498  
 15499  // One or more parameters provided to the operation are not valid.
 15500  type InvalidParametersException struct {
 15501  	_            struct{}                  `type:"structure"`
 15502  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15503  
 15504  	Message_ *string `locationName:"message" type:"string"`
 15505  }
 15506  
 15507  // String returns the string representation.
 15508  //
 15509  // API parameter values that are decorated as "sensitive" in the API will not
 15510  // be included in the string output. The member name will be present, but the
 15511  // value will be replaced with "sensitive".
 15512  func (s InvalidParametersException) String() string {
 15513  	return awsutil.Prettify(s)
 15514  }
 15515  
 15516  // GoString returns the string representation.
 15517  //
 15518  // API parameter values that are decorated as "sensitive" in the API will not
 15519  // be included in the string output. The member name will be present, but the
 15520  // value will be replaced with "sensitive".
 15521  func (s InvalidParametersException) GoString() string {
 15522  	return s.String()
 15523  }
 15524  
 15525  func newErrorInvalidParametersException(v protocol.ResponseMetadata) error {
 15526  	return &InvalidParametersException{
 15527  		RespMetadata: v,
 15528  	}
 15529  }
 15530  
 15531  // Code returns the exception type name.
 15532  func (s *InvalidParametersException) Code() string {
 15533  	return "InvalidParametersException"
 15534  }
 15535  
 15536  // Message returns the exception's message.
 15537  func (s *InvalidParametersException) Message() string {
 15538  	if s.Message_ != nil {
 15539  		return *s.Message_
 15540  	}
 15541  	return ""
 15542  }
 15543  
 15544  // OrigErr always returns nil, satisfies awserr.Error interface.
 15545  func (s *InvalidParametersException) OrigErr() error {
 15546  	return nil
 15547  }
 15548  
 15549  func (s *InvalidParametersException) Error() string {
 15550  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15551  }
 15552  
 15553  // Status code returns the HTTP status code for the request's response error.
 15554  func (s *InvalidParametersException) StatusCode() int {
 15555  	return s.RespMetadata.StatusCode
 15556  }
 15557  
 15558  // RequestID returns the service's response RequestID for request.
 15559  func (s *InvalidParametersException) RequestID() string {
 15560  	return s.RespMetadata.RequestID
 15561  }
 15562  
 15563  // An attempt was made to modify a resource that is in a state that is not valid.
 15564  // Check your resources to ensure that they are in valid states before retrying
 15565  // the operation.
 15566  type InvalidStateException struct {
 15567  	_            struct{}                  `type:"structure"`
 15568  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15569  
 15570  	Message_ *string `locationName:"message" type:"string"`
 15571  }
 15572  
 15573  // String returns the string representation.
 15574  //
 15575  // API parameter values that are decorated as "sensitive" in the API will not
 15576  // be included in the string output. The member name will be present, but the
 15577  // value will be replaced with "sensitive".
 15578  func (s InvalidStateException) String() string {
 15579  	return awsutil.Prettify(s)
 15580  }
 15581  
 15582  // GoString returns the string representation.
 15583  //
 15584  // API parameter values that are decorated as "sensitive" in the API will not
 15585  // be included in the string output. The member name will be present, but the
 15586  // value will be replaced with "sensitive".
 15587  func (s InvalidStateException) GoString() string {
 15588  	return s.String()
 15589  }
 15590  
 15591  func newErrorInvalidStateException(v protocol.ResponseMetadata) error {
 15592  	return &InvalidStateException{
 15593  		RespMetadata: v,
 15594  	}
 15595  }
 15596  
 15597  // Code returns the exception type name.
 15598  func (s *InvalidStateException) Code() string {
 15599  	return "InvalidStateException"
 15600  }
 15601  
 15602  // Message returns the exception's message.
 15603  func (s *InvalidStateException) Message() string {
 15604  	if s.Message_ != nil {
 15605  		return *s.Message_
 15606  	}
 15607  	return ""
 15608  }
 15609  
 15610  // OrigErr always returns nil, satisfies awserr.Error interface.
 15611  func (s *InvalidStateException) OrigErr() error {
 15612  	return nil
 15613  }
 15614  
 15615  func (s *InvalidStateException) Error() string {
 15616  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15617  }
 15618  
 15619  // Status code returns the HTTP status code for the request's response error.
 15620  func (s *InvalidStateException) StatusCode() int {
 15621  	return s.RespMetadata.StatusCode
 15622  }
 15623  
 15624  // RequestID returns the service's response RequestID for request.
 15625  func (s *InvalidStateException) RequestID() string {
 15626  	return s.RespMetadata.RequestID
 15627  }
 15628  
 15629  // A launch path object.
 15630  type LaunchPath struct {
 15631  	_ struct{} `type:"structure"`
 15632  
 15633  	// The identifier of the launch path.
 15634  	Id *string `min:"1" type:"string"`
 15635  
 15636  	// The name of the launch path.
 15637  	Name *string `type:"string"`
 15638  }
 15639  
 15640  // String returns the string representation.
 15641  //
 15642  // API parameter values that are decorated as "sensitive" in the API will not
 15643  // be included in the string output. The member name will be present, but the
 15644  // value will be replaced with "sensitive".
 15645  func (s LaunchPath) String() string {
 15646  	return awsutil.Prettify(s)
 15647  }
 15648  
 15649  // GoString returns the string representation.
 15650  //
 15651  // API parameter values that are decorated as "sensitive" in the API will not
 15652  // be included in the string output. The member name will be present, but the
 15653  // value will be replaced with "sensitive".
 15654  func (s LaunchPath) GoString() string {
 15655  	return s.String()
 15656  }
 15657  
 15658  // SetId sets the Id field's value.
 15659  func (s *LaunchPath) SetId(v string) *LaunchPath {
 15660  	s.Id = &v
 15661  	return s
 15662  }
 15663  
 15664  // SetName sets the Name field's value.
 15665  func (s *LaunchPath) SetName(v string) *LaunchPath {
 15666  	s.Name = &v
 15667  	return s
 15668  }
 15669  
 15670  // Summary information about a product path for a user.
 15671  type LaunchPathSummary struct {
 15672  	_ struct{} `type:"structure"`
 15673  
 15674  	// The constraints on the portfolio-product relationship.
 15675  	ConstraintSummaries []*ConstraintSummary `type:"list"`
 15676  
 15677  	// The identifier of the product path.
 15678  	Id *string `min:"1" type:"string"`
 15679  
 15680  	// The name of the portfolio to which the user was assigned.
 15681  	Name *string `type:"string"`
 15682  
 15683  	// The tags associated with this product path.
 15684  	Tags []*Tag `type:"list"`
 15685  }
 15686  
 15687  // String returns the string representation.
 15688  //
 15689  // API parameter values that are decorated as "sensitive" in the API will not
 15690  // be included in the string output. The member name will be present, but the
 15691  // value will be replaced with "sensitive".
 15692  func (s LaunchPathSummary) String() string {
 15693  	return awsutil.Prettify(s)
 15694  }
 15695  
 15696  // GoString returns the string representation.
 15697  //
 15698  // API parameter values that are decorated as "sensitive" in the API will not
 15699  // be included in the string output. The member name will be present, but the
 15700  // value will be replaced with "sensitive".
 15701  func (s LaunchPathSummary) GoString() string {
 15702  	return s.String()
 15703  }
 15704  
 15705  // SetConstraintSummaries sets the ConstraintSummaries field's value.
 15706  func (s *LaunchPathSummary) SetConstraintSummaries(v []*ConstraintSummary) *LaunchPathSummary {
 15707  	s.ConstraintSummaries = v
 15708  	return s
 15709  }
 15710  
 15711  // SetId sets the Id field's value.
 15712  func (s *LaunchPathSummary) SetId(v string) *LaunchPathSummary {
 15713  	s.Id = &v
 15714  	return s
 15715  }
 15716  
 15717  // SetName sets the Name field's value.
 15718  func (s *LaunchPathSummary) SetName(v string) *LaunchPathSummary {
 15719  	s.Name = &v
 15720  	return s
 15721  }
 15722  
 15723  // SetTags sets the Tags field's value.
 15724  func (s *LaunchPathSummary) SetTags(v []*Tag) *LaunchPathSummary {
 15725  	s.Tags = v
 15726  	return s
 15727  }
 15728  
 15729  // The current limits of the service would have been exceeded by this operation.
 15730  // Decrease your resource use or increase your service limits and retry the
 15731  // operation.
 15732  type LimitExceededException struct {
 15733  	_            struct{}                  `type:"structure"`
 15734  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15735  
 15736  	Message_ *string `locationName:"message" type:"string"`
 15737  }
 15738  
 15739  // String returns the string representation.
 15740  //
 15741  // API parameter values that are decorated as "sensitive" in the API will not
 15742  // be included in the string output. The member name will be present, but the
 15743  // value will be replaced with "sensitive".
 15744  func (s LimitExceededException) String() string {
 15745  	return awsutil.Prettify(s)
 15746  }
 15747  
 15748  // GoString returns the string representation.
 15749  //
 15750  // API parameter values that are decorated as "sensitive" in the API will not
 15751  // be included in the string output. The member name will be present, but the
 15752  // value will be replaced with "sensitive".
 15753  func (s LimitExceededException) GoString() string {
 15754  	return s.String()
 15755  }
 15756  
 15757  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 15758  	return &LimitExceededException{
 15759  		RespMetadata: v,
 15760  	}
 15761  }
 15762  
 15763  // Code returns the exception type name.
 15764  func (s *LimitExceededException) Code() string {
 15765  	return "LimitExceededException"
 15766  }
 15767  
 15768  // Message returns the exception's message.
 15769  func (s *LimitExceededException) Message() string {
 15770  	if s.Message_ != nil {
 15771  		return *s.Message_
 15772  	}
 15773  	return ""
 15774  }
 15775  
 15776  // OrigErr always returns nil, satisfies awserr.Error interface.
 15777  func (s *LimitExceededException) OrigErr() error {
 15778  	return nil
 15779  }
 15780  
 15781  func (s *LimitExceededException) Error() string {
 15782  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15783  }
 15784  
 15785  // Status code returns the HTTP status code for the request's response error.
 15786  func (s *LimitExceededException) StatusCode() int {
 15787  	return s.RespMetadata.StatusCode
 15788  }
 15789  
 15790  // RequestID returns the service's response RequestID for request.
 15791  func (s *LimitExceededException) RequestID() string {
 15792  	return s.RespMetadata.RequestID
 15793  }
 15794  
 15795  type ListAcceptedPortfolioSharesInput struct {
 15796  	_ struct{} `type:"structure"`
 15797  
 15798  	// The language code.
 15799  	//
 15800  	//    * en - English (default)
 15801  	//
 15802  	//    * jp - Japanese
 15803  	//
 15804  	//    * zh - Chinese
 15805  	AcceptLanguage *string `type:"string"`
 15806  
 15807  	// The maximum number of items to return with this call.
 15808  	PageSize *int64 `type:"integer"`
 15809  
 15810  	// The page token for the next set of results. To retrieve the first set of
 15811  	// results, use null.
 15812  	PageToken *string `type:"string"`
 15813  
 15814  	// The type of shared portfolios to list. The default is to list imported portfolios.
 15815  	//
 15816  	//    * AWS_ORGANIZATIONS - List portfolios shared by the management account
 15817  	//    of your organization
 15818  	//
 15819  	//    * AWS_SERVICECATALOG - List default portfolios
 15820  	//
 15821  	//    * IMPORTED - List imported portfolios
 15822  	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
 15823  }
 15824  
 15825  // String returns the string representation.
 15826  //
 15827  // API parameter values that are decorated as "sensitive" in the API will not
 15828  // be included in the string output. The member name will be present, but the
 15829  // value will be replaced with "sensitive".
 15830  func (s ListAcceptedPortfolioSharesInput) String() string {
 15831  	return awsutil.Prettify(s)
 15832  }
 15833  
 15834  // GoString returns the string representation.
 15835  //
 15836  // API parameter values that are decorated as "sensitive" in the API will not
 15837  // be included in the string output. The member name will be present, but the
 15838  // value will be replaced with "sensitive".
 15839  func (s ListAcceptedPortfolioSharesInput) GoString() string {
 15840  	return s.String()
 15841  }
 15842  
 15843  // SetAcceptLanguage sets the AcceptLanguage field's value.
 15844  func (s *ListAcceptedPortfolioSharesInput) SetAcceptLanguage(v string) *ListAcceptedPortfolioSharesInput {
 15845  	s.AcceptLanguage = &v
 15846  	return s
 15847  }
 15848  
 15849  // SetPageSize sets the PageSize field's value.
 15850  func (s *ListAcceptedPortfolioSharesInput) SetPageSize(v int64) *ListAcceptedPortfolioSharesInput {
 15851  	s.PageSize = &v
 15852  	return s
 15853  }
 15854  
 15855  // SetPageToken sets the PageToken field's value.
 15856  func (s *ListAcceptedPortfolioSharesInput) SetPageToken(v string) *ListAcceptedPortfolioSharesInput {
 15857  	s.PageToken = &v
 15858  	return s
 15859  }
 15860  
 15861  // SetPortfolioShareType sets the PortfolioShareType field's value.
 15862  func (s *ListAcceptedPortfolioSharesInput) SetPortfolioShareType(v string) *ListAcceptedPortfolioSharesInput {
 15863  	s.PortfolioShareType = &v
 15864  	return s
 15865  }
 15866  
 15867  type ListAcceptedPortfolioSharesOutput struct {
 15868  	_ struct{} `type:"structure"`
 15869  
 15870  	// The page token to use to retrieve the next set of results. If there are no
 15871  	// additional results, this value is null.
 15872  	NextPageToken *string `type:"string"`
 15873  
 15874  	// Information about the portfolios.
 15875  	PortfolioDetails []*PortfolioDetail `type:"list"`
 15876  }
 15877  
 15878  // String returns the string representation.
 15879  //
 15880  // API parameter values that are decorated as "sensitive" in the API will not
 15881  // be included in the string output. The member name will be present, but the
 15882  // value will be replaced with "sensitive".
 15883  func (s ListAcceptedPortfolioSharesOutput) String() string {
 15884  	return awsutil.Prettify(s)
 15885  }
 15886  
 15887  // GoString returns the string representation.
 15888  //
 15889  // API parameter values that are decorated as "sensitive" in the API will not
 15890  // be included in the string output. The member name will be present, but the
 15891  // value will be replaced with "sensitive".
 15892  func (s ListAcceptedPortfolioSharesOutput) GoString() string {
 15893  	return s.String()
 15894  }
 15895  
 15896  // SetNextPageToken sets the NextPageToken field's value.
 15897  func (s *ListAcceptedPortfolioSharesOutput) SetNextPageToken(v string) *ListAcceptedPortfolioSharesOutput {
 15898  	s.NextPageToken = &v
 15899  	return s
 15900  }
 15901  
 15902  // SetPortfolioDetails sets the PortfolioDetails field's value.
 15903  func (s *ListAcceptedPortfolioSharesOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListAcceptedPortfolioSharesOutput {
 15904  	s.PortfolioDetails = v
 15905  	return s
 15906  }
 15907  
 15908  type ListBudgetsForResourceInput struct {
 15909  	_ struct{} `type:"structure"`
 15910  
 15911  	// The language code.
 15912  	//
 15913  	//    * en - English (default)
 15914  	//
 15915  	//    * jp - Japanese
 15916  	//
 15917  	//    * zh - Chinese
 15918  	AcceptLanguage *string `type:"string"`
 15919  
 15920  	// The maximum number of items to return with this call.
 15921  	PageSize *int64 `type:"integer"`
 15922  
 15923  	// The page token for the next set of results. To retrieve the first set of
 15924  	// results, use null.
 15925  	PageToken *string `type:"string"`
 15926  
 15927  	// The resource identifier.
 15928  	//
 15929  	// ResourceId is a required field
 15930  	ResourceId *string `min:"1" type:"string" required:"true"`
 15931  }
 15932  
 15933  // String returns the string representation.
 15934  //
 15935  // API parameter values that are decorated as "sensitive" in the API will not
 15936  // be included in the string output. The member name will be present, but the
 15937  // value will be replaced with "sensitive".
 15938  func (s ListBudgetsForResourceInput) String() string {
 15939  	return awsutil.Prettify(s)
 15940  }
 15941  
 15942  // GoString returns the string representation.
 15943  //
 15944  // API parameter values that are decorated as "sensitive" in the API will not
 15945  // be included in the string output. The member name will be present, but the
 15946  // value will be replaced with "sensitive".
 15947  func (s ListBudgetsForResourceInput) GoString() string {
 15948  	return s.String()
 15949  }
 15950  
 15951  // Validate inspects the fields of the type to determine if they are valid.
 15952  func (s *ListBudgetsForResourceInput) Validate() error {
 15953  	invalidParams := request.ErrInvalidParams{Context: "ListBudgetsForResourceInput"}
 15954  	if s.ResourceId == nil {
 15955  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 15956  	}
 15957  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 15958  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 15959  	}
 15960  
 15961  	if invalidParams.Len() > 0 {
 15962  		return invalidParams
 15963  	}
 15964  	return nil
 15965  }
 15966  
 15967  // SetAcceptLanguage sets the AcceptLanguage field's value.
 15968  func (s *ListBudgetsForResourceInput) SetAcceptLanguage(v string) *ListBudgetsForResourceInput {
 15969  	s.AcceptLanguage = &v
 15970  	return s
 15971  }
 15972  
 15973  // SetPageSize sets the PageSize field's value.
 15974  func (s *ListBudgetsForResourceInput) SetPageSize(v int64) *ListBudgetsForResourceInput {
 15975  	s.PageSize = &v
 15976  	return s
 15977  }
 15978  
 15979  // SetPageToken sets the PageToken field's value.
 15980  func (s *ListBudgetsForResourceInput) SetPageToken(v string) *ListBudgetsForResourceInput {
 15981  	s.PageToken = &v
 15982  	return s
 15983  }
 15984  
 15985  // SetResourceId sets the ResourceId field's value.
 15986  func (s *ListBudgetsForResourceInput) SetResourceId(v string) *ListBudgetsForResourceInput {
 15987  	s.ResourceId = &v
 15988  	return s
 15989  }
 15990  
 15991  type ListBudgetsForResourceOutput struct {
 15992  	_ struct{} `type:"structure"`
 15993  
 15994  	// Information about the associated budgets.
 15995  	Budgets []*BudgetDetail `type:"list"`
 15996  
 15997  	// The page token to use to retrieve the next set of results. If there are no
 15998  	// additional results, this value is null.
 15999  	NextPageToken *string `type:"string"`
 16000  }
 16001  
 16002  // String returns the string representation.
 16003  //
 16004  // API parameter values that are decorated as "sensitive" in the API will not
 16005  // be included in the string output. The member name will be present, but the
 16006  // value will be replaced with "sensitive".
 16007  func (s ListBudgetsForResourceOutput) String() string {
 16008  	return awsutil.Prettify(s)
 16009  }
 16010  
 16011  // GoString returns the string representation.
 16012  //
 16013  // API parameter values that are decorated as "sensitive" in the API will not
 16014  // be included in the string output. The member name will be present, but the
 16015  // value will be replaced with "sensitive".
 16016  func (s ListBudgetsForResourceOutput) GoString() string {
 16017  	return s.String()
 16018  }
 16019  
 16020  // SetBudgets sets the Budgets field's value.
 16021  func (s *ListBudgetsForResourceOutput) SetBudgets(v []*BudgetDetail) *ListBudgetsForResourceOutput {
 16022  	s.Budgets = v
 16023  	return s
 16024  }
 16025  
 16026  // SetNextPageToken sets the NextPageToken field's value.
 16027  func (s *ListBudgetsForResourceOutput) SetNextPageToken(v string) *ListBudgetsForResourceOutput {
 16028  	s.NextPageToken = &v
 16029  	return s
 16030  }
 16031  
 16032  type ListConstraintsForPortfolioInput struct {
 16033  	_ struct{} `type:"structure"`
 16034  
 16035  	// The language code.
 16036  	//
 16037  	//    * en - English (default)
 16038  	//
 16039  	//    * jp - Japanese
 16040  	//
 16041  	//    * zh - Chinese
 16042  	AcceptLanguage *string `type:"string"`
 16043  
 16044  	// The maximum number of items to return with this call.
 16045  	PageSize *int64 `type:"integer"`
 16046  
 16047  	// The page token for the next set of results. To retrieve the first set of
 16048  	// results, use null.
 16049  	PageToken *string `type:"string"`
 16050  
 16051  	// The portfolio identifier.
 16052  	//
 16053  	// PortfolioId is a required field
 16054  	PortfolioId *string `min:"1" type:"string" required:"true"`
 16055  
 16056  	// The product identifier.
 16057  	ProductId *string `min:"1" type:"string"`
 16058  }
 16059  
 16060  // String returns the string representation.
 16061  //
 16062  // API parameter values that are decorated as "sensitive" in the API will not
 16063  // be included in the string output. The member name will be present, but the
 16064  // value will be replaced with "sensitive".
 16065  func (s ListConstraintsForPortfolioInput) String() string {
 16066  	return awsutil.Prettify(s)
 16067  }
 16068  
 16069  // GoString returns the string representation.
 16070  //
 16071  // API parameter values that are decorated as "sensitive" in the API will not
 16072  // be included in the string output. The member name will be present, but the
 16073  // value will be replaced with "sensitive".
 16074  func (s ListConstraintsForPortfolioInput) GoString() string {
 16075  	return s.String()
 16076  }
 16077  
 16078  // Validate inspects the fields of the type to determine if they are valid.
 16079  func (s *ListConstraintsForPortfolioInput) Validate() error {
 16080  	invalidParams := request.ErrInvalidParams{Context: "ListConstraintsForPortfolioInput"}
 16081  	if s.PortfolioId == nil {
 16082  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 16083  	}
 16084  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 16085  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 16086  	}
 16087  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 16088  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 16089  	}
 16090  
 16091  	if invalidParams.Len() > 0 {
 16092  		return invalidParams
 16093  	}
 16094  	return nil
 16095  }
 16096  
 16097  // SetAcceptLanguage sets the AcceptLanguage field's value.
 16098  func (s *ListConstraintsForPortfolioInput) SetAcceptLanguage(v string) *ListConstraintsForPortfolioInput {
 16099  	s.AcceptLanguage = &v
 16100  	return s
 16101  }
 16102  
 16103  // SetPageSize sets the PageSize field's value.
 16104  func (s *ListConstraintsForPortfolioInput) SetPageSize(v int64) *ListConstraintsForPortfolioInput {
 16105  	s.PageSize = &v
 16106  	return s
 16107  }
 16108  
 16109  // SetPageToken sets the PageToken field's value.
 16110  func (s *ListConstraintsForPortfolioInput) SetPageToken(v string) *ListConstraintsForPortfolioInput {
 16111  	s.PageToken = &v
 16112  	return s
 16113  }
 16114  
 16115  // SetPortfolioId sets the PortfolioId field's value.
 16116  func (s *ListConstraintsForPortfolioInput) SetPortfolioId(v string) *ListConstraintsForPortfolioInput {
 16117  	s.PortfolioId = &v
 16118  	return s
 16119  }
 16120  
 16121  // SetProductId sets the ProductId field's value.
 16122  func (s *ListConstraintsForPortfolioInput) SetProductId(v string) *ListConstraintsForPortfolioInput {
 16123  	s.ProductId = &v
 16124  	return s
 16125  }
 16126  
 16127  type ListConstraintsForPortfolioOutput struct {
 16128  	_ struct{} `type:"structure"`
 16129  
 16130  	// Information about the constraints.
 16131  	ConstraintDetails []*ConstraintDetail `type:"list"`
 16132  
 16133  	// The page token to use to retrieve the next set of results. If there are no
 16134  	// additional results, this value is null.
 16135  	NextPageToken *string `type:"string"`
 16136  }
 16137  
 16138  // String returns the string representation.
 16139  //
 16140  // API parameter values that are decorated as "sensitive" in the API will not
 16141  // be included in the string output. The member name will be present, but the
 16142  // value will be replaced with "sensitive".
 16143  func (s ListConstraintsForPortfolioOutput) String() string {
 16144  	return awsutil.Prettify(s)
 16145  }
 16146  
 16147  // GoString returns the string representation.
 16148  //
 16149  // API parameter values that are decorated as "sensitive" in the API will not
 16150  // be included in the string output. The member name will be present, but the
 16151  // value will be replaced with "sensitive".
 16152  func (s ListConstraintsForPortfolioOutput) GoString() string {
 16153  	return s.String()
 16154  }
 16155  
 16156  // SetConstraintDetails sets the ConstraintDetails field's value.
 16157  func (s *ListConstraintsForPortfolioOutput) SetConstraintDetails(v []*ConstraintDetail) *ListConstraintsForPortfolioOutput {
 16158  	s.ConstraintDetails = v
 16159  	return s
 16160  }
 16161  
 16162  // SetNextPageToken sets the NextPageToken field's value.
 16163  func (s *ListConstraintsForPortfolioOutput) SetNextPageToken(v string) *ListConstraintsForPortfolioOutput {
 16164  	s.NextPageToken = &v
 16165  	return s
 16166  }
 16167  
 16168  type ListLaunchPathsInput struct {
 16169  	_ struct{} `type:"structure"`
 16170  
 16171  	// The language code.
 16172  	//
 16173  	//    * en - English (default)
 16174  	//
 16175  	//    * jp - Japanese
 16176  	//
 16177  	//    * zh - Chinese
 16178  	AcceptLanguage *string `type:"string"`
 16179  
 16180  	// The maximum number of items to return with this call.
 16181  	PageSize *int64 `type:"integer"`
 16182  
 16183  	// The page token for the next set of results. To retrieve the first set of
 16184  	// results, use null.
 16185  	PageToken *string `type:"string"`
 16186  
 16187  	// The product identifier.
 16188  	//
 16189  	// ProductId is a required field
 16190  	ProductId *string `min:"1" type:"string" required:"true"`
 16191  }
 16192  
 16193  // String returns the string representation.
 16194  //
 16195  // API parameter values that are decorated as "sensitive" in the API will not
 16196  // be included in the string output. The member name will be present, but the
 16197  // value will be replaced with "sensitive".
 16198  func (s ListLaunchPathsInput) String() string {
 16199  	return awsutil.Prettify(s)
 16200  }
 16201  
 16202  // GoString returns the string representation.
 16203  //
 16204  // API parameter values that are decorated as "sensitive" in the API will not
 16205  // be included in the string output. The member name will be present, but the
 16206  // value will be replaced with "sensitive".
 16207  func (s ListLaunchPathsInput) GoString() string {
 16208  	return s.String()
 16209  }
 16210  
 16211  // Validate inspects the fields of the type to determine if they are valid.
 16212  func (s *ListLaunchPathsInput) Validate() error {
 16213  	invalidParams := request.ErrInvalidParams{Context: "ListLaunchPathsInput"}
 16214  	if s.ProductId == nil {
 16215  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 16216  	}
 16217  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 16218  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 16219  	}
 16220  
 16221  	if invalidParams.Len() > 0 {
 16222  		return invalidParams
 16223  	}
 16224  	return nil
 16225  }
 16226  
 16227  // SetAcceptLanguage sets the AcceptLanguage field's value.
 16228  func (s *ListLaunchPathsInput) SetAcceptLanguage(v string) *ListLaunchPathsInput {
 16229  	s.AcceptLanguage = &v
 16230  	return s
 16231  }
 16232  
 16233  // SetPageSize sets the PageSize field's value.
 16234  func (s *ListLaunchPathsInput) SetPageSize(v int64) *ListLaunchPathsInput {
 16235  	s.PageSize = &v
 16236  	return s
 16237  }
 16238  
 16239  // SetPageToken sets the PageToken field's value.
 16240  func (s *ListLaunchPathsInput) SetPageToken(v string) *ListLaunchPathsInput {
 16241  	s.PageToken = &v
 16242  	return s
 16243  }
 16244  
 16245  // SetProductId sets the ProductId field's value.
 16246  func (s *ListLaunchPathsInput) SetProductId(v string) *ListLaunchPathsInput {
 16247  	s.ProductId = &v
 16248  	return s
 16249  }
 16250  
 16251  type ListLaunchPathsOutput struct {
 16252  	_ struct{} `type:"structure"`
 16253  
 16254  	// Information about the launch path.
 16255  	LaunchPathSummaries []*LaunchPathSummary `type:"list"`
 16256  
 16257  	// The page token to use to retrieve the next set of results. If there are no
 16258  	// additional results, this value is null.
 16259  	NextPageToken *string `type:"string"`
 16260  }
 16261  
 16262  // String returns the string representation.
 16263  //
 16264  // API parameter values that are decorated as "sensitive" in the API will not
 16265  // be included in the string output. The member name will be present, but the
 16266  // value will be replaced with "sensitive".
 16267  func (s ListLaunchPathsOutput) String() string {
 16268  	return awsutil.Prettify(s)
 16269  }
 16270  
 16271  // GoString returns the string representation.
 16272  //
 16273  // API parameter values that are decorated as "sensitive" in the API will not
 16274  // be included in the string output. The member name will be present, but the
 16275  // value will be replaced with "sensitive".
 16276  func (s ListLaunchPathsOutput) GoString() string {
 16277  	return s.String()
 16278  }
 16279  
 16280  // SetLaunchPathSummaries sets the LaunchPathSummaries field's value.
 16281  func (s *ListLaunchPathsOutput) SetLaunchPathSummaries(v []*LaunchPathSummary) *ListLaunchPathsOutput {
 16282  	s.LaunchPathSummaries = v
 16283  	return s
 16284  }
 16285  
 16286  // SetNextPageToken sets the NextPageToken field's value.
 16287  func (s *ListLaunchPathsOutput) SetNextPageToken(v string) *ListLaunchPathsOutput {
 16288  	s.NextPageToken = &v
 16289  	return s
 16290  }
 16291  
 16292  type ListOrganizationPortfolioAccessInput struct {
 16293  	_ struct{} `type:"structure"`
 16294  
 16295  	// The language code.
 16296  	//
 16297  	//    * en - English (default)
 16298  	//
 16299  	//    * jp - Japanese
 16300  	//
 16301  	//    * zh - Chinese
 16302  	AcceptLanguage *string `type:"string"`
 16303  
 16304  	// The organization node type that will be returned in the output.
 16305  	//
 16306  	//    * ORGANIZATION - Organization that has access to the portfolio.
 16307  	//
 16308  	//    * ORGANIZATIONAL_UNIT - Organizational unit that has access to the portfolio
 16309  	//    within your organization.
 16310  	//
 16311  	//    * ACCOUNT - Account that has access to the portfolio within your organization.
 16312  	//
 16313  	// OrganizationNodeType is a required field
 16314  	OrganizationNodeType *string `type:"string" required:"true" enum:"OrganizationNodeType"`
 16315  
 16316  	// The maximum number of items to return with this call.
 16317  	PageSize *int64 `type:"integer"`
 16318  
 16319  	// The page token for the next set of results. To retrieve the first set of
 16320  	// results, use null.
 16321  	PageToken *string `type:"string"`
 16322  
 16323  	// The portfolio identifier. For example, port-2abcdext3y5fk.
 16324  	//
 16325  	// PortfolioId is a required field
 16326  	PortfolioId *string `min:"1" type:"string" required:"true"`
 16327  }
 16328  
 16329  // String returns the string representation.
 16330  //
 16331  // API parameter values that are decorated as "sensitive" in the API will not
 16332  // be included in the string output. The member name will be present, but the
 16333  // value will be replaced with "sensitive".
 16334  func (s ListOrganizationPortfolioAccessInput) String() string {
 16335  	return awsutil.Prettify(s)
 16336  }
 16337  
 16338  // GoString returns the string representation.
 16339  //
 16340  // API parameter values that are decorated as "sensitive" in the API will not
 16341  // be included in the string output. The member name will be present, but the
 16342  // value will be replaced with "sensitive".
 16343  func (s ListOrganizationPortfolioAccessInput) GoString() string {
 16344  	return s.String()
 16345  }
 16346  
 16347  // Validate inspects the fields of the type to determine if they are valid.
 16348  func (s *ListOrganizationPortfolioAccessInput) Validate() error {
 16349  	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationPortfolioAccessInput"}
 16350  	if s.OrganizationNodeType == nil {
 16351  		invalidParams.Add(request.NewErrParamRequired("OrganizationNodeType"))
 16352  	}
 16353  	if s.PortfolioId == nil {
 16354  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 16355  	}
 16356  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 16357  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 16358  	}
 16359  
 16360  	if invalidParams.Len() > 0 {
 16361  		return invalidParams
 16362  	}
 16363  	return nil
 16364  }
 16365  
 16366  // SetAcceptLanguage sets the AcceptLanguage field's value.
 16367  func (s *ListOrganizationPortfolioAccessInput) SetAcceptLanguage(v string) *ListOrganizationPortfolioAccessInput {
 16368  	s.AcceptLanguage = &v
 16369  	return s
 16370  }
 16371  
 16372  // SetOrganizationNodeType sets the OrganizationNodeType field's value.
 16373  func (s *ListOrganizationPortfolioAccessInput) SetOrganizationNodeType(v string) *ListOrganizationPortfolioAccessInput {
 16374  	s.OrganizationNodeType = &v
 16375  	return s
 16376  }
 16377  
 16378  // SetPageSize sets the PageSize field's value.
 16379  func (s *ListOrganizationPortfolioAccessInput) SetPageSize(v int64) *ListOrganizationPortfolioAccessInput {
 16380  	s.PageSize = &v
 16381  	return s
 16382  }
 16383  
 16384  // SetPageToken sets the PageToken field's value.
 16385  func (s *ListOrganizationPortfolioAccessInput) SetPageToken(v string) *ListOrganizationPortfolioAccessInput {
 16386  	s.PageToken = &v
 16387  	return s
 16388  }
 16389  
 16390  // SetPortfolioId sets the PortfolioId field's value.
 16391  func (s *ListOrganizationPortfolioAccessInput) SetPortfolioId(v string) *ListOrganizationPortfolioAccessInput {
 16392  	s.PortfolioId = &v
 16393  	return s
 16394  }
 16395  
 16396  type ListOrganizationPortfolioAccessOutput struct {
 16397  	_ struct{} `type:"structure"`
 16398  
 16399  	// The page token to use to retrieve the next set of results. If there are no
 16400  	// additional results, this value is null.
 16401  	NextPageToken *string `type:"string"`
 16402  
 16403  	// Displays information about the organization nodes.
 16404  	OrganizationNodes []*OrganizationNode `type:"list"`
 16405  }
 16406  
 16407  // String returns the string representation.
 16408  //
 16409  // API parameter values that are decorated as "sensitive" in the API will not
 16410  // be included in the string output. The member name will be present, but the
 16411  // value will be replaced with "sensitive".
 16412  func (s ListOrganizationPortfolioAccessOutput) String() string {
 16413  	return awsutil.Prettify(s)
 16414  }
 16415  
 16416  // GoString returns the string representation.
 16417  //
 16418  // API parameter values that are decorated as "sensitive" in the API will not
 16419  // be included in the string output. The member name will be present, but the
 16420  // value will be replaced with "sensitive".
 16421  func (s ListOrganizationPortfolioAccessOutput) GoString() string {
 16422  	return s.String()
 16423  }
 16424  
 16425  // SetNextPageToken sets the NextPageToken field's value.
 16426  func (s *ListOrganizationPortfolioAccessOutput) SetNextPageToken(v string) *ListOrganizationPortfolioAccessOutput {
 16427  	s.NextPageToken = &v
 16428  	return s
 16429  }
 16430  
 16431  // SetOrganizationNodes sets the OrganizationNodes field's value.
 16432  func (s *ListOrganizationPortfolioAccessOutput) SetOrganizationNodes(v []*OrganizationNode) *ListOrganizationPortfolioAccessOutput {
 16433  	s.OrganizationNodes = v
 16434  	return s
 16435  }
 16436  
 16437  type ListPortfolioAccessInput struct {
 16438  	_ struct{} `type:"structure"`
 16439  
 16440  	// The language code.
 16441  	//
 16442  	//    * en - English (default)
 16443  	//
 16444  	//    * jp - Japanese
 16445  	//
 16446  	//    * zh - Chinese
 16447  	AcceptLanguage *string `type:"string"`
 16448  
 16449  	// The ID of an organization node the portfolio is shared with. All children
 16450  	// of this node with an inherited portfolio share will be returned.
 16451  	OrganizationParentId *string `min:"1" type:"string"`
 16452  
 16453  	// The maximum number of items to return with this call.
 16454  	PageSize *int64 `type:"integer"`
 16455  
 16456  	// The page token for the next set of results. To retrieve the first set of
 16457  	// results, use null.
 16458  	PageToken *string `type:"string"`
 16459  
 16460  	// The portfolio identifier.
 16461  	//
 16462  	// PortfolioId is a required field
 16463  	PortfolioId *string `min:"1" type:"string" required:"true"`
 16464  }
 16465  
 16466  // String returns the string representation.
 16467  //
 16468  // API parameter values that are decorated as "sensitive" in the API will not
 16469  // be included in the string output. The member name will be present, but the
 16470  // value will be replaced with "sensitive".
 16471  func (s ListPortfolioAccessInput) String() string {
 16472  	return awsutil.Prettify(s)
 16473  }
 16474  
 16475  // GoString returns the string representation.
 16476  //
 16477  // API parameter values that are decorated as "sensitive" in the API will not
 16478  // be included in the string output. The member name will be present, but the
 16479  // value will be replaced with "sensitive".
 16480  func (s ListPortfolioAccessInput) GoString() string {
 16481  	return s.String()
 16482  }
 16483  
 16484  // Validate inspects the fields of the type to determine if they are valid.
 16485  func (s *ListPortfolioAccessInput) Validate() error {
 16486  	invalidParams := request.ErrInvalidParams{Context: "ListPortfolioAccessInput"}
 16487  	if s.OrganizationParentId != nil && len(*s.OrganizationParentId) < 1 {
 16488  		invalidParams.Add(request.NewErrParamMinLen("OrganizationParentId", 1))
 16489  	}
 16490  	if s.PortfolioId == nil {
 16491  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 16492  	}
 16493  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 16494  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 16495  	}
 16496  
 16497  	if invalidParams.Len() > 0 {
 16498  		return invalidParams
 16499  	}
 16500  	return nil
 16501  }
 16502  
 16503  // SetAcceptLanguage sets the AcceptLanguage field's value.
 16504  func (s *ListPortfolioAccessInput) SetAcceptLanguage(v string) *ListPortfolioAccessInput {
 16505  	s.AcceptLanguage = &v
 16506  	return s
 16507  }
 16508  
 16509  // SetOrganizationParentId sets the OrganizationParentId field's value.
 16510  func (s *ListPortfolioAccessInput) SetOrganizationParentId(v string) *ListPortfolioAccessInput {
 16511  	s.OrganizationParentId = &v
 16512  	return s
 16513  }
 16514  
 16515  // SetPageSize sets the PageSize field's value.
 16516  func (s *ListPortfolioAccessInput) SetPageSize(v int64) *ListPortfolioAccessInput {
 16517  	s.PageSize = &v
 16518  	return s
 16519  }
 16520  
 16521  // SetPageToken sets the PageToken field's value.
 16522  func (s *ListPortfolioAccessInput) SetPageToken(v string) *ListPortfolioAccessInput {
 16523  	s.PageToken = &v
 16524  	return s
 16525  }
 16526  
 16527  // SetPortfolioId sets the PortfolioId field's value.
 16528  func (s *ListPortfolioAccessInput) SetPortfolioId(v string) *ListPortfolioAccessInput {
 16529  	s.PortfolioId = &v
 16530  	return s
 16531  }
 16532  
 16533  type ListPortfolioAccessOutput struct {
 16534  	_ struct{} `type:"structure"`
 16535  
 16536  	// Information about the AWS accounts with access to the portfolio.
 16537  	AccountIds []*string `type:"list"`
 16538  
 16539  	// The page token to use to retrieve the next set of results. If there are no
 16540  	// additional results, this value is null.
 16541  	NextPageToken *string `type:"string"`
 16542  }
 16543  
 16544  // String returns the string representation.
 16545  //
 16546  // API parameter values that are decorated as "sensitive" in the API will not
 16547  // be included in the string output. The member name will be present, but the
 16548  // value will be replaced with "sensitive".
 16549  func (s ListPortfolioAccessOutput) String() string {
 16550  	return awsutil.Prettify(s)
 16551  }
 16552  
 16553  // GoString returns the string representation.
 16554  //
 16555  // API parameter values that are decorated as "sensitive" in the API will not
 16556  // be included in the string output. The member name will be present, but the
 16557  // value will be replaced with "sensitive".
 16558  func (s ListPortfolioAccessOutput) GoString() string {
 16559  	return s.String()
 16560  }
 16561  
 16562  // SetAccountIds sets the AccountIds field's value.
 16563  func (s *ListPortfolioAccessOutput) SetAccountIds(v []*string) *ListPortfolioAccessOutput {
 16564  	s.AccountIds = v
 16565  	return s
 16566  }
 16567  
 16568  // SetNextPageToken sets the NextPageToken field's value.
 16569  func (s *ListPortfolioAccessOutput) SetNextPageToken(v string) *ListPortfolioAccessOutput {
 16570  	s.NextPageToken = &v
 16571  	return s
 16572  }
 16573  
 16574  type ListPortfoliosForProductInput struct {
 16575  	_ struct{} `type:"structure"`
 16576  
 16577  	// The language code.
 16578  	//
 16579  	//    * en - English (default)
 16580  	//
 16581  	//    * jp - Japanese
 16582  	//
 16583  	//    * zh - Chinese
 16584  	AcceptLanguage *string `type:"string"`
 16585  
 16586  	// The maximum number of items to return with this call.
 16587  	PageSize *int64 `type:"integer"`
 16588  
 16589  	// The page token for the next set of results. To retrieve the first set of
 16590  	// results, use null.
 16591  	PageToken *string `type:"string"`
 16592  
 16593  	// The product identifier.
 16594  	//
 16595  	// ProductId is a required field
 16596  	ProductId *string `min:"1" type:"string" required:"true"`
 16597  }
 16598  
 16599  // String returns the string representation.
 16600  //
 16601  // API parameter values that are decorated as "sensitive" in the API will not
 16602  // be included in the string output. The member name will be present, but the
 16603  // value will be replaced with "sensitive".
 16604  func (s ListPortfoliosForProductInput) String() string {
 16605  	return awsutil.Prettify(s)
 16606  }
 16607  
 16608  // GoString returns the string representation.
 16609  //
 16610  // API parameter values that are decorated as "sensitive" in the API will not
 16611  // be included in the string output. The member name will be present, but the
 16612  // value will be replaced with "sensitive".
 16613  func (s ListPortfoliosForProductInput) GoString() string {
 16614  	return s.String()
 16615  }
 16616  
 16617  // Validate inspects the fields of the type to determine if they are valid.
 16618  func (s *ListPortfoliosForProductInput) Validate() error {
 16619  	invalidParams := request.ErrInvalidParams{Context: "ListPortfoliosForProductInput"}
 16620  	if s.ProductId == nil {
 16621  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 16622  	}
 16623  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 16624  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 16625  	}
 16626  
 16627  	if invalidParams.Len() > 0 {
 16628  		return invalidParams
 16629  	}
 16630  	return nil
 16631  }
 16632  
 16633  // SetAcceptLanguage sets the AcceptLanguage field's value.
 16634  func (s *ListPortfoliosForProductInput) SetAcceptLanguage(v string) *ListPortfoliosForProductInput {
 16635  	s.AcceptLanguage = &v
 16636  	return s
 16637  }
 16638  
 16639  // SetPageSize sets the PageSize field's value.
 16640  func (s *ListPortfoliosForProductInput) SetPageSize(v int64) *ListPortfoliosForProductInput {
 16641  	s.PageSize = &v
 16642  	return s
 16643  }
 16644  
 16645  // SetPageToken sets the PageToken field's value.
 16646  func (s *ListPortfoliosForProductInput) SetPageToken(v string) *ListPortfoliosForProductInput {
 16647  	s.PageToken = &v
 16648  	return s
 16649  }
 16650  
 16651  // SetProductId sets the ProductId field's value.
 16652  func (s *ListPortfoliosForProductInput) SetProductId(v string) *ListPortfoliosForProductInput {
 16653  	s.ProductId = &v
 16654  	return s
 16655  }
 16656  
 16657  type ListPortfoliosForProductOutput struct {
 16658  	_ struct{} `type:"structure"`
 16659  
 16660  	// The page token to use to retrieve the next set of results. If there are no
 16661  	// additional results, this value is null.
 16662  	NextPageToken *string `type:"string"`
 16663  
 16664  	// Information about the portfolios.
 16665  	PortfolioDetails []*PortfolioDetail `type:"list"`
 16666  }
 16667  
 16668  // String returns the string representation.
 16669  //
 16670  // API parameter values that are decorated as "sensitive" in the API will not
 16671  // be included in the string output. The member name will be present, but the
 16672  // value will be replaced with "sensitive".
 16673  func (s ListPortfoliosForProductOutput) String() string {
 16674  	return awsutil.Prettify(s)
 16675  }
 16676  
 16677  // GoString returns the string representation.
 16678  //
 16679  // API parameter values that are decorated as "sensitive" in the API will not
 16680  // be included in the string output. The member name will be present, but the
 16681  // value will be replaced with "sensitive".
 16682  func (s ListPortfoliosForProductOutput) GoString() string {
 16683  	return s.String()
 16684  }
 16685  
 16686  // SetNextPageToken sets the NextPageToken field's value.
 16687  func (s *ListPortfoliosForProductOutput) SetNextPageToken(v string) *ListPortfoliosForProductOutput {
 16688  	s.NextPageToken = &v
 16689  	return s
 16690  }
 16691  
 16692  // SetPortfolioDetails sets the PortfolioDetails field's value.
 16693  func (s *ListPortfoliosForProductOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosForProductOutput {
 16694  	s.PortfolioDetails = v
 16695  	return s
 16696  }
 16697  
 16698  type ListPortfoliosInput struct {
 16699  	_ struct{} `type:"structure"`
 16700  
 16701  	// The language code.
 16702  	//
 16703  	//    * en - English (default)
 16704  	//
 16705  	//    * jp - Japanese
 16706  	//
 16707  	//    * zh - Chinese
 16708  	AcceptLanguage *string `type:"string"`
 16709  
 16710  	// The maximum number of items to return with this call.
 16711  	PageSize *int64 `type:"integer"`
 16712  
 16713  	// The page token for the next set of results. To retrieve the first set of
 16714  	// results, use null.
 16715  	PageToken *string `type:"string"`
 16716  }
 16717  
 16718  // String returns the string representation.
 16719  //
 16720  // API parameter values that are decorated as "sensitive" in the API will not
 16721  // be included in the string output. The member name will be present, but the
 16722  // value will be replaced with "sensitive".
 16723  func (s ListPortfoliosInput) String() string {
 16724  	return awsutil.Prettify(s)
 16725  }
 16726  
 16727  // GoString returns the string representation.
 16728  //
 16729  // API parameter values that are decorated as "sensitive" in the API will not
 16730  // be included in the string output. The member name will be present, but the
 16731  // value will be replaced with "sensitive".
 16732  func (s ListPortfoliosInput) GoString() string {
 16733  	return s.String()
 16734  }
 16735  
 16736  // SetAcceptLanguage sets the AcceptLanguage field's value.
 16737  func (s *ListPortfoliosInput) SetAcceptLanguage(v string) *ListPortfoliosInput {
 16738  	s.AcceptLanguage = &v
 16739  	return s
 16740  }
 16741  
 16742  // SetPageSize sets the PageSize field's value.
 16743  func (s *ListPortfoliosInput) SetPageSize(v int64) *ListPortfoliosInput {
 16744  	s.PageSize = &v
 16745  	return s
 16746  }
 16747  
 16748  // SetPageToken sets the PageToken field's value.
 16749  func (s *ListPortfoliosInput) SetPageToken(v string) *ListPortfoliosInput {
 16750  	s.PageToken = &v
 16751  	return s
 16752  }
 16753  
 16754  type ListPortfoliosOutput struct {
 16755  	_ struct{} `type:"structure"`
 16756  
 16757  	// The page token to use to retrieve the next set of results. If there are no
 16758  	// additional results, this value is null.
 16759  	NextPageToken *string `type:"string"`
 16760  
 16761  	// Information about the portfolios.
 16762  	PortfolioDetails []*PortfolioDetail `type:"list"`
 16763  }
 16764  
 16765  // String returns the string representation.
 16766  //
 16767  // API parameter values that are decorated as "sensitive" in the API will not
 16768  // be included in the string output. The member name will be present, but the
 16769  // value will be replaced with "sensitive".
 16770  func (s ListPortfoliosOutput) String() string {
 16771  	return awsutil.Prettify(s)
 16772  }
 16773  
 16774  // GoString returns the string representation.
 16775  //
 16776  // API parameter values that are decorated as "sensitive" in the API will not
 16777  // be included in the string output. The member name will be present, but the
 16778  // value will be replaced with "sensitive".
 16779  func (s ListPortfoliosOutput) GoString() string {
 16780  	return s.String()
 16781  }
 16782  
 16783  // SetNextPageToken sets the NextPageToken field's value.
 16784  func (s *ListPortfoliosOutput) SetNextPageToken(v string) *ListPortfoliosOutput {
 16785  	s.NextPageToken = &v
 16786  	return s
 16787  }
 16788  
 16789  // SetPortfolioDetails sets the PortfolioDetails field's value.
 16790  func (s *ListPortfoliosOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPortfoliosOutput {
 16791  	s.PortfolioDetails = v
 16792  	return s
 16793  }
 16794  
 16795  type ListPrincipalsForPortfolioInput struct {
 16796  	_ struct{} `type:"structure"`
 16797  
 16798  	// The language code.
 16799  	//
 16800  	//    * en - English (default)
 16801  	//
 16802  	//    * jp - Japanese
 16803  	//
 16804  	//    * zh - Chinese
 16805  	AcceptLanguage *string `type:"string"`
 16806  
 16807  	// The maximum number of items to return with this call.
 16808  	PageSize *int64 `type:"integer"`
 16809  
 16810  	// The page token for the next set of results. To retrieve the first set of
 16811  	// results, use null.
 16812  	PageToken *string `type:"string"`
 16813  
 16814  	// The portfolio identifier.
 16815  	//
 16816  	// PortfolioId is a required field
 16817  	PortfolioId *string `min:"1" type:"string" required:"true"`
 16818  }
 16819  
 16820  // String returns the string representation.
 16821  //
 16822  // API parameter values that are decorated as "sensitive" in the API will not
 16823  // be included in the string output. The member name will be present, but the
 16824  // value will be replaced with "sensitive".
 16825  func (s ListPrincipalsForPortfolioInput) String() string {
 16826  	return awsutil.Prettify(s)
 16827  }
 16828  
 16829  // GoString returns the string representation.
 16830  //
 16831  // API parameter values that are decorated as "sensitive" in the API will not
 16832  // be included in the string output. The member name will be present, but the
 16833  // value will be replaced with "sensitive".
 16834  func (s ListPrincipalsForPortfolioInput) GoString() string {
 16835  	return s.String()
 16836  }
 16837  
 16838  // Validate inspects the fields of the type to determine if they are valid.
 16839  func (s *ListPrincipalsForPortfolioInput) Validate() error {
 16840  	invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsForPortfolioInput"}
 16841  	if s.PortfolioId == nil {
 16842  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 16843  	}
 16844  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 16845  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 16846  	}
 16847  
 16848  	if invalidParams.Len() > 0 {
 16849  		return invalidParams
 16850  	}
 16851  	return nil
 16852  }
 16853  
 16854  // SetAcceptLanguage sets the AcceptLanguage field's value.
 16855  func (s *ListPrincipalsForPortfolioInput) SetAcceptLanguage(v string) *ListPrincipalsForPortfolioInput {
 16856  	s.AcceptLanguage = &v
 16857  	return s
 16858  }
 16859  
 16860  // SetPageSize sets the PageSize field's value.
 16861  func (s *ListPrincipalsForPortfolioInput) SetPageSize(v int64) *ListPrincipalsForPortfolioInput {
 16862  	s.PageSize = &v
 16863  	return s
 16864  }
 16865  
 16866  // SetPageToken sets the PageToken field's value.
 16867  func (s *ListPrincipalsForPortfolioInput) SetPageToken(v string) *ListPrincipalsForPortfolioInput {
 16868  	s.PageToken = &v
 16869  	return s
 16870  }
 16871  
 16872  // SetPortfolioId sets the PortfolioId field's value.
 16873  func (s *ListPrincipalsForPortfolioInput) SetPortfolioId(v string) *ListPrincipalsForPortfolioInput {
 16874  	s.PortfolioId = &v
 16875  	return s
 16876  }
 16877  
 16878  type ListPrincipalsForPortfolioOutput struct {
 16879  	_ struct{} `type:"structure"`
 16880  
 16881  	// The page token to use to retrieve the next set of results. If there are no
 16882  	// additional results, this value is null.
 16883  	NextPageToken *string `type:"string"`
 16884  
 16885  	// The IAM principals (users or roles) associated with the portfolio.
 16886  	Principals []*Principal `type:"list"`
 16887  }
 16888  
 16889  // String returns the string representation.
 16890  //
 16891  // API parameter values that are decorated as "sensitive" in the API will not
 16892  // be included in the string output. The member name will be present, but the
 16893  // value will be replaced with "sensitive".
 16894  func (s ListPrincipalsForPortfolioOutput) String() string {
 16895  	return awsutil.Prettify(s)
 16896  }
 16897  
 16898  // GoString returns the string representation.
 16899  //
 16900  // API parameter values that are decorated as "sensitive" in the API will not
 16901  // be included in the string output. The member name will be present, but the
 16902  // value will be replaced with "sensitive".
 16903  func (s ListPrincipalsForPortfolioOutput) GoString() string {
 16904  	return s.String()
 16905  }
 16906  
 16907  // SetNextPageToken sets the NextPageToken field's value.
 16908  func (s *ListPrincipalsForPortfolioOutput) SetNextPageToken(v string) *ListPrincipalsForPortfolioOutput {
 16909  	s.NextPageToken = &v
 16910  	return s
 16911  }
 16912  
 16913  // SetPrincipals sets the Principals field's value.
 16914  func (s *ListPrincipalsForPortfolioOutput) SetPrincipals(v []*Principal) *ListPrincipalsForPortfolioOutput {
 16915  	s.Principals = v
 16916  	return s
 16917  }
 16918  
 16919  type ListProvisionedProductPlansInput struct {
 16920  	_ struct{} `type:"structure"`
 16921  
 16922  	// The language code.
 16923  	//
 16924  	//    * en - English (default)
 16925  	//
 16926  	//    * jp - Japanese
 16927  	//
 16928  	//    * zh - Chinese
 16929  	AcceptLanguage *string `type:"string"`
 16930  
 16931  	// The access level to use to obtain results. The default is User.
 16932  	AccessLevelFilter *AccessLevelFilter `type:"structure"`
 16933  
 16934  	// The maximum number of items to return with this call.
 16935  	PageSize *int64 `type:"integer"`
 16936  
 16937  	// The page token for the next set of results. To retrieve the first set of
 16938  	// results, use null.
 16939  	PageToken *string `type:"string"`
 16940  
 16941  	// The product identifier.
 16942  	ProvisionProductId *string `min:"1" type:"string"`
 16943  }
 16944  
 16945  // String returns the string representation.
 16946  //
 16947  // API parameter values that are decorated as "sensitive" in the API will not
 16948  // be included in the string output. The member name will be present, but the
 16949  // value will be replaced with "sensitive".
 16950  func (s ListProvisionedProductPlansInput) String() string {
 16951  	return awsutil.Prettify(s)
 16952  }
 16953  
 16954  // GoString returns the string representation.
 16955  //
 16956  // API parameter values that are decorated as "sensitive" in the API will not
 16957  // be included in the string output. The member name will be present, but the
 16958  // value will be replaced with "sensitive".
 16959  func (s ListProvisionedProductPlansInput) GoString() string {
 16960  	return s.String()
 16961  }
 16962  
 16963  // Validate inspects the fields of the type to determine if they are valid.
 16964  func (s *ListProvisionedProductPlansInput) Validate() error {
 16965  	invalidParams := request.ErrInvalidParams{Context: "ListProvisionedProductPlansInput"}
 16966  	if s.ProvisionProductId != nil && len(*s.ProvisionProductId) < 1 {
 16967  		invalidParams.Add(request.NewErrParamMinLen("ProvisionProductId", 1))
 16968  	}
 16969  
 16970  	if invalidParams.Len() > 0 {
 16971  		return invalidParams
 16972  	}
 16973  	return nil
 16974  }
 16975  
 16976  // SetAcceptLanguage sets the AcceptLanguage field's value.
 16977  func (s *ListProvisionedProductPlansInput) SetAcceptLanguage(v string) *ListProvisionedProductPlansInput {
 16978  	s.AcceptLanguage = &v
 16979  	return s
 16980  }
 16981  
 16982  // SetAccessLevelFilter sets the AccessLevelFilter field's value.
 16983  func (s *ListProvisionedProductPlansInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListProvisionedProductPlansInput {
 16984  	s.AccessLevelFilter = v
 16985  	return s
 16986  }
 16987  
 16988  // SetPageSize sets the PageSize field's value.
 16989  func (s *ListProvisionedProductPlansInput) SetPageSize(v int64) *ListProvisionedProductPlansInput {
 16990  	s.PageSize = &v
 16991  	return s
 16992  }
 16993  
 16994  // SetPageToken sets the PageToken field's value.
 16995  func (s *ListProvisionedProductPlansInput) SetPageToken(v string) *ListProvisionedProductPlansInput {
 16996  	s.PageToken = &v
 16997  	return s
 16998  }
 16999  
 17000  // SetProvisionProductId sets the ProvisionProductId field's value.
 17001  func (s *ListProvisionedProductPlansInput) SetProvisionProductId(v string) *ListProvisionedProductPlansInput {
 17002  	s.ProvisionProductId = &v
 17003  	return s
 17004  }
 17005  
 17006  type ListProvisionedProductPlansOutput struct {
 17007  	_ struct{} `type:"structure"`
 17008  
 17009  	// The page token to use to retrieve the next set of results. If there are no
 17010  	// additional results, this value is null.
 17011  	NextPageToken *string `type:"string"`
 17012  
 17013  	// Information about the plans.
 17014  	ProvisionedProductPlans []*ProvisionedProductPlanSummary `type:"list"`
 17015  }
 17016  
 17017  // String returns the string representation.
 17018  //
 17019  // API parameter values that are decorated as "sensitive" in the API will not
 17020  // be included in the string output. The member name will be present, but the
 17021  // value will be replaced with "sensitive".
 17022  func (s ListProvisionedProductPlansOutput) String() string {
 17023  	return awsutil.Prettify(s)
 17024  }
 17025  
 17026  // GoString returns the string representation.
 17027  //
 17028  // API parameter values that are decorated as "sensitive" in the API will not
 17029  // be included in the string output. The member name will be present, but the
 17030  // value will be replaced with "sensitive".
 17031  func (s ListProvisionedProductPlansOutput) GoString() string {
 17032  	return s.String()
 17033  }
 17034  
 17035  // SetNextPageToken sets the NextPageToken field's value.
 17036  func (s *ListProvisionedProductPlansOutput) SetNextPageToken(v string) *ListProvisionedProductPlansOutput {
 17037  	s.NextPageToken = &v
 17038  	return s
 17039  }
 17040  
 17041  // SetProvisionedProductPlans sets the ProvisionedProductPlans field's value.
 17042  func (s *ListProvisionedProductPlansOutput) SetProvisionedProductPlans(v []*ProvisionedProductPlanSummary) *ListProvisionedProductPlansOutput {
 17043  	s.ProvisionedProductPlans = v
 17044  	return s
 17045  }
 17046  
 17047  type ListProvisioningArtifactsForServiceActionInput struct {
 17048  	_ struct{} `type:"structure"`
 17049  
 17050  	// The language code.
 17051  	//
 17052  	//    * en - English (default)
 17053  	//
 17054  	//    * jp - Japanese
 17055  	//
 17056  	//    * zh - Chinese
 17057  	AcceptLanguage *string `type:"string"`
 17058  
 17059  	// The maximum number of items to return with this call.
 17060  	PageSize *int64 `type:"integer"`
 17061  
 17062  	// The page token for the next set of results. To retrieve the first set of
 17063  	// results, use null.
 17064  	PageToken *string `type:"string"`
 17065  
 17066  	// The self-service action identifier. For example, act-fs7abcd89wxyz.
 17067  	//
 17068  	// ServiceActionId is a required field
 17069  	ServiceActionId *string `min:"1" type:"string" required:"true"`
 17070  }
 17071  
 17072  // String returns the string representation.
 17073  //
 17074  // API parameter values that are decorated as "sensitive" in the API will not
 17075  // be included in the string output. The member name will be present, but the
 17076  // value will be replaced with "sensitive".
 17077  func (s ListProvisioningArtifactsForServiceActionInput) String() string {
 17078  	return awsutil.Prettify(s)
 17079  }
 17080  
 17081  // GoString returns the string representation.
 17082  //
 17083  // API parameter values that are decorated as "sensitive" in the API will not
 17084  // be included in the string output. The member name will be present, but the
 17085  // value will be replaced with "sensitive".
 17086  func (s ListProvisioningArtifactsForServiceActionInput) GoString() string {
 17087  	return s.String()
 17088  }
 17089  
 17090  // Validate inspects the fields of the type to determine if they are valid.
 17091  func (s *ListProvisioningArtifactsForServiceActionInput) Validate() error {
 17092  	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsForServiceActionInput"}
 17093  	if s.ServiceActionId == nil {
 17094  		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
 17095  	}
 17096  	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
 17097  		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
 17098  	}
 17099  
 17100  	if invalidParams.Len() > 0 {
 17101  		return invalidParams
 17102  	}
 17103  	return nil
 17104  }
 17105  
 17106  // SetAcceptLanguage sets the AcceptLanguage field's value.
 17107  func (s *ListProvisioningArtifactsForServiceActionInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsForServiceActionInput {
 17108  	s.AcceptLanguage = &v
 17109  	return s
 17110  }
 17111  
 17112  // SetPageSize sets the PageSize field's value.
 17113  func (s *ListProvisioningArtifactsForServiceActionInput) SetPageSize(v int64) *ListProvisioningArtifactsForServiceActionInput {
 17114  	s.PageSize = &v
 17115  	return s
 17116  }
 17117  
 17118  // SetPageToken sets the PageToken field's value.
 17119  func (s *ListProvisioningArtifactsForServiceActionInput) SetPageToken(v string) *ListProvisioningArtifactsForServiceActionInput {
 17120  	s.PageToken = &v
 17121  	return s
 17122  }
 17123  
 17124  // SetServiceActionId sets the ServiceActionId field's value.
 17125  func (s *ListProvisioningArtifactsForServiceActionInput) SetServiceActionId(v string) *ListProvisioningArtifactsForServiceActionInput {
 17126  	s.ServiceActionId = &v
 17127  	return s
 17128  }
 17129  
 17130  type ListProvisioningArtifactsForServiceActionOutput struct {
 17131  	_ struct{} `type:"structure"`
 17132  
 17133  	// The page token to use to retrieve the next set of results. If there are no
 17134  	// additional results, this value is null.
 17135  	NextPageToken *string `type:"string"`
 17136  
 17137  	// An array of objects with information about product views and provisioning
 17138  	// artifacts.
 17139  	ProvisioningArtifactViews []*ProvisioningArtifactView `type:"list"`
 17140  }
 17141  
 17142  // String returns the string representation.
 17143  //
 17144  // API parameter values that are decorated as "sensitive" in the API will not
 17145  // be included in the string output. The member name will be present, but the
 17146  // value will be replaced with "sensitive".
 17147  func (s ListProvisioningArtifactsForServiceActionOutput) String() string {
 17148  	return awsutil.Prettify(s)
 17149  }
 17150  
 17151  // GoString returns the string representation.
 17152  //
 17153  // API parameter values that are decorated as "sensitive" in the API will not
 17154  // be included in the string output. The member name will be present, but the
 17155  // value will be replaced with "sensitive".
 17156  func (s ListProvisioningArtifactsForServiceActionOutput) GoString() string {
 17157  	return s.String()
 17158  }
 17159  
 17160  // SetNextPageToken sets the NextPageToken field's value.
 17161  func (s *ListProvisioningArtifactsForServiceActionOutput) SetNextPageToken(v string) *ListProvisioningArtifactsForServiceActionOutput {
 17162  	s.NextPageToken = &v
 17163  	return s
 17164  }
 17165  
 17166  // SetProvisioningArtifactViews sets the ProvisioningArtifactViews field's value.
 17167  func (s *ListProvisioningArtifactsForServiceActionOutput) SetProvisioningArtifactViews(v []*ProvisioningArtifactView) *ListProvisioningArtifactsForServiceActionOutput {
 17168  	s.ProvisioningArtifactViews = v
 17169  	return s
 17170  }
 17171  
 17172  type ListProvisioningArtifactsInput struct {
 17173  	_ struct{} `type:"structure"`
 17174  
 17175  	// The language code.
 17176  	//
 17177  	//    * en - English (default)
 17178  	//
 17179  	//    * jp - Japanese
 17180  	//
 17181  	//    * zh - Chinese
 17182  	AcceptLanguage *string `type:"string"`
 17183  
 17184  	// The product identifier.
 17185  	//
 17186  	// ProductId is a required field
 17187  	ProductId *string `min:"1" type:"string" required:"true"`
 17188  }
 17189  
 17190  // String returns the string representation.
 17191  //
 17192  // API parameter values that are decorated as "sensitive" in the API will not
 17193  // be included in the string output. The member name will be present, but the
 17194  // value will be replaced with "sensitive".
 17195  func (s ListProvisioningArtifactsInput) String() string {
 17196  	return awsutil.Prettify(s)
 17197  }
 17198  
 17199  // GoString returns the string representation.
 17200  //
 17201  // API parameter values that are decorated as "sensitive" in the API will not
 17202  // be included in the string output. The member name will be present, but the
 17203  // value will be replaced with "sensitive".
 17204  func (s ListProvisioningArtifactsInput) GoString() string {
 17205  	return s.String()
 17206  }
 17207  
 17208  // Validate inspects the fields of the type to determine if they are valid.
 17209  func (s *ListProvisioningArtifactsInput) Validate() error {
 17210  	invalidParams := request.ErrInvalidParams{Context: "ListProvisioningArtifactsInput"}
 17211  	if s.ProductId == nil {
 17212  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 17213  	}
 17214  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 17215  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 17216  	}
 17217  
 17218  	if invalidParams.Len() > 0 {
 17219  		return invalidParams
 17220  	}
 17221  	return nil
 17222  }
 17223  
 17224  // SetAcceptLanguage sets the AcceptLanguage field's value.
 17225  func (s *ListProvisioningArtifactsInput) SetAcceptLanguage(v string) *ListProvisioningArtifactsInput {
 17226  	s.AcceptLanguage = &v
 17227  	return s
 17228  }
 17229  
 17230  // SetProductId sets the ProductId field's value.
 17231  func (s *ListProvisioningArtifactsInput) SetProductId(v string) *ListProvisioningArtifactsInput {
 17232  	s.ProductId = &v
 17233  	return s
 17234  }
 17235  
 17236  type ListProvisioningArtifactsOutput struct {
 17237  	_ struct{} `type:"structure"`
 17238  
 17239  	// The page token to use to retrieve the next set of results. If there are no
 17240  	// additional results, this value is null.
 17241  	NextPageToken *string `type:"string"`
 17242  
 17243  	// Information about the provisioning artifacts.
 17244  	ProvisioningArtifactDetails []*ProvisioningArtifactDetail `type:"list"`
 17245  }
 17246  
 17247  // String returns the string representation.
 17248  //
 17249  // API parameter values that are decorated as "sensitive" in the API will not
 17250  // be included in the string output. The member name will be present, but the
 17251  // value will be replaced with "sensitive".
 17252  func (s ListProvisioningArtifactsOutput) String() string {
 17253  	return awsutil.Prettify(s)
 17254  }
 17255  
 17256  // GoString returns the string representation.
 17257  //
 17258  // API parameter values that are decorated as "sensitive" in the API will not
 17259  // be included in the string output. The member name will be present, but the
 17260  // value will be replaced with "sensitive".
 17261  func (s ListProvisioningArtifactsOutput) GoString() string {
 17262  	return s.String()
 17263  }
 17264  
 17265  // SetNextPageToken sets the NextPageToken field's value.
 17266  func (s *ListProvisioningArtifactsOutput) SetNextPageToken(v string) *ListProvisioningArtifactsOutput {
 17267  	s.NextPageToken = &v
 17268  	return s
 17269  }
 17270  
 17271  // SetProvisioningArtifactDetails sets the ProvisioningArtifactDetails field's value.
 17272  func (s *ListProvisioningArtifactsOutput) SetProvisioningArtifactDetails(v []*ProvisioningArtifactDetail) *ListProvisioningArtifactsOutput {
 17273  	s.ProvisioningArtifactDetails = v
 17274  	return s
 17275  }
 17276  
 17277  type ListRecordHistoryInput struct {
 17278  	_ struct{} `type:"structure"`
 17279  
 17280  	// The language code.
 17281  	//
 17282  	//    * en - English (default)
 17283  	//
 17284  	//    * jp - Japanese
 17285  	//
 17286  	//    * zh - Chinese
 17287  	AcceptLanguage *string `type:"string"`
 17288  
 17289  	// The access level to use to obtain results. The default is User.
 17290  	AccessLevelFilter *AccessLevelFilter `type:"structure"`
 17291  
 17292  	// The maximum number of items to return with this call.
 17293  	PageSize *int64 `type:"integer"`
 17294  
 17295  	// The page token for the next set of results. To retrieve the first set of
 17296  	// results, use null.
 17297  	PageToken *string `type:"string"`
 17298  
 17299  	// The search filter to scope the results.
 17300  	SearchFilter *ListRecordHistorySearchFilter `type:"structure"`
 17301  }
 17302  
 17303  // String returns the string representation.
 17304  //
 17305  // API parameter values that are decorated as "sensitive" in the API will not
 17306  // be included in the string output. The member name will be present, but the
 17307  // value will be replaced with "sensitive".
 17308  func (s ListRecordHistoryInput) String() string {
 17309  	return awsutil.Prettify(s)
 17310  }
 17311  
 17312  // GoString returns the string representation.
 17313  //
 17314  // API parameter values that are decorated as "sensitive" in the API will not
 17315  // be included in the string output. The member name will be present, but the
 17316  // value will be replaced with "sensitive".
 17317  func (s ListRecordHistoryInput) GoString() string {
 17318  	return s.String()
 17319  }
 17320  
 17321  // SetAcceptLanguage sets the AcceptLanguage field's value.
 17322  func (s *ListRecordHistoryInput) SetAcceptLanguage(v string) *ListRecordHistoryInput {
 17323  	s.AcceptLanguage = &v
 17324  	return s
 17325  }
 17326  
 17327  // SetAccessLevelFilter sets the AccessLevelFilter field's value.
 17328  func (s *ListRecordHistoryInput) SetAccessLevelFilter(v *AccessLevelFilter) *ListRecordHistoryInput {
 17329  	s.AccessLevelFilter = v
 17330  	return s
 17331  }
 17332  
 17333  // SetPageSize sets the PageSize field's value.
 17334  func (s *ListRecordHistoryInput) SetPageSize(v int64) *ListRecordHistoryInput {
 17335  	s.PageSize = &v
 17336  	return s
 17337  }
 17338  
 17339  // SetPageToken sets the PageToken field's value.
 17340  func (s *ListRecordHistoryInput) SetPageToken(v string) *ListRecordHistoryInput {
 17341  	s.PageToken = &v
 17342  	return s
 17343  }
 17344  
 17345  // SetSearchFilter sets the SearchFilter field's value.
 17346  func (s *ListRecordHistoryInput) SetSearchFilter(v *ListRecordHistorySearchFilter) *ListRecordHistoryInput {
 17347  	s.SearchFilter = v
 17348  	return s
 17349  }
 17350  
 17351  type ListRecordHistoryOutput struct {
 17352  	_ struct{} `type:"structure"`
 17353  
 17354  	// The page token to use to retrieve the next set of results. If there are no
 17355  	// additional results, this value is null.
 17356  	NextPageToken *string `type:"string"`
 17357  
 17358  	// The records, in reverse chronological order.
 17359  	RecordDetails []*RecordDetail `type:"list"`
 17360  }
 17361  
 17362  // String returns the string representation.
 17363  //
 17364  // API parameter values that are decorated as "sensitive" in the API will not
 17365  // be included in the string output. The member name will be present, but the
 17366  // value will be replaced with "sensitive".
 17367  func (s ListRecordHistoryOutput) String() string {
 17368  	return awsutil.Prettify(s)
 17369  }
 17370  
 17371  // GoString returns the string representation.
 17372  //
 17373  // API parameter values that are decorated as "sensitive" in the API will not
 17374  // be included in the string output. The member name will be present, but the
 17375  // value will be replaced with "sensitive".
 17376  func (s ListRecordHistoryOutput) GoString() string {
 17377  	return s.String()
 17378  }
 17379  
 17380  // SetNextPageToken sets the NextPageToken field's value.
 17381  func (s *ListRecordHistoryOutput) SetNextPageToken(v string) *ListRecordHistoryOutput {
 17382  	s.NextPageToken = &v
 17383  	return s
 17384  }
 17385  
 17386  // SetRecordDetails sets the RecordDetails field's value.
 17387  func (s *ListRecordHistoryOutput) SetRecordDetails(v []*RecordDetail) *ListRecordHistoryOutput {
 17388  	s.RecordDetails = v
 17389  	return s
 17390  }
 17391  
 17392  // The search filter to use when listing history records.
 17393  type ListRecordHistorySearchFilter struct {
 17394  	_ struct{} `type:"structure"`
 17395  
 17396  	// The filter key.
 17397  	//
 17398  	//    * product - Filter results based on the specified product identifier.
 17399  	//
 17400  	//    * provisionedproduct - Filter results based on the provisioned product
 17401  	//    identifier.
 17402  	Key *string `type:"string"`
 17403  
 17404  	// The filter value.
 17405  	Value *string `type:"string"`
 17406  }
 17407  
 17408  // String returns the string representation.
 17409  //
 17410  // API parameter values that are decorated as "sensitive" in the API will not
 17411  // be included in the string output. The member name will be present, but the
 17412  // value will be replaced with "sensitive".
 17413  func (s ListRecordHistorySearchFilter) String() string {
 17414  	return awsutil.Prettify(s)
 17415  }
 17416  
 17417  // GoString returns the string representation.
 17418  //
 17419  // API parameter values that are decorated as "sensitive" in the API will not
 17420  // be included in the string output. The member name will be present, but the
 17421  // value will be replaced with "sensitive".
 17422  func (s ListRecordHistorySearchFilter) GoString() string {
 17423  	return s.String()
 17424  }
 17425  
 17426  // SetKey sets the Key field's value.
 17427  func (s *ListRecordHistorySearchFilter) SetKey(v string) *ListRecordHistorySearchFilter {
 17428  	s.Key = &v
 17429  	return s
 17430  }
 17431  
 17432  // SetValue sets the Value field's value.
 17433  func (s *ListRecordHistorySearchFilter) SetValue(v string) *ListRecordHistorySearchFilter {
 17434  	s.Value = &v
 17435  	return s
 17436  }
 17437  
 17438  type ListResourcesForTagOptionInput struct {
 17439  	_ struct{} `type:"structure"`
 17440  
 17441  	// The maximum number of items to return with this call.
 17442  	PageSize *int64 `type:"integer"`
 17443  
 17444  	// The page token for the next set of results. To retrieve the first set of
 17445  	// results, use null.
 17446  	PageToken *string `type:"string"`
 17447  
 17448  	// The resource type.
 17449  	//
 17450  	//    * Portfolio
 17451  	//
 17452  	//    * Product
 17453  	ResourceType *string `type:"string"`
 17454  
 17455  	// The TagOption identifier.
 17456  	//
 17457  	// TagOptionId is a required field
 17458  	TagOptionId *string `min:"1" type:"string" required:"true"`
 17459  }
 17460  
 17461  // String returns the string representation.
 17462  //
 17463  // API parameter values that are decorated as "sensitive" in the API will not
 17464  // be included in the string output. The member name will be present, but the
 17465  // value will be replaced with "sensitive".
 17466  func (s ListResourcesForTagOptionInput) String() string {
 17467  	return awsutil.Prettify(s)
 17468  }
 17469  
 17470  // GoString returns the string representation.
 17471  //
 17472  // API parameter values that are decorated as "sensitive" in the API will not
 17473  // be included in the string output. The member name will be present, but the
 17474  // value will be replaced with "sensitive".
 17475  func (s ListResourcesForTagOptionInput) GoString() string {
 17476  	return s.String()
 17477  }
 17478  
 17479  // Validate inspects the fields of the type to determine if they are valid.
 17480  func (s *ListResourcesForTagOptionInput) Validate() error {
 17481  	invalidParams := request.ErrInvalidParams{Context: "ListResourcesForTagOptionInput"}
 17482  	if s.TagOptionId == nil {
 17483  		invalidParams.Add(request.NewErrParamRequired("TagOptionId"))
 17484  	}
 17485  	if s.TagOptionId != nil && len(*s.TagOptionId) < 1 {
 17486  		invalidParams.Add(request.NewErrParamMinLen("TagOptionId", 1))
 17487  	}
 17488  
 17489  	if invalidParams.Len() > 0 {
 17490  		return invalidParams
 17491  	}
 17492  	return nil
 17493  }
 17494  
 17495  // SetPageSize sets the PageSize field's value.
 17496  func (s *ListResourcesForTagOptionInput) SetPageSize(v int64) *ListResourcesForTagOptionInput {
 17497  	s.PageSize = &v
 17498  	return s
 17499  }
 17500  
 17501  // SetPageToken sets the PageToken field's value.
 17502  func (s *ListResourcesForTagOptionInput) SetPageToken(v string) *ListResourcesForTagOptionInput {
 17503  	s.PageToken = &v
 17504  	return s
 17505  }
 17506  
 17507  // SetResourceType sets the ResourceType field's value.
 17508  func (s *ListResourcesForTagOptionInput) SetResourceType(v string) *ListResourcesForTagOptionInput {
 17509  	s.ResourceType = &v
 17510  	return s
 17511  }
 17512  
 17513  // SetTagOptionId sets the TagOptionId field's value.
 17514  func (s *ListResourcesForTagOptionInput) SetTagOptionId(v string) *ListResourcesForTagOptionInput {
 17515  	s.TagOptionId = &v
 17516  	return s
 17517  }
 17518  
 17519  type ListResourcesForTagOptionOutput struct {
 17520  	_ struct{} `type:"structure"`
 17521  
 17522  	// The page token for the next set of results. To retrieve the first set of
 17523  	// results, use null.
 17524  	PageToken *string `type:"string"`
 17525  
 17526  	// Information about the resources.
 17527  	ResourceDetails []*ResourceDetail `type:"list"`
 17528  }
 17529  
 17530  // String returns the string representation.
 17531  //
 17532  // API parameter values that are decorated as "sensitive" in the API will not
 17533  // be included in the string output. The member name will be present, but the
 17534  // value will be replaced with "sensitive".
 17535  func (s ListResourcesForTagOptionOutput) String() string {
 17536  	return awsutil.Prettify(s)
 17537  }
 17538  
 17539  // GoString returns the string representation.
 17540  //
 17541  // API parameter values that are decorated as "sensitive" in the API will not
 17542  // be included in the string output. The member name will be present, but the
 17543  // value will be replaced with "sensitive".
 17544  func (s ListResourcesForTagOptionOutput) GoString() string {
 17545  	return s.String()
 17546  }
 17547  
 17548  // SetPageToken sets the PageToken field's value.
 17549  func (s *ListResourcesForTagOptionOutput) SetPageToken(v string) *ListResourcesForTagOptionOutput {
 17550  	s.PageToken = &v
 17551  	return s
 17552  }
 17553  
 17554  // SetResourceDetails sets the ResourceDetails field's value.
 17555  func (s *ListResourcesForTagOptionOutput) SetResourceDetails(v []*ResourceDetail) *ListResourcesForTagOptionOutput {
 17556  	s.ResourceDetails = v
 17557  	return s
 17558  }
 17559  
 17560  type ListServiceActionsForProvisioningArtifactInput struct {
 17561  	_ struct{} `type:"structure"`
 17562  
 17563  	// The language code.
 17564  	//
 17565  	//    * en - English (default)
 17566  	//
 17567  	//    * jp - Japanese
 17568  	//
 17569  	//    * zh - Chinese
 17570  	AcceptLanguage *string `type:"string"`
 17571  
 17572  	// The maximum number of items to return with this call.
 17573  	PageSize *int64 `type:"integer"`
 17574  
 17575  	// The page token for the next set of results. To retrieve the first set of
 17576  	// results, use null.
 17577  	PageToken *string `type:"string"`
 17578  
 17579  	// The product identifier. For example, prod-abcdzk7xy33qa.
 17580  	//
 17581  	// ProductId is a required field
 17582  	ProductId *string `min:"1" type:"string" required:"true"`
 17583  
 17584  	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
 17585  	//
 17586  	// ProvisioningArtifactId is a required field
 17587  	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
 17588  }
 17589  
 17590  // String returns the string representation.
 17591  //
 17592  // API parameter values that are decorated as "sensitive" in the API will not
 17593  // be included in the string output. The member name will be present, but the
 17594  // value will be replaced with "sensitive".
 17595  func (s ListServiceActionsForProvisioningArtifactInput) String() string {
 17596  	return awsutil.Prettify(s)
 17597  }
 17598  
 17599  // GoString returns the string representation.
 17600  //
 17601  // API parameter values that are decorated as "sensitive" in the API will not
 17602  // be included in the string output. The member name will be present, but the
 17603  // value will be replaced with "sensitive".
 17604  func (s ListServiceActionsForProvisioningArtifactInput) GoString() string {
 17605  	return s.String()
 17606  }
 17607  
 17608  // Validate inspects the fields of the type to determine if they are valid.
 17609  func (s *ListServiceActionsForProvisioningArtifactInput) Validate() error {
 17610  	invalidParams := request.ErrInvalidParams{Context: "ListServiceActionsForProvisioningArtifactInput"}
 17611  	if s.ProductId == nil {
 17612  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 17613  	}
 17614  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 17615  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 17616  	}
 17617  	if s.ProvisioningArtifactId == nil {
 17618  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
 17619  	}
 17620  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 17621  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 17622  	}
 17623  
 17624  	if invalidParams.Len() > 0 {
 17625  		return invalidParams
 17626  	}
 17627  	return nil
 17628  }
 17629  
 17630  // SetAcceptLanguage sets the AcceptLanguage field's value.
 17631  func (s *ListServiceActionsForProvisioningArtifactInput) SetAcceptLanguage(v string) *ListServiceActionsForProvisioningArtifactInput {
 17632  	s.AcceptLanguage = &v
 17633  	return s
 17634  }
 17635  
 17636  // SetPageSize sets the PageSize field's value.
 17637  func (s *ListServiceActionsForProvisioningArtifactInput) SetPageSize(v int64) *ListServiceActionsForProvisioningArtifactInput {
 17638  	s.PageSize = &v
 17639  	return s
 17640  }
 17641  
 17642  // SetPageToken sets the PageToken field's value.
 17643  func (s *ListServiceActionsForProvisioningArtifactInput) SetPageToken(v string) *ListServiceActionsForProvisioningArtifactInput {
 17644  	s.PageToken = &v
 17645  	return s
 17646  }
 17647  
 17648  // SetProductId sets the ProductId field's value.
 17649  func (s *ListServiceActionsForProvisioningArtifactInput) SetProductId(v string) *ListServiceActionsForProvisioningArtifactInput {
 17650  	s.ProductId = &v
 17651  	return s
 17652  }
 17653  
 17654  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 17655  func (s *ListServiceActionsForProvisioningArtifactInput) SetProvisioningArtifactId(v string) *ListServiceActionsForProvisioningArtifactInput {
 17656  	s.ProvisioningArtifactId = &v
 17657  	return s
 17658  }
 17659  
 17660  type ListServiceActionsForProvisioningArtifactOutput struct {
 17661  	_ struct{} `type:"structure"`
 17662  
 17663  	// The page token to use to retrieve the next set of results. If there are no
 17664  	// additional results, this value is null.
 17665  	NextPageToken *string `type:"string"`
 17666  
 17667  	// An object containing information about the self-service actions associated
 17668  	// with the provisioning artifact.
 17669  	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
 17670  }
 17671  
 17672  // String returns the string representation.
 17673  //
 17674  // API parameter values that are decorated as "sensitive" in the API will not
 17675  // be included in the string output. The member name will be present, but the
 17676  // value will be replaced with "sensitive".
 17677  func (s ListServiceActionsForProvisioningArtifactOutput) String() string {
 17678  	return awsutil.Prettify(s)
 17679  }
 17680  
 17681  // GoString returns the string representation.
 17682  //
 17683  // API parameter values that are decorated as "sensitive" in the API will not
 17684  // be included in the string output. The member name will be present, but the
 17685  // value will be replaced with "sensitive".
 17686  func (s ListServiceActionsForProvisioningArtifactOutput) GoString() string {
 17687  	return s.String()
 17688  }
 17689  
 17690  // SetNextPageToken sets the NextPageToken field's value.
 17691  func (s *ListServiceActionsForProvisioningArtifactOutput) SetNextPageToken(v string) *ListServiceActionsForProvisioningArtifactOutput {
 17692  	s.NextPageToken = &v
 17693  	return s
 17694  }
 17695  
 17696  // SetServiceActionSummaries sets the ServiceActionSummaries field's value.
 17697  func (s *ListServiceActionsForProvisioningArtifactOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsForProvisioningArtifactOutput {
 17698  	s.ServiceActionSummaries = v
 17699  	return s
 17700  }
 17701  
 17702  type ListServiceActionsInput struct {
 17703  	_ struct{} `type:"structure"`
 17704  
 17705  	// The language code.
 17706  	//
 17707  	//    * en - English (default)
 17708  	//
 17709  	//    * jp - Japanese
 17710  	//
 17711  	//    * zh - Chinese
 17712  	AcceptLanguage *string `type:"string"`
 17713  
 17714  	// The maximum number of items to return with this call.
 17715  	PageSize *int64 `type:"integer"`
 17716  
 17717  	// The page token for the next set of results. To retrieve the first set of
 17718  	// results, use null.
 17719  	PageToken *string `type:"string"`
 17720  }
 17721  
 17722  // String returns the string representation.
 17723  //
 17724  // API parameter values that are decorated as "sensitive" in the API will not
 17725  // be included in the string output. The member name will be present, but the
 17726  // value will be replaced with "sensitive".
 17727  func (s ListServiceActionsInput) String() string {
 17728  	return awsutil.Prettify(s)
 17729  }
 17730  
 17731  // GoString returns the string representation.
 17732  //
 17733  // API parameter values that are decorated as "sensitive" in the API will not
 17734  // be included in the string output. The member name will be present, but the
 17735  // value will be replaced with "sensitive".
 17736  func (s ListServiceActionsInput) GoString() string {
 17737  	return s.String()
 17738  }
 17739  
 17740  // SetAcceptLanguage sets the AcceptLanguage field's value.
 17741  func (s *ListServiceActionsInput) SetAcceptLanguage(v string) *ListServiceActionsInput {
 17742  	s.AcceptLanguage = &v
 17743  	return s
 17744  }
 17745  
 17746  // SetPageSize sets the PageSize field's value.
 17747  func (s *ListServiceActionsInput) SetPageSize(v int64) *ListServiceActionsInput {
 17748  	s.PageSize = &v
 17749  	return s
 17750  }
 17751  
 17752  // SetPageToken sets the PageToken field's value.
 17753  func (s *ListServiceActionsInput) SetPageToken(v string) *ListServiceActionsInput {
 17754  	s.PageToken = &v
 17755  	return s
 17756  }
 17757  
 17758  type ListServiceActionsOutput struct {
 17759  	_ struct{} `type:"structure"`
 17760  
 17761  	// The page token to use to retrieve the next set of results. If there are no
 17762  	// additional results, this value is null.
 17763  	NextPageToken *string `type:"string"`
 17764  
 17765  	// An object containing information about the service actions associated with
 17766  	// the provisioning artifact.
 17767  	ServiceActionSummaries []*ServiceActionSummary `type:"list"`
 17768  }
 17769  
 17770  // String returns the string representation.
 17771  //
 17772  // API parameter values that are decorated as "sensitive" in the API will not
 17773  // be included in the string output. The member name will be present, but the
 17774  // value will be replaced with "sensitive".
 17775  func (s ListServiceActionsOutput) String() string {
 17776  	return awsutil.Prettify(s)
 17777  }
 17778  
 17779  // GoString returns the string representation.
 17780  //
 17781  // API parameter values that are decorated as "sensitive" in the API will not
 17782  // be included in the string output. The member name will be present, but the
 17783  // value will be replaced with "sensitive".
 17784  func (s ListServiceActionsOutput) GoString() string {
 17785  	return s.String()
 17786  }
 17787  
 17788  // SetNextPageToken sets the NextPageToken field's value.
 17789  func (s *ListServiceActionsOutput) SetNextPageToken(v string) *ListServiceActionsOutput {
 17790  	s.NextPageToken = &v
 17791  	return s
 17792  }
 17793  
 17794  // SetServiceActionSummaries sets the ServiceActionSummaries field's value.
 17795  func (s *ListServiceActionsOutput) SetServiceActionSummaries(v []*ServiceActionSummary) *ListServiceActionsOutput {
 17796  	s.ServiceActionSummaries = v
 17797  	return s
 17798  }
 17799  
 17800  type ListStackInstancesForProvisionedProductInput struct {
 17801  	_ struct{} `type:"structure"`
 17802  
 17803  	// The language code.
 17804  	//
 17805  	//    * en - English (default)
 17806  	//
 17807  	//    * jp - Japanese
 17808  	//
 17809  	//    * zh - Chinese
 17810  	AcceptLanguage *string `type:"string"`
 17811  
 17812  	// The maximum number of items to return with this call.
 17813  	PageSize *int64 `type:"integer"`
 17814  
 17815  	// The page token for the next set of results. To retrieve the first set of
 17816  	// results, use null.
 17817  	PageToken *string `type:"string"`
 17818  
 17819  	// The identifier of the provisioned product.
 17820  	//
 17821  	// ProvisionedProductId is a required field
 17822  	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
 17823  }
 17824  
 17825  // String returns the string representation.
 17826  //
 17827  // API parameter values that are decorated as "sensitive" in the API will not
 17828  // be included in the string output. The member name will be present, but the
 17829  // value will be replaced with "sensitive".
 17830  func (s ListStackInstancesForProvisionedProductInput) String() string {
 17831  	return awsutil.Prettify(s)
 17832  }
 17833  
 17834  // GoString returns the string representation.
 17835  //
 17836  // API parameter values that are decorated as "sensitive" in the API will not
 17837  // be included in the string output. The member name will be present, but the
 17838  // value will be replaced with "sensitive".
 17839  func (s ListStackInstancesForProvisionedProductInput) GoString() string {
 17840  	return s.String()
 17841  }
 17842  
 17843  // Validate inspects the fields of the type to determine if they are valid.
 17844  func (s *ListStackInstancesForProvisionedProductInput) Validate() error {
 17845  	invalidParams := request.ErrInvalidParams{Context: "ListStackInstancesForProvisionedProductInput"}
 17846  	if s.ProvisionedProductId == nil {
 17847  		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
 17848  	}
 17849  	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
 17850  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
 17851  	}
 17852  
 17853  	if invalidParams.Len() > 0 {
 17854  		return invalidParams
 17855  	}
 17856  	return nil
 17857  }
 17858  
 17859  // SetAcceptLanguage sets the AcceptLanguage field's value.
 17860  func (s *ListStackInstancesForProvisionedProductInput) SetAcceptLanguage(v string) *ListStackInstancesForProvisionedProductInput {
 17861  	s.AcceptLanguage = &v
 17862  	return s
 17863  }
 17864  
 17865  // SetPageSize sets the PageSize field's value.
 17866  func (s *ListStackInstancesForProvisionedProductInput) SetPageSize(v int64) *ListStackInstancesForProvisionedProductInput {
 17867  	s.PageSize = &v
 17868  	return s
 17869  }
 17870  
 17871  // SetPageToken sets the PageToken field's value.
 17872  func (s *ListStackInstancesForProvisionedProductInput) SetPageToken(v string) *ListStackInstancesForProvisionedProductInput {
 17873  	s.PageToken = &v
 17874  	return s
 17875  }
 17876  
 17877  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 17878  func (s *ListStackInstancesForProvisionedProductInput) SetProvisionedProductId(v string) *ListStackInstancesForProvisionedProductInput {
 17879  	s.ProvisionedProductId = &v
 17880  	return s
 17881  }
 17882  
 17883  type ListStackInstancesForProvisionedProductOutput struct {
 17884  	_ struct{} `type:"structure"`
 17885  
 17886  	// The page token to use to retrieve the next set of results. If there are no
 17887  	// additional results, this value is null.
 17888  	NextPageToken *string `type:"string"`
 17889  
 17890  	// List of stack instances.
 17891  	StackInstances []*StackInstance `type:"list"`
 17892  }
 17893  
 17894  // String returns the string representation.
 17895  //
 17896  // API parameter values that are decorated as "sensitive" in the API will not
 17897  // be included in the string output. The member name will be present, but the
 17898  // value will be replaced with "sensitive".
 17899  func (s ListStackInstancesForProvisionedProductOutput) String() string {
 17900  	return awsutil.Prettify(s)
 17901  }
 17902  
 17903  // GoString returns the string representation.
 17904  //
 17905  // API parameter values that are decorated as "sensitive" in the API will not
 17906  // be included in the string output. The member name will be present, but the
 17907  // value will be replaced with "sensitive".
 17908  func (s ListStackInstancesForProvisionedProductOutput) GoString() string {
 17909  	return s.String()
 17910  }
 17911  
 17912  // SetNextPageToken sets the NextPageToken field's value.
 17913  func (s *ListStackInstancesForProvisionedProductOutput) SetNextPageToken(v string) *ListStackInstancesForProvisionedProductOutput {
 17914  	s.NextPageToken = &v
 17915  	return s
 17916  }
 17917  
 17918  // SetStackInstances sets the StackInstances field's value.
 17919  func (s *ListStackInstancesForProvisionedProductOutput) SetStackInstances(v []*StackInstance) *ListStackInstancesForProvisionedProductOutput {
 17920  	s.StackInstances = v
 17921  	return s
 17922  }
 17923  
 17924  // Filters to use when listing TagOptions.
 17925  type ListTagOptionsFilters struct {
 17926  	_ struct{} `type:"structure"`
 17927  
 17928  	// The active state.
 17929  	Active *bool `type:"boolean"`
 17930  
 17931  	// The TagOption key.
 17932  	Key *string `min:"1" type:"string"`
 17933  
 17934  	// The TagOption value.
 17935  	Value *string `min:"1" type:"string"`
 17936  }
 17937  
 17938  // String returns the string representation.
 17939  //
 17940  // API parameter values that are decorated as "sensitive" in the API will not
 17941  // be included in the string output. The member name will be present, but the
 17942  // value will be replaced with "sensitive".
 17943  func (s ListTagOptionsFilters) String() string {
 17944  	return awsutil.Prettify(s)
 17945  }
 17946  
 17947  // GoString returns the string representation.
 17948  //
 17949  // API parameter values that are decorated as "sensitive" in the API will not
 17950  // be included in the string output. The member name will be present, but the
 17951  // value will be replaced with "sensitive".
 17952  func (s ListTagOptionsFilters) GoString() string {
 17953  	return s.String()
 17954  }
 17955  
 17956  // Validate inspects the fields of the type to determine if they are valid.
 17957  func (s *ListTagOptionsFilters) Validate() error {
 17958  	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsFilters"}
 17959  	if s.Key != nil && len(*s.Key) < 1 {
 17960  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 17961  	}
 17962  	if s.Value != nil && len(*s.Value) < 1 {
 17963  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 17964  	}
 17965  
 17966  	if invalidParams.Len() > 0 {
 17967  		return invalidParams
 17968  	}
 17969  	return nil
 17970  }
 17971  
 17972  // SetActive sets the Active field's value.
 17973  func (s *ListTagOptionsFilters) SetActive(v bool) *ListTagOptionsFilters {
 17974  	s.Active = &v
 17975  	return s
 17976  }
 17977  
 17978  // SetKey sets the Key field's value.
 17979  func (s *ListTagOptionsFilters) SetKey(v string) *ListTagOptionsFilters {
 17980  	s.Key = &v
 17981  	return s
 17982  }
 17983  
 17984  // SetValue sets the Value field's value.
 17985  func (s *ListTagOptionsFilters) SetValue(v string) *ListTagOptionsFilters {
 17986  	s.Value = &v
 17987  	return s
 17988  }
 17989  
 17990  type ListTagOptionsInput struct {
 17991  	_ struct{} `type:"structure"`
 17992  
 17993  	// The search filters. If no search filters are specified, the output includes
 17994  	// all TagOptions.
 17995  	Filters *ListTagOptionsFilters `type:"structure"`
 17996  
 17997  	// The maximum number of items to return with this call.
 17998  	PageSize *int64 `type:"integer"`
 17999  
 18000  	// The page token for the next set of results. To retrieve the first set of
 18001  	// results, use null.
 18002  	PageToken *string `type:"string"`
 18003  }
 18004  
 18005  // String returns the string representation.
 18006  //
 18007  // API parameter values that are decorated as "sensitive" in the API will not
 18008  // be included in the string output. The member name will be present, but the
 18009  // value will be replaced with "sensitive".
 18010  func (s ListTagOptionsInput) String() string {
 18011  	return awsutil.Prettify(s)
 18012  }
 18013  
 18014  // GoString returns the string representation.
 18015  //
 18016  // API parameter values that are decorated as "sensitive" in the API will not
 18017  // be included in the string output. The member name will be present, but the
 18018  // value will be replaced with "sensitive".
 18019  func (s ListTagOptionsInput) GoString() string {
 18020  	return s.String()
 18021  }
 18022  
 18023  // Validate inspects the fields of the type to determine if they are valid.
 18024  func (s *ListTagOptionsInput) Validate() error {
 18025  	invalidParams := request.ErrInvalidParams{Context: "ListTagOptionsInput"}
 18026  	if s.Filters != nil {
 18027  		if err := s.Filters.Validate(); err != nil {
 18028  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 18029  		}
 18030  	}
 18031  
 18032  	if invalidParams.Len() > 0 {
 18033  		return invalidParams
 18034  	}
 18035  	return nil
 18036  }
 18037  
 18038  // SetFilters sets the Filters field's value.
 18039  func (s *ListTagOptionsInput) SetFilters(v *ListTagOptionsFilters) *ListTagOptionsInput {
 18040  	s.Filters = v
 18041  	return s
 18042  }
 18043  
 18044  // SetPageSize sets the PageSize field's value.
 18045  func (s *ListTagOptionsInput) SetPageSize(v int64) *ListTagOptionsInput {
 18046  	s.PageSize = &v
 18047  	return s
 18048  }
 18049  
 18050  // SetPageToken sets the PageToken field's value.
 18051  func (s *ListTagOptionsInput) SetPageToken(v string) *ListTagOptionsInput {
 18052  	s.PageToken = &v
 18053  	return s
 18054  }
 18055  
 18056  type ListTagOptionsOutput struct {
 18057  	_ struct{} `type:"structure"`
 18058  
 18059  	// The page token for the next set of results. To retrieve the first set of
 18060  	// results, use null.
 18061  	PageToken *string `type:"string"`
 18062  
 18063  	// Information about the TagOptions.
 18064  	TagOptionDetails []*TagOptionDetail `type:"list"`
 18065  }
 18066  
 18067  // String returns the string representation.
 18068  //
 18069  // API parameter values that are decorated as "sensitive" in the API will not
 18070  // be included in the string output. The member name will be present, but the
 18071  // value will be replaced with "sensitive".
 18072  func (s ListTagOptionsOutput) String() string {
 18073  	return awsutil.Prettify(s)
 18074  }
 18075  
 18076  // GoString returns the string representation.
 18077  //
 18078  // API parameter values that are decorated as "sensitive" in the API will not
 18079  // be included in the string output. The member name will be present, but the
 18080  // value will be replaced with "sensitive".
 18081  func (s ListTagOptionsOutput) GoString() string {
 18082  	return s.String()
 18083  }
 18084  
 18085  // SetPageToken sets the PageToken field's value.
 18086  func (s *ListTagOptionsOutput) SetPageToken(v string) *ListTagOptionsOutput {
 18087  	s.PageToken = &v
 18088  	return s
 18089  }
 18090  
 18091  // SetTagOptionDetails sets the TagOptionDetails field's value.
 18092  func (s *ListTagOptionsOutput) SetTagOptionDetails(v []*TagOptionDetail) *ListTagOptionsOutput {
 18093  	s.TagOptionDetails = v
 18094  	return s
 18095  }
 18096  
 18097  // The operation is not supported.
 18098  type OperationNotSupportedException struct {
 18099  	_            struct{}                  `type:"structure"`
 18100  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18101  
 18102  	Message_ *string `locationName:"message" type:"string"`
 18103  }
 18104  
 18105  // String returns the string representation.
 18106  //
 18107  // API parameter values that are decorated as "sensitive" in the API will not
 18108  // be included in the string output. The member name will be present, but the
 18109  // value will be replaced with "sensitive".
 18110  func (s OperationNotSupportedException) String() string {
 18111  	return awsutil.Prettify(s)
 18112  }
 18113  
 18114  // GoString returns the string representation.
 18115  //
 18116  // API parameter values that are decorated as "sensitive" in the API will not
 18117  // be included in the string output. The member name will be present, but the
 18118  // value will be replaced with "sensitive".
 18119  func (s OperationNotSupportedException) GoString() string {
 18120  	return s.String()
 18121  }
 18122  
 18123  func newErrorOperationNotSupportedException(v protocol.ResponseMetadata) error {
 18124  	return &OperationNotSupportedException{
 18125  		RespMetadata: v,
 18126  	}
 18127  }
 18128  
 18129  // Code returns the exception type name.
 18130  func (s *OperationNotSupportedException) Code() string {
 18131  	return "OperationNotSupportedException"
 18132  }
 18133  
 18134  // Message returns the exception's message.
 18135  func (s *OperationNotSupportedException) Message() string {
 18136  	if s.Message_ != nil {
 18137  		return *s.Message_
 18138  	}
 18139  	return ""
 18140  }
 18141  
 18142  // OrigErr always returns nil, satisfies awserr.Error interface.
 18143  func (s *OperationNotSupportedException) OrigErr() error {
 18144  	return nil
 18145  }
 18146  
 18147  func (s *OperationNotSupportedException) Error() string {
 18148  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 18149  }
 18150  
 18151  // Status code returns the HTTP status code for the request's response error.
 18152  func (s *OperationNotSupportedException) StatusCode() int {
 18153  	return s.RespMetadata.StatusCode
 18154  }
 18155  
 18156  // RequestID returns the service's response RequestID for request.
 18157  func (s *OperationNotSupportedException) RequestID() string {
 18158  	return s.RespMetadata.RequestID
 18159  }
 18160  
 18161  // Information about the organization node.
 18162  type OrganizationNode struct {
 18163  	_ struct{} `type:"structure"`
 18164  
 18165  	// The organization node type.
 18166  	Type *string `type:"string" enum:"OrganizationNodeType"`
 18167  
 18168  	// The identifier of the organization node.
 18169  	Value *string `type:"string"`
 18170  }
 18171  
 18172  // String returns the string representation.
 18173  //
 18174  // API parameter values that are decorated as "sensitive" in the API will not
 18175  // be included in the string output. The member name will be present, but the
 18176  // value will be replaced with "sensitive".
 18177  func (s OrganizationNode) String() string {
 18178  	return awsutil.Prettify(s)
 18179  }
 18180  
 18181  // GoString returns the string representation.
 18182  //
 18183  // API parameter values that are decorated as "sensitive" in the API will not
 18184  // be included in the string output. The member name will be present, but the
 18185  // value will be replaced with "sensitive".
 18186  func (s OrganizationNode) GoString() string {
 18187  	return s.String()
 18188  }
 18189  
 18190  // SetType sets the Type field's value.
 18191  func (s *OrganizationNode) SetType(v string) *OrganizationNode {
 18192  	s.Type = &v
 18193  	return s
 18194  }
 18195  
 18196  // SetValue sets the Value field's value.
 18197  func (s *OrganizationNode) SetValue(v string) *OrganizationNode {
 18198  	s.Value = &v
 18199  	return s
 18200  }
 18201  
 18202  // The constraints that the administrator has put on the parameter.
 18203  type ParameterConstraints struct {
 18204  	_ struct{} `type:"structure"`
 18205  
 18206  	// A regular expression that represents the patterns that allow for String types.
 18207  	// The pattern must match the entire parameter value provided.
 18208  	AllowedPattern *string `type:"string"`
 18209  
 18210  	// The values that the administrator has allowed for the parameter.
 18211  	AllowedValues []*string `type:"list"`
 18212  
 18213  	// A string that explains a constraint when the constraint is violated. For
 18214  	// example, without a constraint description, a parameter that has an allowed
 18215  	// pattern of [A-Za-z0-9]+ displays the following error message when the user
 18216  	// specifies an invalid value:
 18217  	//
 18218  	// Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+
 18219  	//
 18220  	// By adding a constraint description, such as must only contain letters (uppercase
 18221  	// and lowercase) and numbers, you can display the following customized error
 18222  	// message:
 18223  	//
 18224  	// Malformed input-Parameter MyParameter must only contain uppercase and lowercase
 18225  	// letters and numbers.
 18226  	ConstraintDescription *string `type:"string"`
 18227  
 18228  	// An integer value that determines the largest number of characters you want
 18229  	// to allow for String types.
 18230  	MaxLength *string `type:"string"`
 18231  
 18232  	// A numeric value that determines the largest numeric value you want to allow
 18233  	// for Number types.
 18234  	MaxValue *string `type:"string"`
 18235  
 18236  	// An integer value that determines the smallest number of characters you want
 18237  	// to allow for String types.
 18238  	MinLength *string `type:"string"`
 18239  
 18240  	// A numeric value that determines the smallest numeric value you want to allow
 18241  	// for Number types.
 18242  	MinValue *string `type:"string"`
 18243  }
 18244  
 18245  // String returns the string representation.
 18246  //
 18247  // API parameter values that are decorated as "sensitive" in the API will not
 18248  // be included in the string output. The member name will be present, but the
 18249  // value will be replaced with "sensitive".
 18250  func (s ParameterConstraints) String() string {
 18251  	return awsutil.Prettify(s)
 18252  }
 18253  
 18254  // GoString returns the string representation.
 18255  //
 18256  // API parameter values that are decorated as "sensitive" in the API will not
 18257  // be included in the string output. The member name will be present, but the
 18258  // value will be replaced with "sensitive".
 18259  func (s ParameterConstraints) GoString() string {
 18260  	return s.String()
 18261  }
 18262  
 18263  // SetAllowedPattern sets the AllowedPattern field's value.
 18264  func (s *ParameterConstraints) SetAllowedPattern(v string) *ParameterConstraints {
 18265  	s.AllowedPattern = &v
 18266  	return s
 18267  }
 18268  
 18269  // SetAllowedValues sets the AllowedValues field's value.
 18270  func (s *ParameterConstraints) SetAllowedValues(v []*string) *ParameterConstraints {
 18271  	s.AllowedValues = v
 18272  	return s
 18273  }
 18274  
 18275  // SetConstraintDescription sets the ConstraintDescription field's value.
 18276  func (s *ParameterConstraints) SetConstraintDescription(v string) *ParameterConstraints {
 18277  	s.ConstraintDescription = &v
 18278  	return s
 18279  }
 18280  
 18281  // SetMaxLength sets the MaxLength field's value.
 18282  func (s *ParameterConstraints) SetMaxLength(v string) *ParameterConstraints {
 18283  	s.MaxLength = &v
 18284  	return s
 18285  }
 18286  
 18287  // SetMaxValue sets the MaxValue field's value.
 18288  func (s *ParameterConstraints) SetMaxValue(v string) *ParameterConstraints {
 18289  	s.MaxValue = &v
 18290  	return s
 18291  }
 18292  
 18293  // SetMinLength sets the MinLength field's value.
 18294  func (s *ParameterConstraints) SetMinLength(v string) *ParameterConstraints {
 18295  	s.MinLength = &v
 18296  	return s
 18297  }
 18298  
 18299  // SetMinValue sets the MinValue field's value.
 18300  func (s *ParameterConstraints) SetMinValue(v string) *ParameterConstraints {
 18301  	s.MinValue = &v
 18302  	return s
 18303  }
 18304  
 18305  // Information about a portfolio.
 18306  type PortfolioDetail struct {
 18307  	_ struct{} `type:"structure"`
 18308  
 18309  	// The ARN assigned to the portfolio.
 18310  	ARN *string `min:"1" type:"string"`
 18311  
 18312  	// The UTC time stamp of the creation time.
 18313  	CreatedTime *time.Time `type:"timestamp"`
 18314  
 18315  	// The description of the portfolio.
 18316  	Description *string `type:"string"`
 18317  
 18318  	// The name to use for display purposes.
 18319  	DisplayName *string `min:"1" type:"string"`
 18320  
 18321  	// The portfolio identifier.
 18322  	Id *string `min:"1" type:"string"`
 18323  
 18324  	// The name of the portfolio provider.
 18325  	ProviderName *string `min:"1" type:"string"`
 18326  }
 18327  
 18328  // String returns the string representation.
 18329  //
 18330  // API parameter values that are decorated as "sensitive" in the API will not
 18331  // be included in the string output. The member name will be present, but the
 18332  // value will be replaced with "sensitive".
 18333  func (s PortfolioDetail) String() string {
 18334  	return awsutil.Prettify(s)
 18335  }
 18336  
 18337  // GoString returns the string representation.
 18338  //
 18339  // API parameter values that are decorated as "sensitive" in the API will not
 18340  // be included in the string output. The member name will be present, but the
 18341  // value will be replaced with "sensitive".
 18342  func (s PortfolioDetail) GoString() string {
 18343  	return s.String()
 18344  }
 18345  
 18346  // SetARN sets the ARN field's value.
 18347  func (s *PortfolioDetail) SetARN(v string) *PortfolioDetail {
 18348  	s.ARN = &v
 18349  	return s
 18350  }
 18351  
 18352  // SetCreatedTime sets the CreatedTime field's value.
 18353  func (s *PortfolioDetail) SetCreatedTime(v time.Time) *PortfolioDetail {
 18354  	s.CreatedTime = &v
 18355  	return s
 18356  }
 18357  
 18358  // SetDescription sets the Description field's value.
 18359  func (s *PortfolioDetail) SetDescription(v string) *PortfolioDetail {
 18360  	s.Description = &v
 18361  	return s
 18362  }
 18363  
 18364  // SetDisplayName sets the DisplayName field's value.
 18365  func (s *PortfolioDetail) SetDisplayName(v string) *PortfolioDetail {
 18366  	s.DisplayName = &v
 18367  	return s
 18368  }
 18369  
 18370  // SetId sets the Id field's value.
 18371  func (s *PortfolioDetail) SetId(v string) *PortfolioDetail {
 18372  	s.Id = &v
 18373  	return s
 18374  }
 18375  
 18376  // SetProviderName sets the ProviderName field's value.
 18377  func (s *PortfolioDetail) SetProviderName(v string) *PortfolioDetail {
 18378  	s.ProviderName = &v
 18379  	return s
 18380  }
 18381  
 18382  // Information about the portfolio share.
 18383  type PortfolioShareDetail struct {
 18384  	_ struct{} `type:"structure"`
 18385  
 18386  	// Indicates whether the shared portfolio is imported by the recipient account.
 18387  	// If the recipient is in an organization node, the share is automatically imported,
 18388  	// and the field is always set to true.
 18389  	Accepted *bool `type:"boolean"`
 18390  
 18391  	// The identifier of the recipient entity that received the portfolio share.
 18392  	// The recipient entities can be one of the following:
 18393  	//
 18394  	// 1. An external account.
 18395  	//
 18396  	// 2. An organziation member account.
 18397  	//
 18398  	// 3. An organzational unit (OU).
 18399  	//
 18400  	// 4. The organization itself. (This shares with every account in the organization).
 18401  	PrincipalId *string `min:"1" type:"string"`
 18402  
 18403  	// Indicates whether TagOptions sharing is enabled or disabled for the portfolio
 18404  	// share.
 18405  	ShareTagOptions *bool `type:"boolean"`
 18406  
 18407  	// The type of the portfolio share.
 18408  	Type *string `type:"string" enum:"DescribePortfolioShareType"`
 18409  }
 18410  
 18411  // String returns the string representation.
 18412  //
 18413  // API parameter values that are decorated as "sensitive" in the API will not
 18414  // be included in the string output. The member name will be present, but the
 18415  // value will be replaced with "sensitive".
 18416  func (s PortfolioShareDetail) String() string {
 18417  	return awsutil.Prettify(s)
 18418  }
 18419  
 18420  // GoString returns the string representation.
 18421  //
 18422  // API parameter values that are decorated as "sensitive" in the API will not
 18423  // be included in the string output. The member name will be present, but the
 18424  // value will be replaced with "sensitive".
 18425  func (s PortfolioShareDetail) GoString() string {
 18426  	return s.String()
 18427  }
 18428  
 18429  // SetAccepted sets the Accepted field's value.
 18430  func (s *PortfolioShareDetail) SetAccepted(v bool) *PortfolioShareDetail {
 18431  	s.Accepted = &v
 18432  	return s
 18433  }
 18434  
 18435  // SetPrincipalId sets the PrincipalId field's value.
 18436  func (s *PortfolioShareDetail) SetPrincipalId(v string) *PortfolioShareDetail {
 18437  	s.PrincipalId = &v
 18438  	return s
 18439  }
 18440  
 18441  // SetShareTagOptions sets the ShareTagOptions field's value.
 18442  func (s *PortfolioShareDetail) SetShareTagOptions(v bool) *PortfolioShareDetail {
 18443  	s.ShareTagOptions = &v
 18444  	return s
 18445  }
 18446  
 18447  // SetType sets the Type field's value.
 18448  func (s *PortfolioShareDetail) SetType(v string) *PortfolioShareDetail {
 18449  	s.Type = &v
 18450  	return s
 18451  }
 18452  
 18453  // Information about a principal.
 18454  type Principal struct {
 18455  	_ struct{} `type:"structure"`
 18456  
 18457  	// The ARN of the principal (IAM user, role, or group).
 18458  	PrincipalARN *string `min:"1" type:"string"`
 18459  
 18460  	// The principal type. The supported value is IAM.
 18461  	PrincipalType *string `type:"string" enum:"PrincipalType"`
 18462  }
 18463  
 18464  // String returns the string representation.
 18465  //
 18466  // API parameter values that are decorated as "sensitive" in the API will not
 18467  // be included in the string output. The member name will be present, but the
 18468  // value will be replaced with "sensitive".
 18469  func (s Principal) String() string {
 18470  	return awsutil.Prettify(s)
 18471  }
 18472  
 18473  // GoString returns the string representation.
 18474  //
 18475  // API parameter values that are decorated as "sensitive" in the API will not
 18476  // be included in the string output. The member name will be present, but the
 18477  // value will be replaced with "sensitive".
 18478  func (s Principal) GoString() string {
 18479  	return s.String()
 18480  }
 18481  
 18482  // SetPrincipalARN sets the PrincipalARN field's value.
 18483  func (s *Principal) SetPrincipalARN(v string) *Principal {
 18484  	s.PrincipalARN = &v
 18485  	return s
 18486  }
 18487  
 18488  // SetPrincipalType sets the PrincipalType field's value.
 18489  func (s *Principal) SetPrincipalType(v string) *Principal {
 18490  	s.PrincipalType = &v
 18491  	return s
 18492  }
 18493  
 18494  // A single product view aggregation value/count pair, containing metadata about
 18495  // each product to which the calling user has access.
 18496  type ProductViewAggregationValue struct {
 18497  	_ struct{} `type:"structure"`
 18498  
 18499  	// An approximate count of the products that match the value.
 18500  	ApproximateCount *int64 `type:"integer"`
 18501  
 18502  	// The value of the product view aggregation.
 18503  	Value *string `type:"string"`
 18504  }
 18505  
 18506  // String returns the string representation.
 18507  //
 18508  // API parameter values that are decorated as "sensitive" in the API will not
 18509  // be included in the string output. The member name will be present, but the
 18510  // value will be replaced with "sensitive".
 18511  func (s ProductViewAggregationValue) String() string {
 18512  	return awsutil.Prettify(s)
 18513  }
 18514  
 18515  // GoString returns the string representation.
 18516  //
 18517  // API parameter values that are decorated as "sensitive" in the API will not
 18518  // be included in the string output. The member name will be present, but the
 18519  // value will be replaced with "sensitive".
 18520  func (s ProductViewAggregationValue) GoString() string {
 18521  	return s.String()
 18522  }
 18523  
 18524  // SetApproximateCount sets the ApproximateCount field's value.
 18525  func (s *ProductViewAggregationValue) SetApproximateCount(v int64) *ProductViewAggregationValue {
 18526  	s.ApproximateCount = &v
 18527  	return s
 18528  }
 18529  
 18530  // SetValue sets the Value field's value.
 18531  func (s *ProductViewAggregationValue) SetValue(v string) *ProductViewAggregationValue {
 18532  	s.Value = &v
 18533  	return s
 18534  }
 18535  
 18536  // Information about a product view.
 18537  type ProductViewDetail struct {
 18538  	_ struct{} `type:"structure"`
 18539  
 18540  	// The UTC time stamp of the creation time.
 18541  	CreatedTime *time.Time `type:"timestamp"`
 18542  
 18543  	// The ARN of the product.
 18544  	ProductARN *string `min:"1" type:"string"`
 18545  
 18546  	// Summary information about the product view.
 18547  	ProductViewSummary *ProductViewSummary `type:"structure"`
 18548  
 18549  	// The status of the product.
 18550  	//
 18551  	//    * AVAILABLE - The product is ready for use.
 18552  	//
 18553  	//    * CREATING - Product creation has started; the product is not ready for
 18554  	//    use.
 18555  	//
 18556  	//    * FAILED - An action failed.
 18557  	Status *string `type:"string" enum:"Status"`
 18558  }
 18559  
 18560  // String returns the string representation.
 18561  //
 18562  // API parameter values that are decorated as "sensitive" in the API will not
 18563  // be included in the string output. The member name will be present, but the
 18564  // value will be replaced with "sensitive".
 18565  func (s ProductViewDetail) String() string {
 18566  	return awsutil.Prettify(s)
 18567  }
 18568  
 18569  // GoString returns the string representation.
 18570  //
 18571  // API parameter values that are decorated as "sensitive" in the API will not
 18572  // be included in the string output. The member name will be present, but the
 18573  // value will be replaced with "sensitive".
 18574  func (s ProductViewDetail) GoString() string {
 18575  	return s.String()
 18576  }
 18577  
 18578  // SetCreatedTime sets the CreatedTime field's value.
 18579  func (s *ProductViewDetail) SetCreatedTime(v time.Time) *ProductViewDetail {
 18580  	s.CreatedTime = &v
 18581  	return s
 18582  }
 18583  
 18584  // SetProductARN sets the ProductARN field's value.
 18585  func (s *ProductViewDetail) SetProductARN(v string) *ProductViewDetail {
 18586  	s.ProductARN = &v
 18587  	return s
 18588  }
 18589  
 18590  // SetProductViewSummary sets the ProductViewSummary field's value.
 18591  func (s *ProductViewDetail) SetProductViewSummary(v *ProductViewSummary) *ProductViewDetail {
 18592  	s.ProductViewSummary = v
 18593  	return s
 18594  }
 18595  
 18596  // SetStatus sets the Status field's value.
 18597  func (s *ProductViewDetail) SetStatus(v string) *ProductViewDetail {
 18598  	s.Status = &v
 18599  	return s
 18600  }
 18601  
 18602  // Summary information about a product view.
 18603  type ProductViewSummary struct {
 18604  	_ struct{} `type:"structure"`
 18605  
 18606  	// The distributor of the product. Contact the product administrator for the
 18607  	// significance of this value.
 18608  	Distributor *string `type:"string"`
 18609  
 18610  	// Indicates whether the product has a default path. If the product does not
 18611  	// have a default path, call ListLaunchPaths to disambiguate between paths.
 18612  	// Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary
 18613  	// can be used directly with DescribeProvisioningParameters.
 18614  	HasDefaultPath *bool `type:"boolean"`
 18615  
 18616  	// The product view identifier.
 18617  	Id *string `min:"1" type:"string"`
 18618  
 18619  	// The name of the product.
 18620  	Name *string `type:"string"`
 18621  
 18622  	// The owner of the product. Contact the product administrator for the significance
 18623  	// of this value.
 18624  	Owner *string `type:"string"`
 18625  
 18626  	// The product identifier.
 18627  	ProductId *string `min:"1" type:"string"`
 18628  
 18629  	// Short description of the product.
 18630  	ShortDescription *string `type:"string"`
 18631  
 18632  	// The description of the support for this Product.
 18633  	SupportDescription *string `type:"string"`
 18634  
 18635  	// The email contact information to obtain support for this Product.
 18636  	SupportEmail *string `type:"string"`
 18637  
 18638  	// The URL information to obtain support for this Product.
 18639  	SupportUrl *string `type:"string"`
 18640  
 18641  	// The product type. Contact the product administrator for the significance
 18642  	// of this value. If this value is MARKETPLACE, the product was created by AWS
 18643  	// Marketplace.
 18644  	Type *string `type:"string" enum:"ProductType"`
 18645  }
 18646  
 18647  // String returns the string representation.
 18648  //
 18649  // API parameter values that are decorated as "sensitive" in the API will not
 18650  // be included in the string output. The member name will be present, but the
 18651  // value will be replaced with "sensitive".
 18652  func (s ProductViewSummary) String() string {
 18653  	return awsutil.Prettify(s)
 18654  }
 18655  
 18656  // GoString returns the string representation.
 18657  //
 18658  // API parameter values that are decorated as "sensitive" in the API will not
 18659  // be included in the string output. The member name will be present, but the
 18660  // value will be replaced with "sensitive".
 18661  func (s ProductViewSummary) GoString() string {
 18662  	return s.String()
 18663  }
 18664  
 18665  // SetDistributor sets the Distributor field's value.
 18666  func (s *ProductViewSummary) SetDistributor(v string) *ProductViewSummary {
 18667  	s.Distributor = &v
 18668  	return s
 18669  }
 18670  
 18671  // SetHasDefaultPath sets the HasDefaultPath field's value.
 18672  func (s *ProductViewSummary) SetHasDefaultPath(v bool) *ProductViewSummary {
 18673  	s.HasDefaultPath = &v
 18674  	return s
 18675  }
 18676  
 18677  // SetId sets the Id field's value.
 18678  func (s *ProductViewSummary) SetId(v string) *ProductViewSummary {
 18679  	s.Id = &v
 18680  	return s
 18681  }
 18682  
 18683  // SetName sets the Name field's value.
 18684  func (s *ProductViewSummary) SetName(v string) *ProductViewSummary {
 18685  	s.Name = &v
 18686  	return s
 18687  }
 18688  
 18689  // SetOwner sets the Owner field's value.
 18690  func (s *ProductViewSummary) SetOwner(v string) *ProductViewSummary {
 18691  	s.Owner = &v
 18692  	return s
 18693  }
 18694  
 18695  // SetProductId sets the ProductId field's value.
 18696  func (s *ProductViewSummary) SetProductId(v string) *ProductViewSummary {
 18697  	s.ProductId = &v
 18698  	return s
 18699  }
 18700  
 18701  // SetShortDescription sets the ShortDescription field's value.
 18702  func (s *ProductViewSummary) SetShortDescription(v string) *ProductViewSummary {
 18703  	s.ShortDescription = &v
 18704  	return s
 18705  }
 18706  
 18707  // SetSupportDescription sets the SupportDescription field's value.
 18708  func (s *ProductViewSummary) SetSupportDescription(v string) *ProductViewSummary {
 18709  	s.SupportDescription = &v
 18710  	return s
 18711  }
 18712  
 18713  // SetSupportEmail sets the SupportEmail field's value.
 18714  func (s *ProductViewSummary) SetSupportEmail(v string) *ProductViewSummary {
 18715  	s.SupportEmail = &v
 18716  	return s
 18717  }
 18718  
 18719  // SetSupportUrl sets the SupportUrl field's value.
 18720  func (s *ProductViewSummary) SetSupportUrl(v string) *ProductViewSummary {
 18721  	s.SupportUrl = &v
 18722  	return s
 18723  }
 18724  
 18725  // SetType sets the Type field's value.
 18726  func (s *ProductViewSummary) SetType(v string) *ProductViewSummary {
 18727  	s.Type = &v
 18728  	return s
 18729  }
 18730  
 18731  type ProvisionProductInput struct {
 18732  	_ struct{} `type:"structure"`
 18733  
 18734  	// The language code.
 18735  	//
 18736  	//    * en - English (default)
 18737  	//
 18738  	//    * jp - Japanese
 18739  	//
 18740  	//    * zh - Chinese
 18741  	AcceptLanguage *string `type:"string"`
 18742  
 18743  	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
 18744  	// events.
 18745  	NotificationArns []*string `type:"list"`
 18746  
 18747  	// The path identifier of the product. This value is optional if the product
 18748  	// has a default path, and required if the product has more than one path. To
 18749  	// list the paths for a product, use ListLaunchPaths. You must provide the name
 18750  	// or ID, but not both.
 18751  	PathId *string `min:"1" type:"string"`
 18752  
 18753  	// The name of the path. You must provide the name or ID, but not both.
 18754  	PathName *string `min:"1" type:"string"`
 18755  
 18756  	// The product identifier. You must provide the name or ID, but not both.
 18757  	ProductId *string `min:"1" type:"string"`
 18758  
 18759  	// The name of the product. You must provide the name or ID, but not both.
 18760  	ProductName *string `type:"string"`
 18761  
 18762  	// An idempotency token that uniquely identifies the provisioning request.
 18763  	ProvisionToken *string `min:"1" type:"string" idempotencyToken:"true"`
 18764  
 18765  	// A user-friendly name for the provisioned product. This value must be unique
 18766  	// for the AWS account and cannot be updated after the product is provisioned.
 18767  	//
 18768  	// ProvisionedProductName is a required field
 18769  	ProvisionedProductName *string `min:"1" type:"string" required:"true"`
 18770  
 18771  	// The identifier of the provisioning artifact. You must provide the name or
 18772  	// ID, but not both.
 18773  	ProvisioningArtifactId *string `min:"1" type:"string"`
 18774  
 18775  	// The name of the provisioning artifact. You must provide the name or ID, but
 18776  	// not both.
 18777  	ProvisioningArtifactName *string `type:"string"`
 18778  
 18779  	// Parameters specified by the administrator that are required for provisioning
 18780  	// the product.
 18781  	ProvisioningParameters []*ProvisioningParameter `type:"list"`
 18782  
 18783  	// An object that contains information about the provisioning preferences for
 18784  	// a stack set.
 18785  	ProvisioningPreferences *ProvisioningPreferences `type:"structure"`
 18786  
 18787  	// One or more tags.
 18788  	Tags []*Tag `type:"list"`
 18789  }
 18790  
 18791  // String returns the string representation.
 18792  //
 18793  // API parameter values that are decorated as "sensitive" in the API will not
 18794  // be included in the string output. The member name will be present, but the
 18795  // value will be replaced with "sensitive".
 18796  func (s ProvisionProductInput) String() string {
 18797  	return awsutil.Prettify(s)
 18798  }
 18799  
 18800  // GoString returns the string representation.
 18801  //
 18802  // API parameter values that are decorated as "sensitive" in the API will not
 18803  // be included in the string output. The member name will be present, but the
 18804  // value will be replaced with "sensitive".
 18805  func (s ProvisionProductInput) GoString() string {
 18806  	return s.String()
 18807  }
 18808  
 18809  // Validate inspects the fields of the type to determine if they are valid.
 18810  func (s *ProvisionProductInput) Validate() error {
 18811  	invalidParams := request.ErrInvalidParams{Context: "ProvisionProductInput"}
 18812  	if s.PathId != nil && len(*s.PathId) < 1 {
 18813  		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
 18814  	}
 18815  	if s.PathName != nil && len(*s.PathName) < 1 {
 18816  		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
 18817  	}
 18818  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 18819  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 18820  	}
 18821  	if s.ProvisionToken != nil && len(*s.ProvisionToken) < 1 {
 18822  		invalidParams.Add(request.NewErrParamMinLen("ProvisionToken", 1))
 18823  	}
 18824  	if s.ProvisionedProductName == nil {
 18825  		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductName"))
 18826  	}
 18827  	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
 18828  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
 18829  	}
 18830  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 18831  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 18832  	}
 18833  	if s.ProvisioningParameters != nil {
 18834  		for i, v := range s.ProvisioningParameters {
 18835  			if v == nil {
 18836  				continue
 18837  			}
 18838  			if err := v.Validate(); err != nil {
 18839  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
 18840  			}
 18841  		}
 18842  	}
 18843  	if s.ProvisioningPreferences != nil {
 18844  		if err := s.ProvisioningPreferences.Validate(); err != nil {
 18845  			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
 18846  		}
 18847  	}
 18848  	if s.Tags != nil {
 18849  		for i, v := range s.Tags {
 18850  			if v == nil {
 18851  				continue
 18852  			}
 18853  			if err := v.Validate(); err != nil {
 18854  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 18855  			}
 18856  		}
 18857  	}
 18858  
 18859  	if invalidParams.Len() > 0 {
 18860  		return invalidParams
 18861  	}
 18862  	return nil
 18863  }
 18864  
 18865  // SetAcceptLanguage sets the AcceptLanguage field's value.
 18866  func (s *ProvisionProductInput) SetAcceptLanguage(v string) *ProvisionProductInput {
 18867  	s.AcceptLanguage = &v
 18868  	return s
 18869  }
 18870  
 18871  // SetNotificationArns sets the NotificationArns field's value.
 18872  func (s *ProvisionProductInput) SetNotificationArns(v []*string) *ProvisionProductInput {
 18873  	s.NotificationArns = v
 18874  	return s
 18875  }
 18876  
 18877  // SetPathId sets the PathId field's value.
 18878  func (s *ProvisionProductInput) SetPathId(v string) *ProvisionProductInput {
 18879  	s.PathId = &v
 18880  	return s
 18881  }
 18882  
 18883  // SetPathName sets the PathName field's value.
 18884  func (s *ProvisionProductInput) SetPathName(v string) *ProvisionProductInput {
 18885  	s.PathName = &v
 18886  	return s
 18887  }
 18888  
 18889  // SetProductId sets the ProductId field's value.
 18890  func (s *ProvisionProductInput) SetProductId(v string) *ProvisionProductInput {
 18891  	s.ProductId = &v
 18892  	return s
 18893  }
 18894  
 18895  // SetProductName sets the ProductName field's value.
 18896  func (s *ProvisionProductInput) SetProductName(v string) *ProvisionProductInput {
 18897  	s.ProductName = &v
 18898  	return s
 18899  }
 18900  
 18901  // SetProvisionToken sets the ProvisionToken field's value.
 18902  func (s *ProvisionProductInput) SetProvisionToken(v string) *ProvisionProductInput {
 18903  	s.ProvisionToken = &v
 18904  	return s
 18905  }
 18906  
 18907  // SetProvisionedProductName sets the ProvisionedProductName field's value.
 18908  func (s *ProvisionProductInput) SetProvisionedProductName(v string) *ProvisionProductInput {
 18909  	s.ProvisionedProductName = &v
 18910  	return s
 18911  }
 18912  
 18913  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 18914  func (s *ProvisionProductInput) SetProvisioningArtifactId(v string) *ProvisionProductInput {
 18915  	s.ProvisioningArtifactId = &v
 18916  	return s
 18917  }
 18918  
 18919  // SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
 18920  func (s *ProvisionProductInput) SetProvisioningArtifactName(v string) *ProvisionProductInput {
 18921  	s.ProvisioningArtifactName = &v
 18922  	return s
 18923  }
 18924  
 18925  // SetProvisioningParameters sets the ProvisioningParameters field's value.
 18926  func (s *ProvisionProductInput) SetProvisioningParameters(v []*ProvisioningParameter) *ProvisionProductInput {
 18927  	s.ProvisioningParameters = v
 18928  	return s
 18929  }
 18930  
 18931  // SetProvisioningPreferences sets the ProvisioningPreferences field's value.
 18932  func (s *ProvisionProductInput) SetProvisioningPreferences(v *ProvisioningPreferences) *ProvisionProductInput {
 18933  	s.ProvisioningPreferences = v
 18934  	return s
 18935  }
 18936  
 18937  // SetTags sets the Tags field's value.
 18938  func (s *ProvisionProductInput) SetTags(v []*Tag) *ProvisionProductInput {
 18939  	s.Tags = v
 18940  	return s
 18941  }
 18942  
 18943  type ProvisionProductOutput struct {
 18944  	_ struct{} `type:"structure"`
 18945  
 18946  	// Information about the result of provisioning the product.
 18947  	RecordDetail *RecordDetail `type:"structure"`
 18948  }
 18949  
 18950  // String returns the string representation.
 18951  //
 18952  // API parameter values that are decorated as "sensitive" in the API will not
 18953  // be included in the string output. The member name will be present, but the
 18954  // value will be replaced with "sensitive".
 18955  func (s ProvisionProductOutput) String() string {
 18956  	return awsutil.Prettify(s)
 18957  }
 18958  
 18959  // GoString returns the string representation.
 18960  //
 18961  // API parameter values that are decorated as "sensitive" in the API will not
 18962  // be included in the string output. The member name will be present, but the
 18963  // value will be replaced with "sensitive".
 18964  func (s ProvisionProductOutput) GoString() string {
 18965  	return s.String()
 18966  }
 18967  
 18968  // SetRecordDetail sets the RecordDetail field's value.
 18969  func (s *ProvisionProductOutput) SetRecordDetail(v *RecordDetail) *ProvisionProductOutput {
 18970  	s.RecordDetail = v
 18971  	return s
 18972  }
 18973  
 18974  // Information about a provisioned product.
 18975  type ProvisionedProductAttribute struct {
 18976  	_ struct{} `type:"structure"`
 18977  
 18978  	// The ARN of the provisioned product.
 18979  	Arn *string `min:"1" type:"string"`
 18980  
 18981  	// The UTC time stamp of the creation time.
 18982  	CreatedTime *time.Time `type:"timestamp"`
 18983  
 18984  	// The identifier of the provisioned product.
 18985  	Id *string `min:"1" type:"string"`
 18986  
 18987  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 18988  	// differ only by the idempotency token, the same response is returned for each
 18989  	// repeated request.
 18990  	IdempotencyToken *string `min:"1" type:"string"`
 18991  
 18992  	// The record identifier of the last request performed on this provisioned product
 18993  	// of the following types:
 18994  	//
 18995  	//    * ProvisionedProduct
 18996  	//
 18997  	//    * UpdateProvisionedProduct
 18998  	//
 18999  	//    * ExecuteProvisionedProductPlan
 19000  	//
 19001  	//    * TerminateProvisionedProduct
 19002  	LastProvisioningRecordId *string `min:"1" type:"string"`
 19003  
 19004  	// The record identifier of the last request performed on this provisioned product.
 19005  	LastRecordId *string `min:"1" type:"string"`
 19006  
 19007  	// The record identifier of the last successful request performed on this provisioned
 19008  	// product of the following types:
 19009  	//
 19010  	//    * ProvisionedProduct
 19011  	//
 19012  	//    * UpdateProvisionedProduct
 19013  	//
 19014  	//    * ExecuteProvisionedProductPlan
 19015  	//
 19016  	//    * TerminateProvisionedProduct
 19017  	LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"`
 19018  
 19019  	// The user-friendly name of the provisioned product.
 19020  	Name *string `min:"1" type:"string"`
 19021  
 19022  	// The assigned identifier for the resource, such as an EC2 instance ID or an
 19023  	// S3 bucket name.
 19024  	PhysicalId *string `type:"string"`
 19025  
 19026  	// The product identifier.
 19027  	ProductId *string `min:"1" type:"string"`
 19028  
 19029  	// The name of the product.
 19030  	ProductName *string `type:"string"`
 19031  
 19032  	// The identifier of the provisioning artifact.
 19033  	ProvisioningArtifactId *string `min:"1" type:"string"`
 19034  
 19035  	// The name of the provisioning artifact.
 19036  	ProvisioningArtifactName *string `type:"string"`
 19037  
 19038  	// The current status of the provisioned product.
 19039  	//
 19040  	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
 19041  	//    operation succeeded and completed.
 19042  	//
 19043  	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
 19044  	//    valid results. Wait for an AVAILABLE status before performing operations.
 19045  	//
 19046  	//    * TAINTED - Stable state, ready to perform any operation. The stack has
 19047  	//    completed the requested operation but is not exactly what was requested.
 19048  	//    For example, a request to update to a new version failed and the stack
 19049  	//    rolled back to the current version.
 19050  	//
 19051  	//    * ERROR - An unexpected error occurred. The provisioned product exists
 19052  	//    but the stack is not running. For example, CloudFormation received a parameter
 19053  	//    value that was not valid and could not launch the stack.
 19054  	//
 19055  	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
 19056  	//    to provision a new product, but resources have not yet been created. After
 19057  	//    reviewing the list of resources to be created, execute the plan. Wait
 19058  	//    for an AVAILABLE status before performing operations.
 19059  	Status *string `type:"string" enum:"ProvisionedProductStatus"`
 19060  
 19061  	// The current status message of the provisioned product.
 19062  	StatusMessage *string `type:"string"`
 19063  
 19064  	// One or more tags.
 19065  	Tags []*Tag `type:"list"`
 19066  
 19067  	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
 19068  	Type *string `type:"string"`
 19069  
 19070  	// The Amazon Resource Name (ARN) of the IAM user.
 19071  	UserArn *string `type:"string"`
 19072  
 19073  	// The ARN of the IAM user in the session. This ARN might contain a session
 19074  	// ID.
 19075  	UserArnSession *string `type:"string"`
 19076  }
 19077  
 19078  // String returns the string representation.
 19079  //
 19080  // API parameter values that are decorated as "sensitive" in the API will not
 19081  // be included in the string output. The member name will be present, but the
 19082  // value will be replaced with "sensitive".
 19083  func (s ProvisionedProductAttribute) String() string {
 19084  	return awsutil.Prettify(s)
 19085  }
 19086  
 19087  // GoString returns the string representation.
 19088  //
 19089  // API parameter values that are decorated as "sensitive" in the API will not
 19090  // be included in the string output. The member name will be present, but the
 19091  // value will be replaced with "sensitive".
 19092  func (s ProvisionedProductAttribute) GoString() string {
 19093  	return s.String()
 19094  }
 19095  
 19096  // SetArn sets the Arn field's value.
 19097  func (s *ProvisionedProductAttribute) SetArn(v string) *ProvisionedProductAttribute {
 19098  	s.Arn = &v
 19099  	return s
 19100  }
 19101  
 19102  // SetCreatedTime sets the CreatedTime field's value.
 19103  func (s *ProvisionedProductAttribute) SetCreatedTime(v time.Time) *ProvisionedProductAttribute {
 19104  	s.CreatedTime = &v
 19105  	return s
 19106  }
 19107  
 19108  // SetId sets the Id field's value.
 19109  func (s *ProvisionedProductAttribute) SetId(v string) *ProvisionedProductAttribute {
 19110  	s.Id = &v
 19111  	return s
 19112  }
 19113  
 19114  // SetIdempotencyToken sets the IdempotencyToken field's value.
 19115  func (s *ProvisionedProductAttribute) SetIdempotencyToken(v string) *ProvisionedProductAttribute {
 19116  	s.IdempotencyToken = &v
 19117  	return s
 19118  }
 19119  
 19120  // SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value.
 19121  func (s *ProvisionedProductAttribute) SetLastProvisioningRecordId(v string) *ProvisionedProductAttribute {
 19122  	s.LastProvisioningRecordId = &v
 19123  	return s
 19124  }
 19125  
 19126  // SetLastRecordId sets the LastRecordId field's value.
 19127  func (s *ProvisionedProductAttribute) SetLastRecordId(v string) *ProvisionedProductAttribute {
 19128  	s.LastRecordId = &v
 19129  	return s
 19130  }
 19131  
 19132  // SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value.
 19133  func (s *ProvisionedProductAttribute) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductAttribute {
 19134  	s.LastSuccessfulProvisioningRecordId = &v
 19135  	return s
 19136  }
 19137  
 19138  // SetName sets the Name field's value.
 19139  func (s *ProvisionedProductAttribute) SetName(v string) *ProvisionedProductAttribute {
 19140  	s.Name = &v
 19141  	return s
 19142  }
 19143  
 19144  // SetPhysicalId sets the PhysicalId field's value.
 19145  func (s *ProvisionedProductAttribute) SetPhysicalId(v string) *ProvisionedProductAttribute {
 19146  	s.PhysicalId = &v
 19147  	return s
 19148  }
 19149  
 19150  // SetProductId sets the ProductId field's value.
 19151  func (s *ProvisionedProductAttribute) SetProductId(v string) *ProvisionedProductAttribute {
 19152  	s.ProductId = &v
 19153  	return s
 19154  }
 19155  
 19156  // SetProductName sets the ProductName field's value.
 19157  func (s *ProvisionedProductAttribute) SetProductName(v string) *ProvisionedProductAttribute {
 19158  	s.ProductName = &v
 19159  	return s
 19160  }
 19161  
 19162  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 19163  func (s *ProvisionedProductAttribute) SetProvisioningArtifactId(v string) *ProvisionedProductAttribute {
 19164  	s.ProvisioningArtifactId = &v
 19165  	return s
 19166  }
 19167  
 19168  // SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
 19169  func (s *ProvisionedProductAttribute) SetProvisioningArtifactName(v string) *ProvisionedProductAttribute {
 19170  	s.ProvisioningArtifactName = &v
 19171  	return s
 19172  }
 19173  
 19174  // SetStatus sets the Status field's value.
 19175  func (s *ProvisionedProductAttribute) SetStatus(v string) *ProvisionedProductAttribute {
 19176  	s.Status = &v
 19177  	return s
 19178  }
 19179  
 19180  // SetStatusMessage sets the StatusMessage field's value.
 19181  func (s *ProvisionedProductAttribute) SetStatusMessage(v string) *ProvisionedProductAttribute {
 19182  	s.StatusMessage = &v
 19183  	return s
 19184  }
 19185  
 19186  // SetTags sets the Tags field's value.
 19187  func (s *ProvisionedProductAttribute) SetTags(v []*Tag) *ProvisionedProductAttribute {
 19188  	s.Tags = v
 19189  	return s
 19190  }
 19191  
 19192  // SetType sets the Type field's value.
 19193  func (s *ProvisionedProductAttribute) SetType(v string) *ProvisionedProductAttribute {
 19194  	s.Type = &v
 19195  	return s
 19196  }
 19197  
 19198  // SetUserArn sets the UserArn field's value.
 19199  func (s *ProvisionedProductAttribute) SetUserArn(v string) *ProvisionedProductAttribute {
 19200  	s.UserArn = &v
 19201  	return s
 19202  }
 19203  
 19204  // SetUserArnSession sets the UserArnSession field's value.
 19205  func (s *ProvisionedProductAttribute) SetUserArnSession(v string) *ProvisionedProductAttribute {
 19206  	s.UserArnSession = &v
 19207  	return s
 19208  }
 19209  
 19210  // Information about a provisioned product.
 19211  type ProvisionedProductDetail struct {
 19212  	_ struct{} `type:"structure"`
 19213  
 19214  	// The ARN of the provisioned product.
 19215  	Arn *string `min:"1" type:"string"`
 19216  
 19217  	// The UTC time stamp of the creation time.
 19218  	CreatedTime *time.Time `type:"timestamp"`
 19219  
 19220  	// The identifier of the provisioned product.
 19221  	Id *string `type:"string"`
 19222  
 19223  	// A unique identifier that you provide to ensure idempotency. If multiple requests
 19224  	// differ only by the idempotency token, the same response is returned for each
 19225  	// repeated request.
 19226  	IdempotencyToken *string `min:"1" type:"string"`
 19227  
 19228  	// The record identifier of the last request performed on this provisioned product
 19229  	// of the following types:
 19230  	//
 19231  	//    * ProvisionedProduct
 19232  	//
 19233  	//    * UpdateProvisionedProduct
 19234  	//
 19235  	//    * ExecuteProvisionedProductPlan
 19236  	//
 19237  	//    * TerminateProvisionedProduct
 19238  	LastProvisioningRecordId *string `min:"1" type:"string"`
 19239  
 19240  	// The record identifier of the last request performed on this provisioned product.
 19241  	LastRecordId *string `type:"string"`
 19242  
 19243  	// The record identifier of the last successful request performed on this provisioned
 19244  	// product of the following types:
 19245  	//
 19246  	//    * ProvisionedProduct
 19247  	//
 19248  	//    * UpdateProvisionedProduct
 19249  	//
 19250  	//    * ExecuteProvisionedProductPlan
 19251  	//
 19252  	//    * TerminateProvisionedProduct
 19253  	LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"`
 19254  
 19255  	// The ARN of the launch role associated with the provisioned product.
 19256  	LaunchRoleArn *string `min:"1" type:"string"`
 19257  
 19258  	// The user-friendly name of the provisioned product.
 19259  	Name *string `min:"1" type:"string"`
 19260  
 19261  	// The product identifier. For example, prod-abcdzk7xy33qa.
 19262  	ProductId *string `min:"1" type:"string"`
 19263  
 19264  	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
 19265  	ProvisioningArtifactId *string `min:"1" type:"string"`
 19266  
 19267  	// The current status of the provisioned product.
 19268  	//
 19269  	//    * AVAILABLE - Stable state, ready to perform any operation. The most recent
 19270  	//    operation succeeded and completed.
 19271  	//
 19272  	//    * UNDER_CHANGE - Transitive state. Operations performed might not have
 19273  	//    valid results. Wait for an AVAILABLE status before performing operations.
 19274  	//
 19275  	//    * TAINTED - Stable state, ready to perform any operation. The stack has
 19276  	//    completed the requested operation but is not exactly what was requested.
 19277  	//    For example, a request to update to a new version failed and the stack
 19278  	//    rolled back to the current version.
 19279  	//
 19280  	//    * ERROR - An unexpected error occurred. The provisioned product exists
 19281  	//    but the stack is not running. For example, CloudFormation received a parameter
 19282  	//    value that was not valid and could not launch the stack.
 19283  	//
 19284  	//    * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed
 19285  	//    to provision a new product, but resources have not yet been created. After
 19286  	//    reviewing the list of resources to be created, execute the plan. Wait
 19287  	//    for an AVAILABLE status before performing operations.
 19288  	Status *string `type:"string" enum:"ProvisionedProductStatus"`
 19289  
 19290  	// The current status message of the provisioned product.
 19291  	StatusMessage *string `type:"string"`
 19292  
 19293  	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
 19294  	Type *string `type:"string"`
 19295  }
 19296  
 19297  // String returns the string representation.
 19298  //
 19299  // API parameter values that are decorated as "sensitive" in the API will not
 19300  // be included in the string output. The member name will be present, but the
 19301  // value will be replaced with "sensitive".
 19302  func (s ProvisionedProductDetail) String() string {
 19303  	return awsutil.Prettify(s)
 19304  }
 19305  
 19306  // GoString returns the string representation.
 19307  //
 19308  // API parameter values that are decorated as "sensitive" in the API will not
 19309  // be included in the string output. The member name will be present, but the
 19310  // value will be replaced with "sensitive".
 19311  func (s ProvisionedProductDetail) GoString() string {
 19312  	return s.String()
 19313  }
 19314  
 19315  // SetArn sets the Arn field's value.
 19316  func (s *ProvisionedProductDetail) SetArn(v string) *ProvisionedProductDetail {
 19317  	s.Arn = &v
 19318  	return s
 19319  }
 19320  
 19321  // SetCreatedTime sets the CreatedTime field's value.
 19322  func (s *ProvisionedProductDetail) SetCreatedTime(v time.Time) *ProvisionedProductDetail {
 19323  	s.CreatedTime = &v
 19324  	return s
 19325  }
 19326  
 19327  // SetId sets the Id field's value.
 19328  func (s *ProvisionedProductDetail) SetId(v string) *ProvisionedProductDetail {
 19329  	s.Id = &v
 19330  	return s
 19331  }
 19332  
 19333  // SetIdempotencyToken sets the IdempotencyToken field's value.
 19334  func (s *ProvisionedProductDetail) SetIdempotencyToken(v string) *ProvisionedProductDetail {
 19335  	s.IdempotencyToken = &v
 19336  	return s
 19337  }
 19338  
 19339  // SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value.
 19340  func (s *ProvisionedProductDetail) SetLastProvisioningRecordId(v string) *ProvisionedProductDetail {
 19341  	s.LastProvisioningRecordId = &v
 19342  	return s
 19343  }
 19344  
 19345  // SetLastRecordId sets the LastRecordId field's value.
 19346  func (s *ProvisionedProductDetail) SetLastRecordId(v string) *ProvisionedProductDetail {
 19347  	s.LastRecordId = &v
 19348  	return s
 19349  }
 19350  
 19351  // SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value.
 19352  func (s *ProvisionedProductDetail) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductDetail {
 19353  	s.LastSuccessfulProvisioningRecordId = &v
 19354  	return s
 19355  }
 19356  
 19357  // SetLaunchRoleArn sets the LaunchRoleArn field's value.
 19358  func (s *ProvisionedProductDetail) SetLaunchRoleArn(v string) *ProvisionedProductDetail {
 19359  	s.LaunchRoleArn = &v
 19360  	return s
 19361  }
 19362  
 19363  // SetName sets the Name field's value.
 19364  func (s *ProvisionedProductDetail) SetName(v string) *ProvisionedProductDetail {
 19365  	s.Name = &v
 19366  	return s
 19367  }
 19368  
 19369  // SetProductId sets the ProductId field's value.
 19370  func (s *ProvisionedProductDetail) SetProductId(v string) *ProvisionedProductDetail {
 19371  	s.ProductId = &v
 19372  	return s
 19373  }
 19374  
 19375  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 19376  func (s *ProvisionedProductDetail) SetProvisioningArtifactId(v string) *ProvisionedProductDetail {
 19377  	s.ProvisioningArtifactId = &v
 19378  	return s
 19379  }
 19380  
 19381  // SetStatus sets the Status field's value.
 19382  func (s *ProvisionedProductDetail) SetStatus(v string) *ProvisionedProductDetail {
 19383  	s.Status = &v
 19384  	return s
 19385  }
 19386  
 19387  // SetStatusMessage sets the StatusMessage field's value.
 19388  func (s *ProvisionedProductDetail) SetStatusMessage(v string) *ProvisionedProductDetail {
 19389  	s.StatusMessage = &v
 19390  	return s
 19391  }
 19392  
 19393  // SetType sets the Type field's value.
 19394  func (s *ProvisionedProductDetail) SetType(v string) *ProvisionedProductDetail {
 19395  	s.Type = &v
 19396  	return s
 19397  }
 19398  
 19399  // Information about a plan.
 19400  type ProvisionedProductPlanDetails struct {
 19401  	_ struct{} `type:"structure"`
 19402  
 19403  	// The UTC time stamp of the creation time.
 19404  	CreatedTime *time.Time `type:"timestamp"`
 19405  
 19406  	// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related
 19407  	// events.
 19408  	NotificationArns []*string `type:"list"`
 19409  
 19410  	// The path identifier of the product. This value is optional if the product
 19411  	// has a default path, and required if the product has more than one path. To
 19412  	// list the paths for a product, use ListLaunchPaths.
 19413  	PathId *string `min:"1" type:"string"`
 19414  
 19415  	// The plan identifier.
 19416  	PlanId *string `min:"1" type:"string"`
 19417  
 19418  	// The name of the plan.
 19419  	PlanName *string `type:"string"`
 19420  
 19421  	// The plan type.
 19422  	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
 19423  
 19424  	// The product identifier.
 19425  	ProductId *string `min:"1" type:"string"`
 19426  
 19427  	// The product identifier.
 19428  	ProvisionProductId *string `min:"1" type:"string"`
 19429  
 19430  	// The user-friendly name of the provisioned product.
 19431  	ProvisionProductName *string `min:"1" type:"string"`
 19432  
 19433  	// The identifier of the provisioning artifact.
 19434  	ProvisioningArtifactId *string `min:"1" type:"string"`
 19435  
 19436  	// Parameters specified by the administrator that are required for provisioning
 19437  	// the product.
 19438  	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
 19439  
 19440  	// The status.
 19441  	Status *string `type:"string" enum:"ProvisionedProductPlanStatus"`
 19442  
 19443  	// The status message.
 19444  	StatusMessage *string `type:"string"`
 19445  
 19446  	// One or more tags.
 19447  	Tags []*Tag `type:"list"`
 19448  
 19449  	// The time when the plan was last updated.
 19450  	UpdatedTime *time.Time `type:"timestamp"`
 19451  }
 19452  
 19453  // String returns the string representation.
 19454  //
 19455  // API parameter values that are decorated as "sensitive" in the API will not
 19456  // be included in the string output. The member name will be present, but the
 19457  // value will be replaced with "sensitive".
 19458  func (s ProvisionedProductPlanDetails) String() string {
 19459  	return awsutil.Prettify(s)
 19460  }
 19461  
 19462  // GoString returns the string representation.
 19463  //
 19464  // API parameter values that are decorated as "sensitive" in the API will not
 19465  // be included in the string output. The member name will be present, but the
 19466  // value will be replaced with "sensitive".
 19467  func (s ProvisionedProductPlanDetails) GoString() string {
 19468  	return s.String()
 19469  }
 19470  
 19471  // SetCreatedTime sets the CreatedTime field's value.
 19472  func (s *ProvisionedProductPlanDetails) SetCreatedTime(v time.Time) *ProvisionedProductPlanDetails {
 19473  	s.CreatedTime = &v
 19474  	return s
 19475  }
 19476  
 19477  // SetNotificationArns sets the NotificationArns field's value.
 19478  func (s *ProvisionedProductPlanDetails) SetNotificationArns(v []*string) *ProvisionedProductPlanDetails {
 19479  	s.NotificationArns = v
 19480  	return s
 19481  }
 19482  
 19483  // SetPathId sets the PathId field's value.
 19484  func (s *ProvisionedProductPlanDetails) SetPathId(v string) *ProvisionedProductPlanDetails {
 19485  	s.PathId = &v
 19486  	return s
 19487  }
 19488  
 19489  // SetPlanId sets the PlanId field's value.
 19490  func (s *ProvisionedProductPlanDetails) SetPlanId(v string) *ProvisionedProductPlanDetails {
 19491  	s.PlanId = &v
 19492  	return s
 19493  }
 19494  
 19495  // SetPlanName sets the PlanName field's value.
 19496  func (s *ProvisionedProductPlanDetails) SetPlanName(v string) *ProvisionedProductPlanDetails {
 19497  	s.PlanName = &v
 19498  	return s
 19499  }
 19500  
 19501  // SetPlanType sets the PlanType field's value.
 19502  func (s *ProvisionedProductPlanDetails) SetPlanType(v string) *ProvisionedProductPlanDetails {
 19503  	s.PlanType = &v
 19504  	return s
 19505  }
 19506  
 19507  // SetProductId sets the ProductId field's value.
 19508  func (s *ProvisionedProductPlanDetails) SetProductId(v string) *ProvisionedProductPlanDetails {
 19509  	s.ProductId = &v
 19510  	return s
 19511  }
 19512  
 19513  // SetProvisionProductId sets the ProvisionProductId field's value.
 19514  func (s *ProvisionedProductPlanDetails) SetProvisionProductId(v string) *ProvisionedProductPlanDetails {
 19515  	s.ProvisionProductId = &v
 19516  	return s
 19517  }
 19518  
 19519  // SetProvisionProductName sets the ProvisionProductName field's value.
 19520  func (s *ProvisionedProductPlanDetails) SetProvisionProductName(v string) *ProvisionedProductPlanDetails {
 19521  	s.ProvisionProductName = &v
 19522  	return s
 19523  }
 19524  
 19525  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 19526  func (s *ProvisionedProductPlanDetails) SetProvisioningArtifactId(v string) *ProvisionedProductPlanDetails {
 19527  	s.ProvisioningArtifactId = &v
 19528  	return s
 19529  }
 19530  
 19531  // SetProvisioningParameters sets the ProvisioningParameters field's value.
 19532  func (s *ProvisionedProductPlanDetails) SetProvisioningParameters(v []*UpdateProvisioningParameter) *ProvisionedProductPlanDetails {
 19533  	s.ProvisioningParameters = v
 19534  	return s
 19535  }
 19536  
 19537  // SetStatus sets the Status field's value.
 19538  func (s *ProvisionedProductPlanDetails) SetStatus(v string) *ProvisionedProductPlanDetails {
 19539  	s.Status = &v
 19540  	return s
 19541  }
 19542  
 19543  // SetStatusMessage sets the StatusMessage field's value.
 19544  func (s *ProvisionedProductPlanDetails) SetStatusMessage(v string) *ProvisionedProductPlanDetails {
 19545  	s.StatusMessage = &v
 19546  	return s
 19547  }
 19548  
 19549  // SetTags sets the Tags field's value.
 19550  func (s *ProvisionedProductPlanDetails) SetTags(v []*Tag) *ProvisionedProductPlanDetails {
 19551  	s.Tags = v
 19552  	return s
 19553  }
 19554  
 19555  // SetUpdatedTime sets the UpdatedTime field's value.
 19556  func (s *ProvisionedProductPlanDetails) SetUpdatedTime(v time.Time) *ProvisionedProductPlanDetails {
 19557  	s.UpdatedTime = &v
 19558  	return s
 19559  }
 19560  
 19561  // Summary information about a plan.
 19562  type ProvisionedProductPlanSummary struct {
 19563  	_ struct{} `type:"structure"`
 19564  
 19565  	// The plan identifier.
 19566  	PlanId *string `min:"1" type:"string"`
 19567  
 19568  	// The name of the plan.
 19569  	PlanName *string `type:"string"`
 19570  
 19571  	// The plan type.
 19572  	PlanType *string `type:"string" enum:"ProvisionedProductPlanType"`
 19573  
 19574  	// The product identifier.
 19575  	ProvisionProductId *string `min:"1" type:"string"`
 19576  
 19577  	// The user-friendly name of the provisioned product.
 19578  	ProvisionProductName *string `min:"1" type:"string"`
 19579  
 19580  	// The identifier of the provisioning artifact.
 19581  	ProvisioningArtifactId *string `min:"1" type:"string"`
 19582  }
 19583  
 19584  // String returns the string representation.
 19585  //
 19586  // API parameter values that are decorated as "sensitive" in the API will not
 19587  // be included in the string output. The member name will be present, but the
 19588  // value will be replaced with "sensitive".
 19589  func (s ProvisionedProductPlanSummary) String() string {
 19590  	return awsutil.Prettify(s)
 19591  }
 19592  
 19593  // GoString returns the string representation.
 19594  //
 19595  // API parameter values that are decorated as "sensitive" in the API will not
 19596  // be included in the string output. The member name will be present, but the
 19597  // value will be replaced with "sensitive".
 19598  func (s ProvisionedProductPlanSummary) GoString() string {
 19599  	return s.String()
 19600  }
 19601  
 19602  // SetPlanId sets the PlanId field's value.
 19603  func (s *ProvisionedProductPlanSummary) SetPlanId(v string) *ProvisionedProductPlanSummary {
 19604  	s.PlanId = &v
 19605  	return s
 19606  }
 19607  
 19608  // SetPlanName sets the PlanName field's value.
 19609  func (s *ProvisionedProductPlanSummary) SetPlanName(v string) *ProvisionedProductPlanSummary {
 19610  	s.PlanName = &v
 19611  	return s
 19612  }
 19613  
 19614  // SetPlanType sets the PlanType field's value.
 19615  func (s *ProvisionedProductPlanSummary) SetPlanType(v string) *ProvisionedProductPlanSummary {
 19616  	s.PlanType = &v
 19617  	return s
 19618  }
 19619  
 19620  // SetProvisionProductId sets the ProvisionProductId field's value.
 19621  func (s *ProvisionedProductPlanSummary) SetProvisionProductId(v string) *ProvisionedProductPlanSummary {
 19622  	s.ProvisionProductId = &v
 19623  	return s
 19624  }
 19625  
 19626  // SetProvisionProductName sets the ProvisionProductName field's value.
 19627  func (s *ProvisionedProductPlanSummary) SetProvisionProductName(v string) *ProvisionedProductPlanSummary {
 19628  	s.ProvisionProductName = &v
 19629  	return s
 19630  }
 19631  
 19632  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 19633  func (s *ProvisionedProductPlanSummary) SetProvisioningArtifactId(v string) *ProvisionedProductPlanSummary {
 19634  	s.ProvisioningArtifactId = &v
 19635  	return s
 19636  }
 19637  
 19638  // Information about a provisioning artifact. A provisioning artifact is also
 19639  // known as a product version.
 19640  type ProvisioningArtifact struct {
 19641  	_ struct{} `type:"structure"`
 19642  
 19643  	// The UTC time stamp of the creation time.
 19644  	CreatedTime *time.Time `type:"timestamp"`
 19645  
 19646  	// The description of the provisioning artifact.
 19647  	Description *string `type:"string"`
 19648  
 19649  	// Information set by the administrator to provide guidance to end users about
 19650  	// which provisioning artifacts to use.
 19651  	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
 19652  
 19653  	// The identifier of the provisioning artifact.
 19654  	Id *string `min:"1" type:"string"`
 19655  
 19656  	// The name of the provisioning artifact.
 19657  	Name *string `type:"string"`
 19658  }
 19659  
 19660  // String returns the string representation.
 19661  //
 19662  // API parameter values that are decorated as "sensitive" in the API will not
 19663  // be included in the string output. The member name will be present, but the
 19664  // value will be replaced with "sensitive".
 19665  func (s ProvisioningArtifact) String() string {
 19666  	return awsutil.Prettify(s)
 19667  }
 19668  
 19669  // GoString returns the string representation.
 19670  //
 19671  // API parameter values that are decorated as "sensitive" in the API will not
 19672  // be included in the string output. The member name will be present, but the
 19673  // value will be replaced with "sensitive".
 19674  func (s ProvisioningArtifact) GoString() string {
 19675  	return s.String()
 19676  }
 19677  
 19678  // SetCreatedTime sets the CreatedTime field's value.
 19679  func (s *ProvisioningArtifact) SetCreatedTime(v time.Time) *ProvisioningArtifact {
 19680  	s.CreatedTime = &v
 19681  	return s
 19682  }
 19683  
 19684  // SetDescription sets the Description field's value.
 19685  func (s *ProvisioningArtifact) SetDescription(v string) *ProvisioningArtifact {
 19686  	s.Description = &v
 19687  	return s
 19688  }
 19689  
 19690  // SetGuidance sets the Guidance field's value.
 19691  func (s *ProvisioningArtifact) SetGuidance(v string) *ProvisioningArtifact {
 19692  	s.Guidance = &v
 19693  	return s
 19694  }
 19695  
 19696  // SetId sets the Id field's value.
 19697  func (s *ProvisioningArtifact) SetId(v string) *ProvisioningArtifact {
 19698  	s.Id = &v
 19699  	return s
 19700  }
 19701  
 19702  // SetName sets the Name field's value.
 19703  func (s *ProvisioningArtifact) SetName(v string) *ProvisioningArtifact {
 19704  	s.Name = &v
 19705  	return s
 19706  }
 19707  
 19708  // Information about a provisioning artifact (also known as a version) for a
 19709  // product.
 19710  type ProvisioningArtifactDetail struct {
 19711  	_ struct{} `type:"structure"`
 19712  
 19713  	// Indicates whether the product version is active.
 19714  	Active *bool `type:"boolean"`
 19715  
 19716  	// The UTC time stamp of the creation time.
 19717  	CreatedTime *time.Time `type:"timestamp"`
 19718  
 19719  	// The description of the provisioning artifact.
 19720  	Description *string `type:"string"`
 19721  
 19722  	// Information set by the administrator to provide guidance to end users about
 19723  	// which provisioning artifacts to use.
 19724  	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
 19725  
 19726  	// The identifier of the provisioning artifact.
 19727  	Id *string `min:"1" type:"string"`
 19728  
 19729  	// The name of the provisioning artifact.
 19730  	Name *string `type:"string"`
 19731  
 19732  	// The type of provisioning artifact.
 19733  	//
 19734  	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
 19735  	//
 19736  	//    * MARKETPLACE_AMI - AWS Marketplace AMI
 19737  	//
 19738  	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
 19739  	Type *string `type:"string" enum:"ProvisioningArtifactType"`
 19740  }
 19741  
 19742  // String returns the string representation.
 19743  //
 19744  // API parameter values that are decorated as "sensitive" in the API will not
 19745  // be included in the string output. The member name will be present, but the
 19746  // value will be replaced with "sensitive".
 19747  func (s ProvisioningArtifactDetail) String() string {
 19748  	return awsutil.Prettify(s)
 19749  }
 19750  
 19751  // GoString returns the string representation.
 19752  //
 19753  // API parameter values that are decorated as "sensitive" in the API will not
 19754  // be included in the string output. The member name will be present, but the
 19755  // value will be replaced with "sensitive".
 19756  func (s ProvisioningArtifactDetail) GoString() string {
 19757  	return s.String()
 19758  }
 19759  
 19760  // SetActive sets the Active field's value.
 19761  func (s *ProvisioningArtifactDetail) SetActive(v bool) *ProvisioningArtifactDetail {
 19762  	s.Active = &v
 19763  	return s
 19764  }
 19765  
 19766  // SetCreatedTime sets the CreatedTime field's value.
 19767  func (s *ProvisioningArtifactDetail) SetCreatedTime(v time.Time) *ProvisioningArtifactDetail {
 19768  	s.CreatedTime = &v
 19769  	return s
 19770  }
 19771  
 19772  // SetDescription sets the Description field's value.
 19773  func (s *ProvisioningArtifactDetail) SetDescription(v string) *ProvisioningArtifactDetail {
 19774  	s.Description = &v
 19775  	return s
 19776  }
 19777  
 19778  // SetGuidance sets the Guidance field's value.
 19779  func (s *ProvisioningArtifactDetail) SetGuidance(v string) *ProvisioningArtifactDetail {
 19780  	s.Guidance = &v
 19781  	return s
 19782  }
 19783  
 19784  // SetId sets the Id field's value.
 19785  func (s *ProvisioningArtifactDetail) SetId(v string) *ProvisioningArtifactDetail {
 19786  	s.Id = &v
 19787  	return s
 19788  }
 19789  
 19790  // SetName sets the Name field's value.
 19791  func (s *ProvisioningArtifactDetail) SetName(v string) *ProvisioningArtifactDetail {
 19792  	s.Name = &v
 19793  	return s
 19794  }
 19795  
 19796  // SetType sets the Type field's value.
 19797  func (s *ProvisioningArtifactDetail) SetType(v string) *ProvisioningArtifactDetail {
 19798  	s.Type = &v
 19799  	return s
 19800  }
 19801  
 19802  // Provisioning artifact output.
 19803  type ProvisioningArtifactOutput struct {
 19804  	_ struct{} `type:"structure"`
 19805  
 19806  	// Description of the provisioning artifact output key.
 19807  	Description *string `type:"string"`
 19808  
 19809  	// The provisioning artifact output key.
 19810  	Key *string `min:"1" type:"string"`
 19811  }
 19812  
 19813  // String returns the string representation.
 19814  //
 19815  // API parameter values that are decorated as "sensitive" in the API will not
 19816  // be included in the string output. The member name will be present, but the
 19817  // value will be replaced with "sensitive".
 19818  func (s ProvisioningArtifactOutput) String() string {
 19819  	return awsutil.Prettify(s)
 19820  }
 19821  
 19822  // GoString returns the string representation.
 19823  //
 19824  // API parameter values that are decorated as "sensitive" in the API will not
 19825  // be included in the string output. The member name will be present, but the
 19826  // value will be replaced with "sensitive".
 19827  func (s ProvisioningArtifactOutput) GoString() string {
 19828  	return s.String()
 19829  }
 19830  
 19831  // SetDescription sets the Description field's value.
 19832  func (s *ProvisioningArtifactOutput) SetDescription(v string) *ProvisioningArtifactOutput {
 19833  	s.Description = &v
 19834  	return s
 19835  }
 19836  
 19837  // SetKey sets the Key field's value.
 19838  func (s *ProvisioningArtifactOutput) SetKey(v string) *ProvisioningArtifactOutput {
 19839  	s.Key = &v
 19840  	return s
 19841  }
 19842  
 19843  // Information about a parameter used to provision a product.
 19844  type ProvisioningArtifactParameter struct {
 19845  	_ struct{} `type:"structure"`
 19846  
 19847  	// The default value.
 19848  	DefaultValue *string `type:"string"`
 19849  
 19850  	// The description of the parameter.
 19851  	Description *string `type:"string"`
 19852  
 19853  	// If this value is true, the value for this parameter is obfuscated from view
 19854  	// when the parameter is retrieved. This parameter is used to hide sensitive
 19855  	// information.
 19856  	IsNoEcho *bool `type:"boolean"`
 19857  
 19858  	// Constraints that the administrator has put on a parameter.
 19859  	ParameterConstraints *ParameterConstraints `type:"structure"`
 19860  
 19861  	// The parameter key.
 19862  	ParameterKey *string `min:"1" type:"string"`
 19863  
 19864  	// The parameter type.
 19865  	ParameterType *string `type:"string"`
 19866  }
 19867  
 19868  // String returns the string representation.
 19869  //
 19870  // API parameter values that are decorated as "sensitive" in the API will not
 19871  // be included in the string output. The member name will be present, but the
 19872  // value will be replaced with "sensitive".
 19873  func (s ProvisioningArtifactParameter) String() string {
 19874  	return awsutil.Prettify(s)
 19875  }
 19876  
 19877  // GoString returns the string representation.
 19878  //
 19879  // API parameter values that are decorated as "sensitive" in the API will not
 19880  // be included in the string output. The member name will be present, but the
 19881  // value will be replaced with "sensitive".
 19882  func (s ProvisioningArtifactParameter) GoString() string {
 19883  	return s.String()
 19884  }
 19885  
 19886  // SetDefaultValue sets the DefaultValue field's value.
 19887  func (s *ProvisioningArtifactParameter) SetDefaultValue(v string) *ProvisioningArtifactParameter {
 19888  	s.DefaultValue = &v
 19889  	return s
 19890  }
 19891  
 19892  // SetDescription sets the Description field's value.
 19893  func (s *ProvisioningArtifactParameter) SetDescription(v string) *ProvisioningArtifactParameter {
 19894  	s.Description = &v
 19895  	return s
 19896  }
 19897  
 19898  // SetIsNoEcho sets the IsNoEcho field's value.
 19899  func (s *ProvisioningArtifactParameter) SetIsNoEcho(v bool) *ProvisioningArtifactParameter {
 19900  	s.IsNoEcho = &v
 19901  	return s
 19902  }
 19903  
 19904  // SetParameterConstraints sets the ParameterConstraints field's value.
 19905  func (s *ProvisioningArtifactParameter) SetParameterConstraints(v *ParameterConstraints) *ProvisioningArtifactParameter {
 19906  	s.ParameterConstraints = v
 19907  	return s
 19908  }
 19909  
 19910  // SetParameterKey sets the ParameterKey field's value.
 19911  func (s *ProvisioningArtifactParameter) SetParameterKey(v string) *ProvisioningArtifactParameter {
 19912  	s.ParameterKey = &v
 19913  	return s
 19914  }
 19915  
 19916  // SetParameterType sets the ParameterType field's value.
 19917  func (s *ProvisioningArtifactParameter) SetParameterType(v string) *ProvisioningArtifactParameter {
 19918  	s.ParameterType = &v
 19919  	return s
 19920  }
 19921  
 19922  // The user-defined preferences that will be applied during product provisioning,
 19923  // unless overridden by ProvisioningPreferences or UpdateProvisioningPreferences.
 19924  //
 19925  // For more information on maximum concurrent accounts and failure tolerance,
 19926  // see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options)
 19927  // in the AWS CloudFormation User Guide.
 19928  type ProvisioningArtifactPreferences struct {
 19929  	_ struct{} `type:"structure"`
 19930  
 19931  	// One or more AWS accounts where stack instances are deployed from the stack
 19932  	// set. These accounts can be scoped in ProvisioningPreferences$StackSetAccounts
 19933  	// and UpdateProvisioningPreferences$StackSetAccounts.
 19934  	//
 19935  	// Applicable only to a CFN_STACKSET provisioned product type.
 19936  	StackSetAccounts []*string `type:"list"`
 19937  
 19938  	// One or more AWS Regions where stack instances are deployed from the stack
 19939  	// set. These regions can be scoped in ProvisioningPreferences$StackSetRegions
 19940  	// and UpdateProvisioningPreferences$StackSetRegions.
 19941  	//
 19942  	// Applicable only to a CFN_STACKSET provisioned product type.
 19943  	StackSetRegions []*string `type:"list"`
 19944  }
 19945  
 19946  // String returns the string representation.
 19947  //
 19948  // API parameter values that are decorated as "sensitive" in the API will not
 19949  // be included in the string output. The member name will be present, but the
 19950  // value will be replaced with "sensitive".
 19951  func (s ProvisioningArtifactPreferences) String() string {
 19952  	return awsutil.Prettify(s)
 19953  }
 19954  
 19955  // GoString returns the string representation.
 19956  //
 19957  // API parameter values that are decorated as "sensitive" in the API will not
 19958  // be included in the string output. The member name will be present, but the
 19959  // value will be replaced with "sensitive".
 19960  func (s ProvisioningArtifactPreferences) GoString() string {
 19961  	return s.String()
 19962  }
 19963  
 19964  // SetStackSetAccounts sets the StackSetAccounts field's value.
 19965  func (s *ProvisioningArtifactPreferences) SetStackSetAccounts(v []*string) *ProvisioningArtifactPreferences {
 19966  	s.StackSetAccounts = v
 19967  	return s
 19968  }
 19969  
 19970  // SetStackSetRegions sets the StackSetRegions field's value.
 19971  func (s *ProvisioningArtifactPreferences) SetStackSetRegions(v []*string) *ProvisioningArtifactPreferences {
 19972  	s.StackSetRegions = v
 19973  	return s
 19974  }
 19975  
 19976  // Information about a provisioning artifact (also known as a version) for a
 19977  // product.
 19978  type ProvisioningArtifactProperties struct {
 19979  	_ struct{} `type:"structure"`
 19980  
 19981  	// The description of the provisioning artifact, including how it differs from
 19982  	// the previous provisioning artifact.
 19983  	Description *string `type:"string"`
 19984  
 19985  	// If set to true, AWS Service Catalog stops validating the specified provisioning
 19986  	// artifact even if it is invalid.
 19987  	DisableTemplateValidation *bool `type:"boolean"`
 19988  
 19989  	// Specify the template source with one of the following options, but not both.
 19990  	// Keys accepted: [ LoadTemplateFromURL, ImportFromPhysicalId ]
 19991  	//
 19992  	// The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON
 19993  	// format as follows:
 19994  	//
 19995  	// "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."
 19996  	//
 19997  	// ImportFromPhysicalId: The physical id of the resource that contains the template.
 19998  	// Currently only supports CloudFormation stack arn. Specify the physical id
 19999  	// in JSON format as follows: ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]
 20000  	//
 20001  	// Info is a required field
 20002  	Info map[string]*string `min:"1" type:"map" required:"true"`
 20003  
 20004  	// The name of the provisioning artifact (for example, v1 v2beta). No spaces
 20005  	// are allowed.
 20006  	Name *string `type:"string"`
 20007  
 20008  	// The type of provisioning artifact.
 20009  	//
 20010  	//    * CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template
 20011  	//
 20012  	//    * MARKETPLACE_AMI - AWS Marketplace AMI
 20013  	//
 20014  	//    * MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources
 20015  	Type *string `type:"string" enum:"ProvisioningArtifactType"`
 20016  }
 20017  
 20018  // String returns the string representation.
 20019  //
 20020  // API parameter values that are decorated as "sensitive" in the API will not
 20021  // be included in the string output. The member name will be present, but the
 20022  // value will be replaced with "sensitive".
 20023  func (s ProvisioningArtifactProperties) String() string {
 20024  	return awsutil.Prettify(s)
 20025  }
 20026  
 20027  // GoString returns the string representation.
 20028  //
 20029  // API parameter values that are decorated as "sensitive" in the API will not
 20030  // be included in the string output. The member name will be present, but the
 20031  // value will be replaced with "sensitive".
 20032  func (s ProvisioningArtifactProperties) GoString() string {
 20033  	return s.String()
 20034  }
 20035  
 20036  // Validate inspects the fields of the type to determine if they are valid.
 20037  func (s *ProvisioningArtifactProperties) Validate() error {
 20038  	invalidParams := request.ErrInvalidParams{Context: "ProvisioningArtifactProperties"}
 20039  	if s.Info == nil {
 20040  		invalidParams.Add(request.NewErrParamRequired("Info"))
 20041  	}
 20042  	if s.Info != nil && len(s.Info) < 1 {
 20043  		invalidParams.Add(request.NewErrParamMinLen("Info", 1))
 20044  	}
 20045  
 20046  	if invalidParams.Len() > 0 {
 20047  		return invalidParams
 20048  	}
 20049  	return nil
 20050  }
 20051  
 20052  // SetDescription sets the Description field's value.
 20053  func (s *ProvisioningArtifactProperties) SetDescription(v string) *ProvisioningArtifactProperties {
 20054  	s.Description = &v
 20055  	return s
 20056  }
 20057  
 20058  // SetDisableTemplateValidation sets the DisableTemplateValidation field's value.
 20059  func (s *ProvisioningArtifactProperties) SetDisableTemplateValidation(v bool) *ProvisioningArtifactProperties {
 20060  	s.DisableTemplateValidation = &v
 20061  	return s
 20062  }
 20063  
 20064  // SetInfo sets the Info field's value.
 20065  func (s *ProvisioningArtifactProperties) SetInfo(v map[string]*string) *ProvisioningArtifactProperties {
 20066  	s.Info = v
 20067  	return s
 20068  }
 20069  
 20070  // SetName sets the Name field's value.
 20071  func (s *ProvisioningArtifactProperties) SetName(v string) *ProvisioningArtifactProperties {
 20072  	s.Name = &v
 20073  	return s
 20074  }
 20075  
 20076  // SetType sets the Type field's value.
 20077  func (s *ProvisioningArtifactProperties) SetType(v string) *ProvisioningArtifactProperties {
 20078  	s.Type = &v
 20079  	return s
 20080  }
 20081  
 20082  // Summary information about a provisioning artifact (also known as a version)
 20083  // for a product.
 20084  type ProvisioningArtifactSummary struct {
 20085  	_ struct{} `type:"structure"`
 20086  
 20087  	// The UTC time stamp of the creation time.
 20088  	CreatedTime *time.Time `type:"timestamp"`
 20089  
 20090  	// The description of the provisioning artifact.
 20091  	Description *string `type:"string"`
 20092  
 20093  	// The identifier of the provisioning artifact.
 20094  	Id *string `min:"1" type:"string"`
 20095  
 20096  	// The name of the provisioning artifact.
 20097  	Name *string `type:"string"`
 20098  
 20099  	// The metadata for the provisioning artifact. This is used with AWS Marketplace
 20100  	// products.
 20101  	ProvisioningArtifactMetadata map[string]*string `min:"1" type:"map"`
 20102  }
 20103  
 20104  // String returns the string representation.
 20105  //
 20106  // API parameter values that are decorated as "sensitive" in the API will not
 20107  // be included in the string output. The member name will be present, but the
 20108  // value will be replaced with "sensitive".
 20109  func (s ProvisioningArtifactSummary) String() string {
 20110  	return awsutil.Prettify(s)
 20111  }
 20112  
 20113  // GoString returns the string representation.
 20114  //
 20115  // API parameter values that are decorated as "sensitive" in the API will not
 20116  // be included in the string output. The member name will be present, but the
 20117  // value will be replaced with "sensitive".
 20118  func (s ProvisioningArtifactSummary) GoString() string {
 20119  	return s.String()
 20120  }
 20121  
 20122  // SetCreatedTime sets the CreatedTime field's value.
 20123  func (s *ProvisioningArtifactSummary) SetCreatedTime(v time.Time) *ProvisioningArtifactSummary {
 20124  	s.CreatedTime = &v
 20125  	return s
 20126  }
 20127  
 20128  // SetDescription sets the Description field's value.
 20129  func (s *ProvisioningArtifactSummary) SetDescription(v string) *ProvisioningArtifactSummary {
 20130  	s.Description = &v
 20131  	return s
 20132  }
 20133  
 20134  // SetId sets the Id field's value.
 20135  func (s *ProvisioningArtifactSummary) SetId(v string) *ProvisioningArtifactSummary {
 20136  	s.Id = &v
 20137  	return s
 20138  }
 20139  
 20140  // SetName sets the Name field's value.
 20141  func (s *ProvisioningArtifactSummary) SetName(v string) *ProvisioningArtifactSummary {
 20142  	s.Name = &v
 20143  	return s
 20144  }
 20145  
 20146  // SetProvisioningArtifactMetadata sets the ProvisioningArtifactMetadata field's value.
 20147  func (s *ProvisioningArtifactSummary) SetProvisioningArtifactMetadata(v map[string]*string) *ProvisioningArtifactSummary {
 20148  	s.ProvisioningArtifactMetadata = v
 20149  	return s
 20150  }
 20151  
 20152  // An object that contains summary information about a product view and a provisioning
 20153  // artifact.
 20154  type ProvisioningArtifactView struct {
 20155  	_ struct{} `type:"structure"`
 20156  
 20157  	// Summary information about a product view.
 20158  	ProductViewSummary *ProductViewSummary `type:"structure"`
 20159  
 20160  	// Information about a provisioning artifact. A provisioning artifact is also
 20161  	// known as a product version.
 20162  	ProvisioningArtifact *ProvisioningArtifact `type:"structure"`
 20163  }
 20164  
 20165  // String returns the string representation.
 20166  //
 20167  // API parameter values that are decorated as "sensitive" in the API will not
 20168  // be included in the string output. The member name will be present, but the
 20169  // value will be replaced with "sensitive".
 20170  func (s ProvisioningArtifactView) String() string {
 20171  	return awsutil.Prettify(s)
 20172  }
 20173  
 20174  // GoString returns the string representation.
 20175  //
 20176  // API parameter values that are decorated as "sensitive" in the API will not
 20177  // be included in the string output. The member name will be present, but the
 20178  // value will be replaced with "sensitive".
 20179  func (s ProvisioningArtifactView) GoString() string {
 20180  	return s.String()
 20181  }
 20182  
 20183  // SetProductViewSummary sets the ProductViewSummary field's value.
 20184  func (s *ProvisioningArtifactView) SetProductViewSummary(v *ProductViewSummary) *ProvisioningArtifactView {
 20185  	s.ProductViewSummary = v
 20186  	return s
 20187  }
 20188  
 20189  // SetProvisioningArtifact sets the ProvisioningArtifact field's value.
 20190  func (s *ProvisioningArtifactView) SetProvisioningArtifact(v *ProvisioningArtifact) *ProvisioningArtifactView {
 20191  	s.ProvisioningArtifact = v
 20192  	return s
 20193  }
 20194  
 20195  // Information about a parameter used to provision a product.
 20196  type ProvisioningParameter struct {
 20197  	_ struct{} `type:"structure"`
 20198  
 20199  	// The parameter key.
 20200  	Key *string `min:"1" type:"string"`
 20201  
 20202  	// The parameter value.
 20203  	Value *string `type:"string"`
 20204  }
 20205  
 20206  // String returns the string representation.
 20207  //
 20208  // API parameter values that are decorated as "sensitive" in the API will not
 20209  // be included in the string output. The member name will be present, but the
 20210  // value will be replaced with "sensitive".
 20211  func (s ProvisioningParameter) String() string {
 20212  	return awsutil.Prettify(s)
 20213  }
 20214  
 20215  // GoString returns the string representation.
 20216  //
 20217  // API parameter values that are decorated as "sensitive" in the API will not
 20218  // be included in the string output. The member name will be present, but the
 20219  // value will be replaced with "sensitive".
 20220  func (s ProvisioningParameter) GoString() string {
 20221  	return s.String()
 20222  }
 20223  
 20224  // Validate inspects the fields of the type to determine if they are valid.
 20225  func (s *ProvisioningParameter) Validate() error {
 20226  	invalidParams := request.ErrInvalidParams{Context: "ProvisioningParameter"}
 20227  	if s.Key != nil && len(*s.Key) < 1 {
 20228  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 20229  	}
 20230  
 20231  	if invalidParams.Len() > 0 {
 20232  		return invalidParams
 20233  	}
 20234  	return nil
 20235  }
 20236  
 20237  // SetKey sets the Key field's value.
 20238  func (s *ProvisioningParameter) SetKey(v string) *ProvisioningParameter {
 20239  	s.Key = &v
 20240  	return s
 20241  }
 20242  
 20243  // SetValue sets the Value field's value.
 20244  func (s *ProvisioningParameter) SetValue(v string) *ProvisioningParameter {
 20245  	s.Value = &v
 20246  	return s
 20247  }
 20248  
 20249  // The user-defined preferences that will be applied when updating a provisioned
 20250  // product. Not all preferences are applicable to all provisioned product type
 20251  //
 20252  // One or more AWS accounts that will have access to the provisioned product.
 20253  //
 20254  // Applicable only to a CFN_STACKSET provisioned product type.
 20255  //
 20256  // The AWS accounts specified should be within the list of accounts in the STACKSET
 20257  // constraint. To get the list of accounts in the STACKSET constraint, use the
 20258  // DescribeProvisioningParameters operation.
 20259  //
 20260  // If no values are specified, the default value is all accounts from the STACKSET
 20261  // constraint.
 20262  type ProvisioningPreferences struct {
 20263  	_ struct{} `type:"structure"`
 20264  
 20265  	// One or more AWS accounts where the provisioned product will be available.
 20266  	//
 20267  	// Applicable only to a CFN_STACKSET provisioned product type.
 20268  	//
 20269  	// The specified accounts should be within the list of accounts from the STACKSET
 20270  	// constraint. To get the list of accounts in the STACKSET constraint, use the
 20271  	// DescribeProvisioningParameters operation.
 20272  	//
 20273  	// If no values are specified, the default value is all acounts from the STACKSET
 20274  	// constraint.
 20275  	StackSetAccounts []*string `type:"list"`
 20276  
 20277  	// The number of accounts, per region, for which this operation can fail before
 20278  	// AWS Service Catalog stops the operation in that region. If the operation
 20279  	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
 20280  	// in any subsequent regions.
 20281  	//
 20282  	// Applicable only to a CFN_STACKSET provisioned product type.
 20283  	//
 20284  	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
 20285  	// but not both.
 20286  	//
 20287  	// The default value is 0 if no value is specified.
 20288  	StackSetFailureToleranceCount *int64 `type:"integer"`
 20289  
 20290  	// The percentage of accounts, per region, for which this stack operation can
 20291  	// fail before AWS Service Catalog stops the operation in that region. If the
 20292  	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
 20293  	// operation in any subsequent regions.
 20294  	//
 20295  	// When calculating the number of accounts based on the specified percentage,
 20296  	// AWS Service Catalog rounds down to the next whole number.
 20297  	//
 20298  	// Applicable only to a CFN_STACKSET provisioned product type.
 20299  	//
 20300  	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
 20301  	// but not both.
 20302  	StackSetFailureTolerancePercentage *int64 `type:"integer"`
 20303  
 20304  	// The maximum number of accounts in which to perform this operation at one
 20305  	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
 20306  	// is at most one more than the StackSetFailureToleranceCount.
 20307  	//
 20308  	// Note that this setting lets you specify the maximum for operations. For large
 20309  	// deployments, under certain circumstances the actual number of accounts acted
 20310  	// upon concurrently may be lower due to service throttling.
 20311  	//
 20312  	// Applicable only to a CFN_STACKSET provisioned product type.
 20313  	//
 20314  	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
 20315  	// but not both.
 20316  	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
 20317  
 20318  	// The maximum percentage of accounts in which to perform this operation at
 20319  	// one time.
 20320  	//
 20321  	// When calculating the number of accounts based on the specified percentage,
 20322  	// AWS Service Catalog rounds down to the next whole number. This is true except
 20323  	// in cases where rounding down would result is zero. In this case, AWS Service
 20324  	// Catalog sets the number as 1 instead.
 20325  	//
 20326  	// Note that this setting lets you specify the maximum for operations. For large
 20327  	// deployments, under certain circumstances the actual number of accounts acted
 20328  	// upon concurrently may be lower due to service throttling.
 20329  	//
 20330  	// Applicable only to a CFN_STACKSET provisioned product type.
 20331  	//
 20332  	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
 20333  	// but not both.
 20334  	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
 20335  
 20336  	// One or more AWS Regions where the provisioned product will be available.
 20337  	//
 20338  	// Applicable only to a CFN_STACKSET provisioned product type.
 20339  	//
 20340  	// The specified regions should be within the list of regions from the STACKSET
 20341  	// constraint. To get the list of regions in the STACKSET constraint, use the
 20342  	// DescribeProvisioningParameters operation.
 20343  	//
 20344  	// If no values are specified, the default value is all regions from the STACKSET
 20345  	// constraint.
 20346  	StackSetRegions []*string `type:"list"`
 20347  }
 20348  
 20349  // String returns the string representation.
 20350  //
 20351  // API parameter values that are decorated as "sensitive" in the API will not
 20352  // be included in the string output. The member name will be present, but the
 20353  // value will be replaced with "sensitive".
 20354  func (s ProvisioningPreferences) String() string {
 20355  	return awsutil.Prettify(s)
 20356  }
 20357  
 20358  // GoString returns the string representation.
 20359  //
 20360  // API parameter values that are decorated as "sensitive" in the API will not
 20361  // be included in the string output. The member name will be present, but the
 20362  // value will be replaced with "sensitive".
 20363  func (s ProvisioningPreferences) GoString() string {
 20364  	return s.String()
 20365  }
 20366  
 20367  // Validate inspects the fields of the type to determine if they are valid.
 20368  func (s *ProvisioningPreferences) Validate() error {
 20369  	invalidParams := request.ErrInvalidParams{Context: "ProvisioningPreferences"}
 20370  	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
 20371  		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
 20372  	}
 20373  	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
 20374  		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
 20375  	}
 20376  
 20377  	if invalidParams.Len() > 0 {
 20378  		return invalidParams
 20379  	}
 20380  	return nil
 20381  }
 20382  
 20383  // SetStackSetAccounts sets the StackSetAccounts field's value.
 20384  func (s *ProvisioningPreferences) SetStackSetAccounts(v []*string) *ProvisioningPreferences {
 20385  	s.StackSetAccounts = v
 20386  	return s
 20387  }
 20388  
 20389  // SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
 20390  func (s *ProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *ProvisioningPreferences {
 20391  	s.StackSetFailureToleranceCount = &v
 20392  	return s
 20393  }
 20394  
 20395  // SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
 20396  func (s *ProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *ProvisioningPreferences {
 20397  	s.StackSetFailureTolerancePercentage = &v
 20398  	return s
 20399  }
 20400  
 20401  // SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
 20402  func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *ProvisioningPreferences {
 20403  	s.StackSetMaxConcurrencyCount = &v
 20404  	return s
 20405  }
 20406  
 20407  // SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
 20408  func (s *ProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *ProvisioningPreferences {
 20409  	s.StackSetMaxConcurrencyPercentage = &v
 20410  	return s
 20411  }
 20412  
 20413  // SetStackSetRegions sets the StackSetRegions field's value.
 20414  func (s *ProvisioningPreferences) SetStackSetRegions(v []*string) *ProvisioningPreferences {
 20415  	s.StackSetRegions = v
 20416  	return s
 20417  }
 20418  
 20419  // Information about a request operation.
 20420  type RecordDetail struct {
 20421  	_ struct{} `type:"structure"`
 20422  
 20423  	// The UTC time stamp of the creation time.
 20424  	CreatedTime *time.Time `type:"timestamp"`
 20425  
 20426  	// The ARN of the launch role associated with the provisioned product.
 20427  	LaunchRoleArn *string `min:"1" type:"string"`
 20428  
 20429  	// The path identifier.
 20430  	PathId *string `min:"1" type:"string"`
 20431  
 20432  	// The product identifier.
 20433  	ProductId *string `min:"1" type:"string"`
 20434  
 20435  	// The identifier of the provisioned product.
 20436  	ProvisionedProductId *string `min:"1" type:"string"`
 20437  
 20438  	// The user-friendly name of the provisioned product.
 20439  	ProvisionedProductName *string `min:"1" type:"string"`
 20440  
 20441  	// The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.
 20442  	ProvisionedProductType *string `type:"string"`
 20443  
 20444  	// The identifier of the provisioning artifact.
 20445  	ProvisioningArtifactId *string `min:"1" type:"string"`
 20446  
 20447  	// The errors that occurred.
 20448  	RecordErrors []*RecordError `type:"list"`
 20449  
 20450  	// The identifier of the record.
 20451  	RecordId *string `min:"1" type:"string"`
 20452  
 20453  	// One or more tags.
 20454  	RecordTags []*RecordTag `type:"list"`
 20455  
 20456  	// The record type.
 20457  	//
 20458  	//    * PROVISION_PRODUCT
 20459  	//
 20460  	//    * UPDATE_PROVISIONED_PRODUCT
 20461  	//
 20462  	//    * TERMINATE_PROVISIONED_PRODUCT
 20463  	RecordType *string `type:"string"`
 20464  
 20465  	// The status of the provisioned product.
 20466  	//
 20467  	//    * CREATED - The request was created but the operation has not started.
 20468  	//
 20469  	//    * IN_PROGRESS - The requested operation is in progress.
 20470  	//
 20471  	//    * IN_PROGRESS_IN_ERROR - The provisioned product is under change but the
 20472  	//    requested operation failed and some remediation is occurring. For example,
 20473  	//    a rollback.
 20474  	//
 20475  	//    * SUCCEEDED - The requested operation has successfully completed.
 20476  	//
 20477  	//    * FAILED - The requested operation has unsuccessfully completed. Investigate
 20478  	//    using the error messages returned.
 20479  	Status *string `type:"string" enum:"RecordStatus"`
 20480  
 20481  	// The time when the record was last updated.
 20482  	UpdatedTime *time.Time `type:"timestamp"`
 20483  }
 20484  
 20485  // String returns the string representation.
 20486  //
 20487  // API parameter values that are decorated as "sensitive" in the API will not
 20488  // be included in the string output. The member name will be present, but the
 20489  // value will be replaced with "sensitive".
 20490  func (s RecordDetail) String() string {
 20491  	return awsutil.Prettify(s)
 20492  }
 20493  
 20494  // GoString returns the string representation.
 20495  //
 20496  // API parameter values that are decorated as "sensitive" in the API will not
 20497  // be included in the string output. The member name will be present, but the
 20498  // value will be replaced with "sensitive".
 20499  func (s RecordDetail) GoString() string {
 20500  	return s.String()
 20501  }
 20502  
 20503  // SetCreatedTime sets the CreatedTime field's value.
 20504  func (s *RecordDetail) SetCreatedTime(v time.Time) *RecordDetail {
 20505  	s.CreatedTime = &v
 20506  	return s
 20507  }
 20508  
 20509  // SetLaunchRoleArn sets the LaunchRoleArn field's value.
 20510  func (s *RecordDetail) SetLaunchRoleArn(v string) *RecordDetail {
 20511  	s.LaunchRoleArn = &v
 20512  	return s
 20513  }
 20514  
 20515  // SetPathId sets the PathId field's value.
 20516  func (s *RecordDetail) SetPathId(v string) *RecordDetail {
 20517  	s.PathId = &v
 20518  	return s
 20519  }
 20520  
 20521  // SetProductId sets the ProductId field's value.
 20522  func (s *RecordDetail) SetProductId(v string) *RecordDetail {
 20523  	s.ProductId = &v
 20524  	return s
 20525  }
 20526  
 20527  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 20528  func (s *RecordDetail) SetProvisionedProductId(v string) *RecordDetail {
 20529  	s.ProvisionedProductId = &v
 20530  	return s
 20531  }
 20532  
 20533  // SetProvisionedProductName sets the ProvisionedProductName field's value.
 20534  func (s *RecordDetail) SetProvisionedProductName(v string) *RecordDetail {
 20535  	s.ProvisionedProductName = &v
 20536  	return s
 20537  }
 20538  
 20539  // SetProvisionedProductType sets the ProvisionedProductType field's value.
 20540  func (s *RecordDetail) SetProvisionedProductType(v string) *RecordDetail {
 20541  	s.ProvisionedProductType = &v
 20542  	return s
 20543  }
 20544  
 20545  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 20546  func (s *RecordDetail) SetProvisioningArtifactId(v string) *RecordDetail {
 20547  	s.ProvisioningArtifactId = &v
 20548  	return s
 20549  }
 20550  
 20551  // SetRecordErrors sets the RecordErrors field's value.
 20552  func (s *RecordDetail) SetRecordErrors(v []*RecordError) *RecordDetail {
 20553  	s.RecordErrors = v
 20554  	return s
 20555  }
 20556  
 20557  // SetRecordId sets the RecordId field's value.
 20558  func (s *RecordDetail) SetRecordId(v string) *RecordDetail {
 20559  	s.RecordId = &v
 20560  	return s
 20561  }
 20562  
 20563  // SetRecordTags sets the RecordTags field's value.
 20564  func (s *RecordDetail) SetRecordTags(v []*RecordTag) *RecordDetail {
 20565  	s.RecordTags = v
 20566  	return s
 20567  }
 20568  
 20569  // SetRecordType sets the RecordType field's value.
 20570  func (s *RecordDetail) SetRecordType(v string) *RecordDetail {
 20571  	s.RecordType = &v
 20572  	return s
 20573  }
 20574  
 20575  // SetStatus sets the Status field's value.
 20576  func (s *RecordDetail) SetStatus(v string) *RecordDetail {
 20577  	s.Status = &v
 20578  	return s
 20579  }
 20580  
 20581  // SetUpdatedTime sets the UpdatedTime field's value.
 20582  func (s *RecordDetail) SetUpdatedTime(v time.Time) *RecordDetail {
 20583  	s.UpdatedTime = &v
 20584  	return s
 20585  }
 20586  
 20587  // The error code and description resulting from an operation.
 20588  type RecordError struct {
 20589  	_ struct{} `type:"structure"`
 20590  
 20591  	// The numeric value of the error.
 20592  	Code *string `type:"string"`
 20593  
 20594  	// The description of the error.
 20595  	Description *string `type:"string"`
 20596  }
 20597  
 20598  // String returns the string representation.
 20599  //
 20600  // API parameter values that are decorated as "sensitive" in the API will not
 20601  // be included in the string output. The member name will be present, but the
 20602  // value will be replaced with "sensitive".
 20603  func (s RecordError) String() string {
 20604  	return awsutil.Prettify(s)
 20605  }
 20606  
 20607  // GoString returns the string representation.
 20608  //
 20609  // API parameter values that are decorated as "sensitive" in the API will not
 20610  // be included in the string output. The member name will be present, but the
 20611  // value will be replaced with "sensitive".
 20612  func (s RecordError) GoString() string {
 20613  	return s.String()
 20614  }
 20615  
 20616  // SetCode sets the Code field's value.
 20617  func (s *RecordError) SetCode(v string) *RecordError {
 20618  	s.Code = &v
 20619  	return s
 20620  }
 20621  
 20622  // SetDescription sets the Description field's value.
 20623  func (s *RecordError) SetDescription(v string) *RecordError {
 20624  	s.Description = &v
 20625  	return s
 20626  }
 20627  
 20628  // The output for the product created as the result of a request. For example,
 20629  // the output for a CloudFormation-backed product that creates an S3 bucket
 20630  // would include the S3 bucket URL.
 20631  type RecordOutput struct {
 20632  	_ struct{} `type:"structure"`
 20633  
 20634  	// The description of the output.
 20635  	Description *string `type:"string"`
 20636  
 20637  	// The output key.
 20638  	OutputKey *string `type:"string"`
 20639  
 20640  	// The output value.
 20641  	OutputValue *string `type:"string"`
 20642  }
 20643  
 20644  // String returns the string representation.
 20645  //
 20646  // API parameter values that are decorated as "sensitive" in the API will not
 20647  // be included in the string output. The member name will be present, but the
 20648  // value will be replaced with "sensitive".
 20649  func (s RecordOutput) String() string {
 20650  	return awsutil.Prettify(s)
 20651  }
 20652  
 20653  // GoString returns the string representation.
 20654  //
 20655  // API parameter values that are decorated as "sensitive" in the API will not
 20656  // be included in the string output. The member name will be present, but the
 20657  // value will be replaced with "sensitive".
 20658  func (s RecordOutput) GoString() string {
 20659  	return s.String()
 20660  }
 20661  
 20662  // SetDescription sets the Description field's value.
 20663  func (s *RecordOutput) SetDescription(v string) *RecordOutput {
 20664  	s.Description = &v
 20665  	return s
 20666  }
 20667  
 20668  // SetOutputKey sets the OutputKey field's value.
 20669  func (s *RecordOutput) SetOutputKey(v string) *RecordOutput {
 20670  	s.OutputKey = &v
 20671  	return s
 20672  }
 20673  
 20674  // SetOutputValue sets the OutputValue field's value.
 20675  func (s *RecordOutput) SetOutputValue(v string) *RecordOutput {
 20676  	s.OutputValue = &v
 20677  	return s
 20678  }
 20679  
 20680  // Information about a tag, which is a key-value pair.
 20681  type RecordTag struct {
 20682  	_ struct{} `type:"structure"`
 20683  
 20684  	// The key for this tag.
 20685  	Key *string `min:"1" type:"string"`
 20686  
 20687  	// The value for this tag.
 20688  	Value *string `min:"1" type:"string"`
 20689  }
 20690  
 20691  // String returns the string representation.
 20692  //
 20693  // API parameter values that are decorated as "sensitive" in the API will not
 20694  // be included in the string output. The member name will be present, but the
 20695  // value will be replaced with "sensitive".
 20696  func (s RecordTag) String() string {
 20697  	return awsutil.Prettify(s)
 20698  }
 20699  
 20700  // GoString returns the string representation.
 20701  //
 20702  // API parameter values that are decorated as "sensitive" in the API will not
 20703  // be included in the string output. The member name will be present, but the
 20704  // value will be replaced with "sensitive".
 20705  func (s RecordTag) GoString() string {
 20706  	return s.String()
 20707  }
 20708  
 20709  // SetKey sets the Key field's value.
 20710  func (s *RecordTag) SetKey(v string) *RecordTag {
 20711  	s.Key = &v
 20712  	return s
 20713  }
 20714  
 20715  // SetValue sets the Value field's value.
 20716  func (s *RecordTag) SetValue(v string) *RecordTag {
 20717  	s.Value = &v
 20718  	return s
 20719  }
 20720  
 20721  type RejectPortfolioShareInput struct {
 20722  	_ struct{} `type:"structure"`
 20723  
 20724  	// The language code.
 20725  	//
 20726  	//    * en - English (default)
 20727  	//
 20728  	//    * jp - Japanese
 20729  	//
 20730  	//    * zh - Chinese
 20731  	AcceptLanguage *string `type:"string"`
 20732  
 20733  	// The portfolio identifier.
 20734  	//
 20735  	// PortfolioId is a required field
 20736  	PortfolioId *string `min:"1" type:"string" required:"true"`
 20737  
 20738  	// The type of shared portfolios to reject. The default is to reject imported
 20739  	// portfolios.
 20740  	//
 20741  	//    * AWS_ORGANIZATIONS - Reject portfolios shared by the management account
 20742  	//    of your organization.
 20743  	//
 20744  	//    * IMPORTED - Reject imported portfolios.
 20745  	//
 20746  	//    * AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)
 20747  	//
 20748  	// For example, aws servicecatalog reject-portfolio-share --portfolio-id "port-2qwzkwxt3y5fk"
 20749  	// --portfolio-share-type AWS_ORGANIZATIONS
 20750  	PortfolioShareType *string `type:"string" enum:"PortfolioShareType"`
 20751  }
 20752  
 20753  // String returns the string representation.
 20754  //
 20755  // API parameter values that are decorated as "sensitive" in the API will not
 20756  // be included in the string output. The member name will be present, but the
 20757  // value will be replaced with "sensitive".
 20758  func (s RejectPortfolioShareInput) String() string {
 20759  	return awsutil.Prettify(s)
 20760  }
 20761  
 20762  // GoString returns the string representation.
 20763  //
 20764  // API parameter values that are decorated as "sensitive" in the API will not
 20765  // be included in the string output. The member name will be present, but the
 20766  // value will be replaced with "sensitive".
 20767  func (s RejectPortfolioShareInput) GoString() string {
 20768  	return s.String()
 20769  }
 20770  
 20771  // Validate inspects the fields of the type to determine if they are valid.
 20772  func (s *RejectPortfolioShareInput) Validate() error {
 20773  	invalidParams := request.ErrInvalidParams{Context: "RejectPortfolioShareInput"}
 20774  	if s.PortfolioId == nil {
 20775  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 20776  	}
 20777  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 20778  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 20779  	}
 20780  
 20781  	if invalidParams.Len() > 0 {
 20782  		return invalidParams
 20783  	}
 20784  	return nil
 20785  }
 20786  
 20787  // SetAcceptLanguage sets the AcceptLanguage field's value.
 20788  func (s *RejectPortfolioShareInput) SetAcceptLanguage(v string) *RejectPortfolioShareInput {
 20789  	s.AcceptLanguage = &v
 20790  	return s
 20791  }
 20792  
 20793  // SetPortfolioId sets the PortfolioId field's value.
 20794  func (s *RejectPortfolioShareInput) SetPortfolioId(v string) *RejectPortfolioShareInput {
 20795  	s.PortfolioId = &v
 20796  	return s
 20797  }
 20798  
 20799  // SetPortfolioShareType sets the PortfolioShareType field's value.
 20800  func (s *RejectPortfolioShareInput) SetPortfolioShareType(v string) *RejectPortfolioShareInput {
 20801  	s.PortfolioShareType = &v
 20802  	return s
 20803  }
 20804  
 20805  type RejectPortfolioShareOutput struct {
 20806  	_ struct{} `type:"structure"`
 20807  }
 20808  
 20809  // String returns the string representation.
 20810  //
 20811  // API parameter values that are decorated as "sensitive" in the API will not
 20812  // be included in the string output. The member name will be present, but the
 20813  // value will be replaced with "sensitive".
 20814  func (s RejectPortfolioShareOutput) String() string {
 20815  	return awsutil.Prettify(s)
 20816  }
 20817  
 20818  // GoString returns the string representation.
 20819  //
 20820  // API parameter values that are decorated as "sensitive" in the API will not
 20821  // be included in the string output. The member name will be present, but the
 20822  // value will be replaced with "sensitive".
 20823  func (s RejectPortfolioShareOutput) GoString() string {
 20824  	return s.String()
 20825  }
 20826  
 20827  // Information about a resource change that will occur when a plan is executed.
 20828  type ResourceChange struct {
 20829  	_ struct{} `type:"structure"`
 20830  
 20831  	// The change action.
 20832  	Action *string `type:"string" enum:"ChangeAction"`
 20833  
 20834  	// Information about the resource changes.
 20835  	Details []*ResourceChangeDetail `type:"list"`
 20836  
 20837  	// The ID of the resource, as defined in the CloudFormation template.
 20838  	LogicalResourceId *string `type:"string"`
 20839  
 20840  	// The ID of the resource, if it was already created.
 20841  	PhysicalResourceId *string `type:"string"`
 20842  
 20843  	// If the change type is Modify, indicates whether the existing resource is
 20844  	// deleted and replaced with a new one.
 20845  	Replacement *string `type:"string" enum:"Replacement"`
 20846  
 20847  	// The type of resource.
 20848  	ResourceType *string `min:"1" type:"string"`
 20849  
 20850  	// The change scope.
 20851  	Scope []*string `type:"list"`
 20852  }
 20853  
 20854  // String returns the string representation.
 20855  //
 20856  // API parameter values that are decorated as "sensitive" in the API will not
 20857  // be included in the string output. The member name will be present, but the
 20858  // value will be replaced with "sensitive".
 20859  func (s ResourceChange) String() string {
 20860  	return awsutil.Prettify(s)
 20861  }
 20862  
 20863  // GoString returns the string representation.
 20864  //
 20865  // API parameter values that are decorated as "sensitive" in the API will not
 20866  // be included in the string output. The member name will be present, but the
 20867  // value will be replaced with "sensitive".
 20868  func (s ResourceChange) GoString() string {
 20869  	return s.String()
 20870  }
 20871  
 20872  // SetAction sets the Action field's value.
 20873  func (s *ResourceChange) SetAction(v string) *ResourceChange {
 20874  	s.Action = &v
 20875  	return s
 20876  }
 20877  
 20878  // SetDetails sets the Details field's value.
 20879  func (s *ResourceChange) SetDetails(v []*ResourceChangeDetail) *ResourceChange {
 20880  	s.Details = v
 20881  	return s
 20882  }
 20883  
 20884  // SetLogicalResourceId sets the LogicalResourceId field's value.
 20885  func (s *ResourceChange) SetLogicalResourceId(v string) *ResourceChange {
 20886  	s.LogicalResourceId = &v
 20887  	return s
 20888  }
 20889  
 20890  // SetPhysicalResourceId sets the PhysicalResourceId field's value.
 20891  func (s *ResourceChange) SetPhysicalResourceId(v string) *ResourceChange {
 20892  	s.PhysicalResourceId = &v
 20893  	return s
 20894  }
 20895  
 20896  // SetReplacement sets the Replacement field's value.
 20897  func (s *ResourceChange) SetReplacement(v string) *ResourceChange {
 20898  	s.Replacement = &v
 20899  	return s
 20900  }
 20901  
 20902  // SetResourceType sets the ResourceType field's value.
 20903  func (s *ResourceChange) SetResourceType(v string) *ResourceChange {
 20904  	s.ResourceType = &v
 20905  	return s
 20906  }
 20907  
 20908  // SetScope sets the Scope field's value.
 20909  func (s *ResourceChange) SetScope(v []*string) *ResourceChange {
 20910  	s.Scope = v
 20911  	return s
 20912  }
 20913  
 20914  // Information about a change to a resource attribute.
 20915  type ResourceChangeDetail struct {
 20916  	_ struct{} `type:"structure"`
 20917  
 20918  	// The ID of the entity that caused the change.
 20919  	CausingEntity *string `type:"string"`
 20920  
 20921  	// For static evaluations, the value of the resource attribute will change and
 20922  	// the new value is known. For dynamic evaluations, the value might change,
 20923  	// and any new value will be determined when the plan is updated.
 20924  	Evaluation *string `type:"string" enum:"EvaluationType"`
 20925  
 20926  	// Information about the resource attribute to be modified.
 20927  	Target *ResourceTargetDefinition `type:"structure"`
 20928  }
 20929  
 20930  // String returns the string representation.
 20931  //
 20932  // API parameter values that are decorated as "sensitive" in the API will not
 20933  // be included in the string output. The member name will be present, but the
 20934  // value will be replaced with "sensitive".
 20935  func (s ResourceChangeDetail) String() string {
 20936  	return awsutil.Prettify(s)
 20937  }
 20938  
 20939  // GoString returns the string representation.
 20940  //
 20941  // API parameter values that are decorated as "sensitive" in the API will not
 20942  // be included in the string output. The member name will be present, but the
 20943  // value will be replaced with "sensitive".
 20944  func (s ResourceChangeDetail) GoString() string {
 20945  	return s.String()
 20946  }
 20947  
 20948  // SetCausingEntity sets the CausingEntity field's value.
 20949  func (s *ResourceChangeDetail) SetCausingEntity(v string) *ResourceChangeDetail {
 20950  	s.CausingEntity = &v
 20951  	return s
 20952  }
 20953  
 20954  // SetEvaluation sets the Evaluation field's value.
 20955  func (s *ResourceChangeDetail) SetEvaluation(v string) *ResourceChangeDetail {
 20956  	s.Evaluation = &v
 20957  	return s
 20958  }
 20959  
 20960  // SetTarget sets the Target field's value.
 20961  func (s *ResourceChangeDetail) SetTarget(v *ResourceTargetDefinition) *ResourceChangeDetail {
 20962  	s.Target = v
 20963  	return s
 20964  }
 20965  
 20966  // Information about a resource.
 20967  type ResourceDetail struct {
 20968  	_ struct{} `type:"structure"`
 20969  
 20970  	// The ARN of the resource.
 20971  	ARN *string `type:"string"`
 20972  
 20973  	// The creation time of the resource.
 20974  	CreatedTime *time.Time `type:"timestamp"`
 20975  
 20976  	// The description of the resource.
 20977  	Description *string `type:"string"`
 20978  
 20979  	// The identifier of the resource.
 20980  	Id *string `type:"string"`
 20981  
 20982  	// The name of the resource.
 20983  	Name *string `type:"string"`
 20984  }
 20985  
 20986  // String returns the string representation.
 20987  //
 20988  // API parameter values that are decorated as "sensitive" in the API will not
 20989  // be included in the string output. The member name will be present, but the
 20990  // value will be replaced with "sensitive".
 20991  func (s ResourceDetail) String() string {
 20992  	return awsutil.Prettify(s)
 20993  }
 20994  
 20995  // GoString returns the string representation.
 20996  //
 20997  // API parameter values that are decorated as "sensitive" in the API will not
 20998  // be included in the string output. The member name will be present, but the
 20999  // value will be replaced with "sensitive".
 21000  func (s ResourceDetail) GoString() string {
 21001  	return s.String()
 21002  }
 21003  
 21004  // SetARN sets the ARN field's value.
 21005  func (s *ResourceDetail) SetARN(v string) *ResourceDetail {
 21006  	s.ARN = &v
 21007  	return s
 21008  }
 21009  
 21010  // SetCreatedTime sets the CreatedTime field's value.
 21011  func (s *ResourceDetail) SetCreatedTime(v time.Time) *ResourceDetail {
 21012  	s.CreatedTime = &v
 21013  	return s
 21014  }
 21015  
 21016  // SetDescription sets the Description field's value.
 21017  func (s *ResourceDetail) SetDescription(v string) *ResourceDetail {
 21018  	s.Description = &v
 21019  	return s
 21020  }
 21021  
 21022  // SetId sets the Id field's value.
 21023  func (s *ResourceDetail) SetId(v string) *ResourceDetail {
 21024  	s.Id = &v
 21025  	return s
 21026  }
 21027  
 21028  // SetName sets the Name field's value.
 21029  func (s *ResourceDetail) SetName(v string) *ResourceDetail {
 21030  	s.Name = &v
 21031  	return s
 21032  }
 21033  
 21034  // A resource that is currently in use. Ensure that the resource is not in use
 21035  // and retry the operation.
 21036  type ResourceInUseException struct {
 21037  	_            struct{}                  `type:"structure"`
 21038  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21039  
 21040  	Message_ *string `locationName:"message" type:"string"`
 21041  }
 21042  
 21043  // String returns the string representation.
 21044  //
 21045  // API parameter values that are decorated as "sensitive" in the API will not
 21046  // be included in the string output. The member name will be present, but the
 21047  // value will be replaced with "sensitive".
 21048  func (s ResourceInUseException) String() string {
 21049  	return awsutil.Prettify(s)
 21050  }
 21051  
 21052  // GoString returns the string representation.
 21053  //
 21054  // API parameter values that are decorated as "sensitive" in the API will not
 21055  // be included in the string output. The member name will be present, but the
 21056  // value will be replaced with "sensitive".
 21057  func (s ResourceInUseException) GoString() string {
 21058  	return s.String()
 21059  }
 21060  
 21061  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
 21062  	return &ResourceInUseException{
 21063  		RespMetadata: v,
 21064  	}
 21065  }
 21066  
 21067  // Code returns the exception type name.
 21068  func (s *ResourceInUseException) Code() string {
 21069  	return "ResourceInUseException"
 21070  }
 21071  
 21072  // Message returns the exception's message.
 21073  func (s *ResourceInUseException) Message() string {
 21074  	if s.Message_ != nil {
 21075  		return *s.Message_
 21076  	}
 21077  	return ""
 21078  }
 21079  
 21080  // OrigErr always returns nil, satisfies awserr.Error interface.
 21081  func (s *ResourceInUseException) OrigErr() error {
 21082  	return nil
 21083  }
 21084  
 21085  func (s *ResourceInUseException) Error() string {
 21086  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21087  }
 21088  
 21089  // Status code returns the HTTP status code for the request's response error.
 21090  func (s *ResourceInUseException) StatusCode() int {
 21091  	return s.RespMetadata.StatusCode
 21092  }
 21093  
 21094  // RequestID returns the service's response RequestID for request.
 21095  func (s *ResourceInUseException) RequestID() string {
 21096  	return s.RespMetadata.RequestID
 21097  }
 21098  
 21099  // The specified resource was not found.
 21100  type ResourceNotFoundException struct {
 21101  	_            struct{}                  `type:"structure"`
 21102  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21103  
 21104  	Message_ *string `locationName:"message" type:"string"`
 21105  }
 21106  
 21107  // String returns the string representation.
 21108  //
 21109  // API parameter values that are decorated as "sensitive" in the API will not
 21110  // be included in the string output. The member name will be present, but the
 21111  // value will be replaced with "sensitive".
 21112  func (s ResourceNotFoundException) String() string {
 21113  	return awsutil.Prettify(s)
 21114  }
 21115  
 21116  // GoString returns the string representation.
 21117  //
 21118  // API parameter values that are decorated as "sensitive" in the API will not
 21119  // be included in the string output. The member name will be present, but the
 21120  // value will be replaced with "sensitive".
 21121  func (s ResourceNotFoundException) GoString() string {
 21122  	return s.String()
 21123  }
 21124  
 21125  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 21126  	return &ResourceNotFoundException{
 21127  		RespMetadata: v,
 21128  	}
 21129  }
 21130  
 21131  // Code returns the exception type name.
 21132  func (s *ResourceNotFoundException) Code() string {
 21133  	return "ResourceNotFoundException"
 21134  }
 21135  
 21136  // Message returns the exception's message.
 21137  func (s *ResourceNotFoundException) Message() string {
 21138  	if s.Message_ != nil {
 21139  		return *s.Message_
 21140  	}
 21141  	return ""
 21142  }
 21143  
 21144  // OrigErr always returns nil, satisfies awserr.Error interface.
 21145  func (s *ResourceNotFoundException) OrigErr() error {
 21146  	return nil
 21147  }
 21148  
 21149  func (s *ResourceNotFoundException) Error() string {
 21150  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21151  }
 21152  
 21153  // Status code returns the HTTP status code for the request's response error.
 21154  func (s *ResourceNotFoundException) StatusCode() int {
 21155  	return s.RespMetadata.StatusCode
 21156  }
 21157  
 21158  // RequestID returns the service's response RequestID for request.
 21159  func (s *ResourceNotFoundException) RequestID() string {
 21160  	return s.RespMetadata.RequestID
 21161  }
 21162  
 21163  // Information about a change to a resource attribute.
 21164  type ResourceTargetDefinition struct {
 21165  	_ struct{} `type:"structure"`
 21166  
 21167  	// The attribute to be changed.
 21168  	Attribute *string `type:"string" enum:"ResourceAttribute"`
 21169  
 21170  	// If the attribute is Properties, the value is the name of the property. Otherwise,
 21171  	// the value is null.
 21172  	Name *string `type:"string"`
 21173  
 21174  	// If the attribute is Properties, indicates whether a change to this property
 21175  	// causes the resource to be re-created.
 21176  	RequiresRecreation *string `type:"string" enum:"RequiresRecreation"`
 21177  }
 21178  
 21179  // String returns the string representation.
 21180  //
 21181  // API parameter values that are decorated as "sensitive" in the API will not
 21182  // be included in the string output. The member name will be present, but the
 21183  // value will be replaced with "sensitive".
 21184  func (s ResourceTargetDefinition) String() string {
 21185  	return awsutil.Prettify(s)
 21186  }
 21187  
 21188  // GoString returns the string representation.
 21189  //
 21190  // API parameter values that are decorated as "sensitive" in the API will not
 21191  // be included in the string output. The member name will be present, but the
 21192  // value will be replaced with "sensitive".
 21193  func (s ResourceTargetDefinition) GoString() string {
 21194  	return s.String()
 21195  }
 21196  
 21197  // SetAttribute sets the Attribute field's value.
 21198  func (s *ResourceTargetDefinition) SetAttribute(v string) *ResourceTargetDefinition {
 21199  	s.Attribute = &v
 21200  	return s
 21201  }
 21202  
 21203  // SetName sets the Name field's value.
 21204  func (s *ResourceTargetDefinition) SetName(v string) *ResourceTargetDefinition {
 21205  	s.Name = &v
 21206  	return s
 21207  }
 21208  
 21209  // SetRequiresRecreation sets the RequiresRecreation field's value.
 21210  func (s *ResourceTargetDefinition) SetRequiresRecreation(v string) *ResourceTargetDefinition {
 21211  	s.RequiresRecreation = &v
 21212  	return s
 21213  }
 21214  
 21215  type ScanProvisionedProductsInput struct {
 21216  	_ struct{} `type:"structure"`
 21217  
 21218  	// The language code.
 21219  	//
 21220  	//    * en - English (default)
 21221  	//
 21222  	//    * jp - Japanese
 21223  	//
 21224  	//    * zh - Chinese
 21225  	AcceptLanguage *string `type:"string"`
 21226  
 21227  	// The access level to use to obtain results. The default is User.
 21228  	AccessLevelFilter *AccessLevelFilter `type:"structure"`
 21229  
 21230  	// The maximum number of items to return with this call.
 21231  	PageSize *int64 `type:"integer"`
 21232  
 21233  	// The page token for the next set of results. To retrieve the first set of
 21234  	// results, use null.
 21235  	PageToken *string `type:"string"`
 21236  }
 21237  
 21238  // String returns the string representation.
 21239  //
 21240  // API parameter values that are decorated as "sensitive" in the API will not
 21241  // be included in the string output. The member name will be present, but the
 21242  // value will be replaced with "sensitive".
 21243  func (s ScanProvisionedProductsInput) String() string {
 21244  	return awsutil.Prettify(s)
 21245  }
 21246  
 21247  // GoString returns the string representation.
 21248  //
 21249  // API parameter values that are decorated as "sensitive" in the API will not
 21250  // be included in the string output. The member name will be present, but the
 21251  // value will be replaced with "sensitive".
 21252  func (s ScanProvisionedProductsInput) GoString() string {
 21253  	return s.String()
 21254  }
 21255  
 21256  // SetAcceptLanguage sets the AcceptLanguage field's value.
 21257  func (s *ScanProvisionedProductsInput) SetAcceptLanguage(v string) *ScanProvisionedProductsInput {
 21258  	s.AcceptLanguage = &v
 21259  	return s
 21260  }
 21261  
 21262  // SetAccessLevelFilter sets the AccessLevelFilter field's value.
 21263  func (s *ScanProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *ScanProvisionedProductsInput {
 21264  	s.AccessLevelFilter = v
 21265  	return s
 21266  }
 21267  
 21268  // SetPageSize sets the PageSize field's value.
 21269  func (s *ScanProvisionedProductsInput) SetPageSize(v int64) *ScanProvisionedProductsInput {
 21270  	s.PageSize = &v
 21271  	return s
 21272  }
 21273  
 21274  // SetPageToken sets the PageToken field's value.
 21275  func (s *ScanProvisionedProductsInput) SetPageToken(v string) *ScanProvisionedProductsInput {
 21276  	s.PageToken = &v
 21277  	return s
 21278  }
 21279  
 21280  type ScanProvisionedProductsOutput struct {
 21281  	_ struct{} `type:"structure"`
 21282  
 21283  	// The page token to use to retrieve the next set of results. If there are no
 21284  	// additional results, this value is null.
 21285  	NextPageToken *string `type:"string"`
 21286  
 21287  	// Information about the provisioned products.
 21288  	ProvisionedProducts []*ProvisionedProductDetail `type:"list"`
 21289  }
 21290  
 21291  // String returns the string representation.
 21292  //
 21293  // API parameter values that are decorated as "sensitive" in the API will not
 21294  // be included in the string output. The member name will be present, but the
 21295  // value will be replaced with "sensitive".
 21296  func (s ScanProvisionedProductsOutput) String() string {
 21297  	return awsutil.Prettify(s)
 21298  }
 21299  
 21300  // GoString returns the string representation.
 21301  //
 21302  // API parameter values that are decorated as "sensitive" in the API will not
 21303  // be included in the string output. The member name will be present, but the
 21304  // value will be replaced with "sensitive".
 21305  func (s ScanProvisionedProductsOutput) GoString() string {
 21306  	return s.String()
 21307  }
 21308  
 21309  // SetNextPageToken sets the NextPageToken field's value.
 21310  func (s *ScanProvisionedProductsOutput) SetNextPageToken(v string) *ScanProvisionedProductsOutput {
 21311  	s.NextPageToken = &v
 21312  	return s
 21313  }
 21314  
 21315  // SetProvisionedProducts sets the ProvisionedProducts field's value.
 21316  func (s *ScanProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductDetail) *ScanProvisionedProductsOutput {
 21317  	s.ProvisionedProducts = v
 21318  	return s
 21319  }
 21320  
 21321  type SearchProductsAsAdminInput struct {
 21322  	_ struct{} `type:"structure"`
 21323  
 21324  	// The language code.
 21325  	//
 21326  	//    * en - English (default)
 21327  	//
 21328  	//    * jp - Japanese
 21329  	//
 21330  	//    * zh - Chinese
 21331  	AcceptLanguage *string `type:"string"`
 21332  
 21333  	// The search filters. If no search filters are specified, the output includes
 21334  	// all products to which the administrator has access.
 21335  	Filters map[string][]*string `type:"map"`
 21336  
 21337  	// The maximum number of items to return with this call.
 21338  	PageSize *int64 `type:"integer"`
 21339  
 21340  	// The page token for the next set of results. To retrieve the first set of
 21341  	// results, use null.
 21342  	PageToken *string `type:"string"`
 21343  
 21344  	// The portfolio identifier.
 21345  	PortfolioId *string `min:"1" type:"string"`
 21346  
 21347  	// Access level of the source of the product.
 21348  	ProductSource *string `type:"string" enum:"ProductSource"`
 21349  
 21350  	// The sort field. If no value is specified, the results are not sorted.
 21351  	SortBy *string `type:"string" enum:"ProductViewSortBy"`
 21352  
 21353  	// The sort order. If no value is specified, the results are not sorted.
 21354  	SortOrder *string `type:"string" enum:"SortOrder"`
 21355  }
 21356  
 21357  // String returns the string representation.
 21358  //
 21359  // API parameter values that are decorated as "sensitive" in the API will not
 21360  // be included in the string output. The member name will be present, but the
 21361  // value will be replaced with "sensitive".
 21362  func (s SearchProductsAsAdminInput) String() string {
 21363  	return awsutil.Prettify(s)
 21364  }
 21365  
 21366  // GoString returns the string representation.
 21367  //
 21368  // API parameter values that are decorated as "sensitive" in the API will not
 21369  // be included in the string output. The member name will be present, but the
 21370  // value will be replaced with "sensitive".
 21371  func (s SearchProductsAsAdminInput) GoString() string {
 21372  	return s.String()
 21373  }
 21374  
 21375  // Validate inspects the fields of the type to determine if they are valid.
 21376  func (s *SearchProductsAsAdminInput) Validate() error {
 21377  	invalidParams := request.ErrInvalidParams{Context: "SearchProductsAsAdminInput"}
 21378  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 21379  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 21380  	}
 21381  
 21382  	if invalidParams.Len() > 0 {
 21383  		return invalidParams
 21384  	}
 21385  	return nil
 21386  }
 21387  
 21388  // SetAcceptLanguage sets the AcceptLanguage field's value.
 21389  func (s *SearchProductsAsAdminInput) SetAcceptLanguage(v string) *SearchProductsAsAdminInput {
 21390  	s.AcceptLanguage = &v
 21391  	return s
 21392  }
 21393  
 21394  // SetFilters sets the Filters field's value.
 21395  func (s *SearchProductsAsAdminInput) SetFilters(v map[string][]*string) *SearchProductsAsAdminInput {
 21396  	s.Filters = v
 21397  	return s
 21398  }
 21399  
 21400  // SetPageSize sets the PageSize field's value.
 21401  func (s *SearchProductsAsAdminInput) SetPageSize(v int64) *SearchProductsAsAdminInput {
 21402  	s.PageSize = &v
 21403  	return s
 21404  }
 21405  
 21406  // SetPageToken sets the PageToken field's value.
 21407  func (s *SearchProductsAsAdminInput) SetPageToken(v string) *SearchProductsAsAdminInput {
 21408  	s.PageToken = &v
 21409  	return s
 21410  }
 21411  
 21412  // SetPortfolioId sets the PortfolioId field's value.
 21413  func (s *SearchProductsAsAdminInput) SetPortfolioId(v string) *SearchProductsAsAdminInput {
 21414  	s.PortfolioId = &v
 21415  	return s
 21416  }
 21417  
 21418  // SetProductSource sets the ProductSource field's value.
 21419  func (s *SearchProductsAsAdminInput) SetProductSource(v string) *SearchProductsAsAdminInput {
 21420  	s.ProductSource = &v
 21421  	return s
 21422  }
 21423  
 21424  // SetSortBy sets the SortBy field's value.
 21425  func (s *SearchProductsAsAdminInput) SetSortBy(v string) *SearchProductsAsAdminInput {
 21426  	s.SortBy = &v
 21427  	return s
 21428  }
 21429  
 21430  // SetSortOrder sets the SortOrder field's value.
 21431  func (s *SearchProductsAsAdminInput) SetSortOrder(v string) *SearchProductsAsAdminInput {
 21432  	s.SortOrder = &v
 21433  	return s
 21434  }
 21435  
 21436  type SearchProductsAsAdminOutput struct {
 21437  	_ struct{} `type:"structure"`
 21438  
 21439  	// The page token to use to retrieve the next set of results. If there are no
 21440  	// additional results, this value is null.
 21441  	NextPageToken *string `type:"string"`
 21442  
 21443  	// Information about the product views.
 21444  	ProductViewDetails []*ProductViewDetail `type:"list"`
 21445  }
 21446  
 21447  // String returns the string representation.
 21448  //
 21449  // API parameter values that are decorated as "sensitive" in the API will not
 21450  // be included in the string output. The member name will be present, but the
 21451  // value will be replaced with "sensitive".
 21452  func (s SearchProductsAsAdminOutput) String() string {
 21453  	return awsutil.Prettify(s)
 21454  }
 21455  
 21456  // GoString returns the string representation.
 21457  //
 21458  // API parameter values that are decorated as "sensitive" in the API will not
 21459  // be included in the string output. The member name will be present, but the
 21460  // value will be replaced with "sensitive".
 21461  func (s SearchProductsAsAdminOutput) GoString() string {
 21462  	return s.String()
 21463  }
 21464  
 21465  // SetNextPageToken sets the NextPageToken field's value.
 21466  func (s *SearchProductsAsAdminOutput) SetNextPageToken(v string) *SearchProductsAsAdminOutput {
 21467  	s.NextPageToken = &v
 21468  	return s
 21469  }
 21470  
 21471  // SetProductViewDetails sets the ProductViewDetails field's value.
 21472  func (s *SearchProductsAsAdminOutput) SetProductViewDetails(v []*ProductViewDetail) *SearchProductsAsAdminOutput {
 21473  	s.ProductViewDetails = v
 21474  	return s
 21475  }
 21476  
 21477  type SearchProductsInput struct {
 21478  	_ struct{} `type:"structure"`
 21479  
 21480  	// The language code.
 21481  	//
 21482  	//    * en - English (default)
 21483  	//
 21484  	//    * jp - Japanese
 21485  	//
 21486  	//    * zh - Chinese
 21487  	AcceptLanguage *string `type:"string"`
 21488  
 21489  	// The search filters. If no search filters are specified, the output includes
 21490  	// all products to which the caller has access.
 21491  	Filters map[string][]*string `type:"map"`
 21492  
 21493  	// The maximum number of items to return with this call.
 21494  	PageSize *int64 `type:"integer"`
 21495  
 21496  	// The page token for the next set of results. To retrieve the first set of
 21497  	// results, use null.
 21498  	PageToken *string `type:"string"`
 21499  
 21500  	// The sort field. If no value is specified, the results are not sorted.
 21501  	SortBy *string `type:"string" enum:"ProductViewSortBy"`
 21502  
 21503  	// The sort order. If no value is specified, the results are not sorted.
 21504  	SortOrder *string `type:"string" enum:"SortOrder"`
 21505  }
 21506  
 21507  // String returns the string representation.
 21508  //
 21509  // API parameter values that are decorated as "sensitive" in the API will not
 21510  // be included in the string output. The member name will be present, but the
 21511  // value will be replaced with "sensitive".
 21512  func (s SearchProductsInput) String() string {
 21513  	return awsutil.Prettify(s)
 21514  }
 21515  
 21516  // GoString returns the string representation.
 21517  //
 21518  // API parameter values that are decorated as "sensitive" in the API will not
 21519  // be included in the string output. The member name will be present, but the
 21520  // value will be replaced with "sensitive".
 21521  func (s SearchProductsInput) GoString() string {
 21522  	return s.String()
 21523  }
 21524  
 21525  // SetAcceptLanguage sets the AcceptLanguage field's value.
 21526  func (s *SearchProductsInput) SetAcceptLanguage(v string) *SearchProductsInput {
 21527  	s.AcceptLanguage = &v
 21528  	return s
 21529  }
 21530  
 21531  // SetFilters sets the Filters field's value.
 21532  func (s *SearchProductsInput) SetFilters(v map[string][]*string) *SearchProductsInput {
 21533  	s.Filters = v
 21534  	return s
 21535  }
 21536  
 21537  // SetPageSize sets the PageSize field's value.
 21538  func (s *SearchProductsInput) SetPageSize(v int64) *SearchProductsInput {
 21539  	s.PageSize = &v
 21540  	return s
 21541  }
 21542  
 21543  // SetPageToken sets the PageToken field's value.
 21544  func (s *SearchProductsInput) SetPageToken(v string) *SearchProductsInput {
 21545  	s.PageToken = &v
 21546  	return s
 21547  }
 21548  
 21549  // SetSortBy sets the SortBy field's value.
 21550  func (s *SearchProductsInput) SetSortBy(v string) *SearchProductsInput {
 21551  	s.SortBy = &v
 21552  	return s
 21553  }
 21554  
 21555  // SetSortOrder sets the SortOrder field's value.
 21556  func (s *SearchProductsInput) SetSortOrder(v string) *SearchProductsInput {
 21557  	s.SortOrder = &v
 21558  	return s
 21559  }
 21560  
 21561  type SearchProductsOutput struct {
 21562  	_ struct{} `type:"structure"`
 21563  
 21564  	// The page token to use to retrieve the next set of results. If there are no
 21565  	// additional results, this value is null.
 21566  	NextPageToken *string `type:"string"`
 21567  
 21568  	// The product view aggregations.
 21569  	ProductViewAggregations map[string][]*ProductViewAggregationValue `type:"map"`
 21570  
 21571  	// Information about the product views.
 21572  	ProductViewSummaries []*ProductViewSummary `type:"list"`
 21573  }
 21574  
 21575  // String returns the string representation.
 21576  //
 21577  // API parameter values that are decorated as "sensitive" in the API will not
 21578  // be included in the string output. The member name will be present, but the
 21579  // value will be replaced with "sensitive".
 21580  func (s SearchProductsOutput) String() string {
 21581  	return awsutil.Prettify(s)
 21582  }
 21583  
 21584  // GoString returns the string representation.
 21585  //
 21586  // API parameter values that are decorated as "sensitive" in the API will not
 21587  // be included in the string output. The member name will be present, but the
 21588  // value will be replaced with "sensitive".
 21589  func (s SearchProductsOutput) GoString() string {
 21590  	return s.String()
 21591  }
 21592  
 21593  // SetNextPageToken sets the NextPageToken field's value.
 21594  func (s *SearchProductsOutput) SetNextPageToken(v string) *SearchProductsOutput {
 21595  	s.NextPageToken = &v
 21596  	return s
 21597  }
 21598  
 21599  // SetProductViewAggregations sets the ProductViewAggregations field's value.
 21600  func (s *SearchProductsOutput) SetProductViewAggregations(v map[string][]*ProductViewAggregationValue) *SearchProductsOutput {
 21601  	s.ProductViewAggregations = v
 21602  	return s
 21603  }
 21604  
 21605  // SetProductViewSummaries sets the ProductViewSummaries field's value.
 21606  func (s *SearchProductsOutput) SetProductViewSummaries(v []*ProductViewSummary) *SearchProductsOutput {
 21607  	s.ProductViewSummaries = v
 21608  	return s
 21609  }
 21610  
 21611  type SearchProvisionedProductsInput struct {
 21612  	_ struct{} `type:"structure"`
 21613  
 21614  	// The language code.
 21615  	//
 21616  	//    * en - English (default)
 21617  	//
 21618  	//    * jp - Japanese
 21619  	//
 21620  	//    * zh - Chinese
 21621  	AcceptLanguage *string `type:"string"`
 21622  
 21623  	// The access level to use to obtain results. The default is User.
 21624  	AccessLevelFilter *AccessLevelFilter `type:"structure"`
 21625  
 21626  	// The search filters.
 21627  	//
 21628  	// When the key is SearchQuery, the searchable fields are arn, createdTime,
 21629  	// id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact,
 21630  	// type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId,
 21631  	// productName, and provisioningArtifactName.
 21632  	//
 21633  	// Example: "SearchQuery":["status:AVAILABLE"]
 21634  	Filters map[string][]*string `type:"map"`
 21635  
 21636  	// The maximum number of items to return with this call.
 21637  	PageSize *int64 `type:"integer"`
 21638  
 21639  	// The page token for the next set of results. To retrieve the first set of
 21640  	// results, use null.
 21641  	PageToken *string `type:"string"`
 21642  
 21643  	// The sort field. If no value is specified, the results are not sorted. The
 21644  	// valid values are arn, id, name, and lastRecordId.
 21645  	SortBy *string `type:"string"`
 21646  
 21647  	// The sort order. If no value is specified, the results are not sorted.
 21648  	SortOrder *string `type:"string" enum:"SortOrder"`
 21649  }
 21650  
 21651  // String returns the string representation.
 21652  //
 21653  // API parameter values that are decorated as "sensitive" in the API will not
 21654  // be included in the string output. The member name will be present, but the
 21655  // value will be replaced with "sensitive".
 21656  func (s SearchProvisionedProductsInput) String() string {
 21657  	return awsutil.Prettify(s)
 21658  }
 21659  
 21660  // GoString returns the string representation.
 21661  //
 21662  // API parameter values that are decorated as "sensitive" in the API will not
 21663  // be included in the string output. The member name will be present, but the
 21664  // value will be replaced with "sensitive".
 21665  func (s SearchProvisionedProductsInput) GoString() string {
 21666  	return s.String()
 21667  }
 21668  
 21669  // SetAcceptLanguage sets the AcceptLanguage field's value.
 21670  func (s *SearchProvisionedProductsInput) SetAcceptLanguage(v string) *SearchProvisionedProductsInput {
 21671  	s.AcceptLanguage = &v
 21672  	return s
 21673  }
 21674  
 21675  // SetAccessLevelFilter sets the AccessLevelFilter field's value.
 21676  func (s *SearchProvisionedProductsInput) SetAccessLevelFilter(v *AccessLevelFilter) *SearchProvisionedProductsInput {
 21677  	s.AccessLevelFilter = v
 21678  	return s
 21679  }
 21680  
 21681  // SetFilters sets the Filters field's value.
 21682  func (s *SearchProvisionedProductsInput) SetFilters(v map[string][]*string) *SearchProvisionedProductsInput {
 21683  	s.Filters = v
 21684  	return s
 21685  }
 21686  
 21687  // SetPageSize sets the PageSize field's value.
 21688  func (s *SearchProvisionedProductsInput) SetPageSize(v int64) *SearchProvisionedProductsInput {
 21689  	s.PageSize = &v
 21690  	return s
 21691  }
 21692  
 21693  // SetPageToken sets the PageToken field's value.
 21694  func (s *SearchProvisionedProductsInput) SetPageToken(v string) *SearchProvisionedProductsInput {
 21695  	s.PageToken = &v
 21696  	return s
 21697  }
 21698  
 21699  // SetSortBy sets the SortBy field's value.
 21700  func (s *SearchProvisionedProductsInput) SetSortBy(v string) *SearchProvisionedProductsInput {
 21701  	s.SortBy = &v
 21702  	return s
 21703  }
 21704  
 21705  // SetSortOrder sets the SortOrder field's value.
 21706  func (s *SearchProvisionedProductsInput) SetSortOrder(v string) *SearchProvisionedProductsInput {
 21707  	s.SortOrder = &v
 21708  	return s
 21709  }
 21710  
 21711  type SearchProvisionedProductsOutput struct {
 21712  	_ struct{} `type:"structure"`
 21713  
 21714  	// The page token to use to retrieve the next set of results. If there are no
 21715  	// additional results, this value is null.
 21716  	NextPageToken *string `type:"string"`
 21717  
 21718  	// Information about the provisioned products.
 21719  	ProvisionedProducts []*ProvisionedProductAttribute `type:"list"`
 21720  
 21721  	// The number of provisioned products found.
 21722  	TotalResultsCount *int64 `type:"integer"`
 21723  }
 21724  
 21725  // String returns the string representation.
 21726  //
 21727  // API parameter values that are decorated as "sensitive" in the API will not
 21728  // be included in the string output. The member name will be present, but the
 21729  // value will be replaced with "sensitive".
 21730  func (s SearchProvisionedProductsOutput) String() string {
 21731  	return awsutil.Prettify(s)
 21732  }
 21733  
 21734  // GoString returns the string representation.
 21735  //
 21736  // API parameter values that are decorated as "sensitive" in the API will not
 21737  // be included in the string output. The member name will be present, but the
 21738  // value will be replaced with "sensitive".
 21739  func (s SearchProvisionedProductsOutput) GoString() string {
 21740  	return s.String()
 21741  }
 21742  
 21743  // SetNextPageToken sets the NextPageToken field's value.
 21744  func (s *SearchProvisionedProductsOutput) SetNextPageToken(v string) *SearchProvisionedProductsOutput {
 21745  	s.NextPageToken = &v
 21746  	return s
 21747  }
 21748  
 21749  // SetProvisionedProducts sets the ProvisionedProducts field's value.
 21750  func (s *SearchProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedProductAttribute) *SearchProvisionedProductsOutput {
 21751  	s.ProvisionedProducts = v
 21752  	return s
 21753  }
 21754  
 21755  // SetTotalResultsCount sets the TotalResultsCount field's value.
 21756  func (s *SearchProvisionedProductsOutput) SetTotalResultsCount(v int64) *SearchProvisionedProductsOutput {
 21757  	s.TotalResultsCount = &v
 21758  	return s
 21759  }
 21760  
 21761  // A self-service action association consisting of the Action ID, the Product
 21762  // ID, and the Provisioning Artifact ID.
 21763  type ServiceActionAssociation struct {
 21764  	_ struct{} `type:"structure"`
 21765  
 21766  	// The product identifier. For example, prod-abcdzk7xy33qa.
 21767  	//
 21768  	// ProductId is a required field
 21769  	ProductId *string `min:"1" type:"string" required:"true"`
 21770  
 21771  	// The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.
 21772  	//
 21773  	// ProvisioningArtifactId is a required field
 21774  	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
 21775  
 21776  	// The self-service action identifier. For example, act-fs7abcd89wxyz.
 21777  	//
 21778  	// ServiceActionId is a required field
 21779  	ServiceActionId *string `min:"1" type:"string" required:"true"`
 21780  }
 21781  
 21782  // String returns the string representation.
 21783  //
 21784  // API parameter values that are decorated as "sensitive" in the API will not
 21785  // be included in the string output. The member name will be present, but the
 21786  // value will be replaced with "sensitive".
 21787  func (s ServiceActionAssociation) String() string {
 21788  	return awsutil.Prettify(s)
 21789  }
 21790  
 21791  // GoString returns the string representation.
 21792  //
 21793  // API parameter values that are decorated as "sensitive" in the API will not
 21794  // be included in the string output. The member name will be present, but the
 21795  // value will be replaced with "sensitive".
 21796  func (s ServiceActionAssociation) GoString() string {
 21797  	return s.String()
 21798  }
 21799  
 21800  // Validate inspects the fields of the type to determine if they are valid.
 21801  func (s *ServiceActionAssociation) Validate() error {
 21802  	invalidParams := request.ErrInvalidParams{Context: "ServiceActionAssociation"}
 21803  	if s.ProductId == nil {
 21804  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 21805  	}
 21806  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 21807  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 21808  	}
 21809  	if s.ProvisioningArtifactId == nil {
 21810  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
 21811  	}
 21812  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 21813  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 21814  	}
 21815  	if s.ServiceActionId == nil {
 21816  		invalidParams.Add(request.NewErrParamRequired("ServiceActionId"))
 21817  	}
 21818  	if s.ServiceActionId != nil && len(*s.ServiceActionId) < 1 {
 21819  		invalidParams.Add(request.NewErrParamMinLen("ServiceActionId", 1))
 21820  	}
 21821  
 21822  	if invalidParams.Len() > 0 {
 21823  		return invalidParams
 21824  	}
 21825  	return nil
 21826  }
 21827  
 21828  // SetProductId sets the ProductId field's value.
 21829  func (s *ServiceActionAssociation) SetProductId(v string) *ServiceActionAssociation {
 21830  	s.ProductId = &v
 21831  	return s
 21832  }
 21833  
 21834  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 21835  func (s *ServiceActionAssociation) SetProvisioningArtifactId(v string) *ServiceActionAssociation {
 21836  	s.ProvisioningArtifactId = &v
 21837  	return s
 21838  }
 21839  
 21840  // SetServiceActionId sets the ServiceActionId field's value.
 21841  func (s *ServiceActionAssociation) SetServiceActionId(v string) *ServiceActionAssociation {
 21842  	s.ServiceActionId = &v
 21843  	return s
 21844  }
 21845  
 21846  // An object containing detailed information about the self-service action.
 21847  type ServiceActionDetail struct {
 21848  	_ struct{} `type:"structure"`
 21849  
 21850  	// A map that defines the self-service action.
 21851  	Definition map[string]*string `min:"1" type:"map"`
 21852  
 21853  	// Summary information about the self-service action.
 21854  	ServiceActionSummary *ServiceActionSummary `type:"structure"`
 21855  }
 21856  
 21857  // String returns the string representation.
 21858  //
 21859  // API parameter values that are decorated as "sensitive" in the API will not
 21860  // be included in the string output. The member name will be present, but the
 21861  // value will be replaced with "sensitive".
 21862  func (s ServiceActionDetail) String() string {
 21863  	return awsutil.Prettify(s)
 21864  }
 21865  
 21866  // GoString returns the string representation.
 21867  //
 21868  // API parameter values that are decorated as "sensitive" in the API will not
 21869  // be included in the string output. The member name will be present, but the
 21870  // value will be replaced with "sensitive".
 21871  func (s ServiceActionDetail) GoString() string {
 21872  	return s.String()
 21873  }
 21874  
 21875  // SetDefinition sets the Definition field's value.
 21876  func (s *ServiceActionDetail) SetDefinition(v map[string]*string) *ServiceActionDetail {
 21877  	s.Definition = v
 21878  	return s
 21879  }
 21880  
 21881  // SetServiceActionSummary sets the ServiceActionSummary field's value.
 21882  func (s *ServiceActionDetail) SetServiceActionSummary(v *ServiceActionSummary) *ServiceActionDetail {
 21883  	s.ServiceActionSummary = v
 21884  	return s
 21885  }
 21886  
 21887  // Detailed information about the self-service action.
 21888  type ServiceActionSummary struct {
 21889  	_ struct{} `type:"structure"`
 21890  
 21891  	// The self-service action definition type. For example, SSM_AUTOMATION.
 21892  	DefinitionType *string `type:"string" enum:"ServiceActionDefinitionType"`
 21893  
 21894  	// The self-service action description.
 21895  	Description *string `type:"string"`
 21896  
 21897  	// The self-service action identifier.
 21898  	Id *string `min:"1" type:"string"`
 21899  
 21900  	// The self-service action name.
 21901  	Name *string `min:"1" type:"string"`
 21902  }
 21903  
 21904  // String returns the string representation.
 21905  //
 21906  // API parameter values that are decorated as "sensitive" in the API will not
 21907  // be included in the string output. The member name will be present, but the
 21908  // value will be replaced with "sensitive".
 21909  func (s ServiceActionSummary) String() string {
 21910  	return awsutil.Prettify(s)
 21911  }
 21912  
 21913  // GoString returns the string representation.
 21914  //
 21915  // API parameter values that are decorated as "sensitive" in the API will not
 21916  // be included in the string output. The member name will be present, but the
 21917  // value will be replaced with "sensitive".
 21918  func (s ServiceActionSummary) GoString() string {
 21919  	return s.String()
 21920  }
 21921  
 21922  // SetDefinitionType sets the DefinitionType field's value.
 21923  func (s *ServiceActionSummary) SetDefinitionType(v string) *ServiceActionSummary {
 21924  	s.DefinitionType = &v
 21925  	return s
 21926  }
 21927  
 21928  // SetDescription sets the Description field's value.
 21929  func (s *ServiceActionSummary) SetDescription(v string) *ServiceActionSummary {
 21930  	s.Description = &v
 21931  	return s
 21932  }
 21933  
 21934  // SetId sets the Id field's value.
 21935  func (s *ServiceActionSummary) SetId(v string) *ServiceActionSummary {
 21936  	s.Id = &v
 21937  	return s
 21938  }
 21939  
 21940  // SetName sets the Name field's value.
 21941  func (s *ServiceActionSummary) SetName(v string) *ServiceActionSummary {
 21942  	s.Name = &v
 21943  	return s
 21944  }
 21945  
 21946  // Information about the portfolio share operation.
 21947  type ShareDetails struct {
 21948  	_ struct{} `type:"structure"`
 21949  
 21950  	// List of errors.
 21951  	ShareErrors []*ShareError `type:"list"`
 21952  
 21953  	// List of accounts for whom the operation succeeded.
 21954  	SuccessfulShares []*string `type:"list"`
 21955  }
 21956  
 21957  // String returns the string representation.
 21958  //
 21959  // API parameter values that are decorated as "sensitive" in the API will not
 21960  // be included in the string output. The member name will be present, but the
 21961  // value will be replaced with "sensitive".
 21962  func (s ShareDetails) String() string {
 21963  	return awsutil.Prettify(s)
 21964  }
 21965  
 21966  // GoString returns the string representation.
 21967  //
 21968  // API parameter values that are decorated as "sensitive" in the API will not
 21969  // be included in the string output. The member name will be present, but the
 21970  // value will be replaced with "sensitive".
 21971  func (s ShareDetails) GoString() string {
 21972  	return s.String()
 21973  }
 21974  
 21975  // SetShareErrors sets the ShareErrors field's value.
 21976  func (s *ShareDetails) SetShareErrors(v []*ShareError) *ShareDetails {
 21977  	s.ShareErrors = v
 21978  	return s
 21979  }
 21980  
 21981  // SetSuccessfulShares sets the SuccessfulShares field's value.
 21982  func (s *ShareDetails) SetSuccessfulShares(v []*string) *ShareDetails {
 21983  	s.SuccessfulShares = v
 21984  	return s
 21985  }
 21986  
 21987  // Errors that occurred during the portfolio share operation.
 21988  type ShareError struct {
 21989  	_ struct{} `type:"structure"`
 21990  
 21991  	// List of accounts impacted by the error.
 21992  	Accounts []*string `type:"list"`
 21993  
 21994  	// Error type that happened when processing the operation.
 21995  	Error *string `type:"string"`
 21996  
 21997  	// Information about the error.
 21998  	Message *string `type:"string"`
 21999  }
 22000  
 22001  // String returns the string representation.
 22002  //
 22003  // API parameter values that are decorated as "sensitive" in the API will not
 22004  // be included in the string output. The member name will be present, but the
 22005  // value will be replaced with "sensitive".
 22006  func (s ShareError) String() string {
 22007  	return awsutil.Prettify(s)
 22008  }
 22009  
 22010  // GoString returns the string representation.
 22011  //
 22012  // API parameter values that are decorated as "sensitive" in the API will not
 22013  // be included in the string output. The member name will be present, but the
 22014  // value will be replaced with "sensitive".
 22015  func (s ShareError) GoString() string {
 22016  	return s.String()
 22017  }
 22018  
 22019  // SetAccounts sets the Accounts field's value.
 22020  func (s *ShareError) SetAccounts(v []*string) *ShareError {
 22021  	s.Accounts = v
 22022  	return s
 22023  }
 22024  
 22025  // SetError sets the Error field's value.
 22026  func (s *ShareError) SetError(v string) *ShareError {
 22027  	s.Error = &v
 22028  	return s
 22029  }
 22030  
 22031  // SetMessage sets the Message field's value.
 22032  func (s *ShareError) SetMessage(v string) *ShareError {
 22033  	s.Message = &v
 22034  	return s
 22035  }
 22036  
 22037  // An AWS CloudFormation stack, in a specific account and region, that's part
 22038  // of a stack set operation. A stack instance is a reference to an attempted
 22039  // or actual stack in a given account within a given region. A stack instance
 22040  // can exist without a stack—for example, if the stack couldn't be created
 22041  // for some reason. A stack instance is associated with only one stack set.
 22042  // Each stack instance contains the ID of its associated stack set, as well
 22043  // as the ID of the actual stack and the stack status.
 22044  type StackInstance struct {
 22045  	_ struct{} `type:"structure"`
 22046  
 22047  	// The name of the AWS account that the stack instance is associated with.
 22048  	Account *string `type:"string"`
 22049  
 22050  	// The name of the AWS region that the stack instance is associated with.
 22051  	Region *string `type:"string"`
 22052  
 22053  	// The status of the stack instance, in terms of its synchronization with its
 22054  	// associated stack set.
 22055  	//
 22056  	//    * INOPERABLE: A DeleteStackInstances operation has failed and left the
 22057  	//    stack in an unstable state. Stacks in this state are excluded from further
 22058  	//    UpdateStackSet operations. You might need to perform a DeleteStackInstances
 22059  	//    operation, with RetainStacks set to true, to delete the stack instance,
 22060  	//    and then delete the stack manually.
 22061  	//
 22062  	//    * OUTDATED: The stack isn't currently up to date with the stack set because
 22063  	//    either the associated stack failed during a CreateStackSet or UpdateStackSet
 22064  	//    operation, or the stack was part of a CreateStackSet or UpdateStackSet
 22065  	//    operation that failed or was stopped before the stack was created or updated.
 22066  	//
 22067  	//    * CURRENT: The stack is currently up to date with the stack set.
 22068  	StackInstanceStatus *string `type:"string" enum:"StackInstanceStatus"`
 22069  }
 22070  
 22071  // String returns the string representation.
 22072  //
 22073  // API parameter values that are decorated as "sensitive" in the API will not
 22074  // be included in the string output. The member name will be present, but the
 22075  // value will be replaced with "sensitive".
 22076  func (s StackInstance) String() string {
 22077  	return awsutil.Prettify(s)
 22078  }
 22079  
 22080  // GoString returns the string representation.
 22081  //
 22082  // API parameter values that are decorated as "sensitive" in the API will not
 22083  // be included in the string output. The member name will be present, but the
 22084  // value will be replaced with "sensitive".
 22085  func (s StackInstance) GoString() string {
 22086  	return s.String()
 22087  }
 22088  
 22089  // SetAccount sets the Account field's value.
 22090  func (s *StackInstance) SetAccount(v string) *StackInstance {
 22091  	s.Account = &v
 22092  	return s
 22093  }
 22094  
 22095  // SetRegion sets the Region field's value.
 22096  func (s *StackInstance) SetRegion(v string) *StackInstance {
 22097  	s.Region = &v
 22098  	return s
 22099  }
 22100  
 22101  // SetStackInstanceStatus sets the StackInstanceStatus field's value.
 22102  func (s *StackInstance) SetStackInstanceStatus(v string) *StackInstance {
 22103  	s.StackInstanceStatus = &v
 22104  	return s
 22105  }
 22106  
 22107  // Information about a tag. A tag is a key-value pair. Tags are propagated to
 22108  // the resources created when provisioning a product.
 22109  type Tag struct {
 22110  	_ struct{} `type:"structure"`
 22111  
 22112  	// The tag key.
 22113  	//
 22114  	// Key is a required field
 22115  	Key *string `min:"1" type:"string" required:"true"`
 22116  
 22117  	// The value for this key.
 22118  	//
 22119  	// Value is a required field
 22120  	Value *string `min:"1" type:"string" required:"true"`
 22121  }
 22122  
 22123  // String returns the string representation.
 22124  //
 22125  // API parameter values that are decorated as "sensitive" in the API will not
 22126  // be included in the string output. The member name will be present, but the
 22127  // value will be replaced with "sensitive".
 22128  func (s Tag) String() string {
 22129  	return awsutil.Prettify(s)
 22130  }
 22131  
 22132  // GoString returns the string representation.
 22133  //
 22134  // API parameter values that are decorated as "sensitive" in the API will not
 22135  // be included in the string output. The member name will be present, but the
 22136  // value will be replaced with "sensitive".
 22137  func (s Tag) GoString() string {
 22138  	return s.String()
 22139  }
 22140  
 22141  // Validate inspects the fields of the type to determine if they are valid.
 22142  func (s *Tag) Validate() error {
 22143  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 22144  	if s.Key == nil {
 22145  		invalidParams.Add(request.NewErrParamRequired("Key"))
 22146  	}
 22147  	if s.Key != nil && len(*s.Key) < 1 {
 22148  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 22149  	}
 22150  	if s.Value == nil {
 22151  		invalidParams.Add(request.NewErrParamRequired("Value"))
 22152  	}
 22153  	if s.Value != nil && len(*s.Value) < 1 {
 22154  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 22155  	}
 22156  
 22157  	if invalidParams.Len() > 0 {
 22158  		return invalidParams
 22159  	}
 22160  	return nil
 22161  }
 22162  
 22163  // SetKey sets the Key field's value.
 22164  func (s *Tag) SetKey(v string) *Tag {
 22165  	s.Key = &v
 22166  	return s
 22167  }
 22168  
 22169  // SetValue sets the Value field's value.
 22170  func (s *Tag) SetValue(v string) *Tag {
 22171  	s.Value = &v
 22172  	return s
 22173  }
 22174  
 22175  // Information about a TagOption.
 22176  type TagOptionDetail struct {
 22177  	_ struct{} `type:"structure"`
 22178  
 22179  	// The TagOption active state.
 22180  	Active *bool `type:"boolean"`
 22181  
 22182  	// The TagOption identifier.
 22183  	Id *string `min:"1" type:"string"`
 22184  
 22185  	// The TagOption key.
 22186  	Key *string `min:"1" type:"string"`
 22187  
 22188  	// The AWS account Id of the owner account that created the TagOption.
 22189  	Owner *string `type:"string"`
 22190  
 22191  	// The TagOption value.
 22192  	Value *string `min:"1" type:"string"`
 22193  }
 22194  
 22195  // String returns the string representation.
 22196  //
 22197  // API parameter values that are decorated as "sensitive" in the API will not
 22198  // be included in the string output. The member name will be present, but the
 22199  // value will be replaced with "sensitive".
 22200  func (s TagOptionDetail) String() string {
 22201  	return awsutil.Prettify(s)
 22202  }
 22203  
 22204  // GoString returns the string representation.
 22205  //
 22206  // API parameter values that are decorated as "sensitive" in the API will not
 22207  // be included in the string output. The member name will be present, but the
 22208  // value will be replaced with "sensitive".
 22209  func (s TagOptionDetail) GoString() string {
 22210  	return s.String()
 22211  }
 22212  
 22213  // SetActive sets the Active field's value.
 22214  func (s *TagOptionDetail) SetActive(v bool) *TagOptionDetail {
 22215  	s.Active = &v
 22216  	return s
 22217  }
 22218  
 22219  // SetId sets the Id field's value.
 22220  func (s *TagOptionDetail) SetId(v string) *TagOptionDetail {
 22221  	s.Id = &v
 22222  	return s
 22223  }
 22224  
 22225  // SetKey sets the Key field's value.
 22226  func (s *TagOptionDetail) SetKey(v string) *TagOptionDetail {
 22227  	s.Key = &v
 22228  	return s
 22229  }
 22230  
 22231  // SetOwner sets the Owner field's value.
 22232  func (s *TagOptionDetail) SetOwner(v string) *TagOptionDetail {
 22233  	s.Owner = &v
 22234  	return s
 22235  }
 22236  
 22237  // SetValue sets the Value field's value.
 22238  func (s *TagOptionDetail) SetValue(v string) *TagOptionDetail {
 22239  	s.Value = &v
 22240  	return s
 22241  }
 22242  
 22243  // An operation requiring TagOptions failed because the TagOptions migration
 22244  // process has not been performed for this account. Please use the AWS console
 22245  // to perform the migration process before retrying the operation.
 22246  type TagOptionNotMigratedException struct {
 22247  	_            struct{}                  `type:"structure"`
 22248  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22249  
 22250  	Message_ *string `locationName:"message" type:"string"`
 22251  }
 22252  
 22253  // String returns the string representation.
 22254  //
 22255  // API parameter values that are decorated as "sensitive" in the API will not
 22256  // be included in the string output. The member name will be present, but the
 22257  // value will be replaced with "sensitive".
 22258  func (s TagOptionNotMigratedException) String() string {
 22259  	return awsutil.Prettify(s)
 22260  }
 22261  
 22262  // GoString returns the string representation.
 22263  //
 22264  // API parameter values that are decorated as "sensitive" in the API will not
 22265  // be included in the string output. The member name will be present, but the
 22266  // value will be replaced with "sensitive".
 22267  func (s TagOptionNotMigratedException) GoString() string {
 22268  	return s.String()
 22269  }
 22270  
 22271  func newErrorTagOptionNotMigratedException(v protocol.ResponseMetadata) error {
 22272  	return &TagOptionNotMigratedException{
 22273  		RespMetadata: v,
 22274  	}
 22275  }
 22276  
 22277  // Code returns the exception type name.
 22278  func (s *TagOptionNotMigratedException) Code() string {
 22279  	return "TagOptionNotMigratedException"
 22280  }
 22281  
 22282  // Message returns the exception's message.
 22283  func (s *TagOptionNotMigratedException) Message() string {
 22284  	if s.Message_ != nil {
 22285  		return *s.Message_
 22286  	}
 22287  	return ""
 22288  }
 22289  
 22290  // OrigErr always returns nil, satisfies awserr.Error interface.
 22291  func (s *TagOptionNotMigratedException) OrigErr() error {
 22292  	return nil
 22293  }
 22294  
 22295  func (s *TagOptionNotMigratedException) Error() string {
 22296  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22297  }
 22298  
 22299  // Status code returns the HTTP status code for the request's response error.
 22300  func (s *TagOptionNotMigratedException) StatusCode() int {
 22301  	return s.RespMetadata.StatusCode
 22302  }
 22303  
 22304  // RequestID returns the service's response RequestID for request.
 22305  func (s *TagOptionNotMigratedException) RequestID() string {
 22306  	return s.RespMetadata.RequestID
 22307  }
 22308  
 22309  // Summary information about a TagOption.
 22310  type TagOptionSummary struct {
 22311  	_ struct{} `type:"structure"`
 22312  
 22313  	// The TagOption key.
 22314  	Key *string `min:"1" type:"string"`
 22315  
 22316  	// The TagOption value.
 22317  	Values []*string `type:"list"`
 22318  }
 22319  
 22320  // String returns the string representation.
 22321  //
 22322  // API parameter values that are decorated as "sensitive" in the API will not
 22323  // be included in the string output. The member name will be present, but the
 22324  // value will be replaced with "sensitive".
 22325  func (s TagOptionSummary) String() string {
 22326  	return awsutil.Prettify(s)
 22327  }
 22328  
 22329  // GoString returns the string representation.
 22330  //
 22331  // API parameter values that are decorated as "sensitive" in the API will not
 22332  // be included in the string output. The member name will be present, but the
 22333  // value will be replaced with "sensitive".
 22334  func (s TagOptionSummary) GoString() string {
 22335  	return s.String()
 22336  }
 22337  
 22338  // SetKey sets the Key field's value.
 22339  func (s *TagOptionSummary) SetKey(v string) *TagOptionSummary {
 22340  	s.Key = &v
 22341  	return s
 22342  }
 22343  
 22344  // SetValues sets the Values field's value.
 22345  func (s *TagOptionSummary) SetValues(v []*string) *TagOptionSummary {
 22346  	s.Values = v
 22347  	return s
 22348  }
 22349  
 22350  type TerminateProvisionedProductInput struct {
 22351  	_ struct{} `type:"structure"`
 22352  
 22353  	// The language code.
 22354  	//
 22355  	//    * en - English (default)
 22356  	//
 22357  	//    * jp - Japanese
 22358  	//
 22359  	//    * zh - Chinese
 22360  	AcceptLanguage *string `type:"string"`
 22361  
 22362  	// If set to true, AWS Service Catalog stops managing the specified provisioned
 22363  	// product even if it cannot delete the underlying resources.
 22364  	IgnoreErrors *bool `type:"boolean"`
 22365  
 22366  	// The identifier of the provisioned product. You cannot specify both ProvisionedProductName
 22367  	// and ProvisionedProductId.
 22368  	ProvisionedProductId *string `min:"1" type:"string"`
 22369  
 22370  	// The name of the provisioned product. You cannot specify both ProvisionedProductName
 22371  	// and ProvisionedProductId.
 22372  	ProvisionedProductName *string `min:"1" type:"string"`
 22373  
 22374  	// When this boolean parameter is set to true, the TerminateProvisionedProduct
 22375  	// API deletes the Service Catalog provisioned product. However, it does not
 22376  	// remove the CloudFormation stack, stack set, or the underlying resources of
 22377  	// the deleted provisioned product. The default value is false.
 22378  	RetainPhysicalResources *bool `type:"boolean"`
 22379  
 22380  	// An idempotency token that uniquely identifies the termination request. This
 22381  	// token is only valid during the termination process. After the provisioned
 22382  	// product is terminated, subsequent requests to terminate the same provisioned
 22383  	// product always return ResourceNotFound.
 22384  	TerminateToken *string `min:"1" type:"string" idempotencyToken:"true"`
 22385  }
 22386  
 22387  // String returns the string representation.
 22388  //
 22389  // API parameter values that are decorated as "sensitive" in the API will not
 22390  // be included in the string output. The member name will be present, but the
 22391  // value will be replaced with "sensitive".
 22392  func (s TerminateProvisionedProductInput) String() string {
 22393  	return awsutil.Prettify(s)
 22394  }
 22395  
 22396  // GoString returns the string representation.
 22397  //
 22398  // API parameter values that are decorated as "sensitive" in the API will not
 22399  // be included in the string output. The member name will be present, but the
 22400  // value will be replaced with "sensitive".
 22401  func (s TerminateProvisionedProductInput) GoString() string {
 22402  	return s.String()
 22403  }
 22404  
 22405  // Validate inspects the fields of the type to determine if they are valid.
 22406  func (s *TerminateProvisionedProductInput) Validate() error {
 22407  	invalidParams := request.ErrInvalidParams{Context: "TerminateProvisionedProductInput"}
 22408  	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
 22409  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
 22410  	}
 22411  	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
 22412  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
 22413  	}
 22414  	if s.TerminateToken != nil && len(*s.TerminateToken) < 1 {
 22415  		invalidParams.Add(request.NewErrParamMinLen("TerminateToken", 1))
 22416  	}
 22417  
 22418  	if invalidParams.Len() > 0 {
 22419  		return invalidParams
 22420  	}
 22421  	return nil
 22422  }
 22423  
 22424  // SetAcceptLanguage sets the AcceptLanguage field's value.
 22425  func (s *TerminateProvisionedProductInput) SetAcceptLanguage(v string) *TerminateProvisionedProductInput {
 22426  	s.AcceptLanguage = &v
 22427  	return s
 22428  }
 22429  
 22430  // SetIgnoreErrors sets the IgnoreErrors field's value.
 22431  func (s *TerminateProvisionedProductInput) SetIgnoreErrors(v bool) *TerminateProvisionedProductInput {
 22432  	s.IgnoreErrors = &v
 22433  	return s
 22434  }
 22435  
 22436  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 22437  func (s *TerminateProvisionedProductInput) SetProvisionedProductId(v string) *TerminateProvisionedProductInput {
 22438  	s.ProvisionedProductId = &v
 22439  	return s
 22440  }
 22441  
 22442  // SetProvisionedProductName sets the ProvisionedProductName field's value.
 22443  func (s *TerminateProvisionedProductInput) SetProvisionedProductName(v string) *TerminateProvisionedProductInput {
 22444  	s.ProvisionedProductName = &v
 22445  	return s
 22446  }
 22447  
 22448  // SetRetainPhysicalResources sets the RetainPhysicalResources field's value.
 22449  func (s *TerminateProvisionedProductInput) SetRetainPhysicalResources(v bool) *TerminateProvisionedProductInput {
 22450  	s.RetainPhysicalResources = &v
 22451  	return s
 22452  }
 22453  
 22454  // SetTerminateToken sets the TerminateToken field's value.
 22455  func (s *TerminateProvisionedProductInput) SetTerminateToken(v string) *TerminateProvisionedProductInput {
 22456  	s.TerminateToken = &v
 22457  	return s
 22458  }
 22459  
 22460  type TerminateProvisionedProductOutput struct {
 22461  	_ struct{} `type:"structure"`
 22462  
 22463  	// Information about the result of this request.
 22464  	RecordDetail *RecordDetail `type:"structure"`
 22465  }
 22466  
 22467  // String returns the string representation.
 22468  //
 22469  // API parameter values that are decorated as "sensitive" in the API will not
 22470  // be included in the string output. The member name will be present, but the
 22471  // value will be replaced with "sensitive".
 22472  func (s TerminateProvisionedProductOutput) String() string {
 22473  	return awsutil.Prettify(s)
 22474  }
 22475  
 22476  // GoString returns the string representation.
 22477  //
 22478  // API parameter values that are decorated as "sensitive" in the API will not
 22479  // be included in the string output. The member name will be present, but the
 22480  // value will be replaced with "sensitive".
 22481  func (s TerminateProvisionedProductOutput) GoString() string {
 22482  	return s.String()
 22483  }
 22484  
 22485  // SetRecordDetail sets the RecordDetail field's value.
 22486  func (s *TerminateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *TerminateProvisionedProductOutput {
 22487  	s.RecordDetail = v
 22488  	return s
 22489  }
 22490  
 22491  type UpdateConstraintInput struct {
 22492  	_ struct{} `type:"structure"`
 22493  
 22494  	// The language code.
 22495  	//
 22496  	//    * en - English (default)
 22497  	//
 22498  	//    * jp - Japanese
 22499  	//
 22500  	//    * zh - Chinese
 22501  	AcceptLanguage *string `type:"string"`
 22502  
 22503  	// The updated description of the constraint.
 22504  	Description *string `type:"string"`
 22505  
 22506  	// The identifier of the constraint.
 22507  	//
 22508  	// Id is a required field
 22509  	Id *string `min:"1" type:"string" required:"true"`
 22510  
 22511  	// The constraint parameters, in JSON format. The syntax depends on the constraint
 22512  	// type as follows:
 22513  	//
 22514  	// LAUNCH
 22515  	//
 22516  	// You are required to specify either the RoleArn or the LocalRoleName but can't
 22517  	// use both.
 22518  	//
 22519  	// Specify the RoleArn property as follows:
 22520  	//
 22521  	// {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}
 22522  	//
 22523  	// Specify the LocalRoleName property as follows:
 22524  	//
 22525  	// {"LocalRoleName": "SCBasicLaunchRole"}
 22526  	//
 22527  	// If you specify the LocalRoleName property, when an account uses the launch
 22528  	// constraint, the IAM role with that name in the account will be used. This
 22529  	// allows launch-role constraints to be account-agnostic so the administrator
 22530  	// can create fewer resources per shared account.
 22531  	//
 22532  	// The given role name must exist in the account used to create the launch constraint
 22533  	// and the account of the user who launches a product with this launch constraint.
 22534  	//
 22535  	// You cannot have both a LAUNCH and a STACKSET constraint.
 22536  	//
 22537  	// You also cannot have more than one LAUNCH constraint on a product and portfolio.
 22538  	//
 22539  	// NOTIFICATION
 22540  	//
 22541  	// Specify the NotificationArns property as follows:
 22542  	//
 22543  	// {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}
 22544  	//
 22545  	// RESOURCE_UPDATE
 22546  	//
 22547  	// Specify the TagUpdatesOnProvisionedProduct property as follows:
 22548  	//
 22549  	// {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}
 22550  	//
 22551  	// The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED
 22552  	// or NOT_ALLOWED.
 22553  	//
 22554  	// STACKSET
 22555  	//
 22556  	// Specify the Parameters property as follows:
 22557  	//
 22558  	// {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList":
 22559  	// [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}
 22560  	//
 22561  	// You cannot have both a LAUNCH and a STACKSET constraint.
 22562  	//
 22563  	// You also cannot have more than one STACKSET constraint on a product and portfolio.
 22564  	//
 22565  	// Products with a STACKSET constraint will launch an AWS CloudFormation stack
 22566  	// set.
 22567  	//
 22568  	// TEMPLATE
 22569  	//
 22570  	// Specify the Rules property. For more information, see Template Constraint
 22571  	// Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html).
 22572  	Parameters *string `type:"string"`
 22573  }
 22574  
 22575  // String returns the string representation.
 22576  //
 22577  // API parameter values that are decorated as "sensitive" in the API will not
 22578  // be included in the string output. The member name will be present, but the
 22579  // value will be replaced with "sensitive".
 22580  func (s UpdateConstraintInput) String() string {
 22581  	return awsutil.Prettify(s)
 22582  }
 22583  
 22584  // GoString returns the string representation.
 22585  //
 22586  // API parameter values that are decorated as "sensitive" in the API will not
 22587  // be included in the string output. The member name will be present, but the
 22588  // value will be replaced with "sensitive".
 22589  func (s UpdateConstraintInput) GoString() string {
 22590  	return s.String()
 22591  }
 22592  
 22593  // Validate inspects the fields of the type to determine if they are valid.
 22594  func (s *UpdateConstraintInput) Validate() error {
 22595  	invalidParams := request.ErrInvalidParams{Context: "UpdateConstraintInput"}
 22596  	if s.Id == nil {
 22597  		invalidParams.Add(request.NewErrParamRequired("Id"))
 22598  	}
 22599  	if s.Id != nil && len(*s.Id) < 1 {
 22600  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 22601  	}
 22602  
 22603  	if invalidParams.Len() > 0 {
 22604  		return invalidParams
 22605  	}
 22606  	return nil
 22607  }
 22608  
 22609  // SetAcceptLanguage sets the AcceptLanguage field's value.
 22610  func (s *UpdateConstraintInput) SetAcceptLanguage(v string) *UpdateConstraintInput {
 22611  	s.AcceptLanguage = &v
 22612  	return s
 22613  }
 22614  
 22615  // SetDescription sets the Description field's value.
 22616  func (s *UpdateConstraintInput) SetDescription(v string) *UpdateConstraintInput {
 22617  	s.Description = &v
 22618  	return s
 22619  }
 22620  
 22621  // SetId sets the Id field's value.
 22622  func (s *UpdateConstraintInput) SetId(v string) *UpdateConstraintInput {
 22623  	s.Id = &v
 22624  	return s
 22625  }
 22626  
 22627  // SetParameters sets the Parameters field's value.
 22628  func (s *UpdateConstraintInput) SetParameters(v string) *UpdateConstraintInput {
 22629  	s.Parameters = &v
 22630  	return s
 22631  }
 22632  
 22633  type UpdateConstraintOutput struct {
 22634  	_ struct{} `type:"structure"`
 22635  
 22636  	// Information about the constraint.
 22637  	ConstraintDetail *ConstraintDetail `type:"structure"`
 22638  
 22639  	// The constraint parameters.
 22640  	ConstraintParameters *string `type:"string"`
 22641  
 22642  	// The status of the current request.
 22643  	Status *string `type:"string" enum:"Status"`
 22644  }
 22645  
 22646  // String returns the string representation.
 22647  //
 22648  // API parameter values that are decorated as "sensitive" in the API will not
 22649  // be included in the string output. The member name will be present, but the
 22650  // value will be replaced with "sensitive".
 22651  func (s UpdateConstraintOutput) String() string {
 22652  	return awsutil.Prettify(s)
 22653  }
 22654  
 22655  // GoString returns the string representation.
 22656  //
 22657  // API parameter values that are decorated as "sensitive" in the API will not
 22658  // be included in the string output. The member name will be present, but the
 22659  // value will be replaced with "sensitive".
 22660  func (s UpdateConstraintOutput) GoString() string {
 22661  	return s.String()
 22662  }
 22663  
 22664  // SetConstraintDetail sets the ConstraintDetail field's value.
 22665  func (s *UpdateConstraintOutput) SetConstraintDetail(v *ConstraintDetail) *UpdateConstraintOutput {
 22666  	s.ConstraintDetail = v
 22667  	return s
 22668  }
 22669  
 22670  // SetConstraintParameters sets the ConstraintParameters field's value.
 22671  func (s *UpdateConstraintOutput) SetConstraintParameters(v string) *UpdateConstraintOutput {
 22672  	s.ConstraintParameters = &v
 22673  	return s
 22674  }
 22675  
 22676  // SetStatus sets the Status field's value.
 22677  func (s *UpdateConstraintOutput) SetStatus(v string) *UpdateConstraintOutput {
 22678  	s.Status = &v
 22679  	return s
 22680  }
 22681  
 22682  type UpdatePortfolioInput struct {
 22683  	_ struct{} `type:"structure"`
 22684  
 22685  	// The language code.
 22686  	//
 22687  	//    * en - English (default)
 22688  	//
 22689  	//    * jp - Japanese
 22690  	//
 22691  	//    * zh - Chinese
 22692  	AcceptLanguage *string `type:"string"`
 22693  
 22694  	// The tags to add.
 22695  	AddTags []*Tag `type:"list"`
 22696  
 22697  	// The updated description of the portfolio.
 22698  	Description *string `type:"string"`
 22699  
 22700  	// The name to use for display purposes.
 22701  	DisplayName *string `min:"1" type:"string"`
 22702  
 22703  	// The portfolio identifier.
 22704  	//
 22705  	// Id is a required field
 22706  	Id *string `min:"1" type:"string" required:"true"`
 22707  
 22708  	// The updated name of the portfolio provider.
 22709  	ProviderName *string `min:"1" type:"string"`
 22710  
 22711  	// The tags to remove.
 22712  	RemoveTags []*string `type:"list"`
 22713  }
 22714  
 22715  // String returns the string representation.
 22716  //
 22717  // API parameter values that are decorated as "sensitive" in the API will not
 22718  // be included in the string output. The member name will be present, but the
 22719  // value will be replaced with "sensitive".
 22720  func (s UpdatePortfolioInput) String() string {
 22721  	return awsutil.Prettify(s)
 22722  }
 22723  
 22724  // GoString returns the string representation.
 22725  //
 22726  // API parameter values that are decorated as "sensitive" in the API will not
 22727  // be included in the string output. The member name will be present, but the
 22728  // value will be replaced with "sensitive".
 22729  func (s UpdatePortfolioInput) GoString() string {
 22730  	return s.String()
 22731  }
 22732  
 22733  // Validate inspects the fields of the type to determine if they are valid.
 22734  func (s *UpdatePortfolioInput) Validate() error {
 22735  	invalidParams := request.ErrInvalidParams{Context: "UpdatePortfolioInput"}
 22736  	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
 22737  		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
 22738  	}
 22739  	if s.Id == nil {
 22740  		invalidParams.Add(request.NewErrParamRequired("Id"))
 22741  	}
 22742  	if s.Id != nil && len(*s.Id) < 1 {
 22743  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 22744  	}
 22745  	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
 22746  		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
 22747  	}
 22748  	if s.AddTags != nil {
 22749  		for i, v := range s.AddTags {
 22750  			if v == nil {
 22751  				continue
 22752  			}
 22753  			if err := v.Validate(); err != nil {
 22754  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
 22755  			}
 22756  		}
 22757  	}
 22758  
 22759  	if invalidParams.Len() > 0 {
 22760  		return invalidParams
 22761  	}
 22762  	return nil
 22763  }
 22764  
 22765  // SetAcceptLanguage sets the AcceptLanguage field's value.
 22766  func (s *UpdatePortfolioInput) SetAcceptLanguage(v string) *UpdatePortfolioInput {
 22767  	s.AcceptLanguage = &v
 22768  	return s
 22769  }
 22770  
 22771  // SetAddTags sets the AddTags field's value.
 22772  func (s *UpdatePortfolioInput) SetAddTags(v []*Tag) *UpdatePortfolioInput {
 22773  	s.AddTags = v
 22774  	return s
 22775  }
 22776  
 22777  // SetDescription sets the Description field's value.
 22778  func (s *UpdatePortfolioInput) SetDescription(v string) *UpdatePortfolioInput {
 22779  	s.Description = &v
 22780  	return s
 22781  }
 22782  
 22783  // SetDisplayName sets the DisplayName field's value.
 22784  func (s *UpdatePortfolioInput) SetDisplayName(v string) *UpdatePortfolioInput {
 22785  	s.DisplayName = &v
 22786  	return s
 22787  }
 22788  
 22789  // SetId sets the Id field's value.
 22790  func (s *UpdatePortfolioInput) SetId(v string) *UpdatePortfolioInput {
 22791  	s.Id = &v
 22792  	return s
 22793  }
 22794  
 22795  // SetProviderName sets the ProviderName field's value.
 22796  func (s *UpdatePortfolioInput) SetProviderName(v string) *UpdatePortfolioInput {
 22797  	s.ProviderName = &v
 22798  	return s
 22799  }
 22800  
 22801  // SetRemoveTags sets the RemoveTags field's value.
 22802  func (s *UpdatePortfolioInput) SetRemoveTags(v []*string) *UpdatePortfolioInput {
 22803  	s.RemoveTags = v
 22804  	return s
 22805  }
 22806  
 22807  type UpdatePortfolioOutput struct {
 22808  	_ struct{} `type:"structure"`
 22809  
 22810  	// Information about the portfolio.
 22811  	PortfolioDetail *PortfolioDetail `type:"structure"`
 22812  
 22813  	// Information about the tags associated with the portfolio.
 22814  	Tags []*Tag `type:"list"`
 22815  }
 22816  
 22817  // String returns the string representation.
 22818  //
 22819  // API parameter values that are decorated as "sensitive" in the API will not
 22820  // be included in the string output. The member name will be present, but the
 22821  // value will be replaced with "sensitive".
 22822  func (s UpdatePortfolioOutput) String() string {
 22823  	return awsutil.Prettify(s)
 22824  }
 22825  
 22826  // GoString returns the string representation.
 22827  //
 22828  // API parameter values that are decorated as "sensitive" in the API will not
 22829  // be included in the string output. The member name will be present, but the
 22830  // value will be replaced with "sensitive".
 22831  func (s UpdatePortfolioOutput) GoString() string {
 22832  	return s.String()
 22833  }
 22834  
 22835  // SetPortfolioDetail sets the PortfolioDetail field's value.
 22836  func (s *UpdatePortfolioOutput) SetPortfolioDetail(v *PortfolioDetail) *UpdatePortfolioOutput {
 22837  	s.PortfolioDetail = v
 22838  	return s
 22839  }
 22840  
 22841  // SetTags sets the Tags field's value.
 22842  func (s *UpdatePortfolioOutput) SetTags(v []*Tag) *UpdatePortfolioOutput {
 22843  	s.Tags = v
 22844  	return s
 22845  }
 22846  
 22847  type UpdatePortfolioShareInput struct {
 22848  	_ struct{} `type:"structure"`
 22849  
 22850  	// The language code.
 22851  	//
 22852  	//    * en - English (default)
 22853  	//
 22854  	//    * jp - Japanese
 22855  	//
 22856  	//    * zh - Chinese
 22857  	AcceptLanguage *string `type:"string"`
 22858  
 22859  	// The AWS Account Id of the recipient account. This field is required when
 22860  	// updating an external account to account type share.
 22861  	AccountId *string `type:"string"`
 22862  
 22863  	// Information about the organization node.
 22864  	OrganizationNode *OrganizationNode `type:"structure"`
 22865  
 22866  	// The unique identifier of the portfolio for which the share will be updated.
 22867  	//
 22868  	// PortfolioId is a required field
 22869  	PortfolioId *string `min:"1" type:"string" required:"true"`
 22870  
 22871  	// A flag to enable or disable TagOptions sharing for the portfolio share. If
 22872  	// this field is not provided, the current state of TagOptions sharing on the
 22873  	// portfolio share will not be modified.
 22874  	ShareTagOptions *bool `type:"boolean"`
 22875  }
 22876  
 22877  // String returns the string representation.
 22878  //
 22879  // API parameter values that are decorated as "sensitive" in the API will not
 22880  // be included in the string output. The member name will be present, but the
 22881  // value will be replaced with "sensitive".
 22882  func (s UpdatePortfolioShareInput) String() string {
 22883  	return awsutil.Prettify(s)
 22884  }
 22885  
 22886  // GoString returns the string representation.
 22887  //
 22888  // API parameter values that are decorated as "sensitive" in the API will not
 22889  // be included in the string output. The member name will be present, but the
 22890  // value will be replaced with "sensitive".
 22891  func (s UpdatePortfolioShareInput) GoString() string {
 22892  	return s.String()
 22893  }
 22894  
 22895  // Validate inspects the fields of the type to determine if they are valid.
 22896  func (s *UpdatePortfolioShareInput) Validate() error {
 22897  	invalidParams := request.ErrInvalidParams{Context: "UpdatePortfolioShareInput"}
 22898  	if s.PortfolioId == nil {
 22899  		invalidParams.Add(request.NewErrParamRequired("PortfolioId"))
 22900  	}
 22901  	if s.PortfolioId != nil && len(*s.PortfolioId) < 1 {
 22902  		invalidParams.Add(request.NewErrParamMinLen("PortfolioId", 1))
 22903  	}
 22904  
 22905  	if invalidParams.Len() > 0 {
 22906  		return invalidParams
 22907  	}
 22908  	return nil
 22909  }
 22910  
 22911  // SetAcceptLanguage sets the AcceptLanguage field's value.
 22912  func (s *UpdatePortfolioShareInput) SetAcceptLanguage(v string) *UpdatePortfolioShareInput {
 22913  	s.AcceptLanguage = &v
 22914  	return s
 22915  }
 22916  
 22917  // SetAccountId sets the AccountId field's value.
 22918  func (s *UpdatePortfolioShareInput) SetAccountId(v string) *UpdatePortfolioShareInput {
 22919  	s.AccountId = &v
 22920  	return s
 22921  }
 22922  
 22923  // SetOrganizationNode sets the OrganizationNode field's value.
 22924  func (s *UpdatePortfolioShareInput) SetOrganizationNode(v *OrganizationNode) *UpdatePortfolioShareInput {
 22925  	s.OrganizationNode = v
 22926  	return s
 22927  }
 22928  
 22929  // SetPortfolioId sets the PortfolioId field's value.
 22930  func (s *UpdatePortfolioShareInput) SetPortfolioId(v string) *UpdatePortfolioShareInput {
 22931  	s.PortfolioId = &v
 22932  	return s
 22933  }
 22934  
 22935  // SetShareTagOptions sets the ShareTagOptions field's value.
 22936  func (s *UpdatePortfolioShareInput) SetShareTagOptions(v bool) *UpdatePortfolioShareInput {
 22937  	s.ShareTagOptions = &v
 22938  	return s
 22939  }
 22940  
 22941  type UpdatePortfolioShareOutput struct {
 22942  	_ struct{} `type:"structure"`
 22943  
 22944  	// The token that tracks the status of the UpdatePortfolioShare operation for
 22945  	// external account to account or organizational type sharing.
 22946  	PortfolioShareToken *string `min:"1" type:"string"`
 22947  
 22948  	// The status of UpdatePortfolioShare operation. You can also obtain the operation
 22949  	// status using DescribePortfolioShareStatus API.
 22950  	Status *string `type:"string" enum:"ShareStatus"`
 22951  }
 22952  
 22953  // String returns the string representation.
 22954  //
 22955  // API parameter values that are decorated as "sensitive" in the API will not
 22956  // be included in the string output. The member name will be present, but the
 22957  // value will be replaced with "sensitive".
 22958  func (s UpdatePortfolioShareOutput) String() string {
 22959  	return awsutil.Prettify(s)
 22960  }
 22961  
 22962  // GoString returns the string representation.
 22963  //
 22964  // API parameter values that are decorated as "sensitive" in the API will not
 22965  // be included in the string output. The member name will be present, but the
 22966  // value will be replaced with "sensitive".
 22967  func (s UpdatePortfolioShareOutput) GoString() string {
 22968  	return s.String()
 22969  }
 22970  
 22971  // SetPortfolioShareToken sets the PortfolioShareToken field's value.
 22972  func (s *UpdatePortfolioShareOutput) SetPortfolioShareToken(v string) *UpdatePortfolioShareOutput {
 22973  	s.PortfolioShareToken = &v
 22974  	return s
 22975  }
 22976  
 22977  // SetStatus sets the Status field's value.
 22978  func (s *UpdatePortfolioShareOutput) SetStatus(v string) *UpdatePortfolioShareOutput {
 22979  	s.Status = &v
 22980  	return s
 22981  }
 22982  
 22983  type UpdateProductInput struct {
 22984  	_ struct{} `type:"structure"`
 22985  
 22986  	// The language code.
 22987  	//
 22988  	//    * en - English (default)
 22989  	//
 22990  	//    * jp - Japanese
 22991  	//
 22992  	//    * zh - Chinese
 22993  	AcceptLanguage *string `type:"string"`
 22994  
 22995  	// The tags to add to the product.
 22996  	AddTags []*Tag `type:"list"`
 22997  
 22998  	// The updated description of the product.
 22999  	Description *string `type:"string"`
 23000  
 23001  	// The updated distributor of the product.
 23002  	Distributor *string `type:"string"`
 23003  
 23004  	// The product identifier.
 23005  	//
 23006  	// Id is a required field
 23007  	Id *string `min:"1" type:"string" required:"true"`
 23008  
 23009  	// The updated product name.
 23010  	Name *string `type:"string"`
 23011  
 23012  	// The updated owner of the product.
 23013  	Owner *string `type:"string"`
 23014  
 23015  	// The tags to remove from the product.
 23016  	RemoveTags []*string `type:"list"`
 23017  
 23018  	// The updated support description for the product.
 23019  	SupportDescription *string `type:"string"`
 23020  
 23021  	// The updated support email for the product.
 23022  	SupportEmail *string `type:"string"`
 23023  
 23024  	// The updated support URL for the product.
 23025  	SupportUrl *string `type:"string"`
 23026  }
 23027  
 23028  // String returns the string representation.
 23029  //
 23030  // API parameter values that are decorated as "sensitive" in the API will not
 23031  // be included in the string output. The member name will be present, but the
 23032  // value will be replaced with "sensitive".
 23033  func (s UpdateProductInput) String() string {
 23034  	return awsutil.Prettify(s)
 23035  }
 23036  
 23037  // GoString returns the string representation.
 23038  //
 23039  // API parameter values that are decorated as "sensitive" in the API will not
 23040  // be included in the string output. The member name will be present, but the
 23041  // value will be replaced with "sensitive".
 23042  func (s UpdateProductInput) GoString() string {
 23043  	return s.String()
 23044  }
 23045  
 23046  // Validate inspects the fields of the type to determine if they are valid.
 23047  func (s *UpdateProductInput) Validate() error {
 23048  	invalidParams := request.ErrInvalidParams{Context: "UpdateProductInput"}
 23049  	if s.Id == nil {
 23050  		invalidParams.Add(request.NewErrParamRequired("Id"))
 23051  	}
 23052  	if s.Id != nil && len(*s.Id) < 1 {
 23053  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 23054  	}
 23055  	if s.AddTags != nil {
 23056  		for i, v := range s.AddTags {
 23057  			if v == nil {
 23058  				continue
 23059  			}
 23060  			if err := v.Validate(); err != nil {
 23061  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddTags", i), err.(request.ErrInvalidParams))
 23062  			}
 23063  		}
 23064  	}
 23065  
 23066  	if invalidParams.Len() > 0 {
 23067  		return invalidParams
 23068  	}
 23069  	return nil
 23070  }
 23071  
 23072  // SetAcceptLanguage sets the AcceptLanguage field's value.
 23073  func (s *UpdateProductInput) SetAcceptLanguage(v string) *UpdateProductInput {
 23074  	s.AcceptLanguage = &v
 23075  	return s
 23076  }
 23077  
 23078  // SetAddTags sets the AddTags field's value.
 23079  func (s *UpdateProductInput) SetAddTags(v []*Tag) *UpdateProductInput {
 23080  	s.AddTags = v
 23081  	return s
 23082  }
 23083  
 23084  // SetDescription sets the Description field's value.
 23085  func (s *UpdateProductInput) SetDescription(v string) *UpdateProductInput {
 23086  	s.Description = &v
 23087  	return s
 23088  }
 23089  
 23090  // SetDistributor sets the Distributor field's value.
 23091  func (s *UpdateProductInput) SetDistributor(v string) *UpdateProductInput {
 23092  	s.Distributor = &v
 23093  	return s
 23094  }
 23095  
 23096  // SetId sets the Id field's value.
 23097  func (s *UpdateProductInput) SetId(v string) *UpdateProductInput {
 23098  	s.Id = &v
 23099  	return s
 23100  }
 23101  
 23102  // SetName sets the Name field's value.
 23103  func (s *UpdateProductInput) SetName(v string) *UpdateProductInput {
 23104  	s.Name = &v
 23105  	return s
 23106  }
 23107  
 23108  // SetOwner sets the Owner field's value.
 23109  func (s *UpdateProductInput) SetOwner(v string) *UpdateProductInput {
 23110  	s.Owner = &v
 23111  	return s
 23112  }
 23113  
 23114  // SetRemoveTags sets the RemoveTags field's value.
 23115  func (s *UpdateProductInput) SetRemoveTags(v []*string) *UpdateProductInput {
 23116  	s.RemoveTags = v
 23117  	return s
 23118  }
 23119  
 23120  // SetSupportDescription sets the SupportDescription field's value.
 23121  func (s *UpdateProductInput) SetSupportDescription(v string) *UpdateProductInput {
 23122  	s.SupportDescription = &v
 23123  	return s
 23124  }
 23125  
 23126  // SetSupportEmail sets the SupportEmail field's value.
 23127  func (s *UpdateProductInput) SetSupportEmail(v string) *UpdateProductInput {
 23128  	s.SupportEmail = &v
 23129  	return s
 23130  }
 23131  
 23132  // SetSupportUrl sets the SupportUrl field's value.
 23133  func (s *UpdateProductInput) SetSupportUrl(v string) *UpdateProductInput {
 23134  	s.SupportUrl = &v
 23135  	return s
 23136  }
 23137  
 23138  type UpdateProductOutput struct {
 23139  	_ struct{} `type:"structure"`
 23140  
 23141  	// Information about the product view.
 23142  	ProductViewDetail *ProductViewDetail `type:"structure"`
 23143  
 23144  	// Information about the tags associated with the product.
 23145  	Tags []*Tag `type:"list"`
 23146  }
 23147  
 23148  // String returns the string representation.
 23149  //
 23150  // API parameter values that are decorated as "sensitive" in the API will not
 23151  // be included in the string output. The member name will be present, but the
 23152  // value will be replaced with "sensitive".
 23153  func (s UpdateProductOutput) String() string {
 23154  	return awsutil.Prettify(s)
 23155  }
 23156  
 23157  // GoString returns the string representation.
 23158  //
 23159  // API parameter values that are decorated as "sensitive" in the API will not
 23160  // be included in the string output. The member name will be present, but the
 23161  // value will be replaced with "sensitive".
 23162  func (s UpdateProductOutput) GoString() string {
 23163  	return s.String()
 23164  }
 23165  
 23166  // SetProductViewDetail sets the ProductViewDetail field's value.
 23167  func (s *UpdateProductOutput) SetProductViewDetail(v *ProductViewDetail) *UpdateProductOutput {
 23168  	s.ProductViewDetail = v
 23169  	return s
 23170  }
 23171  
 23172  // SetTags sets the Tags field's value.
 23173  func (s *UpdateProductOutput) SetTags(v []*Tag) *UpdateProductOutput {
 23174  	s.Tags = v
 23175  	return s
 23176  }
 23177  
 23178  type UpdateProvisionedProductInput struct {
 23179  	_ struct{} `type:"structure"`
 23180  
 23181  	// The language code.
 23182  	//
 23183  	//    * en - English (default)
 23184  	//
 23185  	//    * jp - Japanese
 23186  	//
 23187  	//    * zh - Chinese
 23188  	AcceptLanguage *string `type:"string"`
 23189  
 23190  	// The path identifier. This value is optional if the product has a default
 23191  	// path, and required if the product has more than one path. You must provide
 23192  	// the name or ID, but not both.
 23193  	PathId *string `min:"1" type:"string"`
 23194  
 23195  	// The name of the path. You must provide the name or ID, but not both.
 23196  	PathName *string `min:"1" type:"string"`
 23197  
 23198  	// The identifier of the product. You must provide the name or ID, but not both.
 23199  	ProductId *string `min:"1" type:"string"`
 23200  
 23201  	// The name of the product. You must provide the name or ID, but not both.
 23202  	ProductName *string `type:"string"`
 23203  
 23204  	// The identifier of the provisioned product. You must provide the name or ID,
 23205  	// but not both.
 23206  	ProvisionedProductId *string `min:"1" type:"string"`
 23207  
 23208  	// The name of the provisioned product. You cannot specify both ProvisionedProductName
 23209  	// and ProvisionedProductId.
 23210  	ProvisionedProductName *string `min:"1" type:"string"`
 23211  
 23212  	// The identifier of the provisioning artifact.
 23213  	ProvisioningArtifactId *string `min:"1" type:"string"`
 23214  
 23215  	// The name of the provisioning artifact. You must provide the name or ID, but
 23216  	// not both.
 23217  	ProvisioningArtifactName *string `type:"string"`
 23218  
 23219  	// The new parameters.
 23220  	ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
 23221  
 23222  	// An object that contains information about the provisioning preferences for
 23223  	// a stack set.
 23224  	ProvisioningPreferences *UpdateProvisioningPreferences `type:"structure"`
 23225  
 23226  	// One or more tags. Requires the product to have RESOURCE_UPDATE constraint
 23227  	// with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.
 23228  	Tags []*Tag `type:"list"`
 23229  
 23230  	// The idempotency token that uniquely identifies the provisioning update request.
 23231  	UpdateToken *string `min:"1" type:"string" idempotencyToken:"true"`
 23232  }
 23233  
 23234  // String returns the string representation.
 23235  //
 23236  // API parameter values that are decorated as "sensitive" in the API will not
 23237  // be included in the string output. The member name will be present, but the
 23238  // value will be replaced with "sensitive".
 23239  func (s UpdateProvisionedProductInput) String() string {
 23240  	return awsutil.Prettify(s)
 23241  }
 23242  
 23243  // GoString returns the string representation.
 23244  //
 23245  // API parameter values that are decorated as "sensitive" in the API will not
 23246  // be included in the string output. The member name will be present, but the
 23247  // value will be replaced with "sensitive".
 23248  func (s UpdateProvisionedProductInput) GoString() string {
 23249  	return s.String()
 23250  }
 23251  
 23252  // Validate inspects the fields of the type to determine if they are valid.
 23253  func (s *UpdateProvisionedProductInput) Validate() error {
 23254  	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductInput"}
 23255  	if s.PathId != nil && len(*s.PathId) < 1 {
 23256  		invalidParams.Add(request.NewErrParamMinLen("PathId", 1))
 23257  	}
 23258  	if s.PathName != nil && len(*s.PathName) < 1 {
 23259  		invalidParams.Add(request.NewErrParamMinLen("PathName", 1))
 23260  	}
 23261  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 23262  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 23263  	}
 23264  	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
 23265  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
 23266  	}
 23267  	if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 {
 23268  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1))
 23269  	}
 23270  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 23271  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 23272  	}
 23273  	if s.UpdateToken != nil && len(*s.UpdateToken) < 1 {
 23274  		invalidParams.Add(request.NewErrParamMinLen("UpdateToken", 1))
 23275  	}
 23276  	if s.ProvisioningParameters != nil {
 23277  		for i, v := range s.ProvisioningParameters {
 23278  			if v == nil {
 23279  				continue
 23280  			}
 23281  			if err := v.Validate(); err != nil {
 23282  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProvisioningParameters", i), err.(request.ErrInvalidParams))
 23283  			}
 23284  		}
 23285  	}
 23286  	if s.ProvisioningPreferences != nil {
 23287  		if err := s.ProvisioningPreferences.Validate(); err != nil {
 23288  			invalidParams.AddNested("ProvisioningPreferences", err.(request.ErrInvalidParams))
 23289  		}
 23290  	}
 23291  	if s.Tags != nil {
 23292  		for i, v := range s.Tags {
 23293  			if v == nil {
 23294  				continue
 23295  			}
 23296  			if err := v.Validate(); err != nil {
 23297  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 23298  			}
 23299  		}
 23300  	}
 23301  
 23302  	if invalidParams.Len() > 0 {
 23303  		return invalidParams
 23304  	}
 23305  	return nil
 23306  }
 23307  
 23308  // SetAcceptLanguage sets the AcceptLanguage field's value.
 23309  func (s *UpdateProvisionedProductInput) SetAcceptLanguage(v string) *UpdateProvisionedProductInput {
 23310  	s.AcceptLanguage = &v
 23311  	return s
 23312  }
 23313  
 23314  // SetPathId sets the PathId field's value.
 23315  func (s *UpdateProvisionedProductInput) SetPathId(v string) *UpdateProvisionedProductInput {
 23316  	s.PathId = &v
 23317  	return s
 23318  }
 23319  
 23320  // SetPathName sets the PathName field's value.
 23321  func (s *UpdateProvisionedProductInput) SetPathName(v string) *UpdateProvisionedProductInput {
 23322  	s.PathName = &v
 23323  	return s
 23324  }
 23325  
 23326  // SetProductId sets the ProductId field's value.
 23327  func (s *UpdateProvisionedProductInput) SetProductId(v string) *UpdateProvisionedProductInput {
 23328  	s.ProductId = &v
 23329  	return s
 23330  }
 23331  
 23332  // SetProductName sets the ProductName field's value.
 23333  func (s *UpdateProvisionedProductInput) SetProductName(v string) *UpdateProvisionedProductInput {
 23334  	s.ProductName = &v
 23335  	return s
 23336  }
 23337  
 23338  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 23339  func (s *UpdateProvisionedProductInput) SetProvisionedProductId(v string) *UpdateProvisionedProductInput {
 23340  	s.ProvisionedProductId = &v
 23341  	return s
 23342  }
 23343  
 23344  // SetProvisionedProductName sets the ProvisionedProductName field's value.
 23345  func (s *UpdateProvisionedProductInput) SetProvisionedProductName(v string) *UpdateProvisionedProductInput {
 23346  	s.ProvisionedProductName = &v
 23347  	return s
 23348  }
 23349  
 23350  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 23351  func (s *UpdateProvisionedProductInput) SetProvisioningArtifactId(v string) *UpdateProvisionedProductInput {
 23352  	s.ProvisioningArtifactId = &v
 23353  	return s
 23354  }
 23355  
 23356  // SetProvisioningArtifactName sets the ProvisioningArtifactName field's value.
 23357  func (s *UpdateProvisionedProductInput) SetProvisioningArtifactName(v string) *UpdateProvisionedProductInput {
 23358  	s.ProvisioningArtifactName = &v
 23359  	return s
 23360  }
 23361  
 23362  // SetProvisioningParameters sets the ProvisioningParameters field's value.
 23363  func (s *UpdateProvisionedProductInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *UpdateProvisionedProductInput {
 23364  	s.ProvisioningParameters = v
 23365  	return s
 23366  }
 23367  
 23368  // SetProvisioningPreferences sets the ProvisioningPreferences field's value.
 23369  func (s *UpdateProvisionedProductInput) SetProvisioningPreferences(v *UpdateProvisioningPreferences) *UpdateProvisionedProductInput {
 23370  	s.ProvisioningPreferences = v
 23371  	return s
 23372  }
 23373  
 23374  // SetTags sets the Tags field's value.
 23375  func (s *UpdateProvisionedProductInput) SetTags(v []*Tag) *UpdateProvisionedProductInput {
 23376  	s.Tags = v
 23377  	return s
 23378  }
 23379  
 23380  // SetUpdateToken sets the UpdateToken field's value.
 23381  func (s *UpdateProvisionedProductInput) SetUpdateToken(v string) *UpdateProvisionedProductInput {
 23382  	s.UpdateToken = &v
 23383  	return s
 23384  }
 23385  
 23386  type UpdateProvisionedProductOutput struct {
 23387  	_ struct{} `type:"structure"`
 23388  
 23389  	// Information about the result of the request.
 23390  	RecordDetail *RecordDetail `type:"structure"`
 23391  }
 23392  
 23393  // String returns the string representation.
 23394  //
 23395  // API parameter values that are decorated as "sensitive" in the API will not
 23396  // be included in the string output. The member name will be present, but the
 23397  // value will be replaced with "sensitive".
 23398  func (s UpdateProvisionedProductOutput) String() string {
 23399  	return awsutil.Prettify(s)
 23400  }
 23401  
 23402  // GoString returns the string representation.
 23403  //
 23404  // API parameter values that are decorated as "sensitive" in the API will not
 23405  // be included in the string output. The member name will be present, but the
 23406  // value will be replaced with "sensitive".
 23407  func (s UpdateProvisionedProductOutput) GoString() string {
 23408  	return s.String()
 23409  }
 23410  
 23411  // SetRecordDetail sets the RecordDetail field's value.
 23412  func (s *UpdateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *UpdateProvisionedProductOutput {
 23413  	s.RecordDetail = v
 23414  	return s
 23415  }
 23416  
 23417  type UpdateProvisionedProductPropertiesInput struct {
 23418  	_ struct{} `type:"structure"`
 23419  
 23420  	// The language code.
 23421  	//
 23422  	//    * en - English (default)
 23423  	//
 23424  	//    * jp - Japanese
 23425  	//
 23426  	//    * zh - Chinese
 23427  	AcceptLanguage *string `type:"string"`
 23428  
 23429  	// The idempotency token that uniquely identifies the provisioning product update
 23430  	// request.
 23431  	IdempotencyToken *string `min:"1" type:"string" idempotencyToken:"true"`
 23432  
 23433  	// The identifier of the provisioned product.
 23434  	//
 23435  	// ProvisionedProductId is a required field
 23436  	ProvisionedProductId *string `min:"1" type:"string" required:"true"`
 23437  
 23438  	// A map that contains the provisioned product properties to be updated.
 23439  	//
 23440  	// The LAUNCH_ROLE key accepts role ARNs. This key allows an administrator to
 23441  	// call UpdateProvisionedProductProperties to update the launch role that is
 23442  	// associated with a provisioned product. This role is used when an end user
 23443  	// calls a provisioning operation such as UpdateProvisionedProduct, TerminateProvisionedProduct,
 23444  	// or ExecuteProvisionedProductServiceAction. Only a role ARN is valid. A user
 23445  	// ARN is invalid.
 23446  	//
 23447  	// The OWNER key accepts user ARNs and role ARNs. The owner is the user that
 23448  	// has permission to see, update, terminate, and execute service actions in
 23449  	// the provisioned product.
 23450  	//
 23451  	// The administrator can change the owner of a provisioned product to another
 23452  	// IAM user within the same account. Both end user owners and administrators
 23453  	// can see ownership history of the provisioned product using the ListRecordHistory
 23454  	// API. The new owner can describe all past records for the provisioned product
 23455  	// using the DescribeRecord API. The previous owner can no longer use DescribeRecord,
 23456  	// but can still see the product's history from when he was an owner using ListRecordHistory.
 23457  	//
 23458  	// If a provisioned product ownership is assigned to an end user, they can see
 23459  	// and perform any action through the API or Service Catalog console such as
 23460  	// update, terminate, and execute service actions. If an end user provisions
 23461  	// a product and the owner is updated to someone else, they will no longer be
 23462  	// able to see or perform any actions through API or the Service Catalog console
 23463  	// on that provisioned product.
 23464  	//
 23465  	// ProvisionedProductProperties is a required field
 23466  	ProvisionedProductProperties map[string]*string `min:"1" type:"map" required:"true"`
 23467  }
 23468  
 23469  // String returns the string representation.
 23470  //
 23471  // API parameter values that are decorated as "sensitive" in the API will not
 23472  // be included in the string output. The member name will be present, but the
 23473  // value will be replaced with "sensitive".
 23474  func (s UpdateProvisionedProductPropertiesInput) String() string {
 23475  	return awsutil.Prettify(s)
 23476  }
 23477  
 23478  // GoString returns the string representation.
 23479  //
 23480  // API parameter values that are decorated as "sensitive" in the API will not
 23481  // be included in the string output. The member name will be present, but the
 23482  // value will be replaced with "sensitive".
 23483  func (s UpdateProvisionedProductPropertiesInput) GoString() string {
 23484  	return s.String()
 23485  }
 23486  
 23487  // Validate inspects the fields of the type to determine if they are valid.
 23488  func (s *UpdateProvisionedProductPropertiesInput) Validate() error {
 23489  	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisionedProductPropertiesInput"}
 23490  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 23491  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 23492  	}
 23493  	if s.ProvisionedProductId == nil {
 23494  		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductId"))
 23495  	}
 23496  	if s.ProvisionedProductId != nil && len(*s.ProvisionedProductId) < 1 {
 23497  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductId", 1))
 23498  	}
 23499  	if s.ProvisionedProductProperties == nil {
 23500  		invalidParams.Add(request.NewErrParamRequired("ProvisionedProductProperties"))
 23501  	}
 23502  	if s.ProvisionedProductProperties != nil && len(s.ProvisionedProductProperties) < 1 {
 23503  		invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductProperties", 1))
 23504  	}
 23505  
 23506  	if invalidParams.Len() > 0 {
 23507  		return invalidParams
 23508  	}
 23509  	return nil
 23510  }
 23511  
 23512  // SetAcceptLanguage sets the AcceptLanguage field's value.
 23513  func (s *UpdateProvisionedProductPropertiesInput) SetAcceptLanguage(v string) *UpdateProvisionedProductPropertiesInput {
 23514  	s.AcceptLanguage = &v
 23515  	return s
 23516  }
 23517  
 23518  // SetIdempotencyToken sets the IdempotencyToken field's value.
 23519  func (s *UpdateProvisionedProductPropertiesInput) SetIdempotencyToken(v string) *UpdateProvisionedProductPropertiesInput {
 23520  	s.IdempotencyToken = &v
 23521  	return s
 23522  }
 23523  
 23524  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 23525  func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesInput {
 23526  	s.ProvisionedProductId = &v
 23527  	return s
 23528  }
 23529  
 23530  // SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
 23531  func (s *UpdateProvisionedProductPropertiesInput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesInput {
 23532  	s.ProvisionedProductProperties = v
 23533  	return s
 23534  }
 23535  
 23536  type UpdateProvisionedProductPropertiesOutput struct {
 23537  	_ struct{} `type:"structure"`
 23538  
 23539  	// The provisioned product identifier.
 23540  	ProvisionedProductId *string `min:"1" type:"string"`
 23541  
 23542  	// A map that contains the properties updated.
 23543  	ProvisionedProductProperties map[string]*string `min:"1" type:"map"`
 23544  
 23545  	// The identifier of the record.
 23546  	RecordId *string `min:"1" type:"string"`
 23547  
 23548  	// The status of the request.
 23549  	Status *string `type:"string" enum:"RecordStatus"`
 23550  }
 23551  
 23552  // String returns the string representation.
 23553  //
 23554  // API parameter values that are decorated as "sensitive" in the API will not
 23555  // be included in the string output. The member name will be present, but the
 23556  // value will be replaced with "sensitive".
 23557  func (s UpdateProvisionedProductPropertiesOutput) String() string {
 23558  	return awsutil.Prettify(s)
 23559  }
 23560  
 23561  // GoString returns the string representation.
 23562  //
 23563  // API parameter values that are decorated as "sensitive" in the API will not
 23564  // be included in the string output. The member name will be present, but the
 23565  // value will be replaced with "sensitive".
 23566  func (s UpdateProvisionedProductPropertiesOutput) GoString() string {
 23567  	return s.String()
 23568  }
 23569  
 23570  // SetProvisionedProductId sets the ProvisionedProductId field's value.
 23571  func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductId(v string) *UpdateProvisionedProductPropertiesOutput {
 23572  	s.ProvisionedProductId = &v
 23573  	return s
 23574  }
 23575  
 23576  // SetProvisionedProductProperties sets the ProvisionedProductProperties field's value.
 23577  func (s *UpdateProvisionedProductPropertiesOutput) SetProvisionedProductProperties(v map[string]*string) *UpdateProvisionedProductPropertiesOutput {
 23578  	s.ProvisionedProductProperties = v
 23579  	return s
 23580  }
 23581  
 23582  // SetRecordId sets the RecordId field's value.
 23583  func (s *UpdateProvisionedProductPropertiesOutput) SetRecordId(v string) *UpdateProvisionedProductPropertiesOutput {
 23584  	s.RecordId = &v
 23585  	return s
 23586  }
 23587  
 23588  // SetStatus sets the Status field's value.
 23589  func (s *UpdateProvisionedProductPropertiesOutput) SetStatus(v string) *UpdateProvisionedProductPropertiesOutput {
 23590  	s.Status = &v
 23591  	return s
 23592  }
 23593  
 23594  type UpdateProvisioningArtifactInput struct {
 23595  	_ struct{} `type:"structure"`
 23596  
 23597  	// The language code.
 23598  	//
 23599  	//    * en - English (default)
 23600  	//
 23601  	//    * jp - Japanese
 23602  	//
 23603  	//    * zh - Chinese
 23604  	AcceptLanguage *string `type:"string"`
 23605  
 23606  	// Indicates whether the product version is active.
 23607  	//
 23608  	// Inactive provisioning artifacts are invisible to end users. End users cannot
 23609  	// launch or update a provisioned product from an inactive provisioning artifact.
 23610  	Active *bool `type:"boolean"`
 23611  
 23612  	// The updated description of the provisioning artifact.
 23613  	Description *string `type:"string"`
 23614  
 23615  	// Information set by the administrator to provide guidance to end users about
 23616  	// which provisioning artifacts to use.
 23617  	//
 23618  	// The DEFAULT value indicates that the product version is active.
 23619  	//
 23620  	// The administrator can set the guidance to DEPRECATED to inform users that
 23621  	// the product version is deprecated. Users are able to make updates to a provisioned
 23622  	// product of a deprecated version but cannot launch new provisioned products
 23623  	// using a deprecated version.
 23624  	Guidance *string `type:"string" enum:"ProvisioningArtifactGuidance"`
 23625  
 23626  	// The updated name of the provisioning artifact.
 23627  	Name *string `type:"string"`
 23628  
 23629  	// The product identifier.
 23630  	//
 23631  	// ProductId is a required field
 23632  	ProductId *string `min:"1" type:"string" required:"true"`
 23633  
 23634  	// The identifier of the provisioning artifact.
 23635  	//
 23636  	// ProvisioningArtifactId is a required field
 23637  	ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
 23638  }
 23639  
 23640  // String returns the string representation.
 23641  //
 23642  // API parameter values that are decorated as "sensitive" in the API will not
 23643  // be included in the string output. The member name will be present, but the
 23644  // value will be replaced with "sensitive".
 23645  func (s UpdateProvisioningArtifactInput) String() string {
 23646  	return awsutil.Prettify(s)
 23647  }
 23648  
 23649  // GoString returns the string representation.
 23650  //
 23651  // API parameter values that are decorated as "sensitive" in the API will not
 23652  // be included in the string output. The member name will be present, but the
 23653  // value will be replaced with "sensitive".
 23654  func (s UpdateProvisioningArtifactInput) GoString() string {
 23655  	return s.String()
 23656  }
 23657  
 23658  // Validate inspects the fields of the type to determine if they are valid.
 23659  func (s *UpdateProvisioningArtifactInput) Validate() error {
 23660  	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningArtifactInput"}
 23661  	if s.ProductId == nil {
 23662  		invalidParams.Add(request.NewErrParamRequired("ProductId"))
 23663  	}
 23664  	if s.ProductId != nil && len(*s.ProductId) < 1 {
 23665  		invalidParams.Add(request.NewErrParamMinLen("ProductId", 1))
 23666  	}
 23667  	if s.ProvisioningArtifactId == nil {
 23668  		invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId"))
 23669  	}
 23670  	if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 {
 23671  		invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1))
 23672  	}
 23673  
 23674  	if invalidParams.Len() > 0 {
 23675  		return invalidParams
 23676  	}
 23677  	return nil
 23678  }
 23679  
 23680  // SetAcceptLanguage sets the AcceptLanguage field's value.
 23681  func (s *UpdateProvisioningArtifactInput) SetAcceptLanguage(v string) *UpdateProvisioningArtifactInput {
 23682  	s.AcceptLanguage = &v
 23683  	return s
 23684  }
 23685  
 23686  // SetActive sets the Active field's value.
 23687  func (s *UpdateProvisioningArtifactInput) SetActive(v bool) *UpdateProvisioningArtifactInput {
 23688  	s.Active = &v
 23689  	return s
 23690  }
 23691  
 23692  // SetDescription sets the Description field's value.
 23693  func (s *UpdateProvisioningArtifactInput) SetDescription(v string) *UpdateProvisioningArtifactInput {
 23694  	s.Description = &v
 23695  	return s
 23696  }
 23697  
 23698  // SetGuidance sets the Guidance field's value.
 23699  func (s *UpdateProvisioningArtifactInput) SetGuidance(v string) *UpdateProvisioningArtifactInput {
 23700  	s.Guidance = &v
 23701  	return s
 23702  }
 23703  
 23704  // SetName sets the Name field's value.
 23705  func (s *UpdateProvisioningArtifactInput) SetName(v string) *UpdateProvisioningArtifactInput {
 23706  	s.Name = &v
 23707  	return s
 23708  }
 23709  
 23710  // SetProductId sets the ProductId field's value.
 23711  func (s *UpdateProvisioningArtifactInput) SetProductId(v string) *UpdateProvisioningArtifactInput {
 23712  	s.ProductId = &v
 23713  	return s
 23714  }
 23715  
 23716  // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value.
 23717  func (s *UpdateProvisioningArtifactInput) SetProvisioningArtifactId(v string) *UpdateProvisioningArtifactInput {
 23718  	s.ProvisioningArtifactId = &v
 23719  	return s
 23720  }
 23721  
 23722  type UpdateProvisioningArtifactOutput struct {
 23723  	_ struct{} `type:"structure"`
 23724  
 23725  	// The URL of the CloudFormation template in Amazon S3.
 23726  	Info map[string]*string `min:"1" type:"map"`
 23727  
 23728  	// Information about the provisioning artifact.
 23729  	ProvisioningArtifactDetail *ProvisioningArtifactDetail `type:"structure"`
 23730  
 23731  	// The status of the current request.
 23732  	Status *string `type:"string" enum:"Status"`
 23733  }
 23734  
 23735  // String returns the string representation.
 23736  //
 23737  // API parameter values that are decorated as "sensitive" in the API will not
 23738  // be included in the string output. The member name will be present, but the
 23739  // value will be replaced with "sensitive".
 23740  func (s UpdateProvisioningArtifactOutput) String() string {
 23741  	return awsutil.Prettify(s)
 23742  }
 23743  
 23744  // GoString returns the string representation.
 23745  //
 23746  // API parameter values that are decorated as "sensitive" in the API will not
 23747  // be included in the string output. The member name will be present, but the
 23748  // value will be replaced with "sensitive".
 23749  func (s UpdateProvisioningArtifactOutput) GoString() string {
 23750  	return s.String()
 23751  }
 23752  
 23753  // SetInfo sets the Info field's value.
 23754  func (s *UpdateProvisioningArtifactOutput) SetInfo(v map[string]*string) *UpdateProvisioningArtifactOutput {
 23755  	s.Info = v
 23756  	return s
 23757  }
 23758  
 23759  // SetProvisioningArtifactDetail sets the ProvisioningArtifactDetail field's value.
 23760  func (s *UpdateProvisioningArtifactOutput) SetProvisioningArtifactDetail(v *ProvisioningArtifactDetail) *UpdateProvisioningArtifactOutput {
 23761  	s.ProvisioningArtifactDetail = v
 23762  	return s
 23763  }
 23764  
 23765  // SetStatus sets the Status field's value.
 23766  func (s *UpdateProvisioningArtifactOutput) SetStatus(v string) *UpdateProvisioningArtifactOutput {
 23767  	s.Status = &v
 23768  	return s
 23769  }
 23770  
 23771  // The parameter key-value pair used to update a provisioned product.
 23772  type UpdateProvisioningParameter struct {
 23773  	_ struct{} `type:"structure"`
 23774  
 23775  	// The parameter key.
 23776  	Key *string `min:"1" type:"string"`
 23777  
 23778  	// If set to true, Value is ignored and the previous parameter value is kept.
 23779  	UsePreviousValue *bool `type:"boolean"`
 23780  
 23781  	// The parameter value.
 23782  	Value *string `type:"string"`
 23783  }
 23784  
 23785  // String returns the string representation.
 23786  //
 23787  // API parameter values that are decorated as "sensitive" in the API will not
 23788  // be included in the string output. The member name will be present, but the
 23789  // value will be replaced with "sensitive".
 23790  func (s UpdateProvisioningParameter) String() string {
 23791  	return awsutil.Prettify(s)
 23792  }
 23793  
 23794  // GoString returns the string representation.
 23795  //
 23796  // API parameter values that are decorated as "sensitive" in the API will not
 23797  // be included in the string output. The member name will be present, but the
 23798  // value will be replaced with "sensitive".
 23799  func (s UpdateProvisioningParameter) GoString() string {
 23800  	return s.String()
 23801  }
 23802  
 23803  // Validate inspects the fields of the type to determine if they are valid.
 23804  func (s *UpdateProvisioningParameter) Validate() error {
 23805  	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningParameter"}
 23806  	if s.Key != nil && len(*s.Key) < 1 {
 23807  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 23808  	}
 23809  
 23810  	if invalidParams.Len() > 0 {
 23811  		return invalidParams
 23812  	}
 23813  	return nil
 23814  }
 23815  
 23816  // SetKey sets the Key field's value.
 23817  func (s *UpdateProvisioningParameter) SetKey(v string) *UpdateProvisioningParameter {
 23818  	s.Key = &v
 23819  	return s
 23820  }
 23821  
 23822  // SetUsePreviousValue sets the UsePreviousValue field's value.
 23823  func (s *UpdateProvisioningParameter) SetUsePreviousValue(v bool) *UpdateProvisioningParameter {
 23824  	s.UsePreviousValue = &v
 23825  	return s
 23826  }
 23827  
 23828  // SetValue sets the Value field's value.
 23829  func (s *UpdateProvisioningParameter) SetValue(v string) *UpdateProvisioningParameter {
 23830  	s.Value = &v
 23831  	return s
 23832  }
 23833  
 23834  // The user-defined preferences that will be applied when updating a provisioned
 23835  // product. Not all preferences are applicable to all provisioned product types.
 23836  type UpdateProvisioningPreferences struct {
 23837  	_ struct{} `type:"structure"`
 23838  
 23839  	// One or more AWS accounts that will have access to the provisioned product.
 23840  	//
 23841  	// Applicable only to a CFN_STACKSET provisioned product type.
 23842  	//
 23843  	// The AWS accounts specified should be within the list of accounts in the STACKSET
 23844  	// constraint. To get the list of accounts in the STACKSET constraint, use the
 23845  	// DescribeProvisioningParameters operation.
 23846  	//
 23847  	// If no values are specified, the default value is all accounts from the STACKSET
 23848  	// constraint.
 23849  	StackSetAccounts []*string `type:"list"`
 23850  
 23851  	// The number of accounts, per region, for which this operation can fail before
 23852  	// AWS Service Catalog stops the operation in that region. If the operation
 23853  	// is stopped in a region, AWS Service Catalog doesn't attempt the operation
 23854  	// in any subsequent regions.
 23855  	//
 23856  	// Applicable only to a CFN_STACKSET provisioned product type.
 23857  	//
 23858  	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
 23859  	// but not both.
 23860  	//
 23861  	// The default value is 0 if no value is specified.
 23862  	StackSetFailureToleranceCount *int64 `type:"integer"`
 23863  
 23864  	// The percentage of accounts, per region, for which this stack operation can
 23865  	// fail before AWS Service Catalog stops the operation in that region. If the
 23866  	// operation is stopped in a region, AWS Service Catalog doesn't attempt the
 23867  	// operation in any subsequent regions.
 23868  	//
 23869  	// When calculating the number of accounts based on the specified percentage,
 23870  	// AWS Service Catalog rounds down to the next whole number.
 23871  	//
 23872  	// Applicable only to a CFN_STACKSET provisioned product type.
 23873  	//
 23874  	// Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage,
 23875  	// but not both.
 23876  	StackSetFailureTolerancePercentage *int64 `type:"integer"`
 23877  
 23878  	// The maximum number of accounts in which to perform this operation at one
 23879  	// time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount
 23880  	// is at most one more than the StackSetFailureToleranceCount.
 23881  	//
 23882  	// Note that this setting lets you specify the maximum for operations. For large
 23883  	// deployments, under certain circumstances the actual number of accounts acted
 23884  	// upon concurrently may be lower due to service throttling.
 23885  	//
 23886  	// Applicable only to a CFN_STACKSET provisioned product type.
 23887  	//
 23888  	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
 23889  	// but not both.
 23890  	StackSetMaxConcurrencyCount *int64 `min:"1" type:"integer"`
 23891  
 23892  	// The maximum percentage of accounts in which to perform this operation at
 23893  	// one time.
 23894  	//
 23895  	// When calculating the number of accounts based on the specified percentage,
 23896  	// AWS Service Catalog rounds down to the next whole number. This is true except
 23897  	// in cases where rounding down would result is zero. In this case, AWS Service
 23898  	// Catalog sets the number as 1 instead.
 23899  	//
 23900  	// Note that this setting lets you specify the maximum for operations. For large
 23901  	// deployments, under certain circumstances the actual number of accounts acted
 23902  	// upon concurrently may be lower due to service throttling.
 23903  	//
 23904  	// Applicable only to a CFN_STACKSET provisioned product type.
 23905  	//
 23906  	// Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage,
 23907  	// but not both.
 23908  	StackSetMaxConcurrencyPercentage *int64 `min:"1" type:"integer"`
 23909  
 23910  	// Determines what action AWS Service Catalog performs to a stack set or a stack
 23911  	// instance represented by the provisioned product. The default value is UPDATE
 23912  	// if nothing is specified.
 23913  	//
 23914  	// Applicable only to a CFN_STACKSET provisioned product type.
 23915  	//
 23916  	// CREATE
 23917  	//
 23918  	// Creates a new stack instance in the stack set represented by the provisioned
 23919  	// product. In this case, only new stack instances are created based on accounts
 23920  	// and regions; if new ProductId or ProvisioningArtifactID are passed, they
 23921  	// will be ignored.
 23922  	//
 23923  	// UPDATE
 23924  	//
 23925  	// Updates the stack set represented by the provisioned product and also its
 23926  	// stack instances.
 23927  	//
 23928  	// DELETE
 23929  	//
 23930  	// Deletes a stack instance in the stack set represented by the provisioned
 23931  	// product.
 23932  	StackSetOperationType *string `type:"string" enum:"StackSetOperationType"`
 23933  
 23934  	// One or more AWS Regions where the provisioned product will be available.
 23935  	//
 23936  	// Applicable only to a CFN_STACKSET provisioned product type.
 23937  	//
 23938  	// The specified regions should be within the list of regions from the STACKSET
 23939  	// constraint. To get the list of regions in the STACKSET constraint, use the
 23940  	// DescribeProvisioningParameters operation.
 23941  	//
 23942  	// If no values are specified, the default value is all regions from the STACKSET
 23943  	// constraint.
 23944  	StackSetRegions []*string `type:"list"`
 23945  }
 23946  
 23947  // String returns the string representation.
 23948  //
 23949  // API parameter values that are decorated as "sensitive" in the API will not
 23950  // be included in the string output. The member name will be present, but the
 23951  // value will be replaced with "sensitive".
 23952  func (s UpdateProvisioningPreferences) String() string {
 23953  	return awsutil.Prettify(s)
 23954  }
 23955  
 23956  // GoString returns the string representation.
 23957  //
 23958  // API parameter values that are decorated as "sensitive" in the API will not
 23959  // be included in the string output. The member name will be present, but the
 23960  // value will be replaced with "sensitive".
 23961  func (s UpdateProvisioningPreferences) GoString() string {
 23962  	return s.String()
 23963  }
 23964  
 23965  // Validate inspects the fields of the type to determine if they are valid.
 23966  func (s *UpdateProvisioningPreferences) Validate() error {
 23967  	invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningPreferences"}
 23968  	if s.StackSetMaxConcurrencyCount != nil && *s.StackSetMaxConcurrencyCount < 1 {
 23969  		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyCount", 1))
 23970  	}
 23971  	if s.StackSetMaxConcurrencyPercentage != nil && *s.StackSetMaxConcurrencyPercentage < 1 {
 23972  		invalidParams.Add(request.NewErrParamMinValue("StackSetMaxConcurrencyPercentage", 1))
 23973  	}
 23974  
 23975  	if invalidParams.Len() > 0 {
 23976  		return invalidParams
 23977  	}
 23978  	return nil
 23979  }
 23980  
 23981  // SetStackSetAccounts sets the StackSetAccounts field's value.
 23982  func (s *UpdateProvisioningPreferences) SetStackSetAccounts(v []*string) *UpdateProvisioningPreferences {
 23983  	s.StackSetAccounts = v
 23984  	return s
 23985  }
 23986  
 23987  // SetStackSetFailureToleranceCount sets the StackSetFailureToleranceCount field's value.
 23988  func (s *UpdateProvisioningPreferences) SetStackSetFailureToleranceCount(v int64) *UpdateProvisioningPreferences {
 23989  	s.StackSetFailureToleranceCount = &v
 23990  	return s
 23991  }
 23992  
 23993  // SetStackSetFailureTolerancePercentage sets the StackSetFailureTolerancePercentage field's value.
 23994  func (s *UpdateProvisioningPreferences) SetStackSetFailureTolerancePercentage(v int64) *UpdateProvisioningPreferences {
 23995  	s.StackSetFailureTolerancePercentage = &v
 23996  	return s
 23997  }
 23998  
 23999  // SetStackSetMaxConcurrencyCount sets the StackSetMaxConcurrencyCount field's value.
 24000  func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyCount(v int64) *UpdateProvisioningPreferences {
 24001  	s.StackSetMaxConcurrencyCount = &v
 24002  	return s
 24003  }
 24004  
 24005  // SetStackSetMaxConcurrencyPercentage sets the StackSetMaxConcurrencyPercentage field's value.
 24006  func (s *UpdateProvisioningPreferences) SetStackSetMaxConcurrencyPercentage(v int64) *UpdateProvisioningPreferences {
 24007  	s.StackSetMaxConcurrencyPercentage = &v
 24008  	return s
 24009  }
 24010  
 24011  // SetStackSetOperationType sets the StackSetOperationType field's value.
 24012  func (s *UpdateProvisioningPreferences) SetStackSetOperationType(v string) *UpdateProvisioningPreferences {
 24013  	s.StackSetOperationType = &v
 24014  	return s
 24015  }
 24016  
 24017  // SetStackSetRegions sets the StackSetRegions field's value.
 24018  func (s *UpdateProvisioningPreferences) SetStackSetRegions(v []*string) *UpdateProvisioningPreferences {
 24019  	s.StackSetRegions = v
 24020  	return s
 24021  }
 24022  
 24023  type UpdateServiceActionInput struct {
 24024  	_ struct{} `type:"structure"`
 24025  
 24026  	// The language code.
 24027  	//
 24028  	//    * en - English (default)
 24029  	//
 24030  	//    * jp - Japanese
 24031  	//
 24032  	//    * zh - Chinese
 24033  	AcceptLanguage *string `type:"string"`
 24034  
 24035  	// A map that defines the self-service action.
 24036  	Definition map[string]*string `min:"1" type:"map"`
 24037  
 24038  	// The self-service action description.
 24039  	Description *string `type:"string"`
 24040  
 24041  	// The self-service action identifier.
 24042  	//
 24043  	// Id is a required field
 24044  	Id *string `min:"1" type:"string" required:"true"`
 24045  
 24046  	// The self-service action name.
 24047  	Name *string `min:"1" type:"string"`
 24048  }
 24049  
 24050  // String returns the string representation.
 24051  //
 24052  // API parameter values that are decorated as "sensitive" in the API will not
 24053  // be included in the string output. The member name will be present, but the
 24054  // value will be replaced with "sensitive".
 24055  func (s UpdateServiceActionInput) String() string {
 24056  	return awsutil.Prettify(s)
 24057  }
 24058  
 24059  // GoString returns the string representation.
 24060  //
 24061  // API parameter values that are decorated as "sensitive" in the API will not
 24062  // be included in the string output. The member name will be present, but the
 24063  // value will be replaced with "sensitive".
 24064  func (s UpdateServiceActionInput) GoString() string {
 24065  	return s.String()
 24066  }
 24067  
 24068  // Validate inspects the fields of the type to determine if they are valid.
 24069  func (s *UpdateServiceActionInput) Validate() error {
 24070  	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceActionInput"}
 24071  	if s.Definition != nil && len(s.Definition) < 1 {
 24072  		invalidParams.Add(request.NewErrParamMinLen("Definition", 1))
 24073  	}
 24074  	if s.Id == nil {
 24075  		invalidParams.Add(request.NewErrParamRequired("Id"))
 24076  	}
 24077  	if s.Id != nil && len(*s.Id) < 1 {
 24078  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 24079  	}
 24080  	if s.Name != nil && len(*s.Name) < 1 {
 24081  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 24082  	}
 24083  
 24084  	if invalidParams.Len() > 0 {
 24085  		return invalidParams
 24086  	}
 24087  	return nil
 24088  }
 24089  
 24090  // SetAcceptLanguage sets the AcceptLanguage field's value.
 24091  func (s *UpdateServiceActionInput) SetAcceptLanguage(v string) *UpdateServiceActionInput {
 24092  	s.AcceptLanguage = &v
 24093  	return s
 24094  }
 24095  
 24096  // SetDefinition sets the Definition field's value.
 24097  func (s *UpdateServiceActionInput) SetDefinition(v map[string]*string) *UpdateServiceActionInput {
 24098  	s.Definition = v
 24099  	return s
 24100  }
 24101  
 24102  // SetDescription sets the Description field's value.
 24103  func (s *UpdateServiceActionInput) SetDescription(v string) *UpdateServiceActionInput {
 24104  	s.Description = &v
 24105  	return s
 24106  }
 24107  
 24108  // SetId sets the Id field's value.
 24109  func (s *UpdateServiceActionInput) SetId(v string) *UpdateServiceActionInput {
 24110  	s.Id = &v
 24111  	return s
 24112  }
 24113  
 24114  // SetName sets the Name field's value.
 24115  func (s *UpdateServiceActionInput) SetName(v string) *UpdateServiceActionInput {
 24116  	s.Name = &v
 24117  	return s
 24118  }
 24119  
 24120  type UpdateServiceActionOutput struct {
 24121  	_ struct{} `type:"structure"`
 24122  
 24123  	// Detailed information about the self-service action.
 24124  	ServiceActionDetail *ServiceActionDetail `type:"structure"`
 24125  }
 24126  
 24127  // String returns the string representation.
 24128  //
 24129  // API parameter values that are decorated as "sensitive" in the API will not
 24130  // be included in the string output. The member name will be present, but the
 24131  // value will be replaced with "sensitive".
 24132  func (s UpdateServiceActionOutput) String() string {
 24133  	return awsutil.Prettify(s)
 24134  }
 24135  
 24136  // GoString returns the string representation.
 24137  //
 24138  // API parameter values that are decorated as "sensitive" in the API will not
 24139  // be included in the string output. The member name will be present, but the
 24140  // value will be replaced with "sensitive".
 24141  func (s UpdateServiceActionOutput) GoString() string {
 24142  	return s.String()
 24143  }
 24144  
 24145  // SetServiceActionDetail sets the ServiceActionDetail field's value.
 24146  func (s *UpdateServiceActionOutput) SetServiceActionDetail(v *ServiceActionDetail) *UpdateServiceActionOutput {
 24147  	s.ServiceActionDetail = v
 24148  	return s
 24149  }
 24150  
 24151  type UpdateTagOptionInput struct {
 24152  	_ struct{} `type:"structure"`
 24153  
 24154  	// The updated active state.
 24155  	Active *bool `type:"boolean"`
 24156  
 24157  	// The TagOption identifier.
 24158  	//
 24159  	// Id is a required field
 24160  	Id *string `min:"1" type:"string" required:"true"`
 24161  
 24162  	// The updated value.
 24163  	Value *string `min:"1" type:"string"`
 24164  }
 24165  
 24166  // String returns the string representation.
 24167  //
 24168  // API parameter values that are decorated as "sensitive" in the API will not
 24169  // be included in the string output. The member name will be present, but the
 24170  // value will be replaced with "sensitive".
 24171  func (s UpdateTagOptionInput) String() string {
 24172  	return awsutil.Prettify(s)
 24173  }
 24174  
 24175  // GoString returns the string representation.
 24176  //
 24177  // API parameter values that are decorated as "sensitive" in the API will not
 24178  // be included in the string output. The member name will be present, but the
 24179  // value will be replaced with "sensitive".
 24180  func (s UpdateTagOptionInput) GoString() string {
 24181  	return s.String()
 24182  }
 24183  
 24184  // Validate inspects the fields of the type to determine if they are valid.
 24185  func (s *UpdateTagOptionInput) Validate() error {
 24186  	invalidParams := request.ErrInvalidParams{Context: "UpdateTagOptionInput"}
 24187  	if s.Id == nil {
 24188  		invalidParams.Add(request.NewErrParamRequired("Id"))
 24189  	}
 24190  	if s.Id != nil && len(*s.Id) < 1 {
 24191  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 24192  	}
 24193  	if s.Value != nil && len(*s.Value) < 1 {
 24194  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 24195  	}
 24196  
 24197  	if invalidParams.Len() > 0 {
 24198  		return invalidParams
 24199  	}
 24200  	return nil
 24201  }
 24202  
 24203  // SetActive sets the Active field's value.
 24204  func (s *UpdateTagOptionInput) SetActive(v bool) *UpdateTagOptionInput {
 24205  	s.Active = &v
 24206  	return s
 24207  }
 24208  
 24209  // SetId sets the Id field's value.
 24210  func (s *UpdateTagOptionInput) SetId(v string) *UpdateTagOptionInput {
 24211  	s.Id = &v
 24212  	return s
 24213  }
 24214  
 24215  // SetValue sets the Value field's value.
 24216  func (s *UpdateTagOptionInput) SetValue(v string) *UpdateTagOptionInput {
 24217  	s.Value = &v
 24218  	return s
 24219  }
 24220  
 24221  type UpdateTagOptionOutput struct {
 24222  	_ struct{} `type:"structure"`
 24223  
 24224  	// Information about the TagOption.
 24225  	TagOptionDetail *TagOptionDetail `type:"structure"`
 24226  }
 24227  
 24228  // String returns the string representation.
 24229  //
 24230  // API parameter values that are decorated as "sensitive" in the API will not
 24231  // be included in the string output. The member name will be present, but the
 24232  // value will be replaced with "sensitive".
 24233  func (s UpdateTagOptionOutput) String() string {
 24234  	return awsutil.Prettify(s)
 24235  }
 24236  
 24237  // GoString returns the string representation.
 24238  //
 24239  // API parameter values that are decorated as "sensitive" in the API will not
 24240  // be included in the string output. The member name will be present, but the
 24241  // value will be replaced with "sensitive".
 24242  func (s UpdateTagOptionOutput) GoString() string {
 24243  	return s.String()
 24244  }
 24245  
 24246  // SetTagOptionDetail sets the TagOptionDetail field's value.
 24247  func (s *UpdateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *UpdateTagOptionOutput {
 24248  	s.TagOptionDetail = v
 24249  	return s
 24250  }
 24251  
 24252  // Additional information provided by the administrator.
 24253  type UsageInstruction struct {
 24254  	_ struct{} `type:"structure"`
 24255  
 24256  	// The usage instruction type for the value.
 24257  	Type *string `type:"string"`
 24258  
 24259  	// The usage instruction value for this type.
 24260  	Value *string `type:"string"`
 24261  }
 24262  
 24263  // String returns the string representation.
 24264  //
 24265  // API parameter values that are decorated as "sensitive" in the API will not
 24266  // be included in the string output. The member name will be present, but the
 24267  // value will be replaced with "sensitive".
 24268  func (s UsageInstruction) String() string {
 24269  	return awsutil.Prettify(s)
 24270  }
 24271  
 24272  // GoString returns the string representation.
 24273  //
 24274  // API parameter values that are decorated as "sensitive" in the API will not
 24275  // be included in the string output. The member name will be present, but the
 24276  // value will be replaced with "sensitive".
 24277  func (s UsageInstruction) GoString() string {
 24278  	return s.String()
 24279  }
 24280  
 24281  // SetType sets the Type field's value.
 24282  func (s *UsageInstruction) SetType(v string) *UsageInstruction {
 24283  	s.Type = &v
 24284  	return s
 24285  }
 24286  
 24287  // SetValue sets the Value field's value.
 24288  func (s *UsageInstruction) SetValue(v string) *UsageInstruction {
 24289  	s.Value = &v
 24290  	return s
 24291  }
 24292  
 24293  const (
 24294  	// AccessLevelFilterKeyAccount is a AccessLevelFilterKey enum value
 24295  	AccessLevelFilterKeyAccount = "Account"
 24296  
 24297  	// AccessLevelFilterKeyRole is a AccessLevelFilterKey enum value
 24298  	AccessLevelFilterKeyRole = "Role"
 24299  
 24300  	// AccessLevelFilterKeyUser is a AccessLevelFilterKey enum value
 24301  	AccessLevelFilterKeyUser = "User"
 24302  )
 24303  
 24304  // AccessLevelFilterKey_Values returns all elements of the AccessLevelFilterKey enum
 24305  func AccessLevelFilterKey_Values() []string {
 24306  	return []string{
 24307  		AccessLevelFilterKeyAccount,
 24308  		AccessLevelFilterKeyRole,
 24309  		AccessLevelFilterKeyUser,
 24310  	}
 24311  }
 24312  
 24313  const (
 24314  	// AccessStatusEnabled is a AccessStatus enum value
 24315  	AccessStatusEnabled = "ENABLED"
 24316  
 24317  	// AccessStatusUnderChange is a AccessStatus enum value
 24318  	AccessStatusUnderChange = "UNDER_CHANGE"
 24319  
 24320  	// AccessStatusDisabled is a AccessStatus enum value
 24321  	AccessStatusDisabled = "DISABLED"
 24322  )
 24323  
 24324  // AccessStatus_Values returns all elements of the AccessStatus enum
 24325  func AccessStatus_Values() []string {
 24326  	return []string{
 24327  		AccessStatusEnabled,
 24328  		AccessStatusUnderChange,
 24329  		AccessStatusDisabled,
 24330  	}
 24331  }
 24332  
 24333  const (
 24334  	// ChangeActionAdd is a ChangeAction enum value
 24335  	ChangeActionAdd = "ADD"
 24336  
 24337  	// ChangeActionModify is a ChangeAction enum value
 24338  	ChangeActionModify = "MODIFY"
 24339  
 24340  	// ChangeActionRemove is a ChangeAction enum value
 24341  	ChangeActionRemove = "REMOVE"
 24342  )
 24343  
 24344  // ChangeAction_Values returns all elements of the ChangeAction enum
 24345  func ChangeAction_Values() []string {
 24346  	return []string{
 24347  		ChangeActionAdd,
 24348  		ChangeActionModify,
 24349  		ChangeActionRemove,
 24350  	}
 24351  }
 24352  
 24353  const (
 24354  	// CopyOptionCopyTags is a CopyOption enum value
 24355  	CopyOptionCopyTags = "CopyTags"
 24356  )
 24357  
 24358  // CopyOption_Values returns all elements of the CopyOption enum
 24359  func CopyOption_Values() []string {
 24360  	return []string{
 24361  		CopyOptionCopyTags,
 24362  	}
 24363  }
 24364  
 24365  const (
 24366  	// CopyProductStatusSucceeded is a CopyProductStatus enum value
 24367  	CopyProductStatusSucceeded = "SUCCEEDED"
 24368  
 24369  	// CopyProductStatusInProgress is a CopyProductStatus enum value
 24370  	CopyProductStatusInProgress = "IN_PROGRESS"
 24371  
 24372  	// CopyProductStatusFailed is a CopyProductStatus enum value
 24373  	CopyProductStatusFailed = "FAILED"
 24374  )
 24375  
 24376  // CopyProductStatus_Values returns all elements of the CopyProductStatus enum
 24377  func CopyProductStatus_Values() []string {
 24378  	return []string{
 24379  		CopyProductStatusSucceeded,
 24380  		CopyProductStatusInProgress,
 24381  		CopyProductStatusFailed,
 24382  	}
 24383  }
 24384  
 24385  const (
 24386  	// DescribePortfolioShareTypeAccount is a DescribePortfolioShareType enum value
 24387  	DescribePortfolioShareTypeAccount = "ACCOUNT"
 24388  
 24389  	// DescribePortfolioShareTypeOrganization is a DescribePortfolioShareType enum value
 24390  	DescribePortfolioShareTypeOrganization = "ORGANIZATION"
 24391  
 24392  	// DescribePortfolioShareTypeOrganizationalUnit is a DescribePortfolioShareType enum value
 24393  	DescribePortfolioShareTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
 24394  
 24395  	// DescribePortfolioShareTypeOrganizationMemberAccount is a DescribePortfolioShareType enum value
 24396  	DescribePortfolioShareTypeOrganizationMemberAccount = "ORGANIZATION_MEMBER_ACCOUNT"
 24397  )
 24398  
 24399  // DescribePortfolioShareType_Values returns all elements of the DescribePortfolioShareType enum
 24400  func DescribePortfolioShareType_Values() []string {
 24401  	return []string{
 24402  		DescribePortfolioShareTypeAccount,
 24403  		DescribePortfolioShareTypeOrganization,
 24404  		DescribePortfolioShareTypeOrganizationalUnit,
 24405  		DescribePortfolioShareTypeOrganizationMemberAccount,
 24406  	}
 24407  }
 24408  
 24409  const (
 24410  	// EvaluationTypeStatic is a EvaluationType enum value
 24411  	EvaluationTypeStatic = "STATIC"
 24412  
 24413  	// EvaluationTypeDynamic is a EvaluationType enum value
 24414  	EvaluationTypeDynamic = "DYNAMIC"
 24415  )
 24416  
 24417  // EvaluationType_Values returns all elements of the EvaluationType enum
 24418  func EvaluationType_Values() []string {
 24419  	return []string{
 24420  		EvaluationTypeStatic,
 24421  		EvaluationTypeDynamic,
 24422  	}
 24423  }
 24424  
 24425  const (
 24426  	// OrganizationNodeTypeOrganization is a OrganizationNodeType enum value
 24427  	OrganizationNodeTypeOrganization = "ORGANIZATION"
 24428  
 24429  	// OrganizationNodeTypeOrganizationalUnit is a OrganizationNodeType enum value
 24430  	OrganizationNodeTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
 24431  
 24432  	// OrganizationNodeTypeAccount is a OrganizationNodeType enum value
 24433  	OrganizationNodeTypeAccount = "ACCOUNT"
 24434  )
 24435  
 24436  // OrganizationNodeType_Values returns all elements of the OrganizationNodeType enum
 24437  func OrganizationNodeType_Values() []string {
 24438  	return []string{
 24439  		OrganizationNodeTypeOrganization,
 24440  		OrganizationNodeTypeOrganizationalUnit,
 24441  		OrganizationNodeTypeAccount,
 24442  	}
 24443  }
 24444  
 24445  const (
 24446  	// PortfolioShareTypeImported is a PortfolioShareType enum value
 24447  	PortfolioShareTypeImported = "IMPORTED"
 24448  
 24449  	// PortfolioShareTypeAwsServicecatalog is a PortfolioShareType enum value
 24450  	PortfolioShareTypeAwsServicecatalog = "AWS_SERVICECATALOG"
 24451  
 24452  	// PortfolioShareTypeAwsOrganizations is a PortfolioShareType enum value
 24453  	PortfolioShareTypeAwsOrganizations = "AWS_ORGANIZATIONS"
 24454  )
 24455  
 24456  // PortfolioShareType_Values returns all elements of the PortfolioShareType enum
 24457  func PortfolioShareType_Values() []string {
 24458  	return []string{
 24459  		PortfolioShareTypeImported,
 24460  		PortfolioShareTypeAwsServicecatalog,
 24461  		PortfolioShareTypeAwsOrganizations,
 24462  	}
 24463  }
 24464  
 24465  const (
 24466  	// PrincipalTypeIam is a PrincipalType enum value
 24467  	PrincipalTypeIam = "IAM"
 24468  )
 24469  
 24470  // PrincipalType_Values returns all elements of the PrincipalType enum
 24471  func PrincipalType_Values() []string {
 24472  	return []string{
 24473  		PrincipalTypeIam,
 24474  	}
 24475  }
 24476  
 24477  const (
 24478  	// ProductSourceAccount is a ProductSource enum value
 24479  	ProductSourceAccount = "ACCOUNT"
 24480  )
 24481  
 24482  // ProductSource_Values returns all elements of the ProductSource enum
 24483  func ProductSource_Values() []string {
 24484  	return []string{
 24485  		ProductSourceAccount,
 24486  	}
 24487  }
 24488  
 24489  const (
 24490  	// ProductTypeCloudFormationTemplate is a ProductType enum value
 24491  	ProductTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
 24492  
 24493  	// ProductTypeMarketplace is a ProductType enum value
 24494  	ProductTypeMarketplace = "MARKETPLACE"
 24495  )
 24496  
 24497  // ProductType_Values returns all elements of the ProductType enum
 24498  func ProductType_Values() []string {
 24499  	return []string{
 24500  		ProductTypeCloudFormationTemplate,
 24501  		ProductTypeMarketplace,
 24502  	}
 24503  }
 24504  
 24505  const (
 24506  	// ProductViewFilterByFullTextSearch is a ProductViewFilterBy enum value
 24507  	ProductViewFilterByFullTextSearch = "FullTextSearch"
 24508  
 24509  	// ProductViewFilterByOwner is a ProductViewFilterBy enum value
 24510  	ProductViewFilterByOwner = "Owner"
 24511  
 24512  	// ProductViewFilterByProductType is a ProductViewFilterBy enum value
 24513  	ProductViewFilterByProductType = "ProductType"
 24514  
 24515  	// ProductViewFilterBySourceProductId is a ProductViewFilterBy enum value
 24516  	ProductViewFilterBySourceProductId = "SourceProductId"
 24517  )
 24518  
 24519  // ProductViewFilterBy_Values returns all elements of the ProductViewFilterBy enum
 24520  func ProductViewFilterBy_Values() []string {
 24521  	return []string{
 24522  		ProductViewFilterByFullTextSearch,
 24523  		ProductViewFilterByOwner,
 24524  		ProductViewFilterByProductType,
 24525  		ProductViewFilterBySourceProductId,
 24526  	}
 24527  }
 24528  
 24529  const (
 24530  	// ProductViewSortByTitle is a ProductViewSortBy enum value
 24531  	ProductViewSortByTitle = "Title"
 24532  
 24533  	// ProductViewSortByVersionCount is a ProductViewSortBy enum value
 24534  	ProductViewSortByVersionCount = "VersionCount"
 24535  
 24536  	// ProductViewSortByCreationDate is a ProductViewSortBy enum value
 24537  	ProductViewSortByCreationDate = "CreationDate"
 24538  )
 24539  
 24540  // ProductViewSortBy_Values returns all elements of the ProductViewSortBy enum
 24541  func ProductViewSortBy_Values() []string {
 24542  	return []string{
 24543  		ProductViewSortByTitle,
 24544  		ProductViewSortByVersionCount,
 24545  		ProductViewSortByCreationDate,
 24546  	}
 24547  }
 24548  
 24549  const (
 24550  	// PropertyKeyOwner is a PropertyKey enum value
 24551  	PropertyKeyOwner = "OWNER"
 24552  
 24553  	// PropertyKeyLaunchRole is a PropertyKey enum value
 24554  	PropertyKeyLaunchRole = "LAUNCH_ROLE"
 24555  )
 24556  
 24557  // PropertyKey_Values returns all elements of the PropertyKey enum
 24558  func PropertyKey_Values() []string {
 24559  	return []string{
 24560  		PropertyKeyOwner,
 24561  		PropertyKeyLaunchRole,
 24562  	}
 24563  }
 24564  
 24565  const (
 24566  	// ProvisionedProductPlanStatusCreateInProgress is a ProvisionedProductPlanStatus enum value
 24567  	ProvisionedProductPlanStatusCreateInProgress = "CREATE_IN_PROGRESS"
 24568  
 24569  	// ProvisionedProductPlanStatusCreateSuccess is a ProvisionedProductPlanStatus enum value
 24570  	ProvisionedProductPlanStatusCreateSuccess = "CREATE_SUCCESS"
 24571  
 24572  	// ProvisionedProductPlanStatusCreateFailed is a ProvisionedProductPlanStatus enum value
 24573  	ProvisionedProductPlanStatusCreateFailed = "CREATE_FAILED"
 24574  
 24575  	// ProvisionedProductPlanStatusExecuteInProgress is a ProvisionedProductPlanStatus enum value
 24576  	ProvisionedProductPlanStatusExecuteInProgress = "EXECUTE_IN_PROGRESS"
 24577  
 24578  	// ProvisionedProductPlanStatusExecuteSuccess is a ProvisionedProductPlanStatus enum value
 24579  	ProvisionedProductPlanStatusExecuteSuccess = "EXECUTE_SUCCESS"
 24580  
 24581  	// ProvisionedProductPlanStatusExecuteFailed is a ProvisionedProductPlanStatus enum value
 24582  	ProvisionedProductPlanStatusExecuteFailed = "EXECUTE_FAILED"
 24583  )
 24584  
 24585  // ProvisionedProductPlanStatus_Values returns all elements of the ProvisionedProductPlanStatus enum
 24586  func ProvisionedProductPlanStatus_Values() []string {
 24587  	return []string{
 24588  		ProvisionedProductPlanStatusCreateInProgress,
 24589  		ProvisionedProductPlanStatusCreateSuccess,
 24590  		ProvisionedProductPlanStatusCreateFailed,
 24591  		ProvisionedProductPlanStatusExecuteInProgress,
 24592  		ProvisionedProductPlanStatusExecuteSuccess,
 24593  		ProvisionedProductPlanStatusExecuteFailed,
 24594  	}
 24595  }
 24596  
 24597  const (
 24598  	// ProvisionedProductPlanTypeCloudformation is a ProvisionedProductPlanType enum value
 24599  	ProvisionedProductPlanTypeCloudformation = "CLOUDFORMATION"
 24600  )
 24601  
 24602  // ProvisionedProductPlanType_Values returns all elements of the ProvisionedProductPlanType enum
 24603  func ProvisionedProductPlanType_Values() []string {
 24604  	return []string{
 24605  		ProvisionedProductPlanTypeCloudformation,
 24606  	}
 24607  }
 24608  
 24609  const (
 24610  	// ProvisionedProductStatusAvailable is a ProvisionedProductStatus enum value
 24611  	ProvisionedProductStatusAvailable = "AVAILABLE"
 24612  
 24613  	// ProvisionedProductStatusUnderChange is a ProvisionedProductStatus enum value
 24614  	ProvisionedProductStatusUnderChange = "UNDER_CHANGE"
 24615  
 24616  	// ProvisionedProductStatusTainted is a ProvisionedProductStatus enum value
 24617  	ProvisionedProductStatusTainted = "TAINTED"
 24618  
 24619  	// ProvisionedProductStatusError is a ProvisionedProductStatus enum value
 24620  	ProvisionedProductStatusError = "ERROR"
 24621  
 24622  	// ProvisionedProductStatusPlanInProgress is a ProvisionedProductStatus enum value
 24623  	ProvisionedProductStatusPlanInProgress = "PLAN_IN_PROGRESS"
 24624  )
 24625  
 24626  // ProvisionedProductStatus_Values returns all elements of the ProvisionedProductStatus enum
 24627  func ProvisionedProductStatus_Values() []string {
 24628  	return []string{
 24629  		ProvisionedProductStatusAvailable,
 24630  		ProvisionedProductStatusUnderChange,
 24631  		ProvisionedProductStatusTainted,
 24632  		ProvisionedProductStatusError,
 24633  		ProvisionedProductStatusPlanInProgress,
 24634  	}
 24635  }
 24636  
 24637  const (
 24638  	// ProvisionedProductViewFilterBySearchQuery is a ProvisionedProductViewFilterBy enum value
 24639  	ProvisionedProductViewFilterBySearchQuery = "SearchQuery"
 24640  )
 24641  
 24642  // ProvisionedProductViewFilterBy_Values returns all elements of the ProvisionedProductViewFilterBy enum
 24643  func ProvisionedProductViewFilterBy_Values() []string {
 24644  	return []string{
 24645  		ProvisionedProductViewFilterBySearchQuery,
 24646  	}
 24647  }
 24648  
 24649  const (
 24650  	// ProvisioningArtifactGuidanceDefault is a ProvisioningArtifactGuidance enum value
 24651  	ProvisioningArtifactGuidanceDefault = "DEFAULT"
 24652  
 24653  	// ProvisioningArtifactGuidanceDeprecated is a ProvisioningArtifactGuidance enum value
 24654  	ProvisioningArtifactGuidanceDeprecated = "DEPRECATED"
 24655  )
 24656  
 24657  // ProvisioningArtifactGuidance_Values returns all elements of the ProvisioningArtifactGuidance enum
 24658  func ProvisioningArtifactGuidance_Values() []string {
 24659  	return []string{
 24660  		ProvisioningArtifactGuidanceDefault,
 24661  		ProvisioningArtifactGuidanceDeprecated,
 24662  	}
 24663  }
 24664  
 24665  const (
 24666  	// ProvisioningArtifactPropertyNameId is a ProvisioningArtifactPropertyName enum value
 24667  	ProvisioningArtifactPropertyNameId = "Id"
 24668  )
 24669  
 24670  // ProvisioningArtifactPropertyName_Values returns all elements of the ProvisioningArtifactPropertyName enum
 24671  func ProvisioningArtifactPropertyName_Values() []string {
 24672  	return []string{
 24673  		ProvisioningArtifactPropertyNameId,
 24674  	}
 24675  }
 24676  
 24677  const (
 24678  	// ProvisioningArtifactTypeCloudFormationTemplate is a ProvisioningArtifactType enum value
 24679  	ProvisioningArtifactTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE"
 24680  
 24681  	// ProvisioningArtifactTypeMarketplaceAmi is a ProvisioningArtifactType enum value
 24682  	ProvisioningArtifactTypeMarketplaceAmi = "MARKETPLACE_AMI"
 24683  
 24684  	// ProvisioningArtifactTypeMarketplaceCar is a ProvisioningArtifactType enum value
 24685  	ProvisioningArtifactTypeMarketplaceCar = "MARKETPLACE_CAR"
 24686  )
 24687  
 24688  // ProvisioningArtifactType_Values returns all elements of the ProvisioningArtifactType enum
 24689  func ProvisioningArtifactType_Values() []string {
 24690  	return []string{
 24691  		ProvisioningArtifactTypeCloudFormationTemplate,
 24692  		ProvisioningArtifactTypeMarketplaceAmi,
 24693  		ProvisioningArtifactTypeMarketplaceCar,
 24694  	}
 24695  }
 24696  
 24697  const (
 24698  	// RecordStatusCreated is a RecordStatus enum value
 24699  	RecordStatusCreated = "CREATED"
 24700  
 24701  	// RecordStatusInProgress is a RecordStatus enum value
 24702  	RecordStatusInProgress = "IN_PROGRESS"
 24703  
 24704  	// RecordStatusInProgressInError is a RecordStatus enum value
 24705  	RecordStatusInProgressInError = "IN_PROGRESS_IN_ERROR"
 24706  
 24707  	// RecordStatusSucceeded is a RecordStatus enum value
 24708  	RecordStatusSucceeded = "SUCCEEDED"
 24709  
 24710  	// RecordStatusFailed is a RecordStatus enum value
 24711  	RecordStatusFailed = "FAILED"
 24712  )
 24713  
 24714  // RecordStatus_Values returns all elements of the RecordStatus enum
 24715  func RecordStatus_Values() []string {
 24716  	return []string{
 24717  		RecordStatusCreated,
 24718  		RecordStatusInProgress,
 24719  		RecordStatusInProgressInError,
 24720  		RecordStatusSucceeded,
 24721  		RecordStatusFailed,
 24722  	}
 24723  }
 24724  
 24725  const (
 24726  	// ReplacementTrue is a Replacement enum value
 24727  	ReplacementTrue = "TRUE"
 24728  
 24729  	// ReplacementFalse is a Replacement enum value
 24730  	ReplacementFalse = "FALSE"
 24731  
 24732  	// ReplacementConditional is a Replacement enum value
 24733  	ReplacementConditional = "CONDITIONAL"
 24734  )
 24735  
 24736  // Replacement_Values returns all elements of the Replacement enum
 24737  func Replacement_Values() []string {
 24738  	return []string{
 24739  		ReplacementTrue,
 24740  		ReplacementFalse,
 24741  		ReplacementConditional,
 24742  	}
 24743  }
 24744  
 24745  const (
 24746  	// RequiresRecreationNever is a RequiresRecreation enum value
 24747  	RequiresRecreationNever = "NEVER"
 24748  
 24749  	// RequiresRecreationConditionally is a RequiresRecreation enum value
 24750  	RequiresRecreationConditionally = "CONDITIONALLY"
 24751  
 24752  	// RequiresRecreationAlways is a RequiresRecreation enum value
 24753  	RequiresRecreationAlways = "ALWAYS"
 24754  )
 24755  
 24756  // RequiresRecreation_Values returns all elements of the RequiresRecreation enum
 24757  func RequiresRecreation_Values() []string {
 24758  	return []string{
 24759  		RequiresRecreationNever,
 24760  		RequiresRecreationConditionally,
 24761  		RequiresRecreationAlways,
 24762  	}
 24763  }
 24764  
 24765  const (
 24766  	// ResourceAttributeProperties is a ResourceAttribute enum value
 24767  	ResourceAttributeProperties = "PROPERTIES"
 24768  
 24769  	// ResourceAttributeMetadata is a ResourceAttribute enum value
 24770  	ResourceAttributeMetadata = "METADATA"
 24771  
 24772  	// ResourceAttributeCreationpolicy is a ResourceAttribute enum value
 24773  	ResourceAttributeCreationpolicy = "CREATIONPOLICY"
 24774  
 24775  	// ResourceAttributeUpdatepolicy is a ResourceAttribute enum value
 24776  	ResourceAttributeUpdatepolicy = "UPDATEPOLICY"
 24777  
 24778  	// ResourceAttributeDeletionpolicy is a ResourceAttribute enum value
 24779  	ResourceAttributeDeletionpolicy = "DELETIONPOLICY"
 24780  
 24781  	// ResourceAttributeTags is a ResourceAttribute enum value
 24782  	ResourceAttributeTags = "TAGS"
 24783  )
 24784  
 24785  // ResourceAttribute_Values returns all elements of the ResourceAttribute enum
 24786  func ResourceAttribute_Values() []string {
 24787  	return []string{
 24788  		ResourceAttributeProperties,
 24789  		ResourceAttributeMetadata,
 24790  		ResourceAttributeCreationpolicy,
 24791  		ResourceAttributeUpdatepolicy,
 24792  		ResourceAttributeDeletionpolicy,
 24793  		ResourceAttributeTags,
 24794  	}
 24795  }
 24796  
 24797  const (
 24798  	// ServiceActionAssociationErrorCodeDuplicateResource is a ServiceActionAssociationErrorCode enum value
 24799  	ServiceActionAssociationErrorCodeDuplicateResource = "DUPLICATE_RESOURCE"
 24800  
 24801  	// ServiceActionAssociationErrorCodeInternalFailure is a ServiceActionAssociationErrorCode enum value
 24802  	ServiceActionAssociationErrorCodeInternalFailure = "INTERNAL_FAILURE"
 24803  
 24804  	// ServiceActionAssociationErrorCodeLimitExceeded is a ServiceActionAssociationErrorCode enum value
 24805  	ServiceActionAssociationErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
 24806  
 24807  	// ServiceActionAssociationErrorCodeResourceNotFound is a ServiceActionAssociationErrorCode enum value
 24808  	ServiceActionAssociationErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND"
 24809  
 24810  	// ServiceActionAssociationErrorCodeThrottling is a ServiceActionAssociationErrorCode enum value
 24811  	ServiceActionAssociationErrorCodeThrottling = "THROTTLING"
 24812  )
 24813  
 24814  // ServiceActionAssociationErrorCode_Values returns all elements of the ServiceActionAssociationErrorCode enum
 24815  func ServiceActionAssociationErrorCode_Values() []string {
 24816  	return []string{
 24817  		ServiceActionAssociationErrorCodeDuplicateResource,
 24818  		ServiceActionAssociationErrorCodeInternalFailure,
 24819  		ServiceActionAssociationErrorCodeLimitExceeded,
 24820  		ServiceActionAssociationErrorCodeResourceNotFound,
 24821  		ServiceActionAssociationErrorCodeThrottling,
 24822  	}
 24823  }
 24824  
 24825  const (
 24826  	// ServiceActionDefinitionKeyName is a ServiceActionDefinitionKey enum value
 24827  	ServiceActionDefinitionKeyName = "Name"
 24828  
 24829  	// ServiceActionDefinitionKeyVersion is a ServiceActionDefinitionKey enum value
 24830  	ServiceActionDefinitionKeyVersion = "Version"
 24831  
 24832  	// ServiceActionDefinitionKeyAssumeRole is a ServiceActionDefinitionKey enum value
 24833  	ServiceActionDefinitionKeyAssumeRole = "AssumeRole"
 24834  
 24835  	// ServiceActionDefinitionKeyParameters is a ServiceActionDefinitionKey enum value
 24836  	ServiceActionDefinitionKeyParameters = "Parameters"
 24837  )
 24838  
 24839  // ServiceActionDefinitionKey_Values returns all elements of the ServiceActionDefinitionKey enum
 24840  func ServiceActionDefinitionKey_Values() []string {
 24841  	return []string{
 24842  		ServiceActionDefinitionKeyName,
 24843  		ServiceActionDefinitionKeyVersion,
 24844  		ServiceActionDefinitionKeyAssumeRole,
 24845  		ServiceActionDefinitionKeyParameters,
 24846  	}
 24847  }
 24848  
 24849  const (
 24850  	// ServiceActionDefinitionTypeSsmAutomation is a ServiceActionDefinitionType enum value
 24851  	ServiceActionDefinitionTypeSsmAutomation = "SSM_AUTOMATION"
 24852  )
 24853  
 24854  // ServiceActionDefinitionType_Values returns all elements of the ServiceActionDefinitionType enum
 24855  func ServiceActionDefinitionType_Values() []string {
 24856  	return []string{
 24857  		ServiceActionDefinitionTypeSsmAutomation,
 24858  	}
 24859  }
 24860  
 24861  const (
 24862  	// ShareStatusNotStarted is a ShareStatus enum value
 24863  	ShareStatusNotStarted = "NOT_STARTED"
 24864  
 24865  	// ShareStatusInProgress is a ShareStatus enum value
 24866  	ShareStatusInProgress = "IN_PROGRESS"
 24867  
 24868  	// ShareStatusCompleted is a ShareStatus enum value
 24869  	ShareStatusCompleted = "COMPLETED"
 24870  
 24871  	// ShareStatusCompletedWithErrors is a ShareStatus enum value
 24872  	ShareStatusCompletedWithErrors = "COMPLETED_WITH_ERRORS"
 24873  
 24874  	// ShareStatusError is a ShareStatus enum value
 24875  	ShareStatusError = "ERROR"
 24876  )
 24877  
 24878  // ShareStatus_Values returns all elements of the ShareStatus enum
 24879  func ShareStatus_Values() []string {
 24880  	return []string{
 24881  		ShareStatusNotStarted,
 24882  		ShareStatusInProgress,
 24883  		ShareStatusCompleted,
 24884  		ShareStatusCompletedWithErrors,
 24885  		ShareStatusError,
 24886  	}
 24887  }
 24888  
 24889  const (
 24890  	// SortOrderAscending is a SortOrder enum value
 24891  	SortOrderAscending = "ASCENDING"
 24892  
 24893  	// SortOrderDescending is a SortOrder enum value
 24894  	SortOrderDescending = "DESCENDING"
 24895  )
 24896  
 24897  // SortOrder_Values returns all elements of the SortOrder enum
 24898  func SortOrder_Values() []string {
 24899  	return []string{
 24900  		SortOrderAscending,
 24901  		SortOrderDescending,
 24902  	}
 24903  }
 24904  
 24905  const (
 24906  	// StackInstanceStatusCurrent is a StackInstanceStatus enum value
 24907  	StackInstanceStatusCurrent = "CURRENT"
 24908  
 24909  	// StackInstanceStatusOutdated is a StackInstanceStatus enum value
 24910  	StackInstanceStatusOutdated = "OUTDATED"
 24911  
 24912  	// StackInstanceStatusInoperable is a StackInstanceStatus enum value
 24913  	StackInstanceStatusInoperable = "INOPERABLE"
 24914  )
 24915  
 24916  // StackInstanceStatus_Values returns all elements of the StackInstanceStatus enum
 24917  func StackInstanceStatus_Values() []string {
 24918  	return []string{
 24919  		StackInstanceStatusCurrent,
 24920  		StackInstanceStatusOutdated,
 24921  		StackInstanceStatusInoperable,
 24922  	}
 24923  }
 24924  
 24925  const (
 24926  	// StackSetOperationTypeCreate is a StackSetOperationType enum value
 24927  	StackSetOperationTypeCreate = "CREATE"
 24928  
 24929  	// StackSetOperationTypeUpdate is a StackSetOperationType enum value
 24930  	StackSetOperationTypeUpdate = "UPDATE"
 24931  
 24932  	// StackSetOperationTypeDelete is a StackSetOperationType enum value
 24933  	StackSetOperationTypeDelete = "DELETE"
 24934  )
 24935  
 24936  // StackSetOperationType_Values returns all elements of the StackSetOperationType enum
 24937  func StackSetOperationType_Values() []string {
 24938  	return []string{
 24939  		StackSetOperationTypeCreate,
 24940  		StackSetOperationTypeUpdate,
 24941  		StackSetOperationTypeDelete,
 24942  	}
 24943  }
 24944  
 24945  const (
 24946  	// StatusAvailable is a Status enum value
 24947  	StatusAvailable = "AVAILABLE"
 24948  
 24949  	// StatusCreating is a Status enum value
 24950  	StatusCreating = "CREATING"
 24951  
 24952  	// StatusFailed is a Status enum value
 24953  	StatusFailed = "FAILED"
 24954  )
 24955  
 24956  // Status_Values returns all elements of the Status enum
 24957  func Status_Values() []string {
 24958  	return []string{
 24959  		StatusAvailable,
 24960  		StatusCreating,
 24961  		StatusFailed,
 24962  	}
 24963  }