Using the Client

To use the client for AWS Service Catalog you will first need
to create a new instance of it.

When creating a client for an AWS service you'll first need to have a Session
already created. The Session provides configuration that can be shared
between multiple service clients. Additional configuration can be applied to
the Session and service's client when they are constructed. The aws package's
Config type contains several fields such as Region for the AWS Region the
client should make API requests too. The optional Config value can be provided
as the variadic argument for Sessions and client creation.

Once the service's client is created you can use it to make API requests the
AWS service. These clients are safe to use concurrently.

Once the client is created you can make an API request to the service.
Each API method takes a input parameter, and returns the service response
and an error.

The API method will document which error codes the service can be returned
by the operation if the service models the API operation's errors. These
errors will also be available as const strings prefixed with "ErrCode".

Using the Client with Context

The service's client also provides methods to make API requests with a Context
value. This allows you to control the timeout, and cancellation of pending
requests. These methods also take request Option as variadic parameter to apply
additional configuration to the API request.

Package files

Internal call graph ▹

Internal call graph ▾

In the call graph viewer below, each node
is a function belonging to this package
and its children are the functions it
calls—perhaps dynamically.

The root nodes are the entry points of the
package: functions that may be called from
outside the package.
There may be non-exported or anonymous
functions among them if they are called
dynamically from another package.

Click a node to visit that function's source code.
From there you can visit its callers by
clicking its declaring func
token.

Functions may be omitted if they were
determined to be unreachable in the
particular programs or tests that were
analyzed.

const (
// ErrCodeDuplicateResourceException for service response error code// "DuplicateResourceException".//// The specified resource is a duplicate.
ErrCodeDuplicateResourceException = "DuplicateResourceException"
// ErrCodeInvalidParametersException for service response error code// "InvalidParametersException".//// One or more parameters provided to the operation are invalid.
ErrCodeInvalidParametersException = "InvalidParametersException"
// ErrCodeLimitExceededException for service response error code// "LimitExceededException".//// The current limits of the service would have been exceeded by this operation.// Reduce the resource use or increase the service limits and retry the operation.
ErrCodeLimitExceededException = "LimitExceededException"
// ErrCodeResourceInUseException for service response error code// "ResourceInUseException".//// The operation was requested against a resource that is currently in use.// Free the resource from use and retry the operation.
ErrCodeResourceInUseException = "ResourceInUseException"
// ErrCodeResourceNotFoundException for service response error code// "ResourceNotFoundException".//// The specified resource was not found.
ErrCodeResourceNotFoundException = "ResourceNotFoundException"
)

type AssociateProductWithPortfolioInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The portfolio identifier.//// PortfolioId is a required field
PortfolioId *string `min:"1" type:"string" required:"true"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// The identifier of the source portfolio to use with this association.
SourcePortfolioId *string `min:"1" type:"string"`
// contains filtered or unexported fields
}

type CreateConstraintInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The text description of the constraint.
Description *string `type:"string"`
// A token to disambiguate duplicate requests. You can create multiple resources// using the same input in multiple requests, provided that you also specify// a different idempotency token for each request.//// IdempotencyToken is a required field
IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"`
// The constraint parameters. Expected values vary depending on which Type is// specified. For examples, see the bottom of this topic.//// For Type LAUNCH, the RoleArn property is required.//// For Type NOTIFICATION, the NotificationArns property is required.//// For Type TEMPLATE, the Rules property is required.//// Parameters is a required field
Parameters *string `type:"string" required:"true"`
// The portfolio identifier.//// PortfolioId is a required field
PortfolioId *string `min:"1" type:"string" required:"true"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// The type of the constraint. Case-sensitive valid values are: LAUNCH, NOTIFICATION,// or TEMPLATE.//// Type is a required field
Type *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type CreatePortfolioInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The text description of the portfolio.
Description *string `type:"string"`
// The name to use for display purposes.//// DisplayName is a required field
DisplayName *string `min:"1" type:"string" required:"true"`
// A token to disambiguate duplicate requests. You can create multiple resources// using the same input in multiple requests, provided that you also specify// a different idempotency token for each request.//// IdempotencyToken is a required field
IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"`
// The name of the portfolio provider.//// ProviderName is a required field
ProviderName *string `min:"1" type:"string" required:"true"`
// Tags to associate with the new portfolio.
Tags []*Tag `type:"list"`
// contains filtered or unexported fields
}

type CreatePortfolioShareInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The account ID with which to share the portfolio.//// AccountId is a required field
AccountId *string `type:"string" required:"true"`
// The portfolio identifier.//// PortfolioId is a required field
PortfolioId *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type CreateProductInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The text description of the product.
Description *string `type:"string"`
// The distributor of the product.
Distributor *string `type:"string"`
// A token to disambiguate duplicate requests. You can create multiple resources// using the same input in multiple requests, provided that you also specify// a different idempotency token for each request.//// IdempotencyToken is a required field
IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"`
// The name of the product.//// Name is a required field
Name *string `type:"string" required:"true"`
// The owner of the product.//// Owner is a required field
Owner *string `type:"string" required:"true"`
// The type of the product to create.//// ProductType is a required field
ProductType *string `type:"string" required:"true" enum:"ProductType"`
// Parameters for the provisioning artifact.//// ProvisioningArtifactParameters is a required field
ProvisioningArtifactParameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
// Support information about the product.
SupportDescription *string `type:"string"`
// Contact email for product support.
SupportEmail *string `type:"string"`
// Contact URL for product support.
SupportUrl *string `type:"string"`
// Tags to associate with the new product.
Tags []*Tag `type:"list"`
// contains filtered or unexported fields
}

type CreateProvisioningArtifactInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// A token to disambiguate duplicate requests. You can create multiple resources// using the same input in multiple requests, provided that you also specify// a different idempotency token for each request.//// IdempotencyToken is a required field
IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"`
// The parameters to use when creating the new provisioning artifact.//// Parameters is a required field
Parameters *ProvisioningArtifactProperties `type:"structure" required:"true"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DeleteConstraintInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The identifier of the constraint to delete.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DeletePortfolioInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The identifier of the portfolio for the delete request.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DeleteProductInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The identifier of the product for the delete request.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DeleteProvisioningArtifactInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// The identifier of the provisioning artifact for the delete request. This// is sometimes referred to as the product version.//// ProvisioningArtifactId is a required field
ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DescribeConstraintInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The identifier of the constraint.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DescribePortfolioInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The identifier of the portfolio for which to retrieve information.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DescribeProductAsAdminInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The identifier of the product for which to retrieve information.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DescribeProductInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The ProductId of the product to describe.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DescribeProductViewInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The ProductViewId of the product to describe.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DescribeProvisioningArtifactInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// The identifier of the provisioning artifact. This is sometimes referred to// as the product version.//// ProvisioningArtifactId is a required field
ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
// Selects verbose results. If set to true, the CloudFormation template is returned.
Verbose *bool `type:"boolean"`
// contains filtered or unexported fields
}

type DescribeProvisioningParametersInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The identifier of the path for this product's provisioning. This value is// optional if the product has a default path, and is required if there is more// than one path for the specified product.
PathId *string `min:"1" type:"string"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// The provisioning artifact identifier for this product. This is sometimes// referred to as the product version.//// ProvisioningArtifactId is a required field
ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type DescribeProvisioningParametersOutput struct {
// The list of constraint summaries that apply to provisioning this product.
ConstraintSummaries []*ConstraintSummary `type:"list"`
// The list of parameters used to successfully provision the product. Each parameter// includes a list of allowable values and additional metadata about each parameter.
ProvisioningArtifactParameters []*ProvisioningArtifactParameter `type:"list"`
// Any additional metadata specifically related to the provisioning of the product.// For example, see the Version field of the CloudFormation template.
UsageInstructions []*UsageInstruction `type:"list"`
// contains filtered or unexported fields
}

type DescribeRecordInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The record identifier of the ProvisionedProduct object for which to retrieve// output information. This is the RecordDetail.RecordId obtained from the request// operation's response.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// contains filtered or unexported fields
}

type DescribeRecordOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// Detailed record information for the specified product.
RecordDetail *RecordDetail `type:"structure"`
// A list of outputs for the specified Product object created as the result// of a request. For example, a CloudFormation-backed product that creates an// S3 bucket would have an output for the S3 bucket URL.
RecordOutputs []*RecordOutput `type:"list"`
// contains filtered or unexported fields
}

type LaunchPathSummary struct {
// List of constraints on the portfolio-product relationship.
ConstraintSummaries []*ConstraintSummary `type:"list"`
// The unique identifier of the product path.
Id *string `min:"1" type:"string"`
// Corresponds to the name of the portfolio to which the user was assigned.
Name *string `type:"string"`
// List of tags used by this launch path.
Tags []*Tag `type:"list"`
// contains filtered or unexported fields
}

type ListAcceptedPortfolioSharesInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// contains filtered or unexported fields
}

type ListAcceptedPortfolioSharesOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// List of detailed portfolio information objects.
PortfolioDetails []*PortfolioDetail `type:"list"`
// contains filtered or unexported fields
}

type ListConstraintsForPortfolioInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// The portfolio identifier.//// PortfolioId is a required field
PortfolioId *string `min:"1" type:"string" required:"true"`
// The product identifier.
ProductId *string `min:"1" type:"string"`
// contains filtered or unexported fields
}

type ListConstraintsForPortfolioOutput struct {
// List of detailed constraint information objects.
ConstraintDetails []*ConstraintDetail `type:"list"`
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// contains filtered or unexported fields
}

type ListLaunchPathsInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// The product identifier.. Identifies the product for which to retrieve LaunchPathSummaries// information.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type ListLaunchPathsOutput struct {
// List of launch path information summaries for the specified PageToken.
LaunchPathSummaries []*LaunchPathSummary `type:"list"`
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// contains filtered or unexported fields
}

type ListPortfolioAccessOutput struct {
// List of account IDs associated with access to the portfolio.
AccountIds []*string `type:"list"`
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// contains filtered or unexported fields
}

type ListPortfoliosForProductInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type ListPortfoliosForProductOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// List of detailed portfolio information objects.
PortfolioDetails []*PortfolioDetail `type:"list"`
// contains filtered or unexported fields
}

type ListPortfoliosInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// contains filtered or unexported fields
}

type ListPortfoliosOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// List of detailed portfolio information objects.
PortfolioDetails []*PortfolioDetail `type:"list"`
// contains filtered or unexported fields
}

type ListPrincipalsForPortfolioInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// The portfolio identifier.//// PortfolioId is a required field
PortfolioId *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type ListPrincipalsForPortfolioOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// The IAM principals (users or roles) associated with the portfolio.
Principals []*Principal `type:"list"`
// contains filtered or unexported fields
}

type ListProvisioningArtifactsOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// List of detailed provisioning artifact information objects.
ProvisioningArtifactDetails []*ProvisioningArtifactDetail `type:"list"`
// contains filtered or unexported fields
}

type ListRecordHistoryInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The access level for obtaining results. If left unspecified, User level access// is used.
AccessLevelFilter *AccessLevelFilter `type:"structure"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// The filter to limit search results.
SearchFilter *ListRecordHistorySearchFilter `type:"structure"`
// contains filtered or unexported fields
}

type ListRecordHistoryOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// A list of record detail objects, listed in reverse chronological order.
RecordDetails []*RecordDetail `type:"list"`
// contains filtered or unexported fields
}

type ProductViewSummary struct {
// The distributor of the product. Contact the product administrator for the// significance of this value.
Distributor *string `type:"string"`
// A value of false indicates that the product does not have a default path,// while a value of true indicates that it does. If it's false, call ListLaunchPaths// to disambiguate between paths. If true, ListLaunchPaths is not required,// and the output of the ProductViewSummary operation can be used directly with// DescribeProvisioningParameters.
HasDefaultPath *bool `type:"boolean"`
// The product view identifier.
Id *string `min:"1" type:"string"`
// The name of the product.
Name *string `type:"string"`
// The owner of the product. Contact the product administrator for the significance// of this value.
Owner *string `type:"string"`
// The product identifier.
ProductId *string `min:"1" type:"string"`
// Short description of the product.
ShortDescription *string `type:"string"`
// The description of the support for this Product.
SupportDescription *string `type:"string"`
// The email contact information to obtain support for this Product.
SupportEmail *string `type:"string"`
// The URL information to obtain support for this Product.
SupportUrl *string `type:"string"`
// The product type. Contact the product administrator for the significance// of this value. If this value is MARKETPLACE, the product was created by AWS// Marketplace.
Type *string `type:"string" enum:"ProductType"`
// contains filtered or unexported fields
}

type ProvisionProductInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related// events.
NotificationArns []*string `type:"list"`
// The identifier of the path for this product's provisioning. This value is// optional if the product has a default path, and is required if there is more// than one path for the specified product.
PathId *string `min:"1" type:"string"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// An idempotency token that uniquely identifies the provisioning request.//// ProvisionToken is a required field
ProvisionToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"`
// A user-friendly name to identify the ProvisionedProduct object. This value// must be unique for the AWS account and cannot be updated after the product// is provisioned.//// ProvisionedProductName is a required field
ProvisionedProductName *string `min:"1" type:"string" required:"true"`
// The provisioning artifact identifier for this product. This is sometimes// referred to as the product version.//// ProvisioningArtifactId is a required field
ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
// Parameters specified by the administrator that are required for provisioning// the product.
ProvisioningParameters []*ProvisioningParameter `type:"list"`
// A list of tags to use as provisioning options.
Tags []*Tag `type:"list"`
// contains filtered or unexported fields
}

type ProvisionProductOutput struct {
// The detailed result of the ProvisionProduct request, containing the inputs// made to that request, the current state of the request, a pointer to the// ProvisionedProduct object of the request, and a list of any errors that the// request encountered.
RecordDetail *RecordDetail `type:"structure"`
// contains filtered or unexported fields
}

type ProvisionedProductDetail struct {
// The ARN associated with the ProvisionedProduct object.
Arn *string `min:"1" type:"string"`
// The UTC timestamp of the creation time.
CreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// The identifier of the ProvisionedProduct object.
Id *string `type:"string"`
// A token to disambiguate duplicate requests. You can create multiple resources// using the same input in multiple requests, provided that you also specify// a different idempotency token for each request.
IdempotencyToken *string `min:"1" type:"string"`
// The record identifier of the last request performed on this ProvisionedProduct// object.
LastRecordId *string `type:"string"`
// The user-friendly name of the ProvisionedProduct object.
Name *string `min:"1" type:"string"`
// The current status of the ProvisionedProduct.//// AVAILABLE - Stable state, ready to perform any operation. The most recent// action request succeeded and completed.//// UNDER_CHANGE - Transitive state, operations performed may or may not have// valid results. Wait for an AVAILABLE status before performing operations.//// TAINTED - Stable state, ready to perform any operation. The stack has completed// the requested operation but is not exactly what was requested. For example,// a request to update to a new version failed and the stack rolled back to// the current version.//// ERROR - Something unexpected happened such that the provisioned product exists// but the stack is not running. For example, CloudFormation received an invalid// parameter value and could not launch the stack.
Status *string `type:"string" enum:"ProvisionedProductStatus"`
// The current status message of the ProvisionedProduct.
StatusMessage *string `type:"string"`
// The type of the ProvisionedProduct object.
Type *string `type:"string"`
// contains filtered or unexported fields
}

type ProvisioningArtifact struct {
// The UTC timestamp of the creation time.
CreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// The text description of the artifact.
Description *string `type:"string"`
// The identifier for the artifact. This is sometimes referred to as the product// version.
Id *string `min:"1" type:"string"`
// The name of the artifact.
Name *string `type:"string"`
// contains filtered or unexported fields
}

type ProvisioningArtifactParameter struct {
// The default value for this parameter.
DefaultValue *string `type:"string"`
// The text description of the parameter.
Description *string `type:"string"`
// If this value is true, the value for this parameter is obfuscated from view// when the parameter is retrieved. This parameter is used to hide sensitive// information.
IsNoEcho *bool `type:"boolean"`
// The list of constraints that the administrator has put on the parameter.
ParameterConstraints *ParameterConstraints `type:"structure"`
// The parameter key.
ParameterKey *string `min:"1" type:"string"`
// The parameter type.
ParameterType *string `type:"string"`
// contains filtered or unexported fields
}

type ProvisioningParameter struct {
// The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters.
Key *string `min:"1" type:"string"`
// The value to use for provisioning. Any constraints on this value can be found// in ProvisioningArtifactParameter for Key.
Value *string `type:"string"`
// contains filtered or unexported fields
}

