com.amazonaws.services.servicecatalog.AWSServiceCatalog Maven / Gradle / Ivy
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.servicecatalog;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.servicecatalog.model.*;
/**
* Interface for accessing AWS Service Catalog.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.servicecatalog.AbstractAWSServiceCatalog} instead.
*
*
* 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.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSServiceCatalog {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "servicecatalog";
/**
* Overrides the default endpoint for this client ("servicecatalog.us-east-1.amazonaws.com"). Callers can use this
* method to control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex: "servicecatalog.us-east-1.amazonaws.com") or a full URL, including the
* protocol (ex: "servicecatalog.us-east-1.amazonaws.com"). If the protocol is not specified here, the default
* protocol from this client's {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available
* endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection-
* choose-endpoint
*
* This method is not threadsafe. An endpoint should be configured when the client is created and before any
* service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param endpoint
* The endpoint (ex: "servicecatalog.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
* "servicecatalog.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate
* with.
* @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for
* example:
* {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));}
*/
@Deprecated
void setEndpoint(String endpoint);
/**
* An alternative to {@link AWSServiceCatalog#setEndpoint(String)}, sets the regional endpoint for this client's
* service calls. Callers can use this method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
* {@link ClientConfiguration} supplied at construction.
*
* This method is not threadsafe. A region should be configured when the client is created and before any service
* requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit
* or retrying.
*
* @param region
* The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)}
* for accessing a given region. Must not be null and must be a region where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
* @deprecated use {@link AwsClientBuilder#setRegion(String)}
*/
@Deprecated
void setRegion(Region region);
/**
*
* Accepts an offer to share the specified portfolio.
*
*
* @param acceptPortfolioShareRequest
* @return Result of the AcceptPortfolioShare operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @sample AWSServiceCatalog.AcceptPortfolioShare
* @see AWS API Documentation
*/
AcceptPortfolioShareResult acceptPortfolioShare(AcceptPortfolioShareRequest acceptPortfolioShareRequest);
/**
*
* Associates the specified budget with the specified resource.
*
*
* @param associateBudgetWithResourceRequest
* @return Result of the AssociateBudgetWithResource operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws DuplicateResourceException
* The specified resource is a duplicate.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.AssociateBudgetWithResource
* @see AWS API Documentation
*/
AssociateBudgetWithResourceResult associateBudgetWithResource(AssociateBudgetWithResourceRequest associateBudgetWithResourceRequest);
/**
*
* 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.
*
*
*
* @param associatePrincipalWithPortfolioRequest
* @return Result of the AssociatePrincipalWithPortfolio operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @sample AWSServiceCatalog.AssociatePrincipalWithPortfolio
* @see AWS API Documentation
*/
AssociatePrincipalWithPortfolioResult associatePrincipalWithPortfolio(AssociatePrincipalWithPortfolioRequest associatePrincipalWithPortfolioRequest);
/**
*
* Associates the specified product with the specified portfolio.
*
*
* A delegated admin is authorized to invoke this command.
*
*
* @param associateProductWithPortfolioRequest
* @return Result of the AssociateProductWithPortfolio operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @sample AWSServiceCatalog.AssociateProductWithPortfolio
* @see AWS API Documentation
*/
AssociateProductWithPortfolioResult associateProductWithPortfolio(AssociateProductWithPortfolioRequest associateProductWithPortfolioRequest);
/**
*
* Associates a self-service action with a provisioning artifact.
*
*
* @param associateServiceActionWithProvisioningArtifactRequest
* @return Result of the AssociateServiceActionWithProvisioningArtifact operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws DuplicateResourceException
* The specified resource is a duplicate.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.AssociateServiceActionWithProvisioningArtifact
* @see AWS API Documentation
*/
AssociateServiceActionWithProvisioningArtifactResult associateServiceActionWithProvisioningArtifact(
AssociateServiceActionWithProvisioningArtifactRequest associateServiceActionWithProvisioningArtifactRequest);
/**
*
* Associate the specified TagOption with the specified portfolio or product.
*
*
* @param associateTagOptionWithResourceRequest
* @return Result of the AssociateTagOptionWithResource operation returned by the service.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @throws DuplicateResourceException
* The specified resource is a duplicate.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @sample AWSServiceCatalog.AssociateTagOptionWithResource
* @see AWS API Documentation
*/
AssociateTagOptionWithResourceResult associateTagOptionWithResource(AssociateTagOptionWithResourceRequest associateTagOptionWithResourceRequest);
/**
*
* Associates multiple self-service actions with provisioning artifacts.
*
*
* @param batchAssociateServiceActionWithProvisioningArtifactRequest
* @return Result of the BatchAssociateServiceActionWithProvisioningArtifact operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.BatchAssociateServiceActionWithProvisioningArtifact
* @see AWS API Documentation
*/
BatchAssociateServiceActionWithProvisioningArtifactResult batchAssociateServiceActionWithProvisioningArtifact(
BatchAssociateServiceActionWithProvisioningArtifactRequest batchAssociateServiceActionWithProvisioningArtifactRequest);
/**
*
* Disassociates a batch of self-service actions from the specified provisioning artifact.
*
*
* @param batchDisassociateServiceActionFromProvisioningArtifactRequest
* @return Result of the BatchDisassociateServiceActionFromProvisioningArtifact operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.BatchDisassociateServiceActionFromProvisioningArtifact
* @see AWS API Documentation
*/
BatchDisassociateServiceActionFromProvisioningArtifactResult batchDisassociateServiceActionFromProvisioningArtifact(
BatchDisassociateServiceActionFromProvisioningArtifactRequest batchDisassociateServiceActionFromProvisioningArtifactRequest);
/**
*
* 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.
*
*
* @param copyProductRequest
* @return Result of the CopyProduct operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.CopyProduct
* @see AWS API
* Documentation
*/
CopyProductResult copyProduct(CopyProductRequest copyProductRequest);
/**
*
* Creates a constraint.
*
*
* A delegated admin is authorized to invoke this command.
*
*
* @param createConstraintRequest
* @return Result of the CreateConstraint operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @throws DuplicateResourceException
* The specified resource is a duplicate.
* @sample AWSServiceCatalog.CreateConstraint
* @see AWS API Documentation
*/
CreateConstraintResult createConstraint(CreateConstraintRequest createConstraintRequest);
/**
*
* Creates a portfolio.
*
*
* A delegated admin is authorized to invoke this command.
*
*
* @param createPortfolioRequest
* @return Result of the CreatePortfolio operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @sample AWSServiceCatalog.CreatePortfolio
* @see AWS
* API Documentation
*/
CreatePortfolioResult createPortfolio(CreatePortfolioRequest createPortfolioRequest);
/**
*
* 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.
*
*
*
* @param createPortfolioShareRequest
* @return Result of the CreatePortfolioShare operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws OperationNotSupportedException
* The operation is not supported.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @sample AWSServiceCatalog.CreatePortfolioShare
* @see AWS API Documentation
*/
CreatePortfolioShareResult createPortfolioShare(CreatePortfolioShareRequest createPortfolioShareRequest);
/**
*
* 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.
*
*
* @param createProductRequest
* @return Result of the CreateProduct operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @sample AWSServiceCatalog.CreateProduct
* @see AWS
* API Documentation
*/
CreateProductResult createProduct(CreateProductRequest createProductRequest);
/**
*
* 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.
*
*
* @param createProvisionedProductPlanRequest
* @return Result of the CreateProvisionedProductPlan operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @sample AWSServiceCatalog.CreateProvisionedProductPlan
* @see AWS API Documentation
*/
CreateProvisionedProductPlanResult createProvisionedProductPlan(CreateProvisionedProductPlanRequest createProvisionedProductPlanRequest);
/**
*
* 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.
*
*
* @param createProvisioningArtifactRequest
* @return Result of the CreateProvisioningArtifact operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @sample AWSServiceCatalog.CreateProvisioningArtifact
* @see AWS API Documentation
*/
CreateProvisioningArtifactResult createProvisioningArtifact(CreateProvisioningArtifactRequest createProvisioningArtifactRequest);
/**
*
* Creates a self-service action.
*
*
* @param createServiceActionRequest
* @return Result of the CreateServiceAction operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @sample AWSServiceCatalog.CreateServiceAction
* @see AWS API Documentation
*/
CreateServiceActionResult createServiceAction(CreateServiceActionRequest createServiceActionRequest);
/**
*
* Creates a TagOption.
*
*
* @param createTagOptionRequest
* @return Result of the CreateTagOption operation returned by the service.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @throws DuplicateResourceException
* The specified resource is a duplicate.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @sample AWSServiceCatalog.CreateTagOption
* @see AWS
* API Documentation
*/
CreateTagOptionResult createTagOption(CreateTagOptionRequest createTagOptionRequest);
/**
*
* Deletes the specified constraint.
*
*
* A delegated admin is authorized to invoke this command.
*
*
* @param deleteConstraintRequest
* @return Result of the DeleteConstraint operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DeleteConstraint
* @see AWS API Documentation
*/
DeleteConstraintResult deleteConstraint(DeleteConstraintRequest deleteConstraintRequest);
/**
*
* 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.
*
*
* @param deletePortfolioRequest
* @return Result of the DeletePortfolio operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceInUseException
* A resource that is currently in use. Ensure that the resource is not in use and retry the operation.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @sample AWSServiceCatalog.DeletePortfolio
* @see AWS
* API Documentation
*/
DeletePortfolioResult deletePortfolio(DeletePortfolioRequest deletePortfolioRequest);
/**
*
* 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.
*
*
* @param deletePortfolioShareRequest
* @return Result of the DeletePortfolioShare operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws OperationNotSupportedException
* The operation is not supported.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @sample AWSServiceCatalog.DeletePortfolioShare
* @see AWS API Documentation
*/
DeletePortfolioShareResult deletePortfolioShare(DeletePortfolioShareRequest deletePortfolioShareRequest);
/**
*
* 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.
*
*
* @param deleteProductRequest
* @return Result of the DeleteProduct operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ResourceInUseException
* A resource that is currently in use. Ensure that the resource is not in use and retry the operation.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @sample AWSServiceCatalog.DeleteProduct
* @see AWS
* API Documentation
*/
DeleteProductResult deleteProduct(DeleteProductRequest deleteProductRequest);
/**
*
* Deletes the specified plan.
*
*
* @param deleteProvisionedProductPlanRequest
* @return Result of the DeleteProvisionedProductPlan operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DeleteProvisionedProductPlan
* @see AWS API Documentation
*/
DeleteProvisionedProductPlanResult deleteProvisionedProductPlan(DeleteProvisionedProductPlanRequest deleteProvisionedProductPlanRequest);
/**
*
* 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.
*
*
* @param deleteProvisioningArtifactRequest
* @return Result of the DeleteProvisioningArtifact operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ResourceInUseException
* A resource that is currently in use. Ensure that the resource is not in use and retry the operation.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DeleteProvisioningArtifact
* @see AWS API Documentation
*/
DeleteProvisioningArtifactResult deleteProvisioningArtifact(DeleteProvisioningArtifactRequest deleteProvisioningArtifactRequest);
/**
*
* Deletes a self-service action.
*
*
* @param deleteServiceActionRequest
* @return Result of the DeleteServiceAction operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ResourceInUseException
* A resource that is currently in use. Ensure that the resource is not in use and retry the operation.
* @sample AWSServiceCatalog.DeleteServiceAction
* @see AWS API Documentation
*/
DeleteServiceActionResult deleteServiceAction(DeleteServiceActionRequest deleteServiceActionRequest);
/**
*
* Deletes the specified TagOption.
*
*
* You cannot delete a TagOption if it is associated with a product or portfolio.
*
*
* @param deleteTagOptionRequest
* @return Result of the DeleteTagOption operation returned by the service.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @throws ResourceInUseException
* A resource that is currently in use. Ensure that the resource is not in use and retry the operation.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DeleteTagOption
* @see AWS
* API Documentation
*/
DeleteTagOptionResult deleteTagOption(DeleteTagOptionRequest deleteTagOptionRequest);
/**
*
* Gets information about the specified constraint.
*
*
* @param describeConstraintRequest
* @return Result of the DescribeConstraint operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DescribeConstraint
* @see AWS API Documentation
*/
DescribeConstraintResult describeConstraint(DescribeConstraintRequest describeConstraintRequest);
/**
*
* Gets the status of the specified copy product operation.
*
*
* @param describeCopyProductStatusRequest
* @return Result of the DescribeCopyProductStatus operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DescribeCopyProductStatus
* @see AWS API Documentation
*/
DescribeCopyProductStatusResult describeCopyProductStatus(DescribeCopyProductStatusRequest describeCopyProductStatusRequest);
/**
*
* Gets information about the specified portfolio.
*
*
* A delegated admin is authorized to invoke this command.
*
*
* @param describePortfolioRequest
* @return Result of the DescribePortfolio operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DescribePortfolio
* @see AWS API Documentation
*/
DescribePortfolioResult describePortfolio(DescribePortfolioRequest describePortfolioRequest);
/**
*
* 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.
*
*
* @param describePortfolioShareStatusRequest
* @return Result of the DescribePortfolioShareStatus operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws OperationNotSupportedException
* The operation is not supported.
* @sample AWSServiceCatalog.DescribePortfolioShareStatus
* @see AWS API Documentation
*/
DescribePortfolioShareStatusResult describePortfolioShareStatus(DescribePortfolioShareStatusRequest describePortfolioShareStatusRequest);
/**
*
* 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.
*
*
* @param describePortfolioSharesRequest
* @return Result of the DescribePortfolioShares operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DescribePortfolioShares
* @see AWS API Documentation
*/
DescribePortfolioSharesResult describePortfolioShares(DescribePortfolioSharesRequest describePortfolioSharesRequest);
/**
*
* Gets information about the specified product.
*
*
*
* Running this operation with administrator access results in a failure. DescribeProductAsAdmin should be
* used instead.
*
*
*
* @param describeProductRequest
* @return Result of the DescribeProduct operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DescribeProduct
* @see AWS
* API Documentation
*/
DescribeProductResult describeProduct(DescribeProductRequest describeProductRequest);
/**
*
* Gets information about the specified product. This operation is run with administrator access.
*
*
* @param describeProductAsAdminRequest
* @return Result of the DescribeProductAsAdmin operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DescribeProductAsAdmin
* @see AWS API Documentation
*/
DescribeProductAsAdminResult describeProductAsAdmin(DescribeProductAsAdminRequest describeProductAsAdminRequest);
/**
*
* Gets information about the specified product.
*
*
* @param describeProductViewRequest
* @return Result of the DescribeProductView operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DescribeProductView
* @see AWS API Documentation
*/
DescribeProductViewResult describeProductView(DescribeProductViewRequest describeProductViewRequest);
/**
*
* Gets information about the specified provisioned product.
*
*
* @param describeProvisionedProductRequest
* DescribeProvisionedProductAPI input structure. AcceptLanguage - [Optional] The language code for
* localization. Id - [Optional] The provisioned product identifier. Name - [Optional] Another provisioned
* product identifier. Customers must provide either Id or Name.
* @return Result of the DescribeProvisionedProduct operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DescribeProvisionedProduct
* @see AWS API Documentation
*/
DescribeProvisionedProductResult describeProvisionedProduct(DescribeProvisionedProductRequest describeProvisionedProductRequest);
/**
*
* Gets information about the resource changes for the specified plan.
*
*
* @param describeProvisionedProductPlanRequest
* @return Result of the DescribeProvisionedProductPlan operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DescribeProvisionedProductPlan
* @see AWS API Documentation
*/
DescribeProvisionedProductPlanResult describeProvisionedProductPlan(DescribeProvisionedProductPlanRequest describeProvisionedProductPlanRequest);
/**
*
* Gets information about the specified provisioning artifact (also known as a version) for the specified product.
*
*
* @param describeProvisioningArtifactRequest
* @return Result of the DescribeProvisioningArtifact operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DescribeProvisioningArtifact
* @see AWS API Documentation
*/
DescribeProvisioningArtifactResult describeProvisioningArtifact(DescribeProvisioningArtifactRequest describeProvisioningArtifactRequest);
/**
*
* 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
.
*
*
* @param describeProvisioningParametersRequest
* @return Result of the DescribeProvisioningParameters operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DescribeProvisioningParameters
* @see AWS API Documentation
*/
DescribeProvisioningParametersResult describeProvisioningParameters(DescribeProvisioningParametersRequest describeProvisioningParametersRequest);
/**
*
* 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.
*
*
*
* @param describeRecordRequest
* @return Result of the DescribeRecord operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DescribeRecord
* @see AWS
* API Documentation
*/
DescribeRecordResult describeRecord(DescribeRecordRequest describeRecordRequest);
/**
*
* Describes a self-service action.
*
*
* @param describeServiceActionRequest
* @return Result of the DescribeServiceAction operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DescribeServiceAction
* @see AWS API Documentation
*/
DescribeServiceActionResult describeServiceAction(DescribeServiceActionRequest describeServiceActionRequest);
/**
*
* 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.
*
*
* @param describeServiceActionExecutionParametersRequest
* @return Result of the DescribeServiceActionExecutionParameters operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DescribeServiceActionExecutionParameters
* @see AWS API Documentation
*/
DescribeServiceActionExecutionParametersResult describeServiceActionExecutionParameters(
DescribeServiceActionExecutionParametersRequest describeServiceActionExecutionParametersRequest);
/**
*
* Gets information about the specified TagOption.
*
*
* @param describeTagOptionRequest
* @return Result of the DescribeTagOption operation returned by the service.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DescribeTagOption
* @see AWS API Documentation
*/
DescribeTagOptionResult describeTagOption(DescribeTagOptionRequest describeTagOptionRequest);
/**
*
* 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.
*
*
*
* @param disableAWSOrganizationsAccessRequest
* @return Result of the DisableAWSOrganizationsAccess operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @throws OperationNotSupportedException
* The operation is not supported.
* @sample AWSServiceCatalog.DisableAWSOrganizationsAccess
* @see AWS API Documentation
*/
DisableAWSOrganizationsAccessResult disableAWSOrganizationsAccess(DisableAWSOrganizationsAccessRequest disableAWSOrganizationsAccessRequest);
/**
*
* Disassociates the specified budget from the specified resource.
*
*
* @param disassociateBudgetFromResourceRequest
* @return Result of the DisassociateBudgetFromResource operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DisassociateBudgetFromResource
* @see AWS API Documentation
*/
DisassociateBudgetFromResourceResult disassociateBudgetFromResource(DisassociateBudgetFromResourceRequest disassociateBudgetFromResourceRequest);
/**
*
* 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.
*
*
*
* @param disassociatePrincipalFromPortfolioRequest
* @return Result of the DisassociatePrincipalFromPortfolio operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DisassociatePrincipalFromPortfolio
* @see AWS API Documentation
*/
DisassociatePrincipalFromPortfolioResult disassociatePrincipalFromPortfolio(
DisassociatePrincipalFromPortfolioRequest disassociatePrincipalFromPortfolioRequest);
/**
*
* Disassociates the specified product from the specified portfolio.
*
*
* A delegated admin is authorized to invoke this command.
*
*
* @param disassociateProductFromPortfolioRequest
* @return Result of the DisassociateProductFromPortfolio operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ResourceInUseException
* A resource that is currently in use. Ensure that the resource is not in use and retry the operation.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.DisassociateProductFromPortfolio
* @see AWS API Documentation
*/
DisassociateProductFromPortfolioResult disassociateProductFromPortfolio(DisassociateProductFromPortfolioRequest disassociateProductFromPortfolioRequest);
/**
*
* Disassociates the specified self-service action association from the specified provisioning artifact.
*
*
* @param disassociateServiceActionFromProvisioningArtifactRequest
* @return Result of the DisassociateServiceActionFromProvisioningArtifact operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DisassociateServiceActionFromProvisioningArtifact
* @see AWS API Documentation
*/
DisassociateServiceActionFromProvisioningArtifactResult disassociateServiceActionFromProvisioningArtifact(
DisassociateServiceActionFromProvisioningArtifactRequest disassociateServiceActionFromProvisioningArtifactRequest);
/**
*
* Disassociates the specified TagOption from the specified resource.
*
*
* @param disassociateTagOptionFromResourceRequest
* @return Result of the DisassociateTagOptionFromResource operation returned by the service.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.DisassociateTagOptionFromResource
* @see AWS API Documentation
*/
DisassociateTagOptionFromResourceResult disassociateTagOptionFromResource(DisassociateTagOptionFromResourceRequest disassociateTagOptionFromResourceRequest);
/**
*
* 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.
*
*
*
* @param enableAWSOrganizationsAccessRequest
* @return Result of the EnableAWSOrganizationsAccess operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @throws OperationNotSupportedException
* The operation is not supported.
* @sample AWSServiceCatalog.EnableAWSOrganizationsAccess
* @see AWS API Documentation
*/
EnableAWSOrganizationsAccessResult enableAWSOrganizationsAccess(EnableAWSOrganizationsAccessRequest enableAWSOrganizationsAccessRequest);
/**
*
* Provisions or modifies a product based on the resource changes for the specified plan.
*
*
* @param executeProvisionedProductPlanRequest
* @return Result of the ExecuteProvisionedProductPlan operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @sample AWSServiceCatalog.ExecuteProvisionedProductPlan
* @see AWS API Documentation
*/
ExecuteProvisionedProductPlanResult executeProvisionedProductPlan(ExecuteProvisionedProductPlanRequest executeProvisionedProductPlanRequest);
/**
*
* Executes a self-service action against a provisioned product.
*
*
* @param executeProvisionedProductServiceActionRequest
* @return Result of the ExecuteProvisionedProductServiceAction operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @sample AWSServiceCatalog.ExecuteProvisionedProductServiceAction
* @see AWS API Documentation
*/
ExecuteProvisionedProductServiceActionResult executeProvisionedProductServiceAction(
ExecuteProvisionedProductServiceActionRequest executeProvisionedProductServiceActionRequest);
/**
*
* 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.
*
*
* @param getAWSOrganizationsAccessStatusRequest
* @return Result of the GetAWSOrganizationsAccessStatus operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws OperationNotSupportedException
* The operation is not supported.
* @sample AWSServiceCatalog.GetAWSOrganizationsAccessStatus
* @see AWS API Documentation
*/
GetAWSOrganizationsAccessStatusResult getAWSOrganizationsAccessStatus(GetAWSOrganizationsAccessStatusRequest getAWSOrganizationsAccessStatusRequest);
/**
*
* 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.
*
*
* @param getProvisionedProductOutputsRequest
* @return Result of the GetProvisionedProductOutputs operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.GetProvisionedProductOutputs
* @see AWS API Documentation
*/
GetProvisionedProductOutputsResult getProvisionedProductOutputs(GetProvisionedProductOutputsRequest getProvisionedProductOutputsRequest);
/**
*
* 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, Service Catalog does not apply the product's
* associated constraints during the import process. Service Catalog applies the constraints 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.
*
*
* You can only import one provisioned product at a time. The product's CloudFormation stack must have the
* IMPORT_COMPLETE
status before you import another.
*
*
* @param importAsProvisionedProductRequest
* @return Result of the ImportAsProvisionedProduct operation returned by the service.
* @throws DuplicateResourceException
* The specified resource is a duplicate.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ImportAsProvisionedProduct
* @see AWS API Documentation
*/
ImportAsProvisionedProductResult importAsProvisionedProduct(ImportAsProvisionedProductRequest importAsProvisionedProductRequest);
/**
*
* 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.
*
*
* @param listAcceptedPortfolioSharesRequest
* @return Result of the ListAcceptedPortfolioShares operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws OperationNotSupportedException
* The operation is not supported.
* @sample AWSServiceCatalog.ListAcceptedPortfolioShares
* @see AWS API Documentation
*/
ListAcceptedPortfolioSharesResult listAcceptedPortfolioShares(ListAcceptedPortfolioSharesRequest listAcceptedPortfolioSharesRequest);
/**
*
* Lists all the budgets associated to the specified resource.
*
*
* @param listBudgetsForResourceRequest
* @return Result of the ListBudgetsForResource operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListBudgetsForResource
* @see AWS API Documentation
*/
ListBudgetsForResourceResult listBudgetsForResource(ListBudgetsForResourceRequest listBudgetsForResourceRequest);
/**
*
* Lists the constraints for the specified portfolio and product.
*
*
* @param listConstraintsForPortfolioRequest
* @return Result of the ListConstraintsForPortfolio operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListConstraintsForPortfolio
* @see AWS API Documentation
*/
ListConstraintsForPortfolioResult listConstraintsForPortfolio(ListConstraintsForPortfolioRequest listConstraintsForPortfolioRequest);
/**
*
* 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.
*
*
*
* @param listLaunchPathsRequest
* @return Result of the ListLaunchPaths operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.ListLaunchPaths
* @see AWS
* API Documentation
*/
ListLaunchPathsResult listLaunchPaths(ListLaunchPathsRequest listLaunchPathsRequest);
/**
*
* 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.
*
*
* @param listOrganizationPortfolioAccessRequest
* @return Result of the ListOrganizationPortfolioAccess operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws OperationNotSupportedException
* The operation is not supported.
* @sample AWSServiceCatalog.ListOrganizationPortfolioAccess
* @see AWS API Documentation
*/
ListOrganizationPortfolioAccessResult listOrganizationPortfolioAccess(ListOrganizationPortfolioAccessRequest listOrganizationPortfolioAccessRequest);
/**
*
* 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.
*
*
* @param listPortfolioAccessRequest
* @return Result of the ListPortfolioAccess operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListPortfolioAccess
* @see AWS API Documentation
*/
ListPortfolioAccessResult listPortfolioAccess(ListPortfolioAccessRequest listPortfolioAccessRequest);
/**
*
* Lists all portfolios in the catalog.
*
*
* @param listPortfoliosRequest
* @return Result of the ListPortfolios operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListPortfolios
* @see AWS
* API Documentation
*/
ListPortfoliosResult listPortfolios(ListPortfoliosRequest listPortfoliosRequest);
/**
*
* Lists all portfolios that the specified product is associated with.
*
*
* @param listPortfoliosForProductRequest
* @return Result of the ListPortfoliosForProduct operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.ListPortfoliosForProduct
* @see AWS API Documentation
*/
ListPortfoliosForProductResult listPortfoliosForProduct(ListPortfoliosForProductRequest listPortfoliosForProductRequest);
/**
*
* Lists all PrincipalARN
s and corresponding PrincipalType
s associated with the specified
* portfolio.
*
*
* @param listPrincipalsForPortfolioRequest
* @return Result of the ListPrincipalsForPortfolio operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListPrincipalsForPortfolio
* @see AWS API Documentation
*/
ListPrincipalsForPortfolioResult listPrincipalsForPortfolio(ListPrincipalsForPortfolioRequest listPrincipalsForPortfolioRequest);
/**
*
* Lists the plans for the specified provisioned product or all plans to which the user has access.
*
*
* @param listProvisionedProductPlansRequest
* @return Result of the ListProvisionedProductPlans operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListProvisionedProductPlans
* @see AWS API Documentation
*/
ListProvisionedProductPlansResult listProvisionedProductPlans(ListProvisionedProductPlansRequest listProvisionedProductPlansRequest);
/**
*
* Lists all provisioning artifacts (also known as versions) for the specified product.
*
*
* @param listProvisioningArtifactsRequest
* @return Result of the ListProvisioningArtifacts operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListProvisioningArtifacts
* @see AWS API Documentation
*/
ListProvisioningArtifactsResult listProvisioningArtifacts(ListProvisioningArtifactsRequest listProvisioningArtifactsRequest);
/**
*
* Lists all provisioning artifacts (also known as versions) for the specified self-service action.
*
*
* @param listProvisioningArtifactsForServiceActionRequest
* @return Result of the ListProvisioningArtifactsForServiceAction operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListProvisioningArtifactsForServiceAction
* @see AWS API Documentation
*/
ListProvisioningArtifactsForServiceActionResult listProvisioningArtifactsForServiceAction(
ListProvisioningArtifactsForServiceActionRequest listProvisioningArtifactsForServiceActionRequest);
/**
*
* Lists the specified requests or all performed requests.
*
*
* @param listRecordHistoryRequest
* @return Result of the ListRecordHistory operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListRecordHistory
* @see AWS API Documentation
*/
ListRecordHistoryResult listRecordHistory(ListRecordHistoryRequest listRecordHistoryRequest);
/**
*
* Lists the resources associated with the specified TagOption.
*
*
* @param listResourcesForTagOptionRequest
* @return Result of the ListResourcesForTagOption operation returned by the service.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListResourcesForTagOption
* @see AWS API Documentation
*/
ListResourcesForTagOptionResult listResourcesForTagOption(ListResourcesForTagOptionRequest listResourcesForTagOptionRequest);
/**
*
* Lists all self-service actions.
*
*
* @param listServiceActionsRequest
* @return Result of the ListServiceActions operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListServiceActions
* @see AWS API Documentation
*/
ListServiceActionsResult listServiceActions(ListServiceActionsRequest listServiceActionsRequest);
/**
*
* Returns a paginated list of self-service actions associated with the specified Product ID and Provisioning
* Artifact ID.
*
*
* @param listServiceActionsForProvisioningArtifactRequest
* @return Result of the ListServiceActionsForProvisioningArtifact operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListServiceActionsForProvisioningArtifact
* @see AWS API Documentation
*/
ListServiceActionsForProvisioningArtifactResult listServiceActionsForProvisioningArtifact(
ListServiceActionsForProvisioningArtifactRequest listServiceActionsForProvisioningArtifactRequest);
/**
*
* 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.
*
*
* @param listStackInstancesForProvisionedProductRequest
* @return Result of the ListStackInstancesForProvisionedProduct operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.ListStackInstancesForProvisionedProduct
* @see AWS API Documentation
*/
ListStackInstancesForProvisionedProductResult listStackInstancesForProvisionedProduct(
ListStackInstancesForProvisionedProductRequest listStackInstancesForProvisionedProductRequest);
/**
*
* Lists the specified TagOptions or all TagOptions.
*
*
* @param listTagOptionsRequest
* @return Result of the ListTagOptions operation returned by the service.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ListTagOptions
* @see AWS
* API Documentation
*/
ListTagOptionsResult listTagOptions(ListTagOptionsRequest listTagOptionsRequest);
/**
*
* Notifies the result of the provisioning engine execution.
*
*
* @param notifyProvisionProductEngineWorkflowResultRequest
* @return Result of the NotifyProvisionProductEngineWorkflowResult operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.NotifyProvisionProductEngineWorkflowResult
* @see AWS API Documentation
*/
NotifyProvisionProductEngineWorkflowResultResult notifyProvisionProductEngineWorkflowResult(
NotifyProvisionProductEngineWorkflowResultRequest notifyProvisionProductEngineWorkflowResultRequest);
/**
*
* Notifies the result of the terminate engine execution.
*
*
* @param notifyTerminateProvisionedProductEngineWorkflowResultRequest
* @return Result of the NotifyTerminateProvisionedProductEngineWorkflowResult operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.NotifyTerminateProvisionedProductEngineWorkflowResult
* @see AWS API Documentation
*/
NotifyTerminateProvisionedProductEngineWorkflowResultResult notifyTerminateProvisionedProductEngineWorkflowResult(
NotifyTerminateProvisionedProductEngineWorkflowResultRequest notifyTerminateProvisionedProductEngineWorkflowResultRequest);
/**
*
* Notifies the result of the update engine execution.
*
*
* @param notifyUpdateProvisionedProductEngineWorkflowResultRequest
* @return Result of the NotifyUpdateProvisionedProductEngineWorkflowResult operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.NotifyUpdateProvisionedProductEngineWorkflowResult
* @see AWS API Documentation
*/
NotifyUpdateProvisionedProductEngineWorkflowResultResult notifyUpdateProvisionedProductEngineWorkflowResult(
NotifyUpdateProvisionedProductEngineWorkflowResultRequest notifyUpdateProvisionedProductEngineWorkflowResultRequest);
/**
*
* 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.
*
*
*
* @param provisionProductRequest
* @return Result of the ProvisionProduct operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws DuplicateResourceException
* The specified resource is a duplicate.
* @sample AWSServiceCatalog.ProvisionProduct
* @see AWS API Documentation
*/
ProvisionProductResult provisionProduct(ProvisionProductRequest provisionProductRequest);
/**
*
* Rejects an offer to share the specified portfolio.
*
*
* @param rejectPortfolioShareRequest
* @return Result of the RejectPortfolioShare operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.RejectPortfolioShare
* @see AWS API Documentation
*/
RejectPortfolioShareResult rejectPortfolioShare(RejectPortfolioShareRequest rejectPortfolioShareRequest);
/**
*
* Lists the provisioned products that are available (not terminated).
*
*
* To use additional filtering, see SearchProvisionedProducts.
*
*
* @param scanProvisionedProductsRequest
* @return Result of the ScanProvisionedProducts operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.ScanProvisionedProducts
* @see AWS API Documentation
*/
ScanProvisionedProductsResult scanProvisionedProducts(ScanProvisionedProductsRequest scanProvisionedProductsRequest);
/**
*
* Gets information about the products to which the caller has access.
*
*
* @param searchProductsRequest
* @return Result of the SearchProducts operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.SearchProducts
* @see AWS
* API Documentation
*/
SearchProductsResult searchProducts(SearchProductsRequest searchProductsRequest);
/**
*
* Gets information about the products for the specified portfolio or all products.
*
*
* @param searchProductsAsAdminRequest
* @return Result of the SearchProductsAsAdmin operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.SearchProductsAsAdmin
* @see AWS API Documentation
*/
SearchProductsAsAdminResult searchProductsAsAdmin(SearchProductsAsAdminRequest searchProductsAsAdminRequest);
/**
*
* Gets information about the provisioned products that meet the specified criteria.
*
*
* @param searchProvisionedProductsRequest
* @return Result of the SearchProvisionedProducts operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.SearchProvisionedProducts
* @see AWS API Documentation
*/
SearchProvisionedProductsResult searchProvisionedProducts(SearchProvisionedProductsRequest searchProvisionedProductsRequest);
/**
*
* 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.
*
*
* @param terminateProvisionedProductRequest
* @return Result of the TerminateProvisionedProduct operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.TerminateProvisionedProduct
* @see AWS API Documentation
*/
TerminateProvisionedProductResult terminateProvisionedProduct(TerminateProvisionedProductRequest terminateProvisionedProductRequest);
/**
*
* Updates the specified constraint.
*
*
* @param updateConstraintRequest
* @return Result of the UpdateConstraint operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.UpdateConstraint
* @see AWS API Documentation
*/
UpdateConstraintResult updateConstraint(UpdateConstraintRequest updateConstraintRequest);
/**
*
* Updates the specified portfolio.
*
*
* You cannot update a product that was shared with you.
*
*
* @param updatePortfolioRequest
* @return Result of the UpdatePortfolio operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws LimitExceededException
* The current limits of the service would have been exceeded by this operation. Decrease your resource use
* or increase your service limits and retry the operation.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @sample AWSServiceCatalog.UpdatePortfolio
* @see AWS
* API Documentation
*/
UpdatePortfolioResult updatePortfolio(UpdatePortfolioRequest updatePortfolioRequest);
/**
*
* 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.
*
*
*
* @param updatePortfolioShareRequest
* @return Result of the UpdatePortfolioShare operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws OperationNotSupportedException
* The operation is not supported.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @sample AWSServiceCatalog.UpdatePortfolioShare
* @see AWS API Documentation
*/
UpdatePortfolioShareResult updatePortfolioShare(UpdatePortfolioShareRequest updatePortfolioShareRequest);
/**
*
* Updates the specified product.
*
*
* @param updateProductRequest
* @return Result of the UpdateProduct operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @sample AWSServiceCatalog.UpdateProduct
* @see AWS
* API Documentation
*/
UpdateProductResult updateProduct(UpdateProductRequest updateProductRequest);
/**
*
* 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.
*
*
* @param updateProvisionedProductRequest
* @return Result of the UpdateProvisionedProduct operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AWSServiceCatalog.UpdateProvisionedProduct
* @see AWS API Documentation
*/
UpdateProvisionedProductResult updateProvisionedProduct(UpdateProvisionedProductRequest updateProvisionedProductRequest);
/**
*
* Requests updates to the properties of the specified provisioned product.
*
*
* @param updateProvisionedProductPropertiesRequest
* @return Result of the UpdateProvisionedProductProperties operation returned by the service.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidStateException
* An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
* ensure that they are in valid states before retrying the operation.
* @sample AWSServiceCatalog.UpdateProvisionedProductProperties
* @see AWS API Documentation
*/
UpdateProvisionedProductPropertiesResult updateProvisionedProductProperties(
UpdateProvisionedProductPropertiesRequest updateProvisionedProductPropertiesRequest);
/**
*
* 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.
*
*
* @param updateProvisioningArtifactRequest
* @return Result of the UpdateProvisioningArtifact operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.UpdateProvisioningArtifact
* @see AWS API Documentation
*/
UpdateProvisioningArtifactResult updateProvisioningArtifact(UpdateProvisioningArtifactRequest updateProvisioningArtifactRequest);
/**
*
* Updates a self-service action.
*
*
* @param updateServiceActionRequest
* @return Result of the UpdateServiceAction operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.UpdateServiceAction
* @see AWS API Documentation
*/
UpdateServiceActionResult updateServiceAction(UpdateServiceActionRequest updateServiceActionRequest);
/**
*
* Updates the specified TagOption.
*
*
* @param updateTagOptionRequest
* @return Result of the UpdateTagOption operation returned by the service.
* @throws TagOptionNotMigratedException
* An operation requiring TagOptions failed because the TagOptions migration process has not been performed
* for this account. Use the Amazon Web Services Management Console to perform the migration process before
* retrying the operation.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws DuplicateResourceException
* The specified resource is a duplicate.
* @throws InvalidParametersException
* One or more parameters provided to the operation are not valid.
* @sample AWSServiceCatalog.UpdateTagOption
* @see AWS
* API Documentation
*/
UpdateTagOptionResult updateTagOption(UpdateTagOptionRequest updateTagOptionRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}