/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace ServiceCatalog { /** * Service Catalog

Service Catalog enables * organizations to create and manage catalogs of IT services that are approved for * Amazon Web Services. To get the most out of this documentation, you should be * familiar with the terminology discussed in Service * Catalog Concepts.

*/ class AWS_SERVICECATALOG_API ServiceCatalogClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef ServiceCatalogClientConfiguration ClientConfigurationType; typedef ServiceCatalogEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ServiceCatalogClient(const Aws::ServiceCatalog::ServiceCatalogClientConfiguration& clientConfiguration = Aws::ServiceCatalog::ServiceCatalogClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ServiceCatalogClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::ServiceCatalog::ServiceCatalogClientConfiguration& clientConfiguration = Aws::ServiceCatalog::ServiceCatalogClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ ServiceCatalogClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::ServiceCatalog::ServiceCatalogClientConfiguration& clientConfiguration = Aws::ServiceCatalog::ServiceCatalogClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ServiceCatalogClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ServiceCatalogClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ ServiceCatalogClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~ServiceCatalogClient(); /** *

Accepts an offer to share the specified portfolio.

See Also:

* AWS * API Reference

*/ virtual Model::AcceptPortfolioShareOutcome AcceptPortfolioShare(const Model::AcceptPortfolioShareRequest& request) const; /** * A Callable wrapper for AcceptPortfolioShare that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AcceptPortfolioShareOutcomeCallable AcceptPortfolioShareCallable(const AcceptPortfolioShareRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::AcceptPortfolioShare, request); } /** * An Async wrapper for AcceptPortfolioShare that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AcceptPortfolioShareAsync(const AcceptPortfolioShareRequestT& request, const AcceptPortfolioShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::AcceptPortfolioShare, request, handler, context); } /** *

Associates the specified budget with the specified resource.

See * Also:

AWS * API Reference

*/ virtual Model::AssociateBudgetWithResourceOutcome AssociateBudgetWithResource(const Model::AssociateBudgetWithResourceRequest& request) const; /** * A Callable wrapper for AssociateBudgetWithResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateBudgetWithResourceOutcomeCallable AssociateBudgetWithResourceCallable(const AssociateBudgetWithResourceRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::AssociateBudgetWithResource, request); } /** * An Async wrapper for AssociateBudgetWithResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateBudgetWithResourceAsync(const AssociateBudgetWithResourceRequestT& request, const AssociateBudgetWithResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::AssociateBudgetWithResource, request, handler, context); } /** *

Associates the specified principal ARN with the specified portfolio.

*

If you share the portfolio with principal name sharing enabled, the * PrincipalARN association is included in the share.

The * PortfolioID, PrincipalARN, and * PrincipalType parameters are required.

You can associate a * maximum of 10 Principals with a portfolio using PrincipalType as * IAM_PATTERN

When you associate a principal with * portfolio, a potential privilege escalation path may occur when that portfolio * is then shared with other accounts. For a user in a recipient account who is * not an Service Catalog Admin, but still has the ability to create * Principals (Users/Groups/Roles), that user could create a role that matches a * principal name association for the portfolio. Although this user may not know * which principal names are associated through Service Catalog, they may be able * to guess the user. If this potential escalation path is a concern, then Service * Catalog recommends using PrincipalType as IAM. With * this configuration, the PrincipalARN must already exist in the * recipient account before it can be associated.

See Also:

* AWS * API Reference

*/ virtual Model::AssociatePrincipalWithPortfolioOutcome AssociatePrincipalWithPortfolio(const Model::AssociatePrincipalWithPortfolioRequest& request) const; /** * A Callable wrapper for AssociatePrincipalWithPortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociatePrincipalWithPortfolioOutcomeCallable AssociatePrincipalWithPortfolioCallable(const AssociatePrincipalWithPortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::AssociatePrincipalWithPortfolio, request); } /** * An Async wrapper for AssociatePrincipalWithPortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociatePrincipalWithPortfolioAsync(const AssociatePrincipalWithPortfolioRequestT& request, const AssociatePrincipalWithPortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::AssociatePrincipalWithPortfolio, request, handler, context); } /** *

Associates the specified product with the specified portfolio.

A * delegated admin is authorized to invoke this command.

See Also:

* AWS * API Reference

*/ virtual Model::AssociateProductWithPortfolioOutcome AssociateProductWithPortfolio(const Model::AssociateProductWithPortfolioRequest& request) const; /** * A Callable wrapper for AssociateProductWithPortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateProductWithPortfolioOutcomeCallable AssociateProductWithPortfolioCallable(const AssociateProductWithPortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::AssociateProductWithPortfolio, request); } /** * An Async wrapper for AssociateProductWithPortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateProductWithPortfolioAsync(const AssociateProductWithPortfolioRequestT& request, const AssociateProductWithPortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::AssociateProductWithPortfolio, request, handler, context); } /** *

Associates a self-service action with a provisioning artifact.

See * Also:

AWS * API Reference

*/ virtual Model::AssociateServiceActionWithProvisioningArtifactOutcome AssociateServiceActionWithProvisioningArtifact(const Model::AssociateServiceActionWithProvisioningArtifactRequest& request) const; /** * A Callable wrapper for AssociateServiceActionWithProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateServiceActionWithProvisioningArtifactOutcomeCallable AssociateServiceActionWithProvisioningArtifactCallable(const AssociateServiceActionWithProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::AssociateServiceActionWithProvisioningArtifact, request); } /** * An Async wrapper for AssociateServiceActionWithProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateServiceActionWithProvisioningArtifactAsync(const AssociateServiceActionWithProvisioningArtifactRequestT& request, const AssociateServiceActionWithProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::AssociateServiceActionWithProvisioningArtifact, request, handler, context); } /** *

Associate the specified TagOption with the specified portfolio or * product.

See Also:

AWS * API Reference

*/ virtual Model::AssociateTagOptionWithResourceOutcome AssociateTagOptionWithResource(const Model::AssociateTagOptionWithResourceRequest& request) const; /** * A Callable wrapper for AssociateTagOptionWithResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateTagOptionWithResourceOutcomeCallable AssociateTagOptionWithResourceCallable(const AssociateTagOptionWithResourceRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::AssociateTagOptionWithResource, request); } /** * An Async wrapper for AssociateTagOptionWithResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateTagOptionWithResourceAsync(const AssociateTagOptionWithResourceRequestT& request, const AssociateTagOptionWithResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::AssociateTagOptionWithResource, request, handler, context); } /** *

Associates multiple self-service actions with provisioning * artifacts.

See Also:

AWS * API Reference

*/ virtual Model::BatchAssociateServiceActionWithProvisioningArtifactOutcome BatchAssociateServiceActionWithProvisioningArtifact(const Model::BatchAssociateServiceActionWithProvisioningArtifactRequest& request) const; /** * A Callable wrapper for BatchAssociateServiceActionWithProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchAssociateServiceActionWithProvisioningArtifactOutcomeCallable BatchAssociateServiceActionWithProvisioningArtifactCallable(const BatchAssociateServiceActionWithProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::BatchAssociateServiceActionWithProvisioningArtifact, request); } /** * An Async wrapper for BatchAssociateServiceActionWithProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchAssociateServiceActionWithProvisioningArtifactAsync(const BatchAssociateServiceActionWithProvisioningArtifactRequestT& request, const BatchAssociateServiceActionWithProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::BatchAssociateServiceActionWithProvisioningArtifact, request, handler, context); } /** *

Disassociates a batch of self-service actions from the specified provisioning * artifact.

See Also:

AWS * API Reference

*/ virtual Model::BatchDisassociateServiceActionFromProvisioningArtifactOutcome BatchDisassociateServiceActionFromProvisioningArtifact(const Model::BatchDisassociateServiceActionFromProvisioningArtifactRequest& request) const; /** * A Callable wrapper for BatchDisassociateServiceActionFromProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchDisassociateServiceActionFromProvisioningArtifactOutcomeCallable BatchDisassociateServiceActionFromProvisioningArtifactCallable(const BatchDisassociateServiceActionFromProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::BatchDisassociateServiceActionFromProvisioningArtifact, request); } /** * An Async wrapper for BatchDisassociateServiceActionFromProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchDisassociateServiceActionFromProvisioningArtifactAsync(const BatchDisassociateServiceActionFromProvisioningArtifactRequestT& request, const BatchDisassociateServiceActionFromProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::BatchDisassociateServiceActionFromProvisioningArtifact, request, handler, context); } /** *

Copies the specified source product to the specified target product or a new * product.

You can copy a product to the same account or another account. * You can copy a product to the same Region or another Region. If you copy a * product to another account, you must first share the product in a portfolio * using CreatePortfolioShare.

This operation is performed * asynchronously. To track the progress of the operation, use * DescribeCopyProductStatus.

See Also:

AWS * API Reference

*/ virtual Model::CopyProductOutcome CopyProduct(const Model::CopyProductRequest& request) const; /** * A Callable wrapper for CopyProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CopyProductOutcomeCallable CopyProductCallable(const CopyProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CopyProduct, request); } /** * An Async wrapper for CopyProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CopyProductAsync(const CopyProductRequestT& request, const CopyProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CopyProduct, request, handler, context); } /** *

Creates a constraint.

A delegated admin is authorized to invoke this * command.

See Also:

AWS * API Reference

*/ virtual Model::CreateConstraintOutcome CreateConstraint(const Model::CreateConstraintRequest& request) const; /** * A Callable wrapper for CreateConstraint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateConstraintOutcomeCallable CreateConstraintCallable(const CreateConstraintRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CreateConstraint, request); } /** * An Async wrapper for CreateConstraint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateConstraintAsync(const CreateConstraintRequestT& request, const CreateConstraintResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CreateConstraint, request, handler, context); } /** *

Creates a portfolio.

A delegated admin is authorized to invoke this * command.

See Also:

AWS * API Reference

*/ virtual Model::CreatePortfolioOutcome CreatePortfolio(const Model::CreatePortfolioRequest& request) const; /** * A Callable wrapper for CreatePortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePortfolioOutcomeCallable CreatePortfolioCallable(const CreatePortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CreatePortfolio, request); } /** * An Async wrapper for CreatePortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePortfolioAsync(const CreatePortfolioRequestT& request, const CreatePortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CreatePortfolio, request, handler, context); } /** *

Shares the specified portfolio with the specified account or organization * node. Shares to an organization node can only be created by the management * account of an organization or by a delegated administrator. You can share * portfolios to an organization, an organizational unit, or a specific * account.

Note that if a delegated admin is de-registered, they can no * longer create portfolio shares.

AWSOrganizationsAccess must * be enabled in order to create a portfolio share to an organization node.

*

You can't share a shared resource, including portfolios that contain a shared * product.

If the portfolio share with the specified account or * organization node already exists, this action will have no effect and will not * return an error. To update an existing share, you must use the * UpdatePortfolioShare API instead.

When you associate a * principal with portfolio, a potential privilege escalation path may occur when * that portfolio is then shared with other accounts. For a user in a recipient * account who is not an Service Catalog Admin, but still has the ability to * create Principals (Users/Groups/Roles), that user could create a role that * matches a principal name association for the portfolio. Although this user may * not know which principal names are associated through Service Catalog, they may * be able to guess the user. If this potential escalation path is a concern, then * Service Catalog recommends using PrincipalType as IAM. * With this configuration, the PrincipalARN must already exist in the * recipient account before it can be associated.

See Also:

* AWS * API Reference

*/ virtual Model::CreatePortfolioShareOutcome CreatePortfolioShare(const Model::CreatePortfolioShareRequest& request) const; /** * A Callable wrapper for CreatePortfolioShare that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePortfolioShareOutcomeCallable CreatePortfolioShareCallable(const CreatePortfolioShareRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CreatePortfolioShare, request); } /** * An Async wrapper for CreatePortfolioShare that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePortfolioShareAsync(const CreatePortfolioShareRequestT& request, const CreatePortfolioShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CreatePortfolioShare, request, handler, context); } /** *

Creates a product.

A delegated admin is authorized to invoke this * command.

The user or role that performs this operation must have the * cloudformation:GetTemplate IAM policy permission. This policy * permission is required when using the ImportFromPhysicalId template * source in the information data section.

See Also:

AWS * API Reference

*/ virtual Model::CreateProductOutcome CreateProduct(const Model::CreateProductRequest& request) const; /** * A Callable wrapper for CreateProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateProductOutcomeCallable CreateProductCallable(const CreateProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CreateProduct, request); } /** * An Async wrapper for CreateProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateProductAsync(const CreateProductRequestT& request, const CreateProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CreateProduct, request, handler, context); } /** *

Creates a plan.

A plan includes the list of resources to be created * (when provisioning a new product) or modified (when updating a provisioned * product) when the plan is executed.

You can create one plan for each * provisioned product. To create a plan for an existing provisioned product, the * product status must be AVAILABLE or TAINTED.

To view the resource changes * in the change set, use DescribeProvisionedProductPlan. To create or * modify the provisioned product, use * ExecuteProvisionedProductPlan.

See Also:

AWS * API Reference

*/ virtual Model::CreateProvisionedProductPlanOutcome CreateProvisionedProductPlan(const Model::CreateProvisionedProductPlanRequest& request) const; /** * A Callable wrapper for CreateProvisionedProductPlan that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateProvisionedProductPlanOutcomeCallable CreateProvisionedProductPlanCallable(const CreateProvisionedProductPlanRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CreateProvisionedProductPlan, request); } /** * An Async wrapper for CreateProvisionedProductPlan that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateProvisionedProductPlanAsync(const CreateProvisionedProductPlanRequestT& request, const CreateProvisionedProductPlanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CreateProvisionedProductPlan, request, handler, context); } /** *

Creates a provisioning artifact (also known as a version) for the specified * product.

You cannot create a provisioning artifact for a product that was * shared with you.

The user or role that performs this operation must have * the cloudformation:GetTemplate IAM policy permission. This policy * permission is required when using the ImportFromPhysicalId template * source in the information data section.

See Also:

AWS * API Reference

*/ virtual Model::CreateProvisioningArtifactOutcome CreateProvisioningArtifact(const Model::CreateProvisioningArtifactRequest& request) const; /** * A Callable wrapper for CreateProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateProvisioningArtifactOutcomeCallable CreateProvisioningArtifactCallable(const CreateProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CreateProvisioningArtifact, request); } /** * An Async wrapper for CreateProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateProvisioningArtifactAsync(const CreateProvisioningArtifactRequestT& request, const CreateProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CreateProvisioningArtifact, request, handler, context); } /** *

Creates a self-service action.

See Also:

AWS * API Reference

*/ virtual Model::CreateServiceActionOutcome CreateServiceAction(const Model::CreateServiceActionRequest& request) const; /** * A Callable wrapper for CreateServiceAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateServiceActionOutcomeCallable CreateServiceActionCallable(const CreateServiceActionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CreateServiceAction, request); } /** * An Async wrapper for CreateServiceAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateServiceActionAsync(const CreateServiceActionRequestT& request, const CreateServiceActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CreateServiceAction, request, handler, context); } /** *

Creates a TagOption.

See Also:

AWS * API Reference

*/ virtual Model::CreateTagOptionOutcome CreateTagOption(const Model::CreateTagOptionRequest& request) const; /** * A Callable wrapper for CreateTagOption that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateTagOptionOutcomeCallable CreateTagOptionCallable(const CreateTagOptionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::CreateTagOption, request); } /** * An Async wrapper for CreateTagOption that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateTagOptionAsync(const CreateTagOptionRequestT& request, const CreateTagOptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::CreateTagOption, request, handler, context); } /** *

Deletes the specified constraint.

A delegated admin is authorized to * invoke this command.

See Also:

AWS * API Reference

*/ virtual Model::DeleteConstraintOutcome DeleteConstraint(const Model::DeleteConstraintRequest& request) const; /** * A Callable wrapper for DeleteConstraint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteConstraintOutcomeCallable DeleteConstraintCallable(const DeleteConstraintRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DeleteConstraint, request); } /** * An Async wrapper for DeleteConstraint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteConstraintAsync(const DeleteConstraintRequestT& request, const DeleteConstraintResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DeleteConstraint, request, handler, context); } /** *

Deletes the specified portfolio.

You cannot delete a portfolio if it * was shared with you or if it has associated products, users, constraints, or * shared accounts.

A delegated admin is authorized to invoke this * command.

See Also:

AWS * API Reference

*/ virtual Model::DeletePortfolioOutcome DeletePortfolio(const Model::DeletePortfolioRequest& request) const; /** * A Callable wrapper for DeletePortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePortfolioOutcomeCallable DeletePortfolioCallable(const DeletePortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DeletePortfolio, request); } /** * An Async wrapper for DeletePortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePortfolioAsync(const DeletePortfolioRequestT& request, const DeletePortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DeletePortfolio, request, handler, context); } /** *

Stops sharing the specified portfolio with the specified account or * organization node. Shares to an organization node can only be deleted by the * management account of an organization or by a delegated administrator.

*

Note that if a delegated admin is de-registered, portfolio shares created * from that account are removed.

See Also:

AWS * API Reference

*/ virtual Model::DeletePortfolioShareOutcome DeletePortfolioShare(const Model::DeletePortfolioShareRequest& request) const; /** * A Callable wrapper for DeletePortfolioShare that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePortfolioShareOutcomeCallable DeletePortfolioShareCallable(const DeletePortfolioShareRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DeletePortfolioShare, request); } /** * An Async wrapper for DeletePortfolioShare that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePortfolioShareAsync(const DeletePortfolioShareRequestT& request, const DeletePortfolioShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DeletePortfolioShare, request, handler, context); } /** *

Deletes the specified product.

You cannot delete a product if it was * shared with you or is associated with a portfolio.

A delegated admin is * authorized to invoke this command.

See Also:

AWS * API Reference

*/ virtual Model::DeleteProductOutcome DeleteProduct(const Model::DeleteProductRequest& request) const; /** * A Callable wrapper for DeleteProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteProductOutcomeCallable DeleteProductCallable(const DeleteProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DeleteProduct, request); } /** * An Async wrapper for DeleteProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteProductAsync(const DeleteProductRequestT& request, const DeleteProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DeleteProduct, request, handler, context); } /** *

Deletes the specified plan.

See Also:

AWS * API Reference

*/ virtual Model::DeleteProvisionedProductPlanOutcome DeleteProvisionedProductPlan(const Model::DeleteProvisionedProductPlanRequest& request) const; /** * A Callable wrapper for DeleteProvisionedProductPlan that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteProvisionedProductPlanOutcomeCallable DeleteProvisionedProductPlanCallable(const DeleteProvisionedProductPlanRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DeleteProvisionedProductPlan, request); } /** * An Async wrapper for DeleteProvisionedProductPlan that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteProvisionedProductPlanAsync(const DeleteProvisionedProductPlanRequestT& request, const DeleteProvisionedProductPlanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DeleteProvisionedProductPlan, request, handler, context); } /** *

Deletes the specified provisioning artifact (also known as a version) for the * specified product.

You cannot delete a provisioning artifact associated * with a product that was shared with you. You cannot delete the last provisioning * artifact for a product, because a product must have at least one provisioning * artifact.

See Also:

AWS * API Reference

*/ virtual Model::DeleteProvisioningArtifactOutcome DeleteProvisioningArtifact(const Model::DeleteProvisioningArtifactRequest& request) const; /** * A Callable wrapper for DeleteProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteProvisioningArtifactOutcomeCallable DeleteProvisioningArtifactCallable(const DeleteProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DeleteProvisioningArtifact, request); } /** * An Async wrapper for DeleteProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteProvisioningArtifactAsync(const DeleteProvisioningArtifactRequestT& request, const DeleteProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DeleteProvisioningArtifact, request, handler, context); } /** *

Deletes a self-service action.

See Also:

AWS * API Reference

*/ virtual Model::DeleteServiceActionOutcome DeleteServiceAction(const Model::DeleteServiceActionRequest& request) const; /** * A Callable wrapper for DeleteServiceAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteServiceActionOutcomeCallable DeleteServiceActionCallable(const DeleteServiceActionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DeleteServiceAction, request); } /** * An Async wrapper for DeleteServiceAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteServiceActionAsync(const DeleteServiceActionRequestT& request, const DeleteServiceActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DeleteServiceAction, request, handler, context); } /** *

Deletes the specified TagOption.

You cannot delete a TagOption if it * is associated with a product or portfolio.

See Also:

AWS * API Reference

*/ virtual Model::DeleteTagOptionOutcome DeleteTagOption(const Model::DeleteTagOptionRequest& request) const; /** * A Callable wrapper for DeleteTagOption that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteTagOptionOutcomeCallable DeleteTagOptionCallable(const DeleteTagOptionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DeleteTagOption, request); } /** * An Async wrapper for DeleteTagOption that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteTagOptionAsync(const DeleteTagOptionRequestT& request, const DeleteTagOptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DeleteTagOption, request, handler, context); } /** *

Gets information about the specified constraint.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeConstraintOutcome DescribeConstraint(const Model::DescribeConstraintRequest& request) const; /** * A Callable wrapper for DescribeConstraint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeConstraintOutcomeCallable DescribeConstraintCallable(const DescribeConstraintRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeConstraint, request); } /** * An Async wrapper for DescribeConstraint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeConstraintAsync(const DescribeConstraintRequestT& request, const DescribeConstraintResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeConstraint, request, handler, context); } /** *

Gets the status of the specified copy product operation.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeCopyProductStatusOutcome DescribeCopyProductStatus(const Model::DescribeCopyProductStatusRequest& request) const; /** * A Callable wrapper for DescribeCopyProductStatus that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeCopyProductStatusOutcomeCallable DescribeCopyProductStatusCallable(const DescribeCopyProductStatusRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeCopyProductStatus, request); } /** * An Async wrapper for DescribeCopyProductStatus that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeCopyProductStatusAsync(const DescribeCopyProductStatusRequestT& request, const DescribeCopyProductStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeCopyProductStatus, request, handler, context); } /** *

Gets information about the specified portfolio.

A delegated admin is * authorized to invoke this command.

See Also:

AWS * API Reference

*/ virtual Model::DescribePortfolioOutcome DescribePortfolio(const Model::DescribePortfolioRequest& request) const; /** * A Callable wrapper for DescribePortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribePortfolioOutcomeCallable DescribePortfolioCallable(const DescribePortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribePortfolio, request); } /** * An Async wrapper for DescribePortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribePortfolioAsync(const DescribePortfolioRequestT& request, const DescribePortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribePortfolio, request, handler, context); } /** *

Gets the status of the specified portfolio share operation. This API can only * be called by the management account in the organization or by a delegated * admin.

See Also:

AWS * API Reference

*/ virtual Model::DescribePortfolioShareStatusOutcome DescribePortfolioShareStatus(const Model::DescribePortfolioShareStatusRequest& request) const; /** * A Callable wrapper for DescribePortfolioShareStatus that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribePortfolioShareStatusOutcomeCallable DescribePortfolioShareStatusCallable(const DescribePortfolioShareStatusRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribePortfolioShareStatus, request); } /** * An Async wrapper for DescribePortfolioShareStatus that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribePortfolioShareStatusAsync(const DescribePortfolioShareStatusRequestT& request, const DescribePortfolioShareStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribePortfolioShareStatus, request, handler, context); } /** *

Returns a summary of each of the portfolio shares that were created for the * specified portfolio.

You can use this API to determine which accounts or * organizational nodes this portfolio have been shared, whether the recipient * entity has imported the share, and whether TagOptions are included with the * share.

The PortfolioId and Type parameters are * both required.

See Also:

AWS * API Reference

*/ virtual Model::DescribePortfolioSharesOutcome DescribePortfolioShares(const Model::DescribePortfolioSharesRequest& request) const; /** * A Callable wrapper for DescribePortfolioShares that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribePortfolioSharesOutcomeCallable DescribePortfolioSharesCallable(const DescribePortfolioSharesRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribePortfolioShares, request); } /** * An Async wrapper for DescribePortfolioShares that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribePortfolioSharesAsync(const DescribePortfolioSharesRequestT& request, const DescribePortfolioSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribePortfolioShares, request, handler, context); } /** *

Gets information about the specified product.

Running this * operation with administrator access results in a failure. * DescribeProductAsAdmin should be used instead.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeProductOutcome DescribeProduct(const Model::DescribeProductRequest& request) const; /** * A Callable wrapper for DescribeProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeProductOutcomeCallable DescribeProductCallable(const DescribeProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeProduct, request); } /** * An Async wrapper for DescribeProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeProductAsync(const DescribeProductRequestT& request, const DescribeProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeProduct, request, handler, context); } /** *

Gets information about the specified product. This operation is run with * administrator access.

See Also:

AWS * API Reference

*/ virtual Model::DescribeProductAsAdminOutcome DescribeProductAsAdmin(const Model::DescribeProductAsAdminRequest& request) const; /** * A Callable wrapper for DescribeProductAsAdmin that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeProductAsAdminOutcomeCallable DescribeProductAsAdminCallable(const DescribeProductAsAdminRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeProductAsAdmin, request); } /** * An Async wrapper for DescribeProductAsAdmin that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeProductAsAdminAsync(const DescribeProductAsAdminRequestT& request, const DescribeProductAsAdminResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeProductAsAdmin, request, handler, context); } /** *

Gets information about the specified product.

See Also:

AWS * API Reference

*/ virtual Model::DescribeProductViewOutcome DescribeProductView(const Model::DescribeProductViewRequest& request) const; /** * A Callable wrapper for DescribeProductView that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeProductViewOutcomeCallable DescribeProductViewCallable(const DescribeProductViewRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeProductView, request); } /** * An Async wrapper for DescribeProductView that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeProductViewAsync(const DescribeProductViewRequestT& request, const DescribeProductViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeProductView, request, handler, context); } /** *

Gets information about the specified provisioned product.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeProvisionedProductOutcome DescribeProvisionedProduct(const Model::DescribeProvisionedProductRequest& request) const; /** * A Callable wrapper for DescribeProvisionedProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeProvisionedProductOutcomeCallable DescribeProvisionedProductCallable(const DescribeProvisionedProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeProvisionedProduct, request); } /** * An Async wrapper for DescribeProvisionedProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeProvisionedProductAsync(const DescribeProvisionedProductRequestT& request, const DescribeProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeProvisionedProduct, request, handler, context); } /** *

Gets information about the resource changes for the specified * plan.

See Also:

AWS * API Reference

*/ virtual Model::DescribeProvisionedProductPlanOutcome DescribeProvisionedProductPlan(const Model::DescribeProvisionedProductPlanRequest& request) const; /** * A Callable wrapper for DescribeProvisionedProductPlan that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeProvisionedProductPlanOutcomeCallable DescribeProvisionedProductPlanCallable(const DescribeProvisionedProductPlanRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeProvisionedProductPlan, request); } /** * An Async wrapper for DescribeProvisionedProductPlan that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeProvisionedProductPlanAsync(const DescribeProvisionedProductPlanRequestT& request, const DescribeProvisionedProductPlanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeProvisionedProductPlan, request, handler, context); } /** *

Gets information about the specified provisioning artifact (also known as a * version) for the specified product.

See Also:

AWS * API Reference

*/ virtual Model::DescribeProvisioningArtifactOutcome DescribeProvisioningArtifact(const Model::DescribeProvisioningArtifactRequest& request) const; /** * A Callable wrapper for DescribeProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeProvisioningArtifactOutcomeCallable DescribeProvisioningArtifactCallable(const DescribeProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeProvisioningArtifact, request); } /** * An Async wrapper for DescribeProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeProvisioningArtifactAsync(const DescribeProvisioningArtifactRequestT& request, const DescribeProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeProvisioningArtifact, request, handler, context); } /** *

Gets information about the configuration required to provision the specified * product using the specified provisioning artifact.

If the output contains * a TagOption key with an empty list of values, there is a TagOption conflict for * that key. The end user cannot take action to fix the conflict, and launch is not * blocked. In subsequent calls to ProvisionProduct, do not include * conflicted TagOption keys as tags, or this causes the error "Parameter * validation failed: Missing required parameter in Tags[N]:Value". * Tag the provisioned product with the value * sc-tagoption-conflict-portfolioId-productId.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeProvisioningParametersOutcome DescribeProvisioningParameters(const Model::DescribeProvisioningParametersRequest& request) const; /** * A Callable wrapper for DescribeProvisioningParameters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeProvisioningParametersOutcomeCallable DescribeProvisioningParametersCallable(const DescribeProvisioningParametersRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeProvisioningParameters, request); } /** * An Async wrapper for DescribeProvisioningParameters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeProvisioningParametersAsync(const DescribeProvisioningParametersRequestT& request, const DescribeProvisioningParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeProvisioningParameters, request, handler, context); } /** *

Gets information about the specified request operation.

Use this * operation after calling a request operation (for example, * ProvisionProduct, TerminateProvisionedProduct, or * UpdateProvisionedProduct).

If a provisioned product was * transferred to a new owner using UpdateProvisionedProductProperties, the * new owner will be able to describe all past records for that product. The * previous owner will no longer be able to describe the records, but will be able * to use ListRecordHistory to see the product's history from when he was * the owner.

See Also:

AWS * API Reference

*/ virtual Model::DescribeRecordOutcome DescribeRecord(const Model::DescribeRecordRequest& request) const; /** * A Callable wrapper for DescribeRecord that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeRecordOutcomeCallable DescribeRecordCallable(const DescribeRecordRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeRecord, request); } /** * An Async wrapper for DescribeRecord that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeRecordAsync(const DescribeRecordRequestT& request, const DescribeRecordResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeRecord, request, handler, context); } /** *

Describes a self-service action.

See Also:

AWS * API Reference

*/ virtual Model::DescribeServiceActionOutcome DescribeServiceAction(const Model::DescribeServiceActionRequest& request) const; /** * A Callable wrapper for DescribeServiceAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeServiceActionOutcomeCallable DescribeServiceActionCallable(const DescribeServiceActionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeServiceAction, request); } /** * An Async wrapper for DescribeServiceAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeServiceActionAsync(const DescribeServiceActionRequestT& request, const DescribeServiceActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeServiceAction, request, handler, context); } /** *

Finds the default parameters for a specific self-service action on a specific * provisioned product and returns a map of the results to the user.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeServiceActionExecutionParametersOutcome DescribeServiceActionExecutionParameters(const Model::DescribeServiceActionExecutionParametersRequest& request) const; /** * A Callable wrapper for DescribeServiceActionExecutionParameters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeServiceActionExecutionParametersOutcomeCallable DescribeServiceActionExecutionParametersCallable(const DescribeServiceActionExecutionParametersRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeServiceActionExecutionParameters, request); } /** * An Async wrapper for DescribeServiceActionExecutionParameters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeServiceActionExecutionParametersAsync(const DescribeServiceActionExecutionParametersRequestT& request, const DescribeServiceActionExecutionParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeServiceActionExecutionParameters, request, handler, context); } /** *

Gets information about the specified TagOption.

See Also:

AWS * API Reference

*/ virtual Model::DescribeTagOptionOutcome DescribeTagOption(const Model::DescribeTagOptionRequest& request) const; /** * A Callable wrapper for DescribeTagOption that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeTagOptionOutcomeCallable DescribeTagOptionCallable(const DescribeTagOptionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DescribeTagOption, request); } /** * An Async wrapper for DescribeTagOption that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeTagOptionAsync(const DescribeTagOptionRequestT& request, const DescribeTagOptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DescribeTagOption, request, handler, context); } /** *

Disable portfolio sharing through the Organizations service. This command * will not delete your current shares, but prevents you from creating new shares * throughout your organization. Current shares are not kept in sync with your * organization structure if the structure changes after calling this API. Only the * management account in the organization can call this API.

You cannot call * this API if there are active delegated administrators in the organization.

*

Note that a delegated administrator is not authorized to invoke * DisableAWSOrganizationsAccess.

If you share an * Service Catalog portfolio in an organization within Organizations, and then * disable Organizations access for Service Catalog, the portfolio access * permissions will not sync with the latest changes to the organization structure. * Specifically, accounts that you removed from the organization after disabling * Service Catalog access will retain access to the previously shared * portfolio.

See Also:

AWS * API Reference

*/ virtual Model::DisableAWSOrganizationsAccessOutcome DisableAWSOrganizationsAccess(const Model::DisableAWSOrganizationsAccessRequest& request) const; /** * A Callable wrapper for DisableAWSOrganizationsAccess that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisableAWSOrganizationsAccessOutcomeCallable DisableAWSOrganizationsAccessCallable(const DisableAWSOrganizationsAccessRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DisableAWSOrganizationsAccess, request); } /** * An Async wrapper for DisableAWSOrganizationsAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisableAWSOrganizationsAccessAsync(const DisableAWSOrganizationsAccessRequestT& request, const DisableAWSOrganizationsAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DisableAWSOrganizationsAccess, request, handler, context); } /** *

Disassociates the specified budget from the specified resource.

See * Also:

AWS * API Reference

*/ virtual Model::DisassociateBudgetFromResourceOutcome DisassociateBudgetFromResource(const Model::DisassociateBudgetFromResourceRequest& request) const; /** * A Callable wrapper for DisassociateBudgetFromResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateBudgetFromResourceOutcomeCallable DisassociateBudgetFromResourceCallable(const DisassociateBudgetFromResourceRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DisassociateBudgetFromResource, request); } /** * An Async wrapper for DisassociateBudgetFromResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateBudgetFromResourceAsync(const DisassociateBudgetFromResourceRequestT& request, const DisassociateBudgetFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DisassociateBudgetFromResource, request, handler, context); } /** *

Disassociates a previously associated principal ARN from a specified * portfolio.

The PrincipalType and PrincipalARN * must match the AssociatePrincipalWithPortfolio call request * details. For example, to disassociate an association created with a * PrincipalARN of PrincipalType IAM you must use the * PrincipalType IAM when calling * DisassociatePrincipalFromPortfolio.

For portfolios that * have been shared with principal name sharing enabled: after disassociating a * principal, share recipient accounts will no longer be able to provision products * in this portfolio using a role matching the name of the associated principal. *

For more information, review associate-principal-with-portfolio * in the Amazon Web Services CLI Command Reference.

If you * disassociate a principal from a portfolio, with PrincipalType as * IAM, the same principal will still have access to the portfolio if * it matches one of the associated principals of type IAM_PATTERN. To * fully remove access for a principal, verify all the associated Principals of * type IAM_PATTERN, and then ensure you disassociate any * IAM_PATTERN principals that match the principal whose access you * are removing.

See Also:

AWS * API Reference

*/ virtual Model::DisassociatePrincipalFromPortfolioOutcome DisassociatePrincipalFromPortfolio(const Model::DisassociatePrincipalFromPortfolioRequest& request) const; /** * A Callable wrapper for DisassociatePrincipalFromPortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociatePrincipalFromPortfolioOutcomeCallable DisassociatePrincipalFromPortfolioCallable(const DisassociatePrincipalFromPortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DisassociatePrincipalFromPortfolio, request); } /** * An Async wrapper for DisassociatePrincipalFromPortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociatePrincipalFromPortfolioAsync(const DisassociatePrincipalFromPortfolioRequestT& request, const DisassociatePrincipalFromPortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DisassociatePrincipalFromPortfolio, request, handler, context); } /** *

Disassociates the specified product from the specified portfolio.

A * delegated admin is authorized to invoke this command.

See Also:

* AWS * API Reference

*/ virtual Model::DisassociateProductFromPortfolioOutcome DisassociateProductFromPortfolio(const Model::DisassociateProductFromPortfolioRequest& request) const; /** * A Callable wrapper for DisassociateProductFromPortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateProductFromPortfolioOutcomeCallable DisassociateProductFromPortfolioCallable(const DisassociateProductFromPortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DisassociateProductFromPortfolio, request); } /** * An Async wrapper for DisassociateProductFromPortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateProductFromPortfolioAsync(const DisassociateProductFromPortfolioRequestT& request, const DisassociateProductFromPortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DisassociateProductFromPortfolio, request, handler, context); } /** *

Disassociates the specified self-service action association from the * specified provisioning artifact.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateServiceActionFromProvisioningArtifactOutcome DisassociateServiceActionFromProvisioningArtifact(const Model::DisassociateServiceActionFromProvisioningArtifactRequest& request) const; /** * A Callable wrapper for DisassociateServiceActionFromProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateServiceActionFromProvisioningArtifactOutcomeCallable DisassociateServiceActionFromProvisioningArtifactCallable(const DisassociateServiceActionFromProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DisassociateServiceActionFromProvisioningArtifact, request); } /** * An Async wrapper for DisassociateServiceActionFromProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateServiceActionFromProvisioningArtifactAsync(const DisassociateServiceActionFromProvisioningArtifactRequestT& request, const DisassociateServiceActionFromProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DisassociateServiceActionFromProvisioningArtifact, request, handler, context); } /** *

Disassociates the specified TagOption from the specified * resource.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateTagOptionFromResourceOutcome DisassociateTagOptionFromResource(const Model::DisassociateTagOptionFromResourceRequest& request) const; /** * A Callable wrapper for DisassociateTagOptionFromResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateTagOptionFromResourceOutcomeCallable DisassociateTagOptionFromResourceCallable(const DisassociateTagOptionFromResourceRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::DisassociateTagOptionFromResource, request); } /** * An Async wrapper for DisassociateTagOptionFromResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateTagOptionFromResourceAsync(const DisassociateTagOptionFromResourceRequestT& request, const DisassociateTagOptionFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::DisassociateTagOptionFromResource, request, handler, context); } /** *

Enable portfolio sharing feature through Organizations. This API will allow * Service Catalog to receive updates on your organization in order to sync your * shares with the current structure. This API can only be called by the management * account in the organization.

When you call this API, Service Catalog * calls organizations:EnableAWSServiceAccess on your behalf so that * your shares stay in sync with any changes in your Organizations structure.

*

Note that a delegated administrator is not authorized to invoke * EnableAWSOrganizationsAccess.

If you have * previously disabled Organizations access for Service Catalog, and then enable * access again, the portfolio access permissions might not sync with the latest * changes to the organization structure. Specifically, accounts that you removed * from the organization after disabling Service Catalog access, and before you * enabled access again, can retain access to the previously shared portfolio. As a * result, an account that has been removed from the organization might still be * able to create or manage Amazon Web Services resources when it is no longer * authorized to do so. Amazon Web Services is working to resolve this issue.

*

See Also:

AWS * API Reference

*/ virtual Model::EnableAWSOrganizationsAccessOutcome EnableAWSOrganizationsAccess(const Model::EnableAWSOrganizationsAccessRequest& request) const; /** * A Callable wrapper for EnableAWSOrganizationsAccess that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::EnableAWSOrganizationsAccessOutcomeCallable EnableAWSOrganizationsAccessCallable(const EnableAWSOrganizationsAccessRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::EnableAWSOrganizationsAccess, request); } /** * An Async wrapper for EnableAWSOrganizationsAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void EnableAWSOrganizationsAccessAsync(const EnableAWSOrganizationsAccessRequestT& request, const EnableAWSOrganizationsAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::EnableAWSOrganizationsAccess, request, handler, context); } /** *

Provisions or modifies a product based on the resource changes for the * specified plan.

See Also:

AWS * API Reference

*/ virtual Model::ExecuteProvisionedProductPlanOutcome ExecuteProvisionedProductPlan(const Model::ExecuteProvisionedProductPlanRequest& request) const; /** * A Callable wrapper for ExecuteProvisionedProductPlan that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ExecuteProvisionedProductPlanOutcomeCallable ExecuteProvisionedProductPlanCallable(const ExecuteProvisionedProductPlanRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ExecuteProvisionedProductPlan, request); } /** * An Async wrapper for ExecuteProvisionedProductPlan that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ExecuteProvisionedProductPlanAsync(const ExecuteProvisionedProductPlanRequestT& request, const ExecuteProvisionedProductPlanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ExecuteProvisionedProductPlan, request, handler, context); } /** *

Executes a self-service action against a provisioned product.

See * Also:

AWS * API Reference

*/ virtual Model::ExecuteProvisionedProductServiceActionOutcome ExecuteProvisionedProductServiceAction(const Model::ExecuteProvisionedProductServiceActionRequest& request) const; /** * A Callable wrapper for ExecuteProvisionedProductServiceAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ExecuteProvisionedProductServiceActionOutcomeCallable ExecuteProvisionedProductServiceActionCallable(const ExecuteProvisionedProductServiceActionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ExecuteProvisionedProductServiceAction, request); } /** * An Async wrapper for ExecuteProvisionedProductServiceAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ExecuteProvisionedProductServiceActionAsync(const ExecuteProvisionedProductServiceActionRequestT& request, const ExecuteProvisionedProductServiceActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ExecuteProvisionedProductServiceAction, request, handler, context); } /** *

Get the Access Status for Organizations portfolio share feature. This API can * only be called by the management account in the organization or by a delegated * admin.

See Also:

AWS * API Reference

*/ virtual Model::GetAWSOrganizationsAccessStatusOutcome GetAWSOrganizationsAccessStatus(const Model::GetAWSOrganizationsAccessStatusRequest& request) const; /** * A Callable wrapper for GetAWSOrganizationsAccessStatus that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAWSOrganizationsAccessStatusOutcomeCallable GetAWSOrganizationsAccessStatusCallable(const GetAWSOrganizationsAccessStatusRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::GetAWSOrganizationsAccessStatus, request); } /** * An Async wrapper for GetAWSOrganizationsAccessStatus that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAWSOrganizationsAccessStatusAsync(const GetAWSOrganizationsAccessStatusRequestT& request, const GetAWSOrganizationsAccessStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::GetAWSOrganizationsAccessStatus, request, handler, context); } /** *

This API takes either a ProvisonedProductId or a * ProvisionedProductName, along with a list of one or more output * keys, and responds with the key/value pairs of those outputs.

See * Also:

AWS * API Reference

*/ virtual Model::GetProvisionedProductOutputsOutcome GetProvisionedProductOutputs(const Model::GetProvisionedProductOutputsRequest& request) const; /** * A Callable wrapper for GetProvisionedProductOutputs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetProvisionedProductOutputsOutcomeCallable GetProvisionedProductOutputsCallable(const GetProvisionedProductOutputsRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::GetProvisionedProductOutputs, request); } /** * An Async wrapper for GetProvisionedProductOutputs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetProvisionedProductOutputsAsync(const GetProvisionedProductOutputsRequestT& request, const GetProvisionedProductOutputsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::GetProvisionedProductOutputs, request, handler, context); } /** *

Requests the import of a resource as an Service Catalog provisioned product * that is associated to an Service Catalog product and provisioning artifact. Once * imported, all supported governance actions are supported on the provisioned * product.

Resource import only supports CloudFormation stack ARNs. * CloudFormation StackSets, and non-root nested stacks are not supported.

* The CloudFormation stack must have one of the following statuses to be imported: * CREATE_COMPLETE, UPDATE_COMPLETE, * UPDATE_ROLLBACK_COMPLETE, IMPORT_COMPLETE, and * IMPORT_ROLLBACK_COMPLETE.

Import of the resource requires * that the CloudFormation stack template matches the associated Service Catalog * product provisioning artifact.

When you import an existing * CloudFormation stack into a portfolio, constraints that are associated with the * product aren't applied during the import process. The constraints are applied * after you call UpdateProvisionedProduct for the provisioned * product.

The user or role that performs this operation must * have the cloudformation:GetTemplate and * cloudformation:DescribeStacks IAM policy permissions. *

See Also:

AWS * API Reference

*/ virtual Model::ImportAsProvisionedProductOutcome ImportAsProvisionedProduct(const Model::ImportAsProvisionedProductRequest& request) const; /** * A Callable wrapper for ImportAsProvisionedProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ImportAsProvisionedProductOutcomeCallable ImportAsProvisionedProductCallable(const ImportAsProvisionedProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ImportAsProvisionedProduct, request); } /** * An Async wrapper for ImportAsProvisionedProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ImportAsProvisionedProductAsync(const ImportAsProvisionedProductRequestT& request, const ImportAsProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ImportAsProvisionedProduct, request, handler, context); } /** *

Lists all imported portfolios for which account-to-account shares were * accepted by this account. By specifying the PortfolioShareType, you * can list portfolios for which organizational shares were accepted by this * account.

See Also:

AWS * API Reference

*/ virtual Model::ListAcceptedPortfolioSharesOutcome ListAcceptedPortfolioShares(const Model::ListAcceptedPortfolioSharesRequest& request) const; /** * A Callable wrapper for ListAcceptedPortfolioShares that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAcceptedPortfolioSharesOutcomeCallable ListAcceptedPortfolioSharesCallable(const ListAcceptedPortfolioSharesRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListAcceptedPortfolioShares, request); } /** * An Async wrapper for ListAcceptedPortfolioShares that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAcceptedPortfolioSharesAsync(const ListAcceptedPortfolioSharesRequestT& request, const ListAcceptedPortfolioSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListAcceptedPortfolioShares, request, handler, context); } /** *

Lists all the budgets associated to the specified resource.

See * Also:

AWS * API Reference

*/ virtual Model::ListBudgetsForResourceOutcome ListBudgetsForResource(const Model::ListBudgetsForResourceRequest& request) const; /** * A Callable wrapper for ListBudgetsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListBudgetsForResourceOutcomeCallable ListBudgetsForResourceCallable(const ListBudgetsForResourceRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListBudgetsForResource, request); } /** * An Async wrapper for ListBudgetsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListBudgetsForResourceAsync(const ListBudgetsForResourceRequestT& request, const ListBudgetsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListBudgetsForResource, request, handler, context); } /** *

Lists the constraints for the specified portfolio and product.

See * Also:

AWS * API Reference

*/ virtual Model::ListConstraintsForPortfolioOutcome ListConstraintsForPortfolio(const Model::ListConstraintsForPortfolioRequest& request) const; /** * A Callable wrapper for ListConstraintsForPortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListConstraintsForPortfolioOutcomeCallable ListConstraintsForPortfolioCallable(const ListConstraintsForPortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListConstraintsForPortfolio, request); } /** * An Async wrapper for ListConstraintsForPortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListConstraintsForPortfolioAsync(const ListConstraintsForPortfolioRequestT& request, const ListConstraintsForPortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListConstraintsForPortfolio, request, handler, context); } /** *

Lists the paths to the specified product. A path describes how the user gets * access to a specified product and is necessary when provisioning a product. A * path also determines the constraints that are put on a product. A path is * dependent on a specific product, porfolio, and principal.

When * provisioning a product that's been added to a portfolio, you must grant your * user, group, or role access to the portfolio. For more information, see Granting * users access in the Service Catalog User Guide.

*

See Also:

AWS * API Reference

*/ virtual Model::ListLaunchPathsOutcome ListLaunchPaths(const Model::ListLaunchPathsRequest& request) const; /** * A Callable wrapper for ListLaunchPaths that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListLaunchPathsOutcomeCallable ListLaunchPathsCallable(const ListLaunchPathsRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListLaunchPaths, request); } /** * An Async wrapper for ListLaunchPaths that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListLaunchPathsAsync(const ListLaunchPathsRequestT& request, const ListLaunchPathsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListLaunchPaths, request, handler, context); } /** *

Lists the organization nodes that have access to the specified portfolio. * This API can only be called by the management account in the organization or by * a delegated admin.

If a delegated admin is de-registered, they can no * longer perform this operation.

See Also:

AWS * API Reference

*/ virtual Model::ListOrganizationPortfolioAccessOutcome ListOrganizationPortfolioAccess(const Model::ListOrganizationPortfolioAccessRequest& request) const; /** * A Callable wrapper for ListOrganizationPortfolioAccess that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListOrganizationPortfolioAccessOutcomeCallable ListOrganizationPortfolioAccessCallable(const ListOrganizationPortfolioAccessRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListOrganizationPortfolioAccess, request); } /** * An Async wrapper for ListOrganizationPortfolioAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListOrganizationPortfolioAccessAsync(const ListOrganizationPortfolioAccessRequestT& request, const ListOrganizationPortfolioAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListOrganizationPortfolioAccess, request, handler, context); } /** *

Lists the account IDs that have access to the specified portfolio.

A * delegated admin can list the accounts that have access to the shared portfolio. * Note that if a delegated admin is de-registered, they can no longer perform this * operation.

See Also:

AWS * API Reference

*/ virtual Model::ListPortfolioAccessOutcome ListPortfolioAccess(const Model::ListPortfolioAccessRequest& request) const; /** * A Callable wrapper for ListPortfolioAccess that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPortfolioAccessOutcomeCallable ListPortfolioAccessCallable(const ListPortfolioAccessRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListPortfolioAccess, request); } /** * An Async wrapper for ListPortfolioAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPortfolioAccessAsync(const ListPortfolioAccessRequestT& request, const ListPortfolioAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListPortfolioAccess, request, handler, context); } /** *

Lists all portfolios in the catalog.

See Also:

AWS * API Reference

*/ virtual Model::ListPortfoliosOutcome ListPortfolios(const Model::ListPortfoliosRequest& request) const; /** * A Callable wrapper for ListPortfolios that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPortfoliosOutcomeCallable ListPortfoliosCallable(const ListPortfoliosRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListPortfolios, request); } /** * An Async wrapper for ListPortfolios that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPortfoliosAsync(const ListPortfoliosRequestT& request, const ListPortfoliosResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListPortfolios, request, handler, context); } /** *

Lists all portfolios that the specified product is associated * with.

See Also:

AWS * API Reference

*/ virtual Model::ListPortfoliosForProductOutcome ListPortfoliosForProduct(const Model::ListPortfoliosForProductRequest& request) const; /** * A Callable wrapper for ListPortfoliosForProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPortfoliosForProductOutcomeCallable ListPortfoliosForProductCallable(const ListPortfoliosForProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListPortfoliosForProduct, request); } /** * An Async wrapper for ListPortfoliosForProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPortfoliosForProductAsync(const ListPortfoliosForProductRequestT& request, const ListPortfoliosForProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListPortfoliosForProduct, request, handler, context); } /** *

Lists all PrincipalARNs and corresponding * PrincipalTypes associated with the specified * portfolio.

See Also:

AWS * API Reference

*/ virtual Model::ListPrincipalsForPortfolioOutcome ListPrincipalsForPortfolio(const Model::ListPrincipalsForPortfolioRequest& request) const; /** * A Callable wrapper for ListPrincipalsForPortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPrincipalsForPortfolioOutcomeCallable ListPrincipalsForPortfolioCallable(const ListPrincipalsForPortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListPrincipalsForPortfolio, request); } /** * An Async wrapper for ListPrincipalsForPortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPrincipalsForPortfolioAsync(const ListPrincipalsForPortfolioRequestT& request, const ListPrincipalsForPortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListPrincipalsForPortfolio, request, handler, context); } /** *

Lists the plans for the specified provisioned product or all plans to which * the user has access.

See Also:

AWS * API Reference

*/ virtual Model::ListProvisionedProductPlansOutcome ListProvisionedProductPlans(const Model::ListProvisionedProductPlansRequest& request) const; /** * A Callable wrapper for ListProvisionedProductPlans that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListProvisionedProductPlansOutcomeCallable ListProvisionedProductPlansCallable(const ListProvisionedProductPlansRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListProvisionedProductPlans, request); } /** * An Async wrapper for ListProvisionedProductPlans that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListProvisionedProductPlansAsync(const ListProvisionedProductPlansRequestT& request, const ListProvisionedProductPlansResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListProvisionedProductPlans, request, handler, context); } /** *

Lists all provisioning artifacts (also known as versions) for the specified * product.

See Also:

AWS * API Reference

*/ virtual Model::ListProvisioningArtifactsOutcome ListProvisioningArtifacts(const Model::ListProvisioningArtifactsRequest& request) const; /** * A Callable wrapper for ListProvisioningArtifacts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListProvisioningArtifactsOutcomeCallable ListProvisioningArtifactsCallable(const ListProvisioningArtifactsRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListProvisioningArtifacts, request); } /** * An Async wrapper for ListProvisioningArtifacts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListProvisioningArtifactsAsync(const ListProvisioningArtifactsRequestT& request, const ListProvisioningArtifactsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListProvisioningArtifacts, request, handler, context); } /** *

Lists all provisioning artifacts (also known as versions) for the specified * self-service action.

See Also:

AWS * API Reference

*/ virtual Model::ListProvisioningArtifactsForServiceActionOutcome ListProvisioningArtifactsForServiceAction(const Model::ListProvisioningArtifactsForServiceActionRequest& request) const; /** * A Callable wrapper for ListProvisioningArtifactsForServiceAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListProvisioningArtifactsForServiceActionOutcomeCallable ListProvisioningArtifactsForServiceActionCallable(const ListProvisioningArtifactsForServiceActionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListProvisioningArtifactsForServiceAction, request); } /** * An Async wrapper for ListProvisioningArtifactsForServiceAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListProvisioningArtifactsForServiceActionAsync(const ListProvisioningArtifactsForServiceActionRequestT& request, const ListProvisioningArtifactsForServiceActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListProvisioningArtifactsForServiceAction, request, handler, context); } /** *

Lists the specified requests or all performed requests.

See * Also:

AWS * API Reference

*/ virtual Model::ListRecordHistoryOutcome ListRecordHistory(const Model::ListRecordHistoryRequest& request) const; /** * A Callable wrapper for ListRecordHistory that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListRecordHistoryOutcomeCallable ListRecordHistoryCallable(const ListRecordHistoryRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListRecordHistory, request); } /** * An Async wrapper for ListRecordHistory that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListRecordHistoryAsync(const ListRecordHistoryRequestT& request, const ListRecordHistoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListRecordHistory, request, handler, context); } /** *

Lists the resources associated with the specified TagOption.

See * Also:

AWS * API Reference

*/ virtual Model::ListResourcesForTagOptionOutcome ListResourcesForTagOption(const Model::ListResourcesForTagOptionRequest& request) const; /** * A Callable wrapper for ListResourcesForTagOption that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListResourcesForTagOptionOutcomeCallable ListResourcesForTagOptionCallable(const ListResourcesForTagOptionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListResourcesForTagOption, request); } /** * An Async wrapper for ListResourcesForTagOption that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListResourcesForTagOptionAsync(const ListResourcesForTagOptionRequestT& request, const ListResourcesForTagOptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListResourcesForTagOption, request, handler, context); } /** *

Lists all self-service actions.

See Also:

AWS * API Reference

*/ virtual Model::ListServiceActionsOutcome ListServiceActions(const Model::ListServiceActionsRequest& request) const; /** * A Callable wrapper for ListServiceActions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListServiceActionsOutcomeCallable ListServiceActionsCallable(const ListServiceActionsRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListServiceActions, request); } /** * An Async wrapper for ListServiceActions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListServiceActionsAsync(const ListServiceActionsRequestT& request, const ListServiceActionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListServiceActions, request, handler, context); } /** *

Returns a paginated list of self-service actions associated with the * specified Product ID and Provisioning Artifact ID.

See Also:

AWS * API Reference

*/ virtual Model::ListServiceActionsForProvisioningArtifactOutcome ListServiceActionsForProvisioningArtifact(const Model::ListServiceActionsForProvisioningArtifactRequest& request) const; /** * A Callable wrapper for ListServiceActionsForProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListServiceActionsForProvisioningArtifactOutcomeCallable ListServiceActionsForProvisioningArtifactCallable(const ListServiceActionsForProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListServiceActionsForProvisioningArtifact, request); } /** * An Async wrapper for ListServiceActionsForProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListServiceActionsForProvisioningArtifactAsync(const ListServiceActionsForProvisioningArtifactRequestT& request, const ListServiceActionsForProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListServiceActionsForProvisioningArtifact, request, handler, context); } /** *

Returns summary information about stack instances that are associated with * the specified CFN_STACKSET type provisioned product. You can filter * for stack instances that are associated with a specific Amazon Web Services * account name or Region.

See Also:

AWS * API Reference

*/ virtual Model::ListStackInstancesForProvisionedProductOutcome ListStackInstancesForProvisionedProduct(const Model::ListStackInstancesForProvisionedProductRequest& request) const; /** * A Callable wrapper for ListStackInstancesForProvisionedProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListStackInstancesForProvisionedProductOutcomeCallable ListStackInstancesForProvisionedProductCallable(const ListStackInstancesForProvisionedProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListStackInstancesForProvisionedProduct, request); } /** * An Async wrapper for ListStackInstancesForProvisionedProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListStackInstancesForProvisionedProductAsync(const ListStackInstancesForProvisionedProductRequestT& request, const ListStackInstancesForProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListStackInstancesForProvisionedProduct, request, handler, context); } /** *

Lists the specified TagOptions or all TagOptions.

See Also:

* AWS * API Reference

*/ virtual Model::ListTagOptionsOutcome ListTagOptions(const Model::ListTagOptionsRequest& request) const; /** * A Callable wrapper for ListTagOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagOptionsOutcomeCallable ListTagOptionsCallable(const ListTagOptionsRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ListTagOptions, request); } /** * An Async wrapper for ListTagOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagOptionsAsync(const ListTagOptionsRequestT& request, const ListTagOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ListTagOptions, request, handler, context); } /** *

Notifies the result of the provisioning engine execution.

See * Also:

AWS * API Reference

*/ virtual Model::NotifyProvisionProductEngineWorkflowResultOutcome NotifyProvisionProductEngineWorkflowResult(const Model::NotifyProvisionProductEngineWorkflowResultRequest& request) const; /** * A Callable wrapper for NotifyProvisionProductEngineWorkflowResult that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::NotifyProvisionProductEngineWorkflowResultOutcomeCallable NotifyProvisionProductEngineWorkflowResultCallable(const NotifyProvisionProductEngineWorkflowResultRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::NotifyProvisionProductEngineWorkflowResult, request); } /** * An Async wrapper for NotifyProvisionProductEngineWorkflowResult that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void NotifyProvisionProductEngineWorkflowResultAsync(const NotifyProvisionProductEngineWorkflowResultRequestT& request, const NotifyProvisionProductEngineWorkflowResultResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::NotifyProvisionProductEngineWorkflowResult, request, handler, context); } /** *

Notifies the result of the terminate engine execution.

See * Also:

AWS * API Reference

*/ virtual Model::NotifyTerminateProvisionedProductEngineWorkflowResultOutcome NotifyTerminateProvisionedProductEngineWorkflowResult(const Model::NotifyTerminateProvisionedProductEngineWorkflowResultRequest& request) const; /** * A Callable wrapper for NotifyTerminateProvisionedProductEngineWorkflowResult that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::NotifyTerminateProvisionedProductEngineWorkflowResultOutcomeCallable NotifyTerminateProvisionedProductEngineWorkflowResultCallable(const NotifyTerminateProvisionedProductEngineWorkflowResultRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::NotifyTerminateProvisionedProductEngineWorkflowResult, request); } /** * An Async wrapper for NotifyTerminateProvisionedProductEngineWorkflowResult that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void NotifyTerminateProvisionedProductEngineWorkflowResultAsync(const NotifyTerminateProvisionedProductEngineWorkflowResultRequestT& request, const NotifyTerminateProvisionedProductEngineWorkflowResultResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::NotifyTerminateProvisionedProductEngineWorkflowResult, request, handler, context); } /** *

Notifies the result of the update engine execution.

See * Also:

AWS * API Reference

*/ virtual Model::NotifyUpdateProvisionedProductEngineWorkflowResultOutcome NotifyUpdateProvisionedProductEngineWorkflowResult(const Model::NotifyUpdateProvisionedProductEngineWorkflowResultRequest& request) const; /** * A Callable wrapper for NotifyUpdateProvisionedProductEngineWorkflowResult that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::NotifyUpdateProvisionedProductEngineWorkflowResultOutcomeCallable NotifyUpdateProvisionedProductEngineWorkflowResultCallable(const NotifyUpdateProvisionedProductEngineWorkflowResultRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::NotifyUpdateProvisionedProductEngineWorkflowResult, request); } /** * An Async wrapper for NotifyUpdateProvisionedProductEngineWorkflowResult that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void NotifyUpdateProvisionedProductEngineWorkflowResultAsync(const NotifyUpdateProvisionedProductEngineWorkflowResultRequestT& request, const NotifyUpdateProvisionedProductEngineWorkflowResultResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::NotifyUpdateProvisionedProductEngineWorkflowResult, request, handler, context); } /** *

Provisions the specified product.

A provisioned product is a * resourced instance of a product. For example, provisioning a product that's * based on an CloudFormation template launches an CloudFormation stack and its * underlying resources. You can check the status of this request using * DescribeRecord.

If the request contains a tag key with an empty * list of values, there's a tag conflict for that key. Don't include conflicted * keys as tags, or this will cause the error "Parameter validation failed: Missing * required parameter in Tags[N]:Value".

When * provisioning a product that's been added to a portfolio, you must grant your * user, group, or role access to the portfolio. For more information, see Granting * users access in the Service Catalog User Guide.

*

See Also:

AWS * API Reference

*/ virtual Model::ProvisionProductOutcome ProvisionProduct(const Model::ProvisionProductRequest& request) const; /** * A Callable wrapper for ProvisionProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ProvisionProductOutcomeCallable ProvisionProductCallable(const ProvisionProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ProvisionProduct, request); } /** * An Async wrapper for ProvisionProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ProvisionProductAsync(const ProvisionProductRequestT& request, const ProvisionProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ProvisionProduct, request, handler, context); } /** *

Rejects an offer to share the specified portfolio.

See Also:

* AWS * API Reference

*/ virtual Model::RejectPortfolioShareOutcome RejectPortfolioShare(const Model::RejectPortfolioShareRequest& request) const; /** * A Callable wrapper for RejectPortfolioShare that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RejectPortfolioShareOutcomeCallable RejectPortfolioShareCallable(const RejectPortfolioShareRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::RejectPortfolioShare, request); } /** * An Async wrapper for RejectPortfolioShare that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RejectPortfolioShareAsync(const RejectPortfolioShareRequestT& request, const RejectPortfolioShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::RejectPortfolioShare, request, handler, context); } /** *

Lists the provisioned products that are available (not terminated).

To * use additional filtering, see SearchProvisionedProducts.

See * Also:

AWS * API Reference

*/ virtual Model::ScanProvisionedProductsOutcome ScanProvisionedProducts(const Model::ScanProvisionedProductsRequest& request) const; /** * A Callable wrapper for ScanProvisionedProducts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ScanProvisionedProductsOutcomeCallable ScanProvisionedProductsCallable(const ScanProvisionedProductsRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::ScanProvisionedProducts, request); } /** * An Async wrapper for ScanProvisionedProducts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ScanProvisionedProductsAsync(const ScanProvisionedProductsRequestT& request, const ScanProvisionedProductsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::ScanProvisionedProducts, request, handler, context); } /** *

Gets information about the products to which the caller has * access.

See Also:

AWS * API Reference

*/ virtual Model::SearchProductsOutcome SearchProducts(const Model::SearchProductsRequest& request) const; /** * A Callable wrapper for SearchProducts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SearchProductsOutcomeCallable SearchProductsCallable(const SearchProductsRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::SearchProducts, request); } /** * An Async wrapper for SearchProducts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SearchProductsAsync(const SearchProductsRequestT& request, const SearchProductsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::SearchProducts, request, handler, context); } /** *

Gets information about the products for the specified portfolio or all * products.

See Also:

AWS * API Reference

*/ virtual Model::SearchProductsAsAdminOutcome SearchProductsAsAdmin(const Model::SearchProductsAsAdminRequest& request) const; /** * A Callable wrapper for SearchProductsAsAdmin that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SearchProductsAsAdminOutcomeCallable SearchProductsAsAdminCallable(const SearchProductsAsAdminRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::SearchProductsAsAdmin, request); } /** * An Async wrapper for SearchProductsAsAdmin that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SearchProductsAsAdminAsync(const SearchProductsAsAdminRequestT& request, const SearchProductsAsAdminResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::SearchProductsAsAdmin, request, handler, context); } /** *

Gets information about the provisioned products that meet the specified * criteria.

See Also:

AWS * API Reference

*/ virtual Model::SearchProvisionedProductsOutcome SearchProvisionedProducts(const Model::SearchProvisionedProductsRequest& request) const; /** * A Callable wrapper for SearchProvisionedProducts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SearchProvisionedProductsOutcomeCallable SearchProvisionedProductsCallable(const SearchProvisionedProductsRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::SearchProvisionedProducts, request); } /** * An Async wrapper for SearchProvisionedProducts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SearchProvisionedProductsAsync(const SearchProvisionedProductsRequestT& request, const SearchProvisionedProductsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::SearchProvisionedProducts, request, handler, context); } /** *

Terminates the specified provisioned product.

This operation does not * delete any records associated with the provisioned product.

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

See Also:

* AWS * API Reference

*/ virtual Model::TerminateProvisionedProductOutcome TerminateProvisionedProduct(const Model::TerminateProvisionedProductRequest& request) const; /** * A Callable wrapper for TerminateProvisionedProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TerminateProvisionedProductOutcomeCallable TerminateProvisionedProductCallable(const TerminateProvisionedProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::TerminateProvisionedProduct, request); } /** * An Async wrapper for TerminateProvisionedProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TerminateProvisionedProductAsync(const TerminateProvisionedProductRequestT& request, const TerminateProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::TerminateProvisionedProduct, request, handler, context); } /** *

Updates the specified constraint.

See Also:

AWS * API Reference

*/ virtual Model::UpdateConstraintOutcome UpdateConstraint(const Model::UpdateConstraintRequest& request) const; /** * A Callable wrapper for UpdateConstraint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateConstraintOutcomeCallable UpdateConstraintCallable(const UpdateConstraintRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdateConstraint, request); } /** * An Async wrapper for UpdateConstraint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateConstraintAsync(const UpdateConstraintRequestT& request, const UpdateConstraintResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdateConstraint, request, handler, context); } /** *

Updates the specified portfolio.

You cannot update a product that was * shared with you.

See Also:

AWS * API Reference

*/ virtual Model::UpdatePortfolioOutcome UpdatePortfolio(const Model::UpdatePortfolioRequest& request) const; /** * A Callable wrapper for UpdatePortfolio that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdatePortfolioOutcomeCallable UpdatePortfolioCallable(const UpdatePortfolioRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdatePortfolio, request); } /** * An Async wrapper for UpdatePortfolio that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdatePortfolioAsync(const UpdatePortfolioRequestT& request, const UpdatePortfolioResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdatePortfolio, request, handler, context); } /** *

Updates the specified portfolio share. You can use this API to enable or * disable TagOptions sharing or Principal sharing for an existing * portfolio share.

The portfolio share cannot be updated if the * CreatePortfolioShare operation is IN_PROGRESS, as the * share is not available to recipient entities. In this case, you must wait for * the portfolio share to be COMPLETED.

You must provide the * accountId or organization node in the input, but not both.

*

If the portfolio is shared to both an external account and an organization * node, and both shares need to be updated, you must invoke * UpdatePortfolioShare separately for each share type.

This * API cannot be used for removing the portfolio share. You must use * DeletePortfolioShare API for that action.

When you * associate a principal with portfolio, a potential privilege escalation path may * occur when that portfolio is then shared with other accounts. For a user in a * recipient account who is not an Service Catalog Admin, but still has the * ability to create Principals (Users/Groups/Roles), that user could create a role * that matches a principal name association for the portfolio. Although this user * may not know which principal names are associated through Service Catalog, they * may be able to guess the user. If this potential escalation path is a concern, * then Service Catalog recommends using PrincipalType as * IAM. With this configuration, the PrincipalARN must * already exist in the recipient account before it can be associated.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdatePortfolioShareOutcome UpdatePortfolioShare(const Model::UpdatePortfolioShareRequest& request) const; /** * A Callable wrapper for UpdatePortfolioShare that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdatePortfolioShareOutcomeCallable UpdatePortfolioShareCallable(const UpdatePortfolioShareRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdatePortfolioShare, request); } /** * An Async wrapper for UpdatePortfolioShare that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdatePortfolioShareAsync(const UpdatePortfolioShareRequestT& request, const UpdatePortfolioShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdatePortfolioShare, request, handler, context); } /** *

Updates the specified product.

See Also:

AWS * API Reference

*/ virtual Model::UpdateProductOutcome UpdateProduct(const Model::UpdateProductRequest& request) const; /** * A Callable wrapper for UpdateProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateProductOutcomeCallable UpdateProductCallable(const UpdateProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdateProduct, request); } /** * An Async wrapper for UpdateProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateProductAsync(const UpdateProductRequestT& request, const UpdateProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdateProduct, request, handler, context); } /** *

Requests updates to the configuration of the specified provisioned * product.

If there are tags associated with the object, they cannot be * updated or added. Depending on the specific updates requested, this operation * can update with no interruption, with some interruption, or replace the * provisioned product entirely.

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

See Also:

AWS * API Reference

*/ virtual Model::UpdateProvisionedProductOutcome UpdateProvisionedProduct(const Model::UpdateProvisionedProductRequest& request) const; /** * A Callable wrapper for UpdateProvisionedProduct that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateProvisionedProductOutcomeCallable UpdateProvisionedProductCallable(const UpdateProvisionedProductRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdateProvisionedProduct, request); } /** * An Async wrapper for UpdateProvisionedProduct that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateProvisionedProductAsync(const UpdateProvisionedProductRequestT& request, const UpdateProvisionedProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdateProvisionedProduct, request, handler, context); } /** *

Requests updates to the properties of the specified provisioned * product.

See Also:

AWS * API Reference

*/ virtual Model::UpdateProvisionedProductPropertiesOutcome UpdateProvisionedProductProperties(const Model::UpdateProvisionedProductPropertiesRequest& request) const; /** * A Callable wrapper for UpdateProvisionedProductProperties that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateProvisionedProductPropertiesOutcomeCallable UpdateProvisionedProductPropertiesCallable(const UpdateProvisionedProductPropertiesRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdateProvisionedProductProperties, request); } /** * An Async wrapper for UpdateProvisionedProductProperties that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateProvisionedProductPropertiesAsync(const UpdateProvisionedProductPropertiesRequestT& request, const UpdateProvisionedProductPropertiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdateProvisionedProductProperties, request, handler, context); } /** *

Updates the specified provisioning artifact (also known as a version) for the * specified product.

You cannot update a provisioning artifact for a * product that was shared with you.

See Also:

AWS * API Reference

*/ virtual Model::UpdateProvisioningArtifactOutcome UpdateProvisioningArtifact(const Model::UpdateProvisioningArtifactRequest& request) const; /** * A Callable wrapper for UpdateProvisioningArtifact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateProvisioningArtifactOutcomeCallable UpdateProvisioningArtifactCallable(const UpdateProvisioningArtifactRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdateProvisioningArtifact, request); } /** * An Async wrapper for UpdateProvisioningArtifact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateProvisioningArtifactAsync(const UpdateProvisioningArtifactRequestT& request, const UpdateProvisioningArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdateProvisioningArtifact, request, handler, context); } /** *

Updates a self-service action.

See Also:

AWS * API Reference

*/ virtual Model::UpdateServiceActionOutcome UpdateServiceAction(const Model::UpdateServiceActionRequest& request) const; /** * A Callable wrapper for UpdateServiceAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateServiceActionOutcomeCallable UpdateServiceActionCallable(const UpdateServiceActionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdateServiceAction, request); } /** * An Async wrapper for UpdateServiceAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateServiceActionAsync(const UpdateServiceActionRequestT& request, const UpdateServiceActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdateServiceAction, request, handler, context); } /** *

Updates the specified TagOption.

See Also:

AWS * API Reference

*/ virtual Model::UpdateTagOptionOutcome UpdateTagOption(const Model::UpdateTagOptionRequest& request) const; /** * A Callable wrapper for UpdateTagOption that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateTagOptionOutcomeCallable UpdateTagOptionCallable(const UpdateTagOptionRequestT& request) const { return SubmitCallable(&ServiceCatalogClient::UpdateTagOption, request); } /** * An Async wrapper for UpdateTagOption that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateTagOptionAsync(const UpdateTagOptionRequestT& request, const UpdateTagOptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ServiceCatalogClient::UpdateTagOption, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const ServiceCatalogClientConfiguration& clientConfiguration); ServiceCatalogClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace ServiceCatalog } // namespace Aws