type RecordDetail struct {
// The UTC timestamp of the creation time.
CreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// The identifier of the path for this product's provisioning.
PathId *string `min:"1" type:"string"`
// The product identifier.
ProductId *string `min:"1" type:"string"`
// The identifier of the ProvisionedProduct object.
ProvisionedProductId *string `min:"1" type:"string"`
// The user-friendly name of the ProvisionedProduct object.
ProvisionedProductName *string `min:"1" type:"string"`
// The type of the ProvisionedProduct object.
ProvisionedProductType *string `type:"string"`
// The provisioning artifact identifier for this product. This is sometimes// referred to as the product version.
ProvisioningArtifactId *string `min:"1" type:"string"`
// A list of errors that occurred while processing the request.
RecordErrors []*RecordError `type:"list"`
// The identifier of the ProvisionedProduct object record.
RecordId *string `min:"1" type:"string"`
// List of tags associated with this record.
RecordTags []*RecordTag `type:"list"`
// The record type for this record.
RecordType *string `type:"string"`
// The status of the ProvisionedProduct object.//// CREATED - Request created but the operation has not yet started.//// IN_PROGRESS - The requested operation is in-progress.//// IN_PROGRESS_IN_ERROR - The provisioned product is under change but the requested// operation failed and some remediation is occurring. For example, a roll-back.//// SUCCEEDED - The requested operation has successfully completed.//// FAILED - The requested operation has completed but has failed. Investigate// using the error messages returned.
Status *string `type:"string" enum:"RecordStatus"`
// The time when the record for the ProvisionedProduct object was last updated.
UpdatedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
// contains filtered or unexported fields
}

type ScanProvisionedProductsInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The access level for obtaining results. If left unspecified, User level access// is used.
AccessLevelFilter *AccessLevelFilter `type:"structure"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// contains filtered or unexported fields
}

type ScanProvisionedProductsOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// A list of ProvisionedProduct detail objects.
ProvisionedProducts []*ProvisionedProductDetail `type:"list"`
// contains filtered or unexported fields
}

type SearchProductsAsAdminInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The list of filters with which to limit search results. If no search filters// are specified, the output is all the products to which the administrator// has access.
Filters map[string][]*string `type:"map"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// The portfolio identifier.
PortfolioId *string `min:"1" type:"string"`
// Access level of the source of the product.
ProductSource *string `type:"string" enum:"ProductSource"`
// The sort field specifier. If no value is specified, results are not sorted.
SortBy *string `type:"string" enum:"ProductViewSortBy"`
// The sort order specifier. If no value is specified, results are not sorted.
SortOrder *string `type:"string" enum:"SortOrder"`
// contains filtered or unexported fields
}

type SearchProductsAsAdminOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// List of detailed product view information objects.
ProductViewDetails []*ProductViewDetail `type:"list"`
// contains filtered or unexported fields
}

type SearchProductsInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The list of filters with which to limit search results. If no search filters// are specified, the output is all the products to which the calling user has// access.
Filters map[string][]*string `type:"map"`
// The maximum number of items to return in the results. If more results exist// than fit in the specified PageSize, the value of NextPageToken in the response// is non-null.
PageSize *int64 `type:"integer"`
// The page token of the first page retrieved. If null, this retrieves the first// page of size PageSize.
PageToken *string `type:"string"`
// The sort field specifier. If no value is specified, results are not sorted.
SortBy *string `type:"string" enum:"ProductViewSortBy"`
// The sort order specifier. If no value is specified, results are not sorted.
SortOrder *string `type:"string" enum:"SortOrder"`
// contains filtered or unexported fields
}

type SearchProductsOutput struct {
// The page token to use to retrieve the next page of results for this operation.// If there are no more pages, this value is null.
NextPageToken *string `type:"string"`
// A list of the product view aggregation value objects.
ProductViewAggregations map[string][]*ProductViewAggregationValue `type:"map"`
// A list of the product view summary objects.
ProductViewSummaries []*ProductViewSummary `type:"list"`
// contains filtered or unexported fields
}

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation AcceptPortfolioShare for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.

AcceptPortfolioShareRequest generates a "aws/request.Request" representing the
client's request for the AcceptPortfolioShare operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See AcceptPortfolioShare for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the AcceptPortfolioShare method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

AcceptPortfolioShareWithContext is the same as AcceptPortfolioShare with the addition of
the ability to pass a context and additional request options.

See AcceptPortfolioShare for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation AssociatePrincipalWithPortfolio for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.

AssociatePrincipalWithPortfolioRequest generates a "aws/request.Request" representing the
client's request for the AssociatePrincipalWithPortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See AssociatePrincipalWithPortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the AssociatePrincipalWithPortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

AssociatePrincipalWithPortfolioWithContext is the same as AssociatePrincipalWithPortfolio with the addition of
the ability to pass a context and additional request options.

See AssociatePrincipalWithPortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation AssociateProductWithPortfolio for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.

AssociateProductWithPortfolioRequest generates a "aws/request.Request" representing the
client's request for the AssociateProductWithPortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See AssociateProductWithPortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the AssociateProductWithPortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

AssociateProductWithPortfolioWithContext is the same as AssociateProductWithPortfolio with the addition of
the ability to pass a context and additional request options.

See AssociateProductWithPortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation CreateConstraint for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.
* ErrCodeDuplicateResourceException "DuplicateResourceException"
The specified resource is a duplicate.

CreateConstraintRequest generates a "aws/request.Request" representing the
client's request for the CreateConstraint operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See CreateConstraint for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the CreateConstraint method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

CreateConstraintWithContext is the same as CreateConstraint with the addition of
the ability to pass a context and additional request options.

See CreateConstraint for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation CreatePortfolio for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.

CreatePortfolioRequest generates a "aws/request.Request" representing the
client's request for the CreatePortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See CreatePortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the CreatePortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation CreatePortfolioShare for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

CreatePortfolioShareRequest generates a "aws/request.Request" representing the
client's request for the CreatePortfolioShare operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See CreatePortfolioShare for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the CreatePortfolioShare method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

CreatePortfolioShareWithContext is the same as CreatePortfolioShare with the addition of
the ability to pass a context and additional request options.

See CreatePortfolioShare for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

CreatePortfolioWithContext is the same as CreatePortfolio with the addition of
the ability to pass a context and additional request options.

See CreatePortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation CreateProduct for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.

CreateProductRequest generates a "aws/request.Request" representing the
client's request for the CreateProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See CreateProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the CreateProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

CreateProductWithContext is the same as CreateProduct with the addition of
the ability to pass a context and additional request options.

See CreateProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Create a new provisioning artifact for the specified product. This operation
does not work with a product that has been shared with you.

See the bottom of this topic for an example JSON request.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation CreateProvisioningArtifact for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.

CreateProvisioningArtifactRequest generates a "aws/request.Request" representing the
client's request for the CreateProvisioningArtifact operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See CreateProvisioningArtifact for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the CreateProvisioningArtifact method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

CreateProvisioningArtifactWithContext is the same as CreateProvisioningArtifact with the addition of
the ability to pass a context and additional request options.

See CreateProvisioningArtifact for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DeleteConstraint for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

DeleteConstraintRequest generates a "aws/request.Request" representing the
client's request for the DeleteConstraint operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DeleteConstraint for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DeleteConstraint method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DeleteConstraintWithContext is the same as DeleteConstraint with the addition of
the ability to pass a context and additional request options.

See DeleteConstraint for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Deletes the specified portfolio. This operation does not work with a portfolio
that has been shared with you or if it has products, users, constraints,
or shared accounts associated with it.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DeletePortfolio for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceInUseException "ResourceInUseException"
The operation was requested against a resource that is currently in use.
Free the resource from use and retry the operation.

DeletePortfolioRequest generates a "aws/request.Request" representing the
client's request for the DeletePortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DeletePortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DeletePortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DeletePortfolioShareRequest generates a "aws/request.Request" representing the
client's request for the DeletePortfolioShare operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DeletePortfolioShare for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DeletePortfolioShare method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DeletePortfolioShareWithContext is the same as DeletePortfolioShare with the addition of
the ability to pass a context and additional request options.

See DeletePortfolioShare for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

DeletePortfolioWithContext is the same as DeletePortfolio with the addition of
the ability to pass a context and additional request options.

See DeletePortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Deletes the specified product. This operation does not work with a product
that has been shared with you or is associated with a portfolio.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DeleteProduct for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeResourceInUseException "ResourceInUseException"
The operation was requested against a resource that is currently in use.
Free the resource from use and retry the operation.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

DeleteProductRequest generates a "aws/request.Request" representing the
client's request for the DeleteProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DeleteProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DeleteProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DeleteProductWithContext is the same as DeleteProduct with the addition of
the ability to pass a context and additional request options.

See DeleteProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Deletes the specified provisioning artifact. This operation does not work
on a provisioning artifact associated with a product that has been shared
with you, or on the last provisioning artifact associated with a product
(a product must have at least one provisioning artifact).

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DeleteProvisioningArtifact for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeResourceInUseException "ResourceInUseException"
The operation was requested against a resource that is currently in use.
Free the resource from use and retry the operation.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

DeleteProvisioningArtifactRequest generates a "aws/request.Request" representing the
client's request for the DeleteProvisioningArtifact operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DeleteProvisioningArtifact for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DeleteProvisioningArtifact method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DeleteProvisioningArtifactWithContext is the same as DeleteProvisioningArtifact with the addition of
the ability to pass a context and additional request options.

See DeleteProvisioningArtifact for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

DescribeConstraintRequest generates a "aws/request.Request" representing the
client's request for the DescribeConstraint operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribeConstraint for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribeConstraint method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DescribeConstraintWithContext is the same as DescribeConstraint with the addition of
the ability to pass a context and additional request options.

See DescribeConstraint for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

DescribePortfolioRequest generates a "aws/request.Request" representing the
client's request for the DescribePortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribePortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribePortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DescribePortfolioWithContext is the same as DescribePortfolio with the addition of
the ability to pass a context and additional request options.

See DescribePortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

This operation is functionally identical to DescribeProductView except that
it takes as input ProductId instead of ProductViewId.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DescribeProduct for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

DescribeProductAsAdminRequest generates a "aws/request.Request" representing the
client's request for the DescribeProductAsAdmin operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribeProductAsAdmin for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribeProductAsAdmin method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DescribeProductAsAdminWithContext is the same as DescribeProductAsAdmin with the addition of
the ability to pass a context and additional request options.

See DescribeProductAsAdmin for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

DescribeProductRequest generates a "aws/request.Request" representing the
client's request for the DescribeProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribeProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribeProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

This operation is functionally identical to DescribeProduct except that it
takes as input ProductViewId instead of ProductId.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DescribeProductView for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

DescribeProductViewRequest generates a "aws/request.Request" representing the
client's request for the DescribeProductView operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribeProductView for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribeProductView method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DescribeProductViewWithContext is the same as DescribeProductView with the addition of
the ability to pass a context and additional request options.

See DescribeProductView for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

DescribeProductWithContext is the same as DescribeProduct with the addition of
the ability to pass a context and additional request options.

See DescribeProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

DescribeProvisionedProductRequest generates a "aws/request.Request" representing the
client's request for the DescribeProvisionedProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribeProvisionedProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribeProvisionedProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DescribeProvisionedProductWithContext is the same as DescribeProvisionedProduct with the addition of
the ability to pass a context and additional request options.

See DescribeProvisionedProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

DescribeProvisioningArtifactRequest generates a "aws/request.Request" representing the
client's request for the DescribeProvisioningArtifact operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribeProvisioningArtifact for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribeProvisioningArtifact method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DescribeProvisioningArtifactWithContext is the same as DescribeProvisioningArtifact with the addition of
the ability to pass a context and additional request options.

See DescribeProvisioningArtifact for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Provides information about parameters required to provision a specified product
in a specified manner. Use this operation to obtain the list of ProvisioningArtifactParameters
parameters available to call the ProvisionProduct operation for the specified
product.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DescribeProvisioningParameters for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.

DescribeProvisioningParametersRequest generates a "aws/request.Request" representing the
client's request for the DescribeProvisioningParameters operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribeProvisioningParameters for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribeProvisioningParameters method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DescribeProvisioningParametersWithContext is the same as DescribeProvisioningParameters with the addition of
the ability to pass a context and additional request options.

See DescribeProvisioningParameters for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

DescribeRecordRequest generates a "aws/request.Request" representing the
client's request for the DescribeRecord operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DescribeRecord for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DescribeRecord method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DescribeRecordWithContext is the same as DescribeRecord with the addition of
the ability to pass a context and additional request options.

See DescribeRecord for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Disassociates a previously associated principal ARN from a specified portfolio.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DisassociatePrincipalFromPortfolio for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.

DisassociatePrincipalFromPortfolioRequest generates a "aws/request.Request" representing the
client's request for the DisassociatePrincipalFromPortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DisassociatePrincipalFromPortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DisassociatePrincipalFromPortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DisassociatePrincipalFromPortfolioWithContext is the same as DisassociatePrincipalFromPortfolio with the addition of
the ability to pass a context and additional request options.

See DisassociatePrincipalFromPortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation DisassociateProductFromPortfolio for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

DisassociateProductFromPortfolioRequest generates a "aws/request.Request" representing the
client's request for the DisassociateProductFromPortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See DisassociateProductFromPortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the DisassociateProductFromPortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

DisassociateProductFromPortfolioWithContext is the same as DisassociateProductFromPortfolio with the addition of
the ability to pass a context and additional request options.

See DisassociateProductFromPortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

ListAcceptedPortfolioSharesRequest generates a "aws/request.Request" representing the
client's request for the ListAcceptedPortfolioShares operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListAcceptedPortfolioShares for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListAcceptedPortfolioShares method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListAcceptedPortfolioSharesWithContext is the same as ListAcceptedPortfolioShares with the addition of
the ability to pass a context and additional request options.

See ListAcceptedPortfolioShares for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Retrieves detailed constraint information for the specified portfolio and
product.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation ListConstraintsForPortfolio for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

ListConstraintsForPortfolioRequest generates a "aws/request.Request" representing the
client's request for the ListConstraintsForPortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListConstraintsForPortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListConstraintsForPortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListConstraintsForPortfolioWithContext is the same as ListConstraintsForPortfolio with the addition of
the ability to pass a context and additional request options.

See ListConstraintsForPortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns a paginated list of all paths to a specified product. A path is how
the user has access to a specified product, and is necessary when provisioning
a product. A path also determines the constraints put on the product.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation ListLaunchPaths for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.

ListLaunchPathsRequest generates a "aws/request.Request" representing the
client's request for the ListLaunchPaths operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListLaunchPaths for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListLaunchPaths method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListLaunchPathsWithContext is the same as ListLaunchPaths with the addition of
the ability to pass a context and additional request options.

See ListLaunchPaths for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

ListPortfolioAccessRequest generates a "aws/request.Request" representing the
client's request for the ListPortfolioAccess operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListPortfolioAccess for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListPortfolioAccess method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListPortfolioAccessWithContext is the same as ListPortfolioAccess with the addition of
the ability to pass a context and additional request options.

See ListPortfolioAccess for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation ListPortfoliosForProduct for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.

ListPortfoliosForProductRequest generates a "aws/request.Request" representing the
client's request for the ListPortfoliosForProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListPortfoliosForProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListPortfoliosForProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListPortfoliosForProductWithContext is the same as ListPortfoliosForProduct with the addition of
the ability to pass a context and additional request options.

See ListPortfoliosForProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

ListPortfoliosRequest generates a "aws/request.Request" representing the
client's request for the ListPortfolios operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListPortfolios for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListPortfolios method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListPortfoliosWithContext is the same as ListPortfolios with the addition of
the ability to pass a context and additional request options.

See ListPortfolios for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation ListPrincipalsForPortfolio for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

ListPrincipalsForPortfolioRequest generates a "aws/request.Request" representing the
client's request for the ListPrincipalsForPortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListPrincipalsForPortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListPrincipalsForPortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListPrincipalsForPortfolioWithContext is the same as ListPrincipalsForPortfolio with the addition of
the ability to pass a context and additional request options.

See ListPrincipalsForPortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Lists all provisioning artifacts associated with the specified product.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation ListProvisioningArtifacts for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

ListProvisioningArtifactsRequest generates a "aws/request.Request" representing the
client's request for the ListProvisioningArtifacts operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListProvisioningArtifacts for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListProvisioningArtifacts method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListProvisioningArtifactsWithContext is the same as ListProvisioningArtifacts with the addition of
the ability to pass a context and additional request options.

See ListProvisioningArtifacts for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

ListRecordHistoryRequest generates a "aws/request.Request" representing the
client's request for the ListRecordHistory operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ListRecordHistory for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ListRecordHistory method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ListRecordHistoryWithContext is the same as ListRecordHistory with the addition of
the ability to pass a context and additional request options.

See ListRecordHistory for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Requests a provision of a specified product. A provisioned product is a resourced
instance for a product. For example, provisioning a CloudFormation-template-backed
product results in launching a CloudFormation stack and all the underlying
resources that come with it.

You can check the status of this request using the DescribeRecord operation.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation ProvisionProduct for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeDuplicateResourceException "DuplicateResourceException"
The specified resource is a duplicate.

ProvisionProductRequest generates a "aws/request.Request" representing the
client's request for the ProvisionProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ProvisionProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ProvisionProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ProvisionProductWithContext is the same as ProvisionProduct with the addition of
the ability to pass a context and additional request options.

See ProvisionProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

RejectPortfolioShareRequest generates a "aws/request.Request" representing the
client's request for the RejectPortfolioShare operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See RejectPortfolioShare for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the RejectPortfolioShare method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

RejectPortfolioShareWithContext is the same as RejectPortfolioShare with the addition of
the ability to pass a context and additional request options.

See RejectPortfolioShare for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

ScanProvisionedProductsRequest generates a "aws/request.Request" representing the
client's request for the ScanProvisionedProducts operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See ScanProvisionedProducts for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the ScanProvisionedProducts method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

ScanProvisionedProductsWithContext is the same as ScanProvisionedProducts with the addition of
the ability to pass a context and additional request options.

See ScanProvisionedProducts for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Retrieves summary and status information about all products created within
the caller's account. If a portfolio ID is provided, this operation retrieves
information for only those products that are associated with the specified
portfolio.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation SearchProductsAsAdmin for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

SearchProductsAsAdminRequest generates a "aws/request.Request" representing the
client's request for the SearchProductsAsAdmin operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See SearchProductsAsAdmin for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the SearchProductsAsAdmin method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

SearchProductsAsAdminWithContext is the same as SearchProductsAsAdmin with the addition of
the ability to pass a context and additional request options.

See SearchProductsAsAdmin for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

SearchProductsRequest generates a "aws/request.Request" representing the
client's request for the SearchProducts operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See SearchProducts for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the SearchProducts method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

SearchProductsWithContext is the same as SearchProducts with the addition of
the ability to pass a context and additional request options.

See SearchProducts for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

TerminateProvisionedProductRequest generates a "aws/request.Request" representing the
client's request for the TerminateProvisionedProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See TerminateProvisionedProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the TerminateProvisionedProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

TerminateProvisionedProductWithContext is the same as TerminateProvisionedProduct with the addition of
the ability to pass a context and additional request options.

See TerminateProvisionedProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation UpdateConstraint for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

UpdateConstraintRequest generates a "aws/request.Request" representing the
client's request for the UpdateConstraint operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See UpdateConstraint for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the UpdateConstraint method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

UpdateConstraintWithContext is the same as UpdateConstraint with the addition of
the ability to pass a context and additional request options.

See UpdateConstraint for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Updates the specified portfolio's details. This operation does not work with
a product that has been shared with you.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation UpdatePortfolio for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeLimitExceededException "LimitExceededException"
The current limits of the service would have been exceeded by this operation.
Reduce the resource use or increase the service limits and retry the operation.

UpdatePortfolioRequest generates a "aws/request.Request" representing the
client's request for the UpdatePortfolio operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See UpdatePortfolio for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the UpdatePortfolio method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

UpdatePortfolioWithContext is the same as UpdatePortfolio with the addition of
the ability to pass a context and additional request options.

See UpdatePortfolio for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation UpdateProduct for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

UpdateProductRequest generates a "aws/request.Request" representing the
client's request for the UpdateProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See UpdateProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the UpdateProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

UpdateProductWithContext is the same as UpdateProduct with the addition of
the ability to pass a context and additional request options.

See UpdateProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Requests updates to the configuration of an existing ProvisionedProduct object.
If there are tags associated with the object, they cannot be updated or added
with this operation. Depending on the specific updates requested, this operation
may update with no interruption, with some interruption, or replace the ProvisionedProduct
object entirely.

You can check the status of this request using the DescribeRecord operation.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation UpdateProvisionedProduct for usage and error information.

Returned Error Codes:

* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.
* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.

UpdateProvisionedProductRequest generates a "aws/request.Request" representing the
client's request for the UpdateProvisionedProduct operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See UpdateProvisionedProduct for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the UpdateProvisionedProduct method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

UpdateProvisionedProductWithContext is the same as UpdateProvisionedProduct with the addition of
the ability to pass a context and additional request options.

See UpdateProvisionedProduct for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

Updates an existing provisioning artifact's information. This operation does
not work on a provisioning artifact associated with a product that has been
shared with you.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions
with awserr.Error's Code and Message methods to get detailed information about
the error.

See the AWS API reference guide for AWS Service Catalog's
API operation UpdateProvisioningArtifact for usage and error information.

Returned Error Codes:

* ErrCodeResourceNotFoundException "ResourceNotFoundException"
The specified resource was not found.
* ErrCodeInvalidParametersException "InvalidParametersException"
One or more parameters provided to the operation are invalid.

UpdateProvisioningArtifactRequest generates a "aws/request.Request" representing the
client's request for the UpdateProvisioningArtifact operation. The "output" return
value can be used to capture response data after the request's "Send" method
is called.

See UpdateProvisioningArtifact for usage and error information.

Creating a request object using this method should be used when you want to inject
custom logic into the request's lifecycle using a custom handler, or if you want to
access properties on the request object before or after sending the request. If
you just want the service response, call the UpdateProvisioningArtifact method directly
instead.

Note: You must call the "Send" method on the returned request object in order
to execute the request.

UpdateProvisioningArtifactWithContext is the same as UpdateProvisioningArtifact with the addition of
the ability to pass a context and additional request options.

See UpdateProvisioningArtifact for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If
the context is nil a panic will occur. In the future the SDK may create
sub-contexts for http.Requests. See https://golang.org/pkg/context/
for more information on using Contexts.

type TerminateProvisionedProductInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// If set to true, AWS Service Catalog stops managing the specified ProvisionedProduct// object even if it cannot delete the underlying resources.
IgnoreErrors *bool `type:"boolean"`
// The identifier of the ProvisionedProduct object to terminate. Specify either// ProvisionedProductName or ProvisionedProductId, but not both.
ProvisionedProductId *string `min:"1" type:"string"`
// The name of the ProvisionedProduct object to terminate. Specify either ProvisionedProductName// or ProvisionedProductId, but not both.
ProvisionedProductName *string `min:"1" type:"string"`
// An idempotency token that uniquely identifies the termination request. This// token is only valid during the termination process. After the ProvisionedProduct// object is terminated, further requests to terminate the same ProvisionedProduct// object always return ResourceNotFound regardless of the value of TerminateToken.//// TerminateToken is a required field
TerminateToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"`
// contains filtered or unexported fields
}

type TerminateProvisionedProductOutput struct {
// The detailed result of the TerminateProvisionedProduct request, containing// the inputs made to that request, the current state of the request, a pointer// to the ProvisionedProduct object that the request is modifying, and a list// of any errors that the request encountered.
RecordDetail *RecordDetail `type:"structure"`
// contains filtered or unexported fields
}

type UpdateConstraintInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The updated text description of the constraint.
Description *string `type:"string"`
// The identifier of the constraint to update.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}

type UpdatePortfolioInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// Tags to add to the existing list of tags associated with the portfolio.
AddTags []*Tag `type:"list"`
// The updated text description of the portfolio.
Description *string `type:"string"`
// The name to use for display purposes.
DisplayName *string `min:"1" type:"string"`
// The identifier of the portfolio for the update request.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// The updated name of the portfolio provider.
ProviderName *string `min:"1" type:"string"`
// Tags to remove from the existing list of tags associated with the portfolio.
RemoveTags []*string `type:"list"`
// contains filtered or unexported fields
}

type UpdateProductInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// Tags to add to the existing list of tags associated with the product.
AddTags []*Tag `type:"list"`
// The updated text description of the product.
Description *string `type:"string"`
// The updated distributor of the product.
Distributor *string `type:"string"`
// The identifier of the product for the update request.//// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// The updated product name.
Name *string `type:"string"`
// The updated owner of the product.
Owner *string `type:"string"`
// Tags to remove from the existing list of tags associated with the product.
RemoveTags []*string `type:"list"`
// The updated support description for the product.
SupportDescription *string `type:"string"`
// The updated support email for the product.
SupportEmail *string `type:"string"`
// The updated support URL for the product.
SupportUrl *string `type:"string"`
// contains filtered or unexported fields
}

type UpdateProvisionedProductInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The identifier of the path to use in the updated ProvisionedProduct object.// This value is optional if the product has a default path, and is required// if there is more than one path for the specified product.
PathId *string `min:"1" type:"string"`
// The identifier of the ProvisionedProduct object.
ProductId *string `min:"1" type:"string"`
// The identifier of the ProvisionedProduct object to update. Specify either// ProvisionedProductName or ProvisionedProductId, but not both.
ProvisionedProductId *string `min:"1" type:"string"`
// The updated name of the ProvisionedProduct object. Specify either ProvisionedProductName// or ProvisionedProductId, but not both.
ProvisionedProductName *string `min:"1" type:"string"`
// The provisioning artifact identifier for this product. This is sometimes// referred to as the product version.
ProvisioningArtifactId *string `min:"1" type:"string"`
// A list of ProvisioningParameter objects used to update the ProvisionedProduct// object.
ProvisioningParameters []*UpdateProvisioningParameter `type:"list"`
// The idempotency token that uniquely identifies the provisioning update request.//// UpdateToken is a required field
UpdateToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"`
// contains filtered or unexported fields
}

type UpdateProvisionedProductOutput struct {
// The detailed result of the UpdateProvisionedProduct request, containing the// inputs made to that request, the current state of the request, a pointer// to the ProvisionedProduct object that the request is modifying, and a list// of any errors that the request encountered.
RecordDetail *RecordDetail `type:"structure"`
// contains filtered or unexported fields
}

type UpdateProvisioningArtifactInput struct {
// The language code to use for this operation. Supported language codes are// as follows://// "en" (English)//// "jp" (Japanese)//// "zh" (Chinese)//// If no code is specified, "en" is used as the default.
AcceptLanguage *string `type:"string"`
// The updated text description of the provisioning artifact.
Description *string `type:"string"`
// The updated name of the provisioning artifact.
Name *string `type:"string"`
// The product identifier.//// ProductId is a required field
ProductId *string `min:"1" type:"string" required:"true"`
// The identifier of the provisioning artifact for the update request. This// is sometimes referred to as the product version.//// ProvisioningArtifactId is a required field
ProvisioningArtifactId *string `min:"1" type:"string" required:"true"`
// contains filtered or unexported fields
